Skip to content

Instantly share code, notes, and snippets.

@fardog
Created October 25, 2013 00:33
Show Gist options
  • Save fardog/7147563 to your computer and use it in GitHub Desktop.
Save fardog/7147563 to your computer and use it in GitHub Desktop.
npm-debug.log file from a failure to install sails
0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'install' ]
2 info using npm@1.3.11
3 info using node@v0.10.21
4 verbose readDependencies using package.json deps
5 verbose install where, deps [ '/Users/nwittstock/Dropbox/Code/extra',
5 verbose install [ 'sails',
5 verbose install 'sails-disk',
5 verbose install 'bcrypt',
5 verbose install 'jade',
5 verbose install 'optimist',
5 verbose install 'slug',
5 verbose install 'grunt' ] ]
6 info preinstall extra@0.0.1
7 verbose readDependencies using package.json deps
8 verbose cache add [ 'sails-disk@~0.9.0', null ]
9 verbose cache add name=undefined spec="sails-disk@~0.9.0" args=["sails-disk@~0.9.0",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: 'sails-disk@~0.9.0',
10 verbose parsed url path: 'sails-disk@~0.9.0',
10 verbose parsed url href: 'sails-disk@~0.9.0' }
11 verbose cache add name="sails-disk" spec="~0.9.0" args=["sails-disk","~0.9.0"]
12 verbose parsed url { protocol: null,
12 verbose parsed url slashes: null,
12 verbose parsed url auth: null,
12 verbose parsed url host: null,
12 verbose parsed url port: null,
12 verbose parsed url hostname: null,
12 verbose parsed url hash: null,
12 verbose parsed url search: null,
12 verbose parsed url query: null,
12 verbose parsed url pathname: '~0.9.0',
12 verbose parsed url path: '~0.9.0',
12 verbose parsed url href: '~0.9.0' }
13 verbose addNamed [ 'sails-disk', '~0.9.0' ]
14 verbose addNamed [ null, '>=0.9.0-0 <0.10.0-0' ]
15 verbose cache add [ 'bcrypt@0.7.x', null ]
16 verbose cache add name=undefined spec="bcrypt@0.7.x" args=["bcrypt@0.7.x",null]
17 verbose parsed url { protocol: null,
17 verbose parsed url slashes: null,
17 verbose parsed url auth: null,
17 verbose parsed url host: null,
17 verbose parsed url port: null,
17 verbose parsed url hostname: null,
17 verbose parsed url hash: null,
17 verbose parsed url search: null,
17 verbose parsed url query: null,
17 verbose parsed url pathname: 'bcrypt@0.7.x',
17 verbose parsed url path: 'bcrypt@0.7.x',
17 verbose parsed url href: 'bcrypt@0.7.x' }
18 verbose cache add name="bcrypt" spec="0.7.x" args=["bcrypt","0.7.x"]
19 verbose parsed url { protocol: null,
19 verbose parsed url slashes: null,
19 verbose parsed url auth: null,
19 verbose parsed url host: null,
19 verbose parsed url port: null,
19 verbose parsed url hostname: null,
19 verbose parsed url hash: null,
19 verbose parsed url search: null,
19 verbose parsed url query: null,
19 verbose parsed url pathname: '0.7.x',
19 verbose parsed url path: '0.7.x',
19 verbose parsed url href: '0.7.x' }
20 verbose addNamed [ 'bcrypt', '0.7.x' ]
21 verbose addNamed [ null, '>=0.7.0-0 <0.8.0-0' ]
22 silly lockFile 181b3728-sails-disk-0-9-0 sails-disk@~0.9.0
23 verbose lock sails-disk@~0.9.0 /Users/nwittstock/.npm/181b3728-sails-disk-0-9-0.lock
24 verbose cache add [ 'jade@0.35.x', null ]
25 verbose cache add name=undefined spec="jade@0.35.x" args=["jade@0.35.x",null]
26 verbose parsed url { protocol: null,
26 verbose parsed url slashes: null,
26 verbose parsed url auth: null,
26 verbose parsed url host: null,
26 verbose parsed url port: null,
26 verbose parsed url hostname: null,
26 verbose parsed url hash: null,
26 verbose parsed url search: null,
26 verbose parsed url query: null,
26 verbose parsed url pathname: 'jade@0.35.x',
26 verbose parsed url path: 'jade@0.35.x',
26 verbose parsed url href: 'jade@0.35.x' }
27 verbose cache add name="jade" spec="0.35.x" args=["jade","0.35.x"]
28 verbose parsed url { protocol: null,
28 verbose parsed url slashes: null,
28 verbose parsed url auth: null,
28 verbose parsed url host: null,
28 verbose parsed url port: null,
28 verbose parsed url hostname: null,
28 verbose parsed url hash: null,
28 verbose parsed url search: null,
28 verbose parsed url query: null,
28 verbose parsed url pathname: '0.35.x',
28 verbose parsed url path: '0.35.x',
28 verbose parsed url href: '0.35.x' }
29 verbose addNamed [ 'jade', '0.35.x' ]
30 verbose addNamed [ null, '>=0.35.0-0 <0.36.0-0' ]
31 silly lockFile 7f193b61-jade-0-35-x jade@0.35.x
32 verbose lock jade@0.35.x /Users/nwittstock/.npm/7f193b61-jade-0-35-x.lock
33 verbose cache add [ 'optimist@0.3.x', null ]
34 verbose cache add name=undefined spec="optimist@0.3.x" args=["optimist@0.3.x",null]
35 verbose parsed url { protocol: null,
35 verbose parsed url slashes: null,
35 verbose parsed url auth: null,
35 verbose parsed url host: null,
35 verbose parsed url port: null,
35 verbose parsed url hostname: null,
35 verbose parsed url hash: null,
35 verbose parsed url search: null,
35 verbose parsed url query: null,
35 verbose parsed url pathname: 'optimist@0.3.x',
35 verbose parsed url path: 'optimist@0.3.x',
35 verbose parsed url href: 'optimist@0.3.x' }
36 verbose cache add name="optimist" spec="0.3.x" args=["optimist","0.3.x"]
37 verbose parsed url { protocol: null,
37 verbose parsed url slashes: null,
37 verbose parsed url auth: null,
37 verbose parsed url host: null,
37 verbose parsed url port: null,
37 verbose parsed url hostname: null,
37 verbose parsed url hash: null,
37 verbose parsed url search: null,
37 verbose parsed url query: null,
37 verbose parsed url pathname: '0.3.x',
37 verbose parsed url path: '0.3.x',
37 verbose parsed url href: '0.3.x' }
38 verbose addNamed [ 'optimist', '0.3.x' ]
39 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
40 silly lockFile 3bb5ebed-optimist-0-3-x optimist@0.3.x
41 verbose lock optimist@0.3.x /Users/nwittstock/.npm/3bb5ebed-optimist-0-3-x.lock
42 silly lockFile d7c8d7e6-bcrypt-0-7-x bcrypt@0.7.x
43 verbose lock bcrypt@0.7.x /Users/nwittstock/.npm/d7c8d7e6-bcrypt-0-7-x.lock
44 verbose cache add [ 'slug@0.3.x', null ]
45 verbose cache add name=undefined spec="slug@0.3.x" args=["slug@0.3.x",null]
46 verbose parsed url { protocol: null,
46 verbose parsed url slashes: null,
46 verbose parsed url auth: null,
46 verbose parsed url host: null,
46 verbose parsed url port: null,
46 verbose parsed url hostname: null,
46 verbose parsed url hash: null,
46 verbose parsed url search: null,
46 verbose parsed url query: null,
46 verbose parsed url pathname: 'slug@0.3.x',
46 verbose parsed url path: 'slug@0.3.x',
46 verbose parsed url href: 'slug@0.3.x' }
47 verbose cache add name="slug" spec="0.3.x" args=["slug","0.3.x"]
48 verbose parsed url { protocol: null,
48 verbose parsed url slashes: null,
48 verbose parsed url auth: null,
48 verbose parsed url host: null,
48 verbose parsed url port: null,
48 verbose parsed url hostname: null,
48 verbose parsed url hash: null,
48 verbose parsed url search: null,
48 verbose parsed url query: null,
48 verbose parsed url pathname: '0.3.x',
48 verbose parsed url path: '0.3.x',
48 verbose parsed url href: '0.3.x' }
49 verbose addNamed [ 'slug', '0.3.x' ]
50 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
51 silly lockFile 59b0d71b-slug-0-3-x slug@0.3.x
52 verbose lock slug@0.3.x /Users/nwittstock/.npm/59b0d71b-slug-0-3-x.lock
53 silly addNameRange { name: 'sails-disk',
53 silly addNameRange range: '>=0.9.0-0 <0.10.0-0',
53 silly addNameRange hasData: false }
54 silly addNameRange { name: 'jade', range: '>=0.35.0-0 <0.36.0-0', hasData: false }
55 verbose cache add [ 'sails@0.9.7', null ]
56 verbose cache add name=undefined spec="sails@0.9.7" args=["sails@0.9.7",null]
57 verbose parsed url { protocol: null,
57 verbose parsed url slashes: null,
57 verbose parsed url auth: null,
57 verbose parsed url host: null,
57 verbose parsed url port: null,
57 verbose parsed url hostname: null,
57 verbose parsed url hash: null,
57 verbose parsed url search: null,
57 verbose parsed url query: null,
57 verbose parsed url pathname: 'sails@0.9.7',
57 verbose parsed url path: 'sails@0.9.7',
57 verbose parsed url href: 'sails@0.9.7' }
58 verbose cache add name="sails" spec="0.9.7" args=["sails","0.9.7"]
59 verbose parsed url { protocol: null,
59 verbose parsed url slashes: null,
59 verbose parsed url auth: null,
59 verbose parsed url host: null,
59 verbose parsed url port: null,
59 verbose parsed url hostname: null,
59 verbose parsed url hash: null,
59 verbose parsed url search: null,
59 verbose parsed url query: null,
59 verbose parsed url pathname: '0.9.7',
59 verbose parsed url path: '0.9.7',
59 verbose parsed url href: '0.9.7' }
60 verbose addNamed [ 'sails', '0.9.7' ]
61 verbose addNamed [ '0.9.7', '0.9.7' ]
62 silly lockFile c722eced-sails-0-9-7 sails@0.9.7
63 verbose lock sails@0.9.7 /Users/nwittstock/.npm/c722eced-sails-0-9-7.lock
64 verbose cache add [ 'grunt@0.4.1', null ]
65 verbose cache add name=undefined spec="grunt@0.4.1" args=["grunt@0.4.1",null]
66 verbose parsed url { protocol: null,
66 verbose parsed url slashes: null,
66 verbose parsed url auth: null,
66 verbose parsed url host: null,
66 verbose parsed url port: null,
66 verbose parsed url hostname: null,
66 verbose parsed url hash: null,
66 verbose parsed url search: null,
66 verbose parsed url query: null,
66 verbose parsed url pathname: 'grunt@0.4.1',
66 verbose parsed url path: 'grunt@0.4.1',
66 verbose parsed url href: 'grunt@0.4.1' }
67 verbose cache add name="grunt" spec="0.4.1" args=["grunt","0.4.1"]
68 verbose parsed url { protocol: null,
68 verbose parsed url slashes: null,
68 verbose parsed url auth: null,
68 verbose parsed url host: null,
68 verbose parsed url port: null,
68 verbose parsed url hostname: null,
68 verbose parsed url hash: null,
68 verbose parsed url search: null,
68 verbose parsed url query: null,
68 verbose parsed url pathname: '0.4.1',
68 verbose parsed url path: '0.4.1',
68 verbose parsed url href: '0.4.1' }
69 verbose addNamed [ 'grunt', '0.4.1' ]
70 verbose addNamed [ '0.4.1', '0.4.1' ]
71 silly lockFile f9e87dfe-grunt-0-4-1 grunt@0.4.1
72 verbose lock grunt@0.4.1 /Users/nwittstock/.npm/f9e87dfe-grunt-0-4-1.lock
73 silly addNameRange { name: 'optimist', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
74 silly addNameRange { name: 'bcrypt', range: '>=0.7.0-0 <0.8.0-0', hasData: false }
75 silly addNameRange { name: 'slug', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
76 verbose url raw sails-disk
77 verbose url resolving [ 'https://registry.npmjs.org/', './sails-disk' ]
78 verbose url resolved https://registry.npmjs.org/sails-disk
79 info trying registry request attempt 1 at 17:30:57
80 verbose etag "6YS4D1W8U9VONZ5FL3VU7EEEF"
81 http GET https://registry.npmjs.org/sails-disk
82 verbose url raw optimist
83 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
84 verbose url resolved https://registry.npmjs.org/optimist
85 info trying registry request attempt 1 at 17:30:57
86 verbose etag "3ZVA2H7H4RJ51S9KZ8NUGK56A"
87 http GET https://registry.npmjs.org/optimist
88 verbose url raw bcrypt
89 verbose url resolving [ 'https://registry.npmjs.org/', './bcrypt' ]
90 verbose url resolved https://registry.npmjs.org/bcrypt
91 info trying registry request attempt 1 at 17:30:57
92 verbose etag "C9HLT937RBNPHIHUYLS1AETR9"
93 http GET https://registry.npmjs.org/bcrypt
94 verbose url raw slug
95 verbose url resolving [ 'https://registry.npmjs.org/', './slug' ]
96 verbose url resolved https://registry.npmjs.org/slug
97 info trying registry request attempt 1 at 17:30:57
98 verbose etag "418ACF5F9QRDM2W1YE46JSAQP"
99 http GET https://registry.npmjs.org/slug
100 verbose url raw jade
101 verbose url resolving [ 'https://registry.npmjs.org/', './jade' ]
102 verbose url resolved https://registry.npmjs.org/jade
103 info trying registry request attempt 1 at 17:30:57
104 verbose etag "3GGPBPT2USBG55MMO0KAJPROT"
105 http GET https://registry.npmjs.org/jade
106 verbose url raw sails/0.9.7
107 verbose url resolving [ 'https://registry.npmjs.org/', './sails/0.9.7' ]
108 verbose url resolved https://registry.npmjs.org/sails/0.9.7
109 info trying registry request attempt 1 at 17:30:57
110 verbose etag "3C5BNC8E9VIUNZXZW8HO164EV"
111 http GET https://registry.npmjs.org/sails/0.9.7
112 verbose url raw grunt/0.4.1
113 verbose url resolving [ 'https://registry.npmjs.org/', './grunt/0.4.1' ]
114 verbose url resolved https://registry.npmjs.org/grunt/0.4.1
115 info trying registry request attempt 1 at 17:30:57
116 verbose etag "32P2O343QOTG1DN4JAL1WV0DN"
117 http GET https://registry.npmjs.org/grunt/0.4.1
118 http 304 https://registry.npmjs.org/optimist
119 silly registry.get cb [ 304,
119 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
119 silly registry.get etag: '"3ZVA2H7H4RJ51S9KZ8NUGK56A"',
119 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
119 silly registry.get 'content-length': '0' } ]
120 verbose etag optimist from cache
121 http 304 https://registry.npmjs.org/sails-disk
122 silly registry.get cb [ 304,
122 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
122 silly registry.get etag: '"6YS4D1W8U9VONZ5FL3VU7EEEF"',
122 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
122 silly registry.get 'content-length': '0' } ]
123 verbose etag sails-disk from cache
124 http 304 https://registry.npmjs.org/bcrypt
125 silly registry.get cb [ 304,
125 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
125 silly registry.get etag: '"C9HLT937RBNPHIHUYLS1AETR9"',
125 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
125 silly registry.get 'content-length': '0' } ]
126 verbose etag bcrypt from cache
127 http 304 https://registry.npmjs.org/jade
128 silly registry.get cb [ 304,
128 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
128 silly registry.get etag: '"3GGPBPT2USBG55MMO0KAJPROT"',
128 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
128 silly registry.get 'content-length': '0' } ]
129 verbose etag jade from cache
130 http 304 https://registry.npmjs.org/slug
131 silly registry.get cb [ 304,
131 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
131 silly registry.get etag: '"418ACF5F9QRDM2W1YE46JSAQP"',
131 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
131 silly registry.get 'content-length': '0' } ]
132 verbose etag slug from cache
133 silly addNameRange number 2 { name: 'optimist', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
134 silly addNameRange versions [ 'optimist',
134 silly addNameRange [ '0.0.1',
134 silly addNameRange '0.0.2',
134 silly addNameRange '0.0.4',
134 silly addNameRange '0.0.5',
134 silly addNameRange '0.0.6',
134 silly addNameRange '0.0.7',
134 silly addNameRange '0.1.0',
134 silly addNameRange '0.1.1',
134 silly addNameRange '0.1.2',
134 silly addNameRange '0.1.3',
134 silly addNameRange '0.1.4',
134 silly addNameRange '0.1.5',
134 silly addNameRange '0.1.6',
134 silly addNameRange '0.1.7',
134 silly addNameRange '0.1.8',
134 silly addNameRange '0.1.9',
134 silly addNameRange '0.0.3',
134 silly addNameRange '0.2.0',
134 silly addNameRange '0.2.1',
134 silly addNameRange '0.2.2',
134 silly addNameRange '0.2.3',
134 silly addNameRange '0.2.4',
134 silly addNameRange '0.2.5',
134 silly addNameRange '0.2.6',
134 silly addNameRange '0.2.7',
134 silly addNameRange '0.2.8',
134 silly addNameRange '0.3.0',
134 silly addNameRange '0.3.1',
134 silly addNameRange '0.3.3',
134 silly addNameRange '0.3.4',
134 silly addNameRange '0.3.5',
134 silly addNameRange '0.3.6',
134 silly addNameRange '0.3.7',
134 silly addNameRange '0.4.0',
134 silly addNameRange '0.5.0',
134 silly addNameRange '0.5.1',
134 silly addNameRange '0.5.2',
134 silly addNameRange '0.6.0' ] ]
135 verbose addNamed [ 'optimist', '0.3.7' ]
136 verbose addNamed [ '0.3.7', '0.3.7' ]
137 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
138 verbose lock optimist@0.3.7 /Users/nwittstock/.npm/090e1d8d-optimist-0-3-7.lock
139 silly addNameRange number 2 { name: 'sails-disk',
139 silly addNameRange range: '>=0.9.0-0 <0.10.0-0',
139 silly addNameRange hasData: true }
140 silly addNameRange versions [ 'sails-disk', [ '0.1.0', '0.9.0', '0.9.1' ] ]
141 verbose addNamed [ 'sails-disk', '0.9.1' ]
142 verbose addNamed [ '0.9.1', '0.9.1' ]
143 silly lockFile 693fb74a-sails-disk-0-9-1 sails-disk@0.9.1
144 verbose lock sails-disk@0.9.1 /Users/nwittstock/.npm/693fb74a-sails-disk-0-9-1.lock
145 silly addNameRange number 2 { name: 'bcrypt', range: '>=0.7.0-0 <0.8.0-0', hasData: true }
146 silly addNameRange versions [ 'bcrypt',
146 silly addNameRange [ '0.1.2',
146 silly addNameRange '0.2.0',
146 silly addNameRange '0.2.1',
146 silly addNameRange '0.1.3',
146 silly addNameRange '0.2.2',
146 silly addNameRange '0.2.3',
146 silly addNameRange '0.2.4',
146 silly addNameRange '0.3.0',
146 silly addNameRange '0.3.1',
146 silly addNameRange '0.3.2',
146 silly addNameRange '0.4.0',
146 silly addNameRange '0.4.1',
146 silly addNameRange '0.5.0',
146 silly addNameRange '0.6.0',
146 silly addNameRange '0.7.0',
146 silly addNameRange '0.7.1',
146 silly addNameRange '0.7.2',
146 silly addNameRange '0.7.3',
146 silly addNameRange '0.7.4',
146 silly addNameRange '0.7.5',
146 silly addNameRange '0.7.6',
146 silly addNameRange '0.7.7' ] ]
147 verbose addNamed [ 'bcrypt', '0.7.7' ]
148 verbose addNamed [ '0.7.7', '0.7.7' ]
149 silly lockFile ad2a9212-bcrypt-0-7-7 bcrypt@0.7.7
150 verbose lock bcrypt@0.7.7 /Users/nwittstock/.npm/ad2a9212-bcrypt-0-7-7.lock
151 silly addNameRange number 2 { name: 'slug', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
152 silly addNameRange versions [ 'slug',
152 silly addNameRange [ '0.1.0',
152 silly addNameRange '0.1.1',
152 silly addNameRange '0.2.0',
152 silly addNameRange '0.2.1',
152 silly addNameRange '0.2.2',
152 silly addNameRange '0.3.0',
152 silly addNameRange '0.3.1',
152 silly addNameRange '0.3.2',
152 silly addNameRange '0.3.3' ] ]
153 verbose addNamed [ 'slug', '0.3.3' ]
154 verbose addNamed [ '0.3.3', '0.3.3' ]
155 silly lockFile 9cf113d6-slug-0-3-3 slug@0.3.3
156 verbose lock slug@0.3.3 /Users/nwittstock/.npm/9cf113d6-slug-0-3-3.lock
157 silly addNameRange number 2 { name: 'jade', range: '>=0.35.0-0 <0.36.0-0', hasData: true }
158 silly addNameRange versions [ 'jade',
158 silly addNameRange [ '0.0.1',
158 silly addNameRange '0.0.2',
158 silly addNameRange '0.1.0',
158 silly addNameRange '0.2.0',
158 silly addNameRange '0.2.1',
158 silly addNameRange '0.2.2',
158 silly addNameRange '0.2.3',
158 silly addNameRange '0.2.4',
158 silly addNameRange '0.3.0',
158 silly addNameRange '0.4.0',
158 silly addNameRange '0.4.1',
158 silly addNameRange '0.5.0',
158 silly addNameRange '0.5.1',
158 silly addNameRange '0.5.2',
158 silly addNameRange '0.5.3',
158 silly addNameRange '0.5.4',
158 silly addNameRange '0.5.5',
158 silly addNameRange '0.5.6',
158 silly addNameRange '0.5.7',
158 silly addNameRange '0.6.0',
158 silly addNameRange '0.6.1',
158 silly addNameRange '0.6.3',
158 silly addNameRange '0.7.0',
158 silly addNameRange '0.7.1',
158 silly addNameRange '0.8.0',
158 silly addNameRange '0.8.1',
158 silly addNameRange '0.8.2',
158 silly addNameRange '0.8.3',
158 silly addNameRange '0.8.4',
158 silly addNameRange '0.8.5',
158 silly addNameRange '0.8.6',
158 silly addNameRange '0.8.7',
158 silly addNameRange '0.8.8',
158 silly addNameRange '0.8.9',
158 silly addNameRange '0.9.0',
158 silly addNameRange '0.9.1',
158 silly addNameRange '0.9.2',
158 silly addNameRange '0.9.3',
158 silly addNameRange '0.10.0',
158 silly addNameRange '0.10.1',
158 silly addNameRange '0.10.2',
158 silly addNameRange '0.10.3',
158 silly addNameRange '0.10.4',
158 silly addNameRange '0.10.5',
158 silly addNameRange '0.10.6',
158 silly addNameRange '0.10.7',
158 silly addNameRange '0.11.0',
158 silly addNameRange '0.11.1',
158 silly addNameRange '0.12.0',
158 silly addNameRange '0.12.1',
158 silly addNameRange '0.12.2',
158 silly addNameRange '0.12.3',
158 silly addNameRange '0.12.4',
158 silly addNameRange '0.13.0',
158 silly addNameRange '0.14.0',
158 silly addNameRange '0.14.1',
158 silly addNameRange '0.14.2',
158 silly addNameRange '0.15.0',
158 silly addNameRange '0.15.1',
158 silly addNameRange '0.15.2',
158 silly addNameRange '0.15.3',
158 silly addNameRange '0.15.4',
158 silly addNameRange '0.16.0',
158 silly addNameRange '0.16.1',
158 silly addNameRange '0.16.2',
158 silly addNameRange '0.16.3',
158 silly addNameRange '0.16.4',
158 silly addNameRange '0.17.0',
158 silly addNameRange '0.18.0',
158 silly addNameRange '0.19.0',
158 silly addNameRange '0.20.0',
158 silly addNameRange '0.20.1',
158 silly addNameRange '0.20.2',
158 silly addNameRange '0.20.3',
158 silly addNameRange '0.21.0',
158 silly addNameRange '0.22.0',
158 silly addNameRange '0.22.1',
158 silly addNameRange '0.23.0',
158 silly addNameRange '0.24.0',
158 silly addNameRange '0.25.0',
158 silly addNameRange '0.26.0',
158 silly addNameRange '0.26.1',
158 silly addNameRange '0.26.2',
158 silly addNameRange '0.26.3',
158 silly addNameRange '0.27.0',
158 silly addNameRange '0.27.1',
158 silly addNameRange '0.27.2',
158 silly addNameRange '0.27.3',
158 silly addNameRange '0.27.4',
158 silly addNameRange '0.27.5',
158 silly addNameRange '0.27.6',
158 silly addNameRange '0.27.7',
158 silly addNameRange '0.28.0',
158 silly addNameRange '0.28.1',
158 silly addNameRange '0.28.2',
158 silly addNameRange '0.29.0',
158 silly addNameRange '0.30.0',
158 silly addNameRange '0.31.0',
158 silly addNameRange '0.31.1',
158 silly addNameRange '0.31.2',
158 silly addNameRange '0.32.0',
158 silly addNameRange '0.33.0',
158 silly addNameRange '0.34.0',
158 silly addNameRange '0.34.1',
158 silly addNameRange '0.35.0' ] ]
159 verbose addNamed [ 'jade', '0.35.0' ]
160 verbose addNamed [ '0.35.0', '0.35.0' ]
161 silly lockFile 606948c4-jade-0-35-0 jade@0.35.0
162 verbose lock jade@0.35.0 /Users/nwittstock/.npm/606948c4-jade-0-35-0.lock
163 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
164 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
165 silly lockFile 693fb74a-sails-disk-0-9-1 sails-disk@0.9.1
166 silly lockFile 693fb74a-sails-disk-0-9-1 sails-disk@0.9.1
167 silly lockFile 3bb5ebed-optimist-0-3-x optimist@0.3.x
168 silly lockFile 3bb5ebed-optimist-0-3-x optimist@0.3.x
169 silly lockFile ad2a9212-bcrypt-0-7-7 bcrypt@0.7.7
170 silly lockFile ad2a9212-bcrypt-0-7-7 bcrypt@0.7.7
171 silly lockFile 181b3728-sails-disk-0-9-0 sails-disk@~0.9.0
172 silly lockFile 181b3728-sails-disk-0-9-0 sails-disk@~0.9.0
173 silly lockFile d7c8d7e6-bcrypt-0-7-x bcrypt@0.7.x
174 silly lockFile d7c8d7e6-bcrypt-0-7-x bcrypt@0.7.x
175 silly lockFile 9cf113d6-slug-0-3-3 slug@0.3.3
176 silly lockFile 9cf113d6-slug-0-3-3 slug@0.3.3
177 silly lockFile 606948c4-jade-0-35-0 jade@0.35.0
178 silly lockFile 606948c4-jade-0-35-0 jade@0.35.0
179 silly lockFile 59b0d71b-slug-0-3-x slug@0.3.x
180 silly lockFile 59b0d71b-slug-0-3-x slug@0.3.x
181 silly lockFile 7f193b61-jade-0-35-x jade@0.35.x
182 silly lockFile 7f193b61-jade-0-35-x jade@0.35.x
183 http 304 https://registry.npmjs.org/sails/0.9.7
184 silly registry.get cb [ 304,
184 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
184 silly registry.get etag: '"3C5BNC8E9VIUNZXZW8HO164EV"',
184 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
184 silly registry.get 'content-length': '0' } ]
185 verbose etag sails/0.9.7 from cache
186 http 304 https://registry.npmjs.org/grunt/0.4.1
187 silly registry.get cb [ 304,
187 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
187 silly registry.get etag: '"32P2O343QOTG1DN4JAL1WV0DN"',
187 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
187 silly registry.get 'content-length': '0' } ]
188 verbose etag grunt/0.4.1 from cache
189 silly lockFile c722eced-sails-0-9-7 sails@0.9.7
190 silly lockFile c722eced-sails-0-9-7 sails@0.9.7
191 silly lockFile f9e87dfe-grunt-0-4-1 grunt@0.4.1
192 silly lockFile f9e87dfe-grunt-0-4-1 grunt@0.4.1
193 silly resolved [ { name: 'optimist',
193 silly resolved version: '0.3.7',
193 silly resolved description: 'Light-weight option parsing with an argv hash. No optstrings attached.',
193 silly resolved main: './index.js',
193 silly resolved dependencies: { wordwrap: '~0.0.2' },
193 silly resolved devDependencies: { hashish: '~0.0.4', tap: '~0.4.0' },
193 silly resolved scripts: { test: 'tap ./test/*.js' },
193 silly resolved repository:
193 silly resolved { type: 'git',
193 silly resolved url: 'http://github.com/substack/node-optimist.git' },
193 silly resolved keywords:
193 silly resolved [ 'argument',
193 silly resolved 'args',
193 silly resolved 'option',
193 silly resolved 'parser',
193 silly resolved 'parsing',
193 silly resolved 'cli',
193 silly resolved 'command' ],
193 silly resolved author:
193 silly resolved { name: 'James Halliday',
193 silly resolved email: 'mail@substack.net',
193 silly resolved url: 'http://substack.net' },
193 silly resolved license: 'MIT/X11',
193 silly resolved engine: { node: '>=0.4' },
193 silly resolved readme: 'optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn\'t have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n console.log(\'Buy more riffiwobbles\');\n}\nelse {\n console.log(\'Sell the xupptumblers\');\n}\n````\n\n***\n\n $ ./xup.js --rif=55 --xup=9.52\n Buy more riffiwobbles\n \n $ ./xup.js --rif 12 --xup 8.1\n Sell the xupptumblers\n\n![This one\'s optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There\'s more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\n````\n\n***\n\n $ ./short.js -x 10 -y 21\n (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require(\'util\');\nvar argv = require(\'optimist\').argv;\n\nif (argv.s) {\n util.print(argv.fr ? \'Le chat dit: \' : \'The cat says: \');\n}\nconsole.log(\n (argv.fr ? \'miaou\' : \'meow\') + (argv.p ? \'.\' : \'\')\n);\n````\n\n***\n\n $ ./bool.js -s\n The cat says: meow\n \n $ ./bool.js -sp\n The cat says: meow.\n\n $ ./bool.js -sp --fr\n Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\').argv;\nconsole.log(\'(%d,%d)\', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n $ ./nonopt.js -x 6.82 -y 3.35 moo\n (6.82,3.35)\n [ \'moo\' ]\n \n $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n (0.54,1.12)\n [ \'foo\', \'bar\', \'baz\' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Usage: $0 -x [num] -y [num]\')\n .demand([\'x\',\'y\'])\n .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n $ ./divide.js -x 55 -y 11\n 5\n \n $ node ./divide.js -x 4.91 -z 2.51\n Usage: node ./divide.js -x [num] -y [num]\n\n Options:\n -x [required]\n -y [required]\n\n Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default(\'x\', 10)\n .default(\'y\', 10)\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_singles.js -x 5\n 15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .default({ x : 10, y : 10 })\n .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n $ ./default_hash.js -y 7\n 17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean(\'v\')\n .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n $ ./boolean_single.js -v foo bar baz\n true\n [ \'bar\', \'baz\', \'foo\' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .boolean([\'x\',\'y\',\'z\'])\n .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n $ ./boolean_double.js -x -z one two three\n [ true, false, true ]\n [ \'one\', \'two\', \'three\' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require(\'optimist\')\n .usage(\'Count the lines in a file.\\nUsage: $0\')\n .demand(\'f\')\n .alias(\'f\', \'file\')\n .describe(\'f\', \'Load a file\')\n .argv\n;\n\nvar fs = require(\'fs\');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on(\'data\', function (buf) {\n lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on(\'end\', function () {\n console.log(lines);\n});\n````\n\n***\n\n $ node line_count.js\n Count the lines in a file.\n Usage: node ./line_count.js\n\n Options:\n -f, --file Load a file [required]\n\n Missing required arguments: f\n\n $ node line_count.js --file line_count.js \n 20\n \n $ node line_count.js -f line_count.js \n 20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire(\'optimist\').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire(\'optimist\')([ \'-x\', \'1\', \'-y\', \'2\' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire(\'optimist\').parse([ \'-x\', \'1\', \'-y\', \'2\' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn\'t\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require(\'optimist\')\n .options(\'f\', {\n alias : \'file\',\n default : \'/etc/passwd\',\n })\n .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require(\'optimist\')\n .alias(\'f\', \'file\')\n .default(\'f\', \'/etc/passwd\')\n .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won\'t get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n { _: [ \'-c\', \'3\', \'-d\', \'4\' ],\n \'$0\': \'node ./examples/reflect.js\',\n a: 1,\n b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n $ node examples/reflect.js -a --no-b\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n a: true,\n b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n $ node examples/reflect.js -x 5 -x 8 -x 0\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n { _: [],\n \'$0\': \'node ./examples/reflect.js\',\n foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n npm install optimist\n \nor clone this project on github:\n\n git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n \n expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl\'s\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n',
193 silly resolved readmeFilename: 'readme.markdown',
193 silly resolved bugs: { url: 'https://github.com/substack/node-optimist/issues' },
193 silly resolved _id: 'optimist@0.3.7',
193 silly resolved _from: 'optimist@0.3.x' },
193 silly resolved { name: 'sails-disk',
193 silly resolved version: '0.9.1',
193 silly resolved description: 'Persistent non-production adapter for Sails.js / Waterline',
193 silly resolved main: 'index.js',
193 silly resolved scripts: { test: 'node test/runner.js' },
193 silly resolved repository:
193 silly resolved { type: 'git',
193 silly resolved url: 'git://github.com/balderdashy/sails-disk.git' },
193 silly resolved keywords: [ 'waterline', 'database', 'disk', 'sails', 'sails.js', 'sailsjs' ],
193 silly resolved author: { name: 'Mike McNeil' },
193 silly resolved license: 'MIT',
193 silly resolved readmeFilename: 'README.md',
193 silly resolved dependencies:
193 silly resolved { lodash: '1.2.1',
193 silly resolved 'waterline-criteria': '~0.9.0',
193 silly resolved 'fs-extra': '0.6.1' },
193 silly resolved devDependencies: { mocha: '~1.10.0', 'waterline-adapter-tests': '~0.9.2' },
193 silly resolved readme: '![image_squidhome@2x.png](http://i.imgur.com/RIvu9.png) \n\n# sails-disk\n\nTested with Sails 0.9\n\nA persistent object store which works great as a bundled, starter database (with the strict caveat that it is for non-production use only).\n\n## About Sails.js\nhttp://sailsjs.com\n\n## About Waterline\nWaterline is a new kind of storage and retrieval engine. It provides a uniform API for accessing stuff from different kinds of databases, protocols, and 3rd party APIs. That means you write the same code to get users, whether they live in mySQL, LDAP, MongoDB, or Facebook.\n\n[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/a22d3919de208c90c898986619efaa85 "githalytics.com")](http://githalytics.com/balderdashy/sails-dirty)\n',
193 silly resolved bugs: { url: 'https://github.com/balderdashy/sails-disk/issues' },
193 silly resolved _id: 'sails-disk@0.9.1',
193 silly resolved _from: 'sails-disk@~0.9.0' },
193 silly resolved { name: 'bcrypt',
193 silly resolved description: 'A bcrypt library for NodeJS.',
193 silly resolved keywords:
193 silly resolved [ 'bcrypt',
193 silly resolved 'password',
193 silly resolved 'auth',
193 silly resolved 'authentication',
193 silly resolved 'encryption',
193 silly resolved 'crypt',
193 silly resolved 'crypto' ],
193 silly resolved main: './bcrypt',
193 silly resolved version: '0.7.7',
193 silly resolved author: { name: 'Nick Campbell', url: 'http://github.com/ncb000gt' },
193 silly resolved engines: { node: '>= 0.6.0' },
193 silly resolved repository:
193 silly resolved { type: 'git',
193 silly resolved url: 'http://github.com/ncb000gt/node.bcrypt.js.git' },
193 silly resolved licenses: [ [Object] ],
193 silly resolved bugs: { url: 'http://github.com/ncb000gt/node.bcrypt.js/issues' },
193 silly resolved scripts:
193 silly resolved { test: 'node-gyp configure build && nodeunit test',
193 silly resolved install: 'node-gyp rebuild' },
193 silly resolved dependencies: { bindings: '1.0.0' },
193 silly resolved devDependencies: { nodeunit: '>=0.6.4' },
193 silly resolved contributors:
193 silly resolved [ [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object],
193 silly resolved [Object] ],
193 silly resolved gypfile: true,
193 silly resolved readme: '# node.bcrypt.js\n\n[![Build Status](https://secure.travis-ci.org/ncb000gt/node.bcrypt.js.png)](http://travis-ci.org/#!/ncb000gt/node.bcrypt.js) \n\nLib to help you hash passwords.\n[bcrypt on wikipedia][bcryptwiki]\n\nCatalyst for this module: [How To Safely Store A Password][codahale]\n\n## If You Are Submitting Bugs/Issues\n\nBecause we can\'t magically know what you are doing to expose an issue, it is best if you provide a snippet of code. This snippet need not include your secret sauce, but it must replicate the issue you are describing. The issues that get closed without resolution tend to be the ones without code examples. Thanks.\n\n\n## Version Compatability\n\n<table>\n<tr>\n<td>Node Ver</td><td>Bcrypt Version</td>\n</tr>\n<tr>\n<td>&lt;= 0.4.x</td><td>&lt;= 0.4.x</td>\n</tr>\n<tr>\n<td>&gt;= 0.6.x</td><td>&gt;= 0.5.x</td>\n</tr>\n</table>\n\nWindows users should make sure to have at least node 0.8.5 installed and version >= 0.7.1 of this module. \n`node-gyp` only works with stable/released versions of node. Since the `bcrypt` module uses `node-gyp` to build and install you\'ll need a stable version of node to use bcrypt. If you do not you\'ll likely see an error that starts with:\n\n gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead\n\n\n\n## Security Issues/Concerns\n\nAs should be the case with any security tool, this library should be scrutinized by anyone using it. If you find or suspect an issue with the code- please bring it to my attention and I\'ll spend some time trying to make sure that this tool is as secure as possible.\n\nTo make it easier for people using this tool to analyze what has been surveyed, here is a list of BCrypt related security issues/concerns as they\'ve come up.\n\n* An [issue with passwords][jtr] was found with a version of the Blowfish algorithm developed for John the Ripper. This is not present in the OpenBSD version and is thus not a problem for this module. HT [zooko][zooko].\n\n## Dependencies\n\n* NodeJS\n* OpenSSL (Development Libraries (header files) for compilation)\n * For Windows you\'ll need http://slproweb.com/products/Win32OpenSSL.html installed to the default location of `C:\\OpenSSL-Win32`\n * When installing OpenSSL, you must tell it to put DLLs in `The Windows system directory` to avoid `The specified module could not be found.` errors.\n * Please note that for this to build properly you\'ll need the Normal version of OpenSSL-Win<arch>, not the Light version. The reason for this is that we need to be able to compile the code using the header files that exist in the Normal version.\n * For 64 bit use the 64 bit version and install to `C:\\OpenSSL-Win64`\n* `node-gyp`\n * Please check the dependencies for this tool at: https://github.com/TooTallNate/node-gyp/\n * Windows users will need the options for c# and c++ installed with their visual studio instance.\n * Python 2.x\n\n## Install via NPM\n```\nnpm install bcrypt\n```\n\n## Usage\n\n### async (recommended)\n\nTo hash a password:\n\n```javascript\nvar bcrypt = require(\'bcrypt\');\nbcrypt.genSalt(10, function(err, salt) {\n bcrypt.hash("B4c0/\\/", salt, function(err, hash) {\n // Store hash in your password DB.\n });\n});\n```\n\nTo check a password:\n\n```javascript\n// Load hash from your password DB.\nbcrypt.compare("B4c0/\\/", hash, function(err, res) {\n // res == true\n});\nbcrypt.compare("not_bacon", hash, function(err, res) {\n // res = false\n});\n```\n\nAuto-gen a salt and hash:\n\n```javascript\nbcrypt.hash(\'bacon\', 8, function(err, hash) {\n});\n```\n\n\n### sync\n\nTo hash a password:\n\n```javascript\nvar bcrypt = require(\'bcrypt\');\nvar salt = bcrypt.genSaltSync(10);\nvar hash = bcrypt.hashSync("B4c0/\\/", salt);\n// Store hash in your password DB.\n```\n\nTo check a password:\n\n```javascript\n// Load hash from your password DB.\nbcrypt.compareSync("B4c0/\\/", hash); // true\nbcrypt.compareSync("not_bacon", hash); // false\n```\n\nAuto-gen a salt and hash:\n\n```javascript\nvar hash = bcrypt.hashSync(\'bacon\', 8);\n```\n\n## API\n\n`BCrypt.`\n\n * `genSaltSync(rounds, seed_length)`\n * `rounds` - [OPTIONAL] - the number of rounds to process the data for. (default - 10)\n * `seed_length` - [OPTIONAL] - RAND_bytes wants a length. to make that a bit flexible, you can specify a seed_length. (default - 20)\n * `genSalt(rounds, seed_length, cb)`\n * `rounds` - [OPTIONAL] - the number of rounds to process the data for. (default - 10)\n * `seed_length` - [OPTIONAL] - RAND_bytes wants a length. to make that a bit flexible, you can specify a seed_length. (default - 20)\n * `cb` - [REQUIRED] - a callback to be fired once the salt has been generated. uses eio making it asynchronous.\n * `err` - First parameter to the callback detailing any errors.\n * `salt` - Second parameter to the callback providing the generated salt.\n * `hashSync(data, salt)`\n * `data` - [REQUIRED] - the data to be encrypted.\n * `salt` - [REQUIRED] - the salt to be used in encryption.\n * `hash(data, salt, cb)`\n * `data` - [REQUIRED] - the data to be encrypted.\n * `salt` - [REQUIRED] - the salt to be used to hash the password. if specified as a number then a salt will be generated and used (see examples).\n * `cb` - [REQUIRED] - a callback to be fired once the data has been encrypted. uses eio making it asynchronous.\n * `err` - First parameter to the callback detailing any errors.\n * `encrypted` - Second parameter to the callback providing the encrypted form.\n * `compareSync(data, encrypted)`\n * `data` - [REQUIRED] - data to compare.\n * `encrypted` - [REQUIRED] - data to be compared to.\n * `compare(data, encrypted, cb)`\n * `data` - [REQUIRED] - data to compare.\n * `encrypted` - [REQUIRED] - data to be compared to.\n * `cb` - [REQUIRED] - a callback to be fired once the data has been compared. uses eio making it asynchronous.\n * `err` - First parameter to the callback detailing any errors.\n * `same` - Second parameter to the callback providing whether the data and encrypted forms match [true | false].\n * `getRounds(encrypted)` - return the number of rounds used to encrypt a given hash\n * `encrypted` - [REQUIRED] - hash from which the number of rounds used should be extracted.\n\n\n## Hash Info\n\nThe characters that comprise the resultant hash are `./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$`.\n\n## Testing\n\nIf you create a pull request, tests better pass :)\n\n```\nnpm install\nnpm test\n```\n\n## Credits\n\nThe code for this comes from a few sources:\n\n* blowfish.cc - OpenBSD\n* bcrypt.cc - OpenBSD\n* bcrypt::gen_salt - [gen_salt inclusion to bcrypt][bcryptgs]\n* bcrypt_node.cc - me\n\n## Contributors\n\n* [Antonio Salazar Cardozo][shadowfiend] - Early MacOS X support (when we used libbsd)\n* [Ben Glow][pixelglow] - Fixes for thread safety with async calls\n* [Van Nguyen][thegoleffect] - Found a timing attack in the comparator\n* [NewITFarmer][newitfarmer] - Initial Cygwin support\n* [David Trejo][dtrejo] - packaging fixes\n* [Alfred Westerveld][alfredwesterveld] - packaging fixes\n* [Vincent Côté-Roy][vincentr] - Testing around concurrency issues\n* [Lloyd Hilaiel][lloyd] - Documentation fixes\n* [Roman Shtylman][shtylman] - Code refactoring, general rot reduction, compile options, better memory management with delete and new, and an upgrade to libuv over eio/ev.\n* [Vadim Graboys][vadimg] - Code changes to support 0.5.5+\n* [Ben Noordhuis][bnoordhuis] - Fixed a thread safety issue in nodejs that was perfectly mappable to this module.\n* [Nate Rajlich][tootallnate] - Bindings and build process.\n* [Sean McArthur][seanmonstar] - Windows Support\n* [Fanie Oosthuysen][weareu] - Windows Support\n\n## License\nUnless stated elsewhere, file headers or otherwise, the license as stated in the LICENSE file.\n\n[bcryptwiki]: http://en.wikipedia.org/wiki/Bcrypt\n[bcryptgs]: http://mail-index.netbsd.org/tech-crypto/2002/05/24/msg000204.html\n[codahale]: http://codahale.com/how-to-safely-store-a-password/\n[gh13]: https://github.com/ncb000gt/node.bcrypt.js/issues/13\n[jtr]: http://www.openwall.com/lists/oss-security/2011/06/20/2\n\n[shadowfiend]:https://github.com/Shadowfiend\n[thegoleffect]:https://github.com/thegoleffect\n[pixelglow]:https://github.com/pixelglow\n[dtrejo]:https://github.com/dtrejo\n[alfredwesterveld]:https://github.com/alfredwesterveld\n[newitfarmer]:https://github.com/newitfarmer\n[zooko]:https://twitter.com/zooko\n[vincentr]:https://twitter.com/vincentcr\n[lloyd]:https://github.com/lloyd\n[shtylman]:https://github.com/shtylman\n[vadimg]:https://github.com/vadimg\n[bnoordhuis]:https://github.com/bnoordhuis\n[tootallnate]:https://github.com/tootallnate\n[seanmonstar]:https://github.com/seanmonstar\n[weareu]:https://github.com/weareu\n',
193 silly resolved readmeFilename: 'README.md',
193 silly resolved _id: 'bcrypt@0.7.7',
193 silly resolved _from: 'bcrypt@0.7.x' },
193 silly resolved { name: 'slug',
193 silly resolved description: 'slugifies even utf-8 chars!',
193 silly resolved version: '0.3.3',
193 silly resolved homepage: 'https://github.com/dodo/node-slug',
193 silly resolved author: { name: 'dodo', url: 'https://github.com/dodo' },
193 silly resolved repository: { type: 'git', url: 'git://github.com/dodo/node-slug.git' },
193 silly resolved main: 'slug.js',
193 silly resolved engines: { node: '>= 0.4.x' },
193 silly resolved keywords: [ 'slugify', 'slug', 'string', 'utf8', 'utf-8', 'unicode', 'url' ],
193 silly resolved scripts: { test: 'cake test', prepublish: 'cake build' },
193 silly resolved dependencies: { unicode: '>= 0.3.1' },
193 silly resolved devDependencies:
193 silly resolved { mocha: '0.3.3',
193 silly resolved should: '0.3.2',
193 silly resolved muffin: '>= 0.2.6',
193 silly resolved 'coffee-script': '>= 1.1.2' },
193 silly resolved readme: '# slugify string\n\nslugifies every string, even when it contains unicode!\n\n## example\n\n```bash\nmaster//node-slug » node\n> slug = require (\'./slug\')\n> slug(\'i ♥ unicode\')\n \'i-love-unicode\'\n> slug(\'i ♥ unicode\', \'_\') # If you prefer something else then `-` as seperator\n \'i_love_unicode\'\n> slug.charmap[\'♥\'] = \'freaking love\' # change default charmap or use option {charmap:{…}} as 2. argument\n> slug(\'I ♥ UNICODE\').toLowerCase() # If you prefer lower case\n \'i-freaking-love-unicode\'\n```\n\n[![Build Status](https://secure.travis-ci.org/dodo/node-slug.png)](http://travis-ci.org/dodo/node-slug)',
193 silly resolved readmeFilename: 'README.md',
193 silly resolved bugs: { url: 'https://github.com/dodo/node-slug/issues' },
193 silly resolved _id: 'slug@0.3.3',
193 silly resolved _from: 'slug@0.3.x' },
193 silly resolved { name: 'jade',
193 silly resolved description: 'Jade template engine',
193 silly resolved version: '0.35.0',
193 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
193 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/jade' },
193 silly resolved main: './index.js',
193 silly resolved bin: { jade: './bin/jade' },
193 silly resolved man: [ './jade.1' ],
193 silly resolved dependencies:
193 silly resolved { commander: '2.0.0',
193 silly resolved mkdirp: '0.3.x',
193 silly resolved transformers: '2.1.0',
193 silly resolved 'character-parser': '1.2.0',
193 silly resolved monocle: '1.1.50',
193 silly resolved with: '~1.1.0',
193 silly resolved constantinople: '~1.0.1' },
193 silly resolved devDependencies:
193 silly resolved { 'coffee-script': '*',
193 silly resolved mocha: '*',
193 silly resolved markdown: '*',
193 silly resolved stylus: '*',
193 silly resolved uubench: '*',
193 silly resolved should: '*',
193 silly resolved less: '*',
193 silly resolved 'uglify-js': '*',
193 silly resolved browserify: '*',
193 silly resolved linify: '*' },
193 silly resolved component: { scripts: [Object] },
193 silly resolved scripts:
193 silly resolved { test: 'mocha -R spec',
193 silly resolved prepublish: 'npm prune && linify transform bin && npm run build',
193 silly resolved build: 'npm run compile',
193 silly resolved compile: 'npm run compile-full && npm run compile-runtime',
193 silly resolved 'compile-full': 'browserify ./lib/jade.js --standalone jade -x ./node_modules/transformers > jade.js',
193 silly resolved 'compile-runtime': 'browserify ./lib/runtime.js --standalone jade > runtime.js' },
193 silly resolved browser: { './lib/filters.js': './lib/filters-client.js' },
193 silly resolved readme: '# [![Jade - template engine ](http://i.imgur.com/5zf2aVt.png)](http://jade-lang.com/)\r\n\r\nFull documentation is at [jade-lang.com](http://jade-lang.com/)\r\n\r\n Jade is a high performance template engine heavily influenced by [Haml](http://haml-lang.com)\r\n and implemented with JavaScript for [node](http://nodejs.org). For discussion join the [Google Group](http://groups.google.com/group/jadejs).\r\n\r\n You can test drive Jade online [here](http://naltatis.github.com/jade-syntax-docs).\r\n\r\n [![Build Status](https://travis-ci.org/visionmedia/jade.png?branch=master)](https://travis-ci.org/visionmedia/jade)\r\n [![Dependency Status](https://gemnasium.com/visionmedia/jade.png)](https://gemnasium.com/visionmedia/jade)\r\n [![NPM version](https://badge.fury.io/js/jade.png)](http://badge.fury.io/js/jade)\r\n\r\n## Announcements\r\n\r\n**Deprecation of implicit script/style text-only:**\r\n\r\n Jade version 0.31.0 deprecated implicit text only support for scripts and styles. To fix this all you need to do is add a `.` character after the script or style tag.\r\n\r\n It is hoped that this change will make Jade easier for newcomers to learn without affecting the power of the language or leading to excessive verboseness.\r\n\r\n If you have a lot of Jade files that need fixing you can use [fix-jade](https://github.com/ForbesLindesay/fix-jade) to attempt to automate the process.\r\n\r\n**Command line option change:**\r\n\r\nsince `v0.31.0`, `-o` is preferred for `--out` where we used `-O` before.\r\n\r\n## Installation\r\n\r\nvia npm:\r\n\r\n```bash\r\n$ npm install jade\r\n```\r\n\r\n## Syntax\r\n\r\nJade is a clean, whitespace sensitive syntax for writing html. Here is a simple example:\r\n\r\n```jade\r\ndoctype 5\r\nhtml(lang="en")\r\n head\r\n title= pageTitle\r\n script(type=\'text/javascript\').\r\n if (foo) bar(1 + 5)\r\n body\r\n h1 Jade - node template engine\r\n #container.col\r\n if youAreUsingJade\r\n p You are amazing\r\n else\r\n p Get on it!\r\n p.\r\n Jade is a terse and simple templating language with a\r\n strong focus on performance and powerful features.\r\n```\r\n\r\nbecomes\r\n\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n <head>\r\n <title>Jade</title>\r\n <script type="text/javascript">\r\n if (foo) bar(1 + 5)\r\n </script>\r\n </head>\r\n <body>\r\n <h1>Jade - node template engine</h1>\r\n <div id="container" class="col">\r\n <p>You are amazing</p>\r\n <p>Jade is a terse and simple templating language with a strong focus on performance and powerful features.</p>\r\n </div>\r\n </body>\r\n</html>\r\n```\r\n\r\nThe official [jade tutorial](http://jade-lang.com/tutorial/) is a great place to start. While that (and the syntax documentation) is being finished, you can view some of the old documentation [here](https://github.com/visionmedia/jade/blob/master/jade.md) and [here](https://github.com/visionmedia/jade/blob/master/jade-language.md)\r\n\r\n## API\r\n\r\nFor full API, see [jade-lang.com/api](http://jade-lang.com/api/)\r\n\r\n```js\r\nvar jade = require(\'jade\');\r\n\r\n// compile\r\nvar fn = jade.compile(\'string of jade\', options);\r\nvar html = fn(locals);\r\n\r\n// render\r\nvar html = jade.render(\'string of jade\', merge(options, locals));\r\n\r\n// renderFile\r\nvar html = jade.renderFile(\'filename.jade\', merge(options, locals));\r\n```\r\n\r\n### Options\r\n\r\n - `filename` Used in exceptions, and required when using includes\r\n - `compileDebug` When `false` no debug instrumentation is compiled\r\n - `pretty` Add pretty-indentation whitespace to output _(false by default)_\r\n\r\n## Browser Support\r\n\r\n The latest version of jade can be download for the browser in standalone form from [here](https://github.com/visionmedia/jade/raw/master/jade.js). It only supports the very latest browsers though, and is a large file. It is recommended that you pre-compile your jade templates to JavaScript and then just use the [runtime.js](https://github.com/visionmedia/jade/raw/master/runtime.js) library on the client.\r\n\r\n To compile a template for use on the client using the command line, do:\r\n\r\n```console\r\n$ jade --client --no-debug filename.jade\r\n```\r\n\r\nwhich will produce `filename.js` containing the compiled template.\r\n\r\n## Command Line\r\n\r\nAfter installing the latest version of [node](http://nodejs.org/), install with:\r\n\r\n```console\r\n$ npm install jade -g\r\n```\r\n\r\nand run with\r\n\r\n```console\r\n$ jade --help\r\n```\r\n\r\n## Additional Resources\r\n\r\nTutorials:\r\n\r\n - cssdeck interactive [Jade syntax tutorial](http://cssdeck.com/labs/learning-the-jade-templating-engine-syntax)\r\n - cssdeck interactive [Jade logic tutorial](http://cssdeck.com/labs/jade-templating-tutorial-codecast-part-2)\r\n - in [Japanese](http://blog.craftgear.net/4f501e97c1347ec934000001/title/10%E5%88%86%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8Bjade%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3)\r\n\r\n\r\nImplementations in other languages:\r\n\r\n - [php](http://github.com/everzet/jade.php)\r\n - [scala](http://scalate.fusesource.org/versions/snapshot/documentation/scaml-reference.html)\r\n - [ruby](https://github.com/slim-template/slim)\r\n - [python](https://github.com/SyrusAkbary/pyjade)\r\n - [java](https://github.com/neuland/jade4j)\r\n\r\nOther:\r\n\r\n - [Emacs Mode](https://github.com/brianc/jade-mode)\r\n - [Vim Syntax](https://github.com/digitaltoad/vim-jade)\r\n - [TextMate Bundle](http://github.com/miksago/jade-tmbundle)\r\n - [Coda/SubEtha syntax Mode](https://github.com/aaronmccall/jade.mode)\r\n - [Screencasts](http://tjholowaychuk.com/post/1004255394/jade-screencast-template-engine-for-nodejs)\r\n - [html2jade](https://github.com/donpark/html2jade) converter\r\n\r\n## License\r\n\r\nMIT\r\n',
193 silly resolved readmeFilename: 'Readme.md',
193 silly resolved bugs: { url: 'https://github.com/visionmedia/jade/issues' },
193 silly resolved _id: 'jade@0.35.0',
193 silly resolved _from: 'jade@0.35.x' },
193 silly resolved { name: 'sails',
193 silly resolved author: { name: 'Mike McNeil', email: 'mike@balderdash.co' },
193 silly resolved version: '0.9.7',
193 silly resolved description: 'API-driven framework for building realtime apps, using MVC conventions (based on Express and Socket.io)',
193 silly resolved homepage: 'http://sailsjs.com',
193 silly resolved keywords:
193 silly resolved [ 'mvc',
193 silly resolved 'web-framework',
193 silly resolved 'express',
193 silly resolved 'sails',
193 silly resolved 'sailsjs',
193 silly resolved 'sails.js',
193 silly resolved 'REST',
193 silly resolved 'API',
193 silly resolved 'orm',
193 silly resolved 'socket.io' ],
193 silly resolved main: './lib/index',
193 silly resolved bin: { sails: './bin/sails.js' },
193 silly resolved scripts: { test: 'mocha' },
193 silly resolved directories: { lib: 'lib' },
193 silly resolved dependencies:
193 silly resolved { waterline: '~0.9.4',
193 silly resolved 'sails-disk': '~0.9.0',
193 silly resolved express: '3.4.0',
193 silly resolved 'socket.io': '0.9.14',
193 silly resolved 'connect-redis': '1.4.5',
193 silly resolved 'connect-mongo': '0.3.2',
193 silly resolved async: '0.2.9',
193 silly resolved winston: '0.7.1',
193 silly resolved i18n: '0.4.1',
193 silly resolved optimist: '0.3.4',
193 silly resolved 'fs-extra': '0.5.0',
193 silly resolved lodash: '1.2.1',
193 silly resolved glob: '3.1.14',
193 silly resolved 'underscore.string': '2.3.0',
193 silly resolved 'include-all': '0.1.2',
193 silly resolved inflection: '1.2.5',
193 silly resolved 'node-uuid': '1.4.0',
193 silly resolved grunt: '0.4.1',
193 silly resolved 'grunt-cli': '0.1.9',
193 silly resolved 'grunt-contrib-copy': '0.4.1',
193 silly resolved 'grunt-contrib-clean': '0.4.1',
193 silly resolved 'grunt-contrib-concat': '0.3.0',
193 silly resolved 'grunt-sails-linker': 'git://github.com/Zolmeister/grunt-sails-linker.git',
193 silly resolved 'grunt-contrib-jst': '0.5.0',
193 silly resolved 'grunt-contrib-watch': '0.4.4',
193 silly resolved 'grunt-contrib-uglify': '0.2.2',
193 silly resolved 'grunt-contrib-cssmin': '0.6.1',
193 silly resolved 'grunt-contrib-less': '0.5.2',
193 silly resolved 'grunt-contrib-coffee': '~0.7.0',
193 silly resolved ejs: '0.8.4',
193 silly resolved 'ejs-locals': '1.0.2',
193 silly resolved 'connect-flash': '0.1.1',
193 silly resolved pluralize: '0.0.5',
193 silly resolved 'coffee-script': '1.6.2' },
193 silly resolved devDependencies: { mocha: '*', request: '*', wrench: '~1.5.1' },
193 silly resolved optionalDependencies: { 'coffee-script': '1.6.2' },
193 silly resolved repository: { type: 'git', url: 'git://github.com/balderdashy/sails.git' },
193 silly resolved licenses: [ [Object] ],
193 silly resolved bugs: { url: 'http://github.com/balderdashy/sails/issues' },
193 silly resolved engines: { node: '>= 0.10.0' },
193 silly resolved readme: '# Sails.js [![Build Status](https://travis-ci.org/balderdashy/sails.png?branch=master)](https://travis-ci.org/balderdashy/sails) [![NPM version](https://badge.fury.io/js/sails.png)](http://badge.fury.io/js/sails)\n\n![image_squidhome@2x.png](http://i.imgur.com/RIvu9.png)\n\nSails.js makes it easy to build custom, enterprise-grade Node.js apps. It is designed to resemble the MVC architecture from frameworks like Ruby on Rails, but with support for the more modern, data-oriented style of web app development. It\'s especially good for building realtime features like chat.\n\n# Intro to Sails.js\n<a href="http://net.tutsplus.com/tutorials/javascript-ajax/working-with-data-in-sails-js/">Nettuts+ Working With Data in Sails.js</a> \n[![ScreenShot](http://balderdashy.github.com/sails/images/screenshot.png)](http://youtu.be/GK-tFvpIR7c)\n\n# Installation\n\nTo install the latest stable release with the command-line tool:\n```sh\nsudo npm -g install sails\n```\n\n\n# Creating a New Sails Project\n\nCreate a new app\n```sh\n# Create the app\nsails new testProject\n```\n\nLift Sails\n```sh\n# cd into the new folder\ncd testProject\n\n# Fire up the server \nsails lift\n```\n\nThe default port for Sails is 1337. At this point if you visit <a href="http://localhost:1337/">http://localhost:1337/</a> You will see the default home page. \n\nNow, let\'s get Sails to do cool stuff.\n\n# Hello, Sails!\n\nTo get Sails to say "Hello World!", you need only to change the view for the default home page in `views/home/index.ejs`. But that doesn\'t really teach us a whole lot-- instead, let\'s create a new controller and have IT tell us hello.\n\n```sh\nsails generate controller hello index\n```\n\nThis will generate a file called `HelloController.js` in your app\'s `api/controllers` directory with one action, `index()`.\n\nNow let\'s edit that action to send back the string `\'Hello World!\'`.\n\n```javascript\n\nvar HelloController = {\n\n index: function(req, res) {\n \tres.send(\'Hello World!\');\n\t}\n}\n\nmodule.exports = HelloController;\n```\n\n\nLet\'s say we want the application to display this hello response when a request comes in for `http://localhost:1337/hi`. \nGo into the **/config/routes.js** file. Here you can manually define these mappings as you like. Change the file to look like this.\n\n```javascript\nvar routes = {\n\t\'/hi\': {\n\t\tcontroller: \'hello\',\n\t\taction: \'index\'\n\t}\n}\n\nmodule.exports = routes;\n```\n\nFinally, restart the server by going to your node terminal and pressing control+c. Then enter the\nfollowing.\n\n```sh\nsails lift\n```\n\nNow when you visit <a href="http://localhost:1337/">http://localhost:1337/hi</a> your browser will say **\'Hello World!\'**.\n\n> ### Notes:\n> We could have omitted `action: \'index\'`, since it\'s the default, but I left it in for clarity.\n\n> As you will see when working more with Sails.js, one great feature is that by default, you do not **have**\nto define routes for controller actions. Sails.js will do its best to understand what you\'re talking about. \nFor instance, if you were to visit http://localhost:1337/hello, you\'d notice that it routes you to the index action of `HelloController`.\n\n> Finally, if you were to omit HelloController altogether, but included a view in `views/hello/index.ejs`, Sails.js will serve that view when you visit `/hello`.\n\n> You can learn more about that on the <a href="https://github.com/balderdashy/sails/wiki/Routes">Routes</a> section of this wiki.\n\n\n# Creating an API\nCreating a RESTful JSON API is very easy with the command line tool. You can define a model with attributes by adding arguments at the end of the command. To generate a User model and empty controller, enter the following:\n\n```\nsails generate user\n```\n\nIf you check out your app, you\'ll notice that this created a file at **/api/models/User.js** and **/api/controllers/UserController.js**. \n\n\nSails API blueprints are more than scaffolds. Generating HTML doesn\'t really make sense for \nmodern web apps. Instead, Sails automatically builds a RESTful JSON API for your models.\nMost importantly, this API supports HTTP _and_ WebSockets. By default for every model and controller you generate, you get the basic CRUD operations automatically. \nIf you need more fine-grained control, you can just override the appropriate method in the controller. (see the documentation for more information on how to do this) Controllers are just Express middleware, the most popular framework for writing code in Node.js. And most importantly, all of that code, even the custom controller, still supports WebSocekts out of the box.\n\nFor instance, after generating the User above, if you POST to `http://localhost:1337/user` or visit `http://localhost:1337/user/create`, you\'ll see:\n```json\n{\n "createdAt": "2013-01-10T01:33:19.105Z",\n "updatedAt": "2013-01-10T01:33:19.105Z",\n "id": 1\n}\n```\n\nThat\'s it! You just created a model in the database! You can also `find`, `update`, and `destroy` users:\n\n```bash\n# List of all users\nhttp://localhost:1337/user\n\n# Find the user with id 1\nhttp://localhost:1337/user/1\n\n# Create a new user\nhttp://localhost:1337/user/create?name=Fisslewick\n(or send an HTTP POST to http://localhost:1337/user)\n\n# Update the name of the user with id 1\nhttp://localhost:1337/user/update/1?name=Gordo\n(or send an HTTP PUT to http://localhost:1337/user/1)\n\n# Destroy the user with id 1\nhttp://localhost:1337/user/destroy/1\n(or send an HTTP DELETE to http://localhost:1337/user/1)\n```\n\n\nOne last thing to note-- `findAll` automatically supports search, limit, skip (pagination), sorting, startsWith, endsWith, contains, greaterThan, lessThan, and not filtering.\n\n\n## Additional Features\nSails does a few things other Node.js MVC frameworks can\'t do:\n- Automatically generated JSON API for manipulating models means you don\'t have to write any backend code to build simple database apps\n- Built-in authentication, role-based access control, and customizable policies assignable at the controller/action level\n- Transport agnostic routing: Sails controllers also handle Socket.io / WebSocket messages! This makes it much easier to send the server-originated or \'comet\' notifications you need for features like chat, realtime analytics, and multiplayer games.\n- Automatic asset minification: Your UI code is automatically included in development mode, and minified into a simple, gzipped file in production. Also supports LESS and CoffeeScript.\n\n\nTo learn more, check out the documentation here: \nhttps://github.com/balderdashy/sails/wiki/_pages\n\nJoin us on IRC at #sailsjs on freenode\n\n\nVersion, Dependencies and Compatibility\n--\n#### Latest stable release: `v0.9.4`\n\nTested with node v0.8.22 and v0.10.x\nSails is built on the rock-solid foundations of ExpressJS and Socket.io. \n\n### [Roadmap](https://github.com/balderdashy/sails-wiki/blob/0.9/roadmap.md)\n### [Changelog](https://github.com/balderdashy/sails-wiki/blob/0.9/changelog.md)\n\n<br/>\n<br/>\n\n![icon_circleheart@2x.png](http://i.imgur.com/liHPV.png)\n\n## Who Built This?\n\nThe Sails framework was developed by Mike McNeil (@mikermcneil) and is maintained by Balderdash (@balderdashy), a realtime web & mobile studio I started with Heather White (@hdesignsit) in Austin, TX.\n\nAfter building a few realtime javascript apps and taking them into production, we realized that the JavaScript development landscape is very much still the Wild West. Over time, after trying lots of different methodologies (on the front end and the back), we decided to crystallize all of our best practices into this framework. I hope it saves you some time :)\n\n\n\n\n\n\n\n![icon_circlelightbulb@2x.png](http://i.imgur.com/eOFXn.png) \n\nLicense\n--\n\nSails is built around so many great open-source technologies that it would never have crossed our minds to keep it proprietary. We owe huge gratitude and props to TJ Holowaychuk (@visionmedia) and Guillermo Rauch (@guille) for the work they did, as well as the stewards of all the other open-source modules we use. Sails could never have been developed without your tremendous contributions to the node community.\n\n\nThe MIT License (MIT)\n--\n\nCopyright © 2012-2013 Mike McNeil\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/8acf2fc2ca0aca8a3018e355ad776ed7 "githalytics.com")](http://githalytics.com/balderdashy/sails)\n',
193 silly resolved readmeFilename: 'README.md',
193 silly resolved _id: 'sails@0.9.7',
193 silly resolved _from: 'sails@0.9.7' },
193 silly resolved { name: 'grunt',
193 silly resolved description: 'The JavaScript Task Runner',
193 silly resolved version: '0.4.1',
193 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
193 silly resolved homepage: 'http://gruntjs.com/',
193 silly resolved repository: { type: 'git', url: 'git://github.com/gruntjs/grunt.git' },
193 silly resolved bugs: { url: 'http://github.com/gruntjs/grunt/issues' },
193 silly resolved licenses: [ [Object] ],
193 silly resolved main: 'lib/grunt',
193 silly resolved scripts: { test: 'grunt test' },
193 silly resolved engines: { node: '>= 0.8.0' },
193 silly resolved keywords:
193 silly resolved [ 'task',
193 silly resolved 'async',
193 silly resolved 'cli',
193 silly resolved 'minify',
193 silly resolved 'uglify',
193 silly resolved 'build',
193 silly resolved 'lodash',
193 silly resolved 'unit',
193 silly resolved 'test',
193 silly resolved 'qunit',
193 silly resolved 'nodeunit',
193 silly resolved 'server',
193 silly resolved 'init',
193 silly resolved 'scaffold',
193 silly resolved 'make',
193 silly resolved 'jake',
193 silly resolved 'tool' ],
193 silly resolved dependencies:
193 silly resolved { async: '~0.1.22',
193 silly resolved 'coffee-script': '~1.3.3',
193 silly resolved colors: '~0.6.0-1',
193 silly resolved dateformat: '1.0.2-1.2.3',
193 silly resolved eventemitter2: '~0.4.9',
193 silly resolved 'findup-sync': '~0.1.0',
193 silly resolved glob: '~3.1.21',
193 silly resolved hooker: '~0.2.3',
193 silly resolved 'iconv-lite': '~0.2.5',
193 silly resolved minimatch: '~0.2.6',
193 silly resolved nopt: '~1.0.10',
193 silly resolved rimraf: '~2.0.2',
193 silly resolved lodash: '~0.9.0',
193 silly resolved 'underscore.string': '~2.2.0rc',
193 silly resolved which: '~1.0.5',
193 silly resolved 'js-yaml': '~2.0.2' },
193 silly resolved devDependencies:
193 silly resolved { temporary: '~0.0.4',
193 silly resolved 'grunt-contrib-jshint': '~0.1.1',
193 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
193 silly resolved 'grunt-contrib-watch': '~0.2.0',
193 silly resolved difflet: '~0.2.3' },
193 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
193 silly resolved readme: '# Grunt: The JavaScript Task Runner [![Build Status](https://secure.travis-ci.org/gruntjs/grunt.png?branch=master)](http://travis-ci.org/gruntjs/grunt)\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](irc://irc.freenode.net/#grunt).\n\n### Release History\nSee the [CHANGELOG](CHANGELOG).\n',
193 silly resolved readmeFilename: 'README.md',
193 silly resolved _id: 'grunt@0.4.1',
193 silly resolved _from: 'grunt@0.4.1' } ]
194 info install optimist@0.3.7 into /Users/nwittstock/Dropbox/Code/extra
195 info install sails-disk@0.9.1 into /Users/nwittstock/Dropbox/Code/extra
196 info install bcrypt@0.7.7 into /Users/nwittstock/Dropbox/Code/extra
197 info install slug@0.3.3 into /Users/nwittstock/Dropbox/Code/extra
198 info install jade@0.35.0 into /Users/nwittstock/Dropbox/Code/extra
199 info install sails@0.9.7 into /Users/nwittstock/Dropbox/Code/extra
200 info install grunt@0.4.1 into /Users/nwittstock/Dropbox/Code/extra
201 info installOne optimist@0.3.7
202 info installOne sails-disk@0.9.1
203 info installOne bcrypt@0.7.7
204 info installOne slug@0.3.3
205 info installOne jade@0.35.0
206 info installOne sails@0.9.7
207 info installOne grunt@0.4.1
208 info /Users/nwittstock/Dropbox/Code/extra/node_modules/optimist unbuild
209 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk unbuild
210 info /Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt unbuild
211 info /Users/nwittstock/Dropbox/Code/extra/node_modules/slug unbuild
212 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade unbuild
213 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails unbuild
214 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt unbuild
215 verbose tar unpack /Users/nwittstock/.npm/optimist/0.3.7/package.tgz
216 silly lockFile 2fdbcab2-Code-extra-node-modules-optimist tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist
217 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist /Users/nwittstock/.npm/2fdbcab2-Code-extra-node-modules-optimist.lock
218 silly lockFile 1d82c9b0-k-npm-optimist-0-3-7-package-tgz tar:///Users/nwittstock/.npm/optimist/0.3.7/package.tgz
219 verbose lock tar:///Users/nwittstock/.npm/optimist/0.3.7/package.tgz /Users/nwittstock/.npm/1d82c9b0-k-npm-optimist-0-3-7-package-tgz.lock
220 verbose tar unpack /Users/nwittstock/.npm/sails-disk/0.9.1/package.tgz
221 silly lockFile 6c6ca1db-de-extra-node-modules-sails-disk tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk
222 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk /Users/nwittstock/.npm/6c6ca1db-de-extra-node-modules-sails-disk.lock
223 silly lockFile 5d5eed8e-npm-sails-disk-0-9-1-package-tgz tar:///Users/nwittstock/.npm/sails-disk/0.9.1/package.tgz
224 verbose lock tar:///Users/nwittstock/.npm/sails-disk/0.9.1/package.tgz /Users/nwittstock/.npm/5d5eed8e-npm-sails-disk-0-9-1-package-tgz.lock
225 verbose tar unpack /Users/nwittstock/.npm/bcrypt/0.7.7/package.tgz
226 silly lockFile e76661c5-x-Code-extra-node-modules-bcrypt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt
227 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt /Users/nwittstock/.npm/e76661c5-x-Code-extra-node-modules-bcrypt.lock
228 silly lockFile 7a477f84-ock-npm-bcrypt-0-7-7-package-tgz tar:///Users/nwittstock/.npm/bcrypt/0.7.7/package.tgz
229 verbose lock tar:///Users/nwittstock/.npm/bcrypt/0.7.7/package.tgz /Users/nwittstock/.npm/7a477f84-ock-npm-bcrypt-0-7-7-package-tgz.lock
230 verbose tar unpack /Users/nwittstock/.npm/slug/0.3.3/package.tgz
231 silly lockFile cb75f334-box-Code-extra-node-modules-slug tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug
232 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug /Users/nwittstock/.npm/cb75f334-box-Code-extra-node-modules-slug.lock
233 silly lockFile 5904e754-stock-npm-slug-0-3-3-package-tgz tar:///Users/nwittstock/.npm/slug/0.3.3/package.tgz
234 verbose lock tar:///Users/nwittstock/.npm/slug/0.3.3/package.tgz /Users/nwittstock/.npm/5904e754-stock-npm-slug-0-3-3-package-tgz.lock
235 verbose tar unpack /Users/nwittstock/.npm/jade/0.35.0/package.tgz
236 silly lockFile 89d4d9c3-box-Code-extra-node-modules-jade tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade
237 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade /Users/nwittstock/.npm/89d4d9c3-box-Code-extra-node-modules-jade.lock
238 silly lockFile 6a083004-tock-npm-jade-0-35-0-package-tgz tar:///Users/nwittstock/.npm/jade/0.35.0/package.tgz
239 verbose lock tar:///Users/nwittstock/.npm/jade/0.35.0/package.tgz /Users/nwittstock/.npm/6a083004-tock-npm-jade-0-35-0-package-tgz.lock
240 verbose tar unpack /Users/nwittstock/.npm/sails/0.9.7/package.tgz
241 silly lockFile 6e8e3f19-ox-Code-extra-node-modules-sails tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails
242 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails /Users/nwittstock/.npm/6e8e3f19-ox-Code-extra-node-modules-sails.lock
243 silly lockFile ade97d72-tock-npm-sails-0-9-7-package-tgz tar:///Users/nwittstock/.npm/sails/0.9.7/package.tgz
244 verbose lock tar:///Users/nwittstock/.npm/sails/0.9.7/package.tgz /Users/nwittstock/.npm/ade97d72-tock-npm-sails-0-9-7-package-tgz.lock
245 verbose tar unpack /Users/nwittstock/.npm/grunt/0.4.1/package.tgz
246 silly lockFile 785c0f62-ox-Code-extra-node-modules-grunt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
247 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt /Users/nwittstock/.npm/785c0f62-ox-Code-extra-node-modules-grunt.lock
248 silly lockFile 2b30a3d5-tock-npm-grunt-0-4-1-package-tgz tar:///Users/nwittstock/.npm/grunt/0.4.1/package.tgz
249 verbose lock tar:///Users/nwittstock/.npm/grunt/0.4.1/package.tgz /Users/nwittstock/.npm/2b30a3d5-tock-npm-grunt-0-4-1-package-tgz.lock
250 silly gunzTarPerm modes [ '755', '644' ]
251 silly gunzTarPerm modes [ '755', '644' ]
252 silly gunzTarPerm modes [ '755', '644' ]
253 silly gunzTarPerm modes [ '755', '644' ]
254 silly gunzTarPerm modes [ '755', '644' ]
255 silly gunzTarPerm modes [ '755', '644' ]
256 silly gunzTarPerm extractEntry package.json
257 silly gunzTarPerm extractEntry package.json
258 silly gunzTarPerm extractEntry package.json
259 silly gunzTarPerm extractEntry package.json
260 silly gunzTarPerm extractEntry package.json
261 silly gunzTarPerm extractEntry package.json
262 silly gunzTarPerm extractEntry LICENSE
263 silly gunzTarPerm extractEntry index.js
264 silly gunzTarPerm extractEntry .npmignore
265 silly gunzTarPerm extractEntry README.md
266 silly gunzTarPerm extractEntry .npmignore
267 silly gunzTarPerm extractEntry README.md
268 silly gunzTarPerm extractEntry .npmignore
269 silly gunzTarPerm extractEntry README.md
270 silly gunzTarPerm extractEntry .npmignore
271 silly gunzTarPerm extractEntry LICENSE
272 silly gunzTarPerm extractEntry .npmignore
273 silly gunzTarPerm extractEntry README.md
274 silly gunzTarPerm extractEntry .travis.yml
275 silly gunzTarPerm extractEntry index.js
276 silly gunzTarPerm extractEntry test/runner.js
277 silly gunzTarPerm extractEntry slug.js
278 silly gunzTarPerm extractEntry test.js
279 silly gunzTarPerm extractEntry jade.js
280 silly gunzTarPerm extractEntry Gruntfile.js
281 silly gunzTarPerm extractEntry custom-gruntfile.js
282 silly gunzTarPerm extractEntry LICENSE
283 silly gunzTarPerm extractEntry bcrypt.js
284 silly gunzTarPerm extractEntry ..travis.yml.un~
285 silly gunzTarPerm extractEntry .package.json.un~
286 silly gunzTarPerm extractEntry example/bool.js
287 silly gunzTarPerm extractEntry example/default_singles.js
288 silly gunzTarPerm extractEntry test/fixtures/a.js
289 silly gunzTarPerm extractEntry test/fixtures/b.js
290 silly gunzTarPerm extractEntry Makefile
291 silly gunzTarPerm extractEntry runtime.js
292 silly gunzTarPerm extractEntry .travis.yml
293 silly gunzTarPerm extractEntry lib/slug.js
294 silly gunzTarPerm extractEntry test/fixtures/banner.js
295 silly gunzTarPerm extractEntry test/fixtures/banner2.js
296 silly gunzTarPerm extractEntry index.js
297 silly gunzTarPerm extractEntry component.json
298 silly gunzTarPerm extractEntry test/slug.test.coffee
299 silly gunzTarPerm extractEntry test/fixtures/banner3.js
300 silly gunzTarPerm extractEntry test/fixtures/Gruntfile-print-text.js
301 silly gunzTarPerm extractEntry .travis.yml
302 silly gunzTarPerm extractEntry binding.gyp
303 silly gunzTarPerm extractEntry test/fixtures/spawn-multibyte.js
304 silly gunzTarPerm extractEntry test/fixtures/spawn.js
305 silly gunzTarPerm extractEntry test/fixtures/iso-8859-1.json
306 silly gunzTarPerm extractEntry test/fixtures/expand/README.md
307 silly gunzTarPerm extractEntry test/fixtures/expand/css/baz.css
308 silly gunzTarPerm extractEntry test/fixtures/expand/css/qux.css
309 silly gunzTarPerm extractEntry test/fixtures/expand/deep/deep.txt
310 silly gunzTarPerm extractEntry test/fixtures/expand/deep/deeper/deeper.txt
311 silly gunzTarPerm extractEntry test/fixtures/expand/deep/deeper/deepest/deepest.txt
312 silly gunzTarPerm extractEntry test/fixtures/expand/js/bar.js
313 silly gunzTarPerm extractEntry test/fixtures/expand/js/foo.js
314 silly gunzTarPerm extractEntry test/fixtures/expand-mapping-ext/dir.ectory/file-no-extension
315 silly gunzTarPerm extractEntry test/fixtures/expand-mapping-ext/dir.ectory/sub.dir.ectory/file.ext.ension
316 silly gunzTarPerm extractEntry test/fixtures/expand-mapping-ext/file.ext.ension
317 silly gunzTarPerm extractEntry test/fixtures/files/dist/built-123-a.js
318 silly gunzTarPerm extractEntry test/fixtures/files/dist/built-123-b.js
319 silly gunzTarPerm extractEntry test/fixtures/files/dist/built-a.js
320 silly gunzTarPerm extractEntry test/fixtures/files/dist/built-b.js
321 silly gunzTarPerm extractEntry test/fixtures/files/dist/built.js
322 silly gunzTarPerm extractEntry test/fixtures/files/src/file1-123.js
323 silly gunzTarPerm extractEntry test/fixtures/files/src/file1.js
324 silly gunzTarPerm extractEntry test/fixtures/files/src/file2-123.js
325 silly gunzTarPerm extractEntry test/fixtures/files/src/file2.js
326 silly gunzTarPerm extractEntry test/fixtures/BOM.txt
327 silly gunzTarPerm extractEntry test/fixtures/iso-8859-1.txt
328 silly gunzTarPerm extractEntry test/fixtures/iso-8859-1.yaml
329 silly gunzTarPerm extractEntry test/fixtures/lint.txt
330 silly gunzTarPerm extractEntry test/fixtures/no_BOM.txt
331 silly gunzTarPerm extractEntry test/fixtures/octocat.png
332 silly gunzTarPerm extractEntry test/fixtures/exec.cmd
333 silly gunzTarPerm extractEntry test/fixtures/exec.sh
334 silly gunzTarPerm extractEntry test/fixtures/template.txt
335 silly gunzTarPerm extractEntry test/fixtures/test.json
336 silly gunzTarPerm extractEntry test/fixtures/utf8.json
337 silly gunzTarPerm extractEntry test/fixtures/utf8.txt
338 silly gunzTarPerm extractEntry test/fixtures/utf8.yaml
339 silly gunzTarPerm extractEntry test/grunt/config_test.js
340 silly gunzTarPerm extractEntry test/grunt/event_test.js
341 silly gunzTarPerm extractEntry test/grunt/file_test.js
342 silly gunzTarPerm extractEntry test/grunt/log_test.js
343 silly gunzTarPerm extractEntry test/grunt/option_test.js
344 silly gunzTarPerm extractEntry test/grunt/task_test.js
345 silly gunzTarPerm extractEntry test/grunt/template_test.js
346 silly gunzTarPerm extractEntry test/grunt/util_test.js
347 silly gunzTarPerm extractEntry test/gruntfile/multi-task-files.js
348 silly gunzTarPerm extractEntry test/util/namespace_test.js
349 silly gunzTarPerm extractEntry test/util/task_test.js
350 silly gunzTarPerm extractEntry .travis.yml
351 silly gunzTarPerm extractEntry AUTHORS
352 silly gunzTarPerm extractEntry CHANGELOG
353 silly gunzTarPerm extractEntry docs/README.md
354 silly gunzTarPerm extractEntry lib/grunt.js
355 silly gunzTarPerm extractEntry lib/grunt/cli.js
356 silly gunzTarPerm extractEntry lib/grunt/event.js
357 silly gunzTarPerm extractEntry lib/grunt/fail.js
358 silly gunzTarPerm extractEntry lib/grunt/file.js
359 silly gunzTarPerm extractEntry lib/grunt/config.js
360 silly gunzTarPerm extractEntry lib/grunt/log.js
361 silly gunzTarPerm extractEntry lib/grunt/option.js
362 silly gunzTarPerm extractEntry lib/grunt/task.js
363 silly gunzTarPerm extractEntry lib/grunt/template.js
364 silly gunzTarPerm extractEntry lib/grunt/util.js
365 silly gunzTarPerm extractEntry lib/grunt/help.js
366 silly gunzTarPerm extractEntry lib/util/exit.js
367 silly gunzTarPerm extractEntry lib/util/namespace.js
368 silly gunzTarPerm extractEntry lib/util/task.js
369 silly gunzTarPerm extractEntry CONTRIBUTING.md
370 silly gunzTarPerm extractEntry LICENSE-MIT
371 silly gunzTarPerm extractEntry example/divide.js
372 silly gunzTarPerm extractEntry example/line_count.js
373 silly gunzTarPerm extractEntry examples/async_compare.js
374 silly gunzTarPerm extractEntry examples/forever_gen_salt.js
375 silly gunzTarPerm extractEntry example/default_hash.js
376 silly gunzTarPerm extractEntry example/line_count_wrap.js
377 silly lockFile 6c6ca1db-de-extra-node-modules-sails-disk tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk
378 silly lockFile 6c6ca1db-de-extra-node-modules-sails-disk tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk
379 silly gunzTarPerm extractEntry example/nonopt.js
380 silly gunzTarPerm extractEntry example/reflect.js
381 silly lockFile 5d5eed8e-npm-sails-disk-0-9-1-package-tgz tar:///Users/nwittstock/.npm/sails-disk/0.9.1/package.tgz
382 silly lockFile 5d5eed8e-npm-sails-disk-0-9-1-package-tgz tar:///Users/nwittstock/.npm/sails-disk/0.9.1/package.tgz
383 silly gunzTarPerm extractEntry CHANGELOG
384 silly gunzTarPerm extractEntry src/bcrypt.cc
385 info preinstall sails-disk@0.9.1
386 verbose readDependencies using package.json deps
387 silly gunzTarPerm extractEntry example/short.js
388 silly gunzTarPerm extractEntry example/string.js
389 verbose readDependencies using package.json deps
390 silly gunzTarPerm extractEntry src/bcrypt_node.cc
391 silly gunzTarPerm extractEntry src/blowfish.cc
392 verbose cache add [ 'fs-extra@0.6.1', null ]
393 verbose cache add name=undefined spec="fs-extra@0.6.1" args=["fs-extra@0.6.1",null]
394 verbose parsed url { protocol: null,
394 verbose parsed url slashes: null,
394 verbose parsed url auth: null,
394 verbose parsed url host: null,
394 verbose parsed url port: null,
394 verbose parsed url hostname: null,
394 verbose parsed url hash: null,
394 verbose parsed url search: null,
394 verbose parsed url query: null,
394 verbose parsed url pathname: 'fs-extra@0.6.1',
394 verbose parsed url path: 'fs-extra@0.6.1',
394 verbose parsed url href: 'fs-extra@0.6.1' }
395 verbose cache add name="fs-extra" spec="0.6.1" args=["fs-extra","0.6.1"]
396 verbose parsed url { protocol: null,
396 verbose parsed url slashes: null,
396 verbose parsed url auth: null,
396 verbose parsed url host: null,
396 verbose parsed url port: null,
396 verbose parsed url hostname: null,
396 verbose parsed url hash: null,
396 verbose parsed url search: null,
396 verbose parsed url query: null,
396 verbose parsed url pathname: '0.6.1',
396 verbose parsed url path: '0.6.1',
396 verbose parsed url href: '0.6.1' }
397 verbose addNamed [ 'fs-extra', '0.6.1' ]
398 verbose addNamed [ '0.6.1', '0.6.1' ]
399 silly lockFile afa365de-fs-extra-0-6-1 fs-extra@0.6.1
400 verbose lock fs-extra@0.6.1 /Users/nwittstock/.npm/afa365de-fs-extra-0-6-1.lock
401 verbose cache add [ 'lodash@1.2.1', null ]
402 verbose cache add name=undefined spec="lodash@1.2.1" args=["lodash@1.2.1",null]
403 verbose parsed url { protocol: null,
403 verbose parsed url slashes: null,
403 verbose parsed url auth: null,
403 verbose parsed url host: null,
403 verbose parsed url port: null,
403 verbose parsed url hostname: null,
403 verbose parsed url hash: null,
403 verbose parsed url search: null,
403 verbose parsed url query: null,
403 verbose parsed url pathname: 'lodash@1.2.1',
403 verbose parsed url path: 'lodash@1.2.1',
403 verbose parsed url href: 'lodash@1.2.1' }
404 verbose cache add name="lodash" spec="1.2.1" args=["lodash","1.2.1"]
405 verbose parsed url { protocol: null,
405 verbose parsed url slashes: null,
405 verbose parsed url auth: null,
405 verbose parsed url host: null,
405 verbose parsed url port: null,
405 verbose parsed url hostname: null,
405 verbose parsed url hash: null,
405 verbose parsed url search: null,
405 verbose parsed url query: null,
405 verbose parsed url pathname: '1.2.1',
405 verbose parsed url path: '1.2.1',
405 verbose parsed url href: '1.2.1' }
406 verbose addNamed [ 'lodash', '1.2.1' ]
407 verbose addNamed [ '1.2.1', '1.2.1' ]
408 silly lockFile 97f4aa05-lodash-1-2-1 lodash@1.2.1
409 verbose lock lodash@1.2.1 /Users/nwittstock/.npm/97f4aa05-lodash-1-2-1.lock
410 verbose cache add [ 'waterline-criteria@~0.9.0', null ]
411 verbose cache add name=undefined spec="waterline-criteria@~0.9.0" args=["waterline-criteria@~0.9.0",null]
412 verbose parsed url { protocol: null,
412 verbose parsed url slashes: null,
412 verbose parsed url auth: null,
412 verbose parsed url host: null,
412 verbose parsed url port: null,
412 verbose parsed url hostname: null,
412 verbose parsed url hash: null,
412 verbose parsed url search: null,
412 verbose parsed url query: null,
412 verbose parsed url pathname: 'waterline-criteria@~0.9.0',
412 verbose parsed url path: 'waterline-criteria@~0.9.0',
412 verbose parsed url href: 'waterline-criteria@~0.9.0' }
413 verbose cache add name="waterline-criteria" spec="~0.9.0" args=["waterline-criteria","~0.9.0"]
414 verbose parsed url { protocol: null,
414 verbose parsed url slashes: null,
414 verbose parsed url auth: null,
414 verbose parsed url host: null,
414 verbose parsed url port: null,
414 verbose parsed url hostname: null,
414 verbose parsed url hash: null,
414 verbose parsed url search: null,
414 verbose parsed url query: null,
414 verbose parsed url pathname: '~0.9.0',
414 verbose parsed url path: '~0.9.0',
414 verbose parsed url href: '~0.9.0' }
415 verbose addNamed [ 'waterline-criteria', '~0.9.0' ]
416 verbose addNamed [ null, '>=0.9.0-0 <0.10.0-0' ]
417 silly lockFile 295ca489-waterline-criteria-0-9-0 waterline-criteria@~0.9.0
418 verbose lock waterline-criteria@~0.9.0 /Users/nwittstock/.npm/295ca489-waterline-criteria-0-9-0.lock
419 silly addNameRange { name: 'waterline-criteria',
419 silly addNameRange range: '>=0.9.0-0 <0.10.0-0',
419 silly addNameRange hasData: false }
420 silly gunzTarPerm extractEntry example/boolean_single.js
421 silly gunzTarPerm extractEntry example/usage-options.js
422 verbose url raw fs-extra/0.6.1
423 verbose url resolving [ 'https://registry.npmjs.org/', './fs-extra/0.6.1' ]
424 verbose url resolved https://registry.npmjs.org/fs-extra/0.6.1
425 info trying registry request attempt 1 at 17:30:58
426 verbose etag "P6RN2HFOL3HIS6367RA7NC0O"
427 http GET https://registry.npmjs.org/fs-extra/0.6.1
428 verbose url raw lodash/1.2.1
429 verbose url resolving [ 'https://registry.npmjs.org/', './lodash/1.2.1' ]
430 verbose url resolved https://registry.npmjs.org/lodash/1.2.1
431 info trying registry request attempt 1 at 17:30:58
432 verbose etag "3JTW41ZR83LOYS4T2080L6REC"
433 http GET https://registry.npmjs.org/lodash/1.2.1
434 verbose url raw waterline-criteria
435 verbose url resolving [ 'https://registry.npmjs.org/', './waterline-criteria' ]
436 verbose url resolved https://registry.npmjs.org/waterline-criteria
437 info trying registry request attempt 1 at 17:30:58
438 verbose etag "2X3IUBF6BN7V1R3CGKKL5X007"
439 http GET https://registry.npmjs.org/waterline-criteria
440 silly gunzTarPerm extractEntry src/node_blf.h
441 silly gunzTarPerm extractEntry test/async.js
442 silly gunzTarPerm extractEntry example/boolean_double.js
443 silly gunzTarPerm extractEntry example/xup.js
444 silly gunzTarPerm extractEntry test/deprecated.js
445 silly gunzTarPerm extractEntry test/repetitions.js
446 silly gunzTarPerm extractEntry example/line_count_options.js
447 silly gunzTarPerm extractEntry readme.markdown
448 silly gunzTarPerm extractEntry test/sync.js
449 silly gunzTarPerm extractEntry wscript
450 silly gunzTarPerm extractEntry test/_.js
451 silly gunzTarPerm extractEntry test/parse.js
452 silly gunzTarPerm extractEntry test/usage.js
453 silly gunzTarPerm extractEntry test/_/argv.js
454 silly lockFile cb75f334-box-Code-extra-node-modules-slug tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug
455 silly lockFile cb75f334-box-Code-extra-node-modules-slug tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug
456 silly lockFile 5904e754-stock-npm-slug-0-3-3-package-tgz tar:///Users/nwittstock/.npm/slug/0.3.3/package.tgz
457 silly lockFile 5904e754-stock-npm-slug-0-3-3-package-tgz tar:///Users/nwittstock/.npm/slug/0.3.3/package.tgz
458 info preinstall slug@0.3.3
459 silly gunzTarPerm extractEntry test/_/bin.js
460 verbose readDependencies using package.json deps
461 verbose readDependencies using package.json deps
462 verbose cache add [ 'unicode@>= 0.3.1', null ]
463 verbose cache add name=undefined spec="unicode@>= 0.3.1" args=["unicode@>= 0.3.1",null]
464 verbose parsed url { protocol: null,
464 verbose parsed url slashes: null,
464 verbose parsed url auth: null,
464 verbose parsed url host: null,
464 verbose parsed url port: null,
464 verbose parsed url hostname: null,
464 verbose parsed url hash: null,
464 verbose parsed url search: null,
464 verbose parsed url query: null,
464 verbose parsed url pathname: 'unicode@%3E=%200.3.1',
464 verbose parsed url path: 'unicode@%3E=%200.3.1',
464 verbose parsed url href: 'unicode@%3E=%200.3.1' }
465 verbose cache add name="unicode" spec=">= 0.3.1" args=["unicode",">= 0.3.1"]
466 verbose parsed url { protocol: null,
466 verbose parsed url slashes: null,
466 verbose parsed url auth: null,
466 verbose parsed url host: null,
466 verbose parsed url port: null,
466 verbose parsed url hostname: null,
466 verbose parsed url hash: null,
466 verbose parsed url search: null,
466 verbose parsed url query: null,
466 verbose parsed url pathname: '%3E=%200.3.1',
466 verbose parsed url path: '%3E=%200.3.1',
466 verbose parsed url href: '%3E=%200.3.1' }
467 verbose addNamed [ 'unicode', '>= 0.3.1' ]
468 verbose addNamed [ null, '>=0.3.1' ]
469 silly lockFile 287ede40-unicode-0-3-1 unicode@>= 0.3.1
470 verbose lock unicode@>= 0.3.1 /Users/nwittstock/.npm/287ede40-unicode-0-3-1.lock
471 silly addNameRange { name: 'unicode', range: '>=0.3.1', hasData: false }
472 verbose url raw unicode
473 verbose url resolving [ 'https://registry.npmjs.org/', './unicode' ]
474 verbose url resolved https://registry.npmjs.org/unicode
475 info trying registry request attempt 1 at 17:30:58
476 verbose etag "2E2MX6PK639X9A4R0UJQU85NY"
477 http GET https://registry.npmjs.org/unicode
478 silly lockFile 2fdbcab2-Code-extra-node-modules-optimist tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist
479 silly lockFile 2fdbcab2-Code-extra-node-modules-optimist tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist
480 silly lockFile 1d82c9b0-k-npm-optimist-0-3-7-package-tgz tar:///Users/nwittstock/.npm/optimist/0.3.7/package.tgz
481 silly lockFile 1d82c9b0-k-npm-optimist-0-3-7-package-tgz tar:///Users/nwittstock/.npm/optimist/0.3.7/package.tgz
482 info preinstall optimist@0.3.7
483 verbose readDependencies using package.json deps
484 verbose readDependencies using package.json deps
485 verbose cache add [ 'wordwrap@~0.0.2', null ]
486 verbose cache add name=undefined spec="wordwrap@~0.0.2" args=["wordwrap@~0.0.2",null]
487 verbose parsed url { protocol: null,
487 verbose parsed url slashes: null,
487 verbose parsed url auth: null,
487 verbose parsed url host: null,
487 verbose parsed url port: null,
487 verbose parsed url hostname: null,
487 verbose parsed url hash: null,
487 verbose parsed url search: null,
487 verbose parsed url query: null,
487 verbose parsed url pathname: 'wordwrap@~0.0.2',
487 verbose parsed url path: 'wordwrap@~0.0.2',
487 verbose parsed url href: 'wordwrap@~0.0.2' }
488 verbose cache add name="wordwrap" spec="~0.0.2" args=["wordwrap","~0.0.2"]
489 verbose parsed url { protocol: null,
489 verbose parsed url slashes: null,
489 verbose parsed url auth: null,
489 verbose parsed url host: null,
489 verbose parsed url port: null,
489 verbose parsed url hostname: null,
489 verbose parsed url hash: null,
489 verbose parsed url search: null,
489 verbose parsed url query: null,
489 verbose parsed url pathname: '~0.0.2',
489 verbose parsed url path: '~0.0.2',
489 verbose parsed url href: '~0.0.2' }
490 verbose addNamed [ 'wordwrap', '~0.0.2' ]
491 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ]
492 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
493 verbose lock wordwrap@~0.0.2 /Users/nwittstock/.npm/8bd42136-wordwrap-0-0-2.lock
494 silly addNameRange { name: 'wordwrap', range: '>=0.0.2-0 <0.1.0-0', hasData: false }
495 verbose url raw wordwrap
496 verbose url resolving [ 'https://registry.npmjs.org/', './wordwrap' ]
497 verbose url resolved https://registry.npmjs.org/wordwrap
498 info trying registry request attempt 1 at 17:30:58
499 verbose etag "3HPX5BQ0X4U2A3KJNTK2473OZ"
500 http GET https://registry.npmjs.org/wordwrap
501 silly lockFile e76661c5-x-Code-extra-node-modules-bcrypt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt
502 silly lockFile e76661c5-x-Code-extra-node-modules-bcrypt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt
503 silly lockFile 7a477f84-ock-npm-bcrypt-0-7-7-package-tgz tar:///Users/nwittstock/.npm/bcrypt/0.7.7/package.tgz
504 silly lockFile 7a477f84-ock-npm-bcrypt-0-7-7-package-tgz tar:///Users/nwittstock/.npm/bcrypt/0.7.7/package.tgz
505 info preinstall bcrypt@0.7.7
506 verbose readDependencies using package.json deps
507 verbose readDependencies using package.json deps
508 verbose cache add [ 'bindings@1.0.0', null ]
509 verbose cache add name=undefined spec="bindings@1.0.0" args=["bindings@1.0.0",null]
510 verbose parsed url { protocol: null,
510 verbose parsed url slashes: null,
510 verbose parsed url auth: null,
510 verbose parsed url host: null,
510 verbose parsed url port: null,
510 verbose parsed url hostname: null,
510 verbose parsed url hash: null,
510 verbose parsed url search: null,
510 verbose parsed url query: null,
510 verbose parsed url pathname: 'bindings@1.0.0',
510 verbose parsed url path: 'bindings@1.0.0',
510 verbose parsed url href: 'bindings@1.0.0' }
511 verbose cache add name="bindings" spec="1.0.0" args=["bindings","1.0.0"]
512 verbose parsed url { protocol: null,
512 verbose parsed url slashes: null,
512 verbose parsed url auth: null,
512 verbose parsed url host: null,
512 verbose parsed url port: null,
512 verbose parsed url hostname: null,
512 verbose parsed url hash: null,
512 verbose parsed url search: null,
512 verbose parsed url query: null,
512 verbose parsed url pathname: '1.0.0',
512 verbose parsed url path: '1.0.0',
512 verbose parsed url href: '1.0.0' }
513 verbose addNamed [ 'bindings', '1.0.0' ]
514 verbose addNamed [ '1.0.0', '1.0.0' ]
515 silly lockFile f01e5454-bindings-1-0-0 bindings@1.0.0
516 verbose lock bindings@1.0.0 /Users/nwittstock/.npm/f01e5454-bindings-1-0-0.lock
517 verbose url raw bindings/1.0.0
518 verbose url resolving [ 'https://registry.npmjs.org/', './bindings/1.0.0' ]
519 verbose url resolved https://registry.npmjs.org/bindings/1.0.0
520 info trying registry request attempt 1 at 17:30:58
521 verbose etag "7T3K5G7IPKYYUOD04UHNCJDA6"
522 http GET https://registry.npmjs.org/bindings/1.0.0
523 silly gunzTarPerm extractEntry bin/jade
524 silly gunzTarPerm extractEntry jade-language.md
525 silly gunzTarPerm extractEntry Readme_zh-cn.md
526 silly gunzTarPerm extractEntry jade.md
527 silly gunzTarPerm extractEntry lib/compiler.js
528 silly gunzTarPerm extractEntry lib/filters-client.js
529 silly gunzTarPerm extractEntry lib/filters.js
530 silly gunzTarPerm extractEntry lib/index.js
531 silly gunzTarPerm extractEntry lib/inline-tags.js
532 silly gunzTarPerm extractEntry lib/doctypes.js
533 silly gunzTarPerm extractEntry lib/lexer.js
534 silly gunzTarPerm extractEntry lib/self-closing.js
535 silly gunzTarPerm extractEntry lib/parser.js
536 silly gunzTarPerm extractEntry lib/runtime.js
537 silly gunzTarPerm extractEntry lib/utils.js
538 silly gunzTarPerm extractEntry lib/jade.js
539 silly gunzTarPerm extractEntry lib/nodes/attrs.js
540 silly gunzTarPerm extractEntry lib/nodes/code.js
541 silly gunzTarPerm extractEntry lib/nodes/comment.js
542 silly gunzTarPerm extractEntry lib/nodes/doctype.js
543 silly lockFile 785c0f62-ox-Code-extra-node-modules-grunt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
544 silly lockFile 785c0f62-ox-Code-extra-node-modules-grunt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
545 silly lockFile 2b30a3d5-tock-npm-grunt-0-4-1-package-tgz tar:///Users/nwittstock/.npm/grunt/0.4.1/package.tgz
546 silly lockFile 2b30a3d5-tock-npm-grunt-0-4-1-package-tgz tar:///Users/nwittstock/.npm/grunt/0.4.1/package.tgz
547 info preinstall grunt@0.4.1
548 silly gunzTarPerm extractEntry lib/nodes/case.js
549 silly gunzTarPerm extractEntry lib/nodes/filter.js
550 verbose readDependencies using package.json deps
551 verbose readDependencies using package.json deps
552 silly gunzTarPerm extractEntry lib/nodes/index.js
553 silly gunzTarPerm extractEntry lib/nodes/literal.js
554 verbose cache add [ 'async@~0.1.22', null ]
555 verbose cache add name=undefined spec="async@~0.1.22" args=["async@~0.1.22",null]
556 verbose parsed url { protocol: null,
556 verbose parsed url slashes: null,
556 verbose parsed url auth: null,
556 verbose parsed url host: null,
556 verbose parsed url port: null,
556 verbose parsed url hostname: null,
556 verbose parsed url hash: null,
556 verbose parsed url search: null,
556 verbose parsed url query: null,
556 verbose parsed url pathname: 'async@~0.1.22',
556 verbose parsed url path: 'async@~0.1.22',
556 verbose parsed url href: 'async@~0.1.22' }
557 verbose cache add name="async" spec="~0.1.22" args=["async","~0.1.22"]
558 verbose parsed url { protocol: null,
558 verbose parsed url slashes: null,
558 verbose parsed url auth: null,
558 verbose parsed url host: null,
558 verbose parsed url port: null,
558 verbose parsed url hostname: null,
558 verbose parsed url hash: null,
558 verbose parsed url search: null,
558 verbose parsed url query: null,
558 verbose parsed url pathname: '~0.1.22',
558 verbose parsed url path: '~0.1.22',
558 verbose parsed url href: '~0.1.22' }
559 verbose addNamed [ 'async', '~0.1.22' ]
560 verbose addNamed [ null, '>=0.1.22-0 <0.2.0-0' ]
561 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
562 verbose lock async@~0.1.22 /Users/nwittstock/.npm/3af71045-async-0-1-22.lock
563 verbose cache add [ 'coffee-script@~1.3.3', null ]
564 verbose cache add name=undefined spec="coffee-script@~1.3.3" args=["coffee-script@~1.3.3",null]
565 verbose parsed url { protocol: null,
565 verbose parsed url slashes: null,
565 verbose parsed url auth: null,
565 verbose parsed url host: null,
565 verbose parsed url port: null,
565 verbose parsed url hostname: null,
565 verbose parsed url hash: null,
565 verbose parsed url search: null,
565 verbose parsed url query: null,
565 verbose parsed url pathname: 'coffee-script@~1.3.3',
565 verbose parsed url path: 'coffee-script@~1.3.3',
565 verbose parsed url href: 'coffee-script@~1.3.3' }
566 verbose cache add name="coffee-script" spec="~1.3.3" args=["coffee-script","~1.3.3"]
567 verbose parsed url { protocol: null,
567 verbose parsed url slashes: null,
567 verbose parsed url auth: null,
567 verbose parsed url host: null,
567 verbose parsed url port: null,
567 verbose parsed url hostname: null,
567 verbose parsed url hash: null,
567 verbose parsed url search: null,
567 verbose parsed url query: null,
567 verbose parsed url pathname: '~1.3.3',
567 verbose parsed url path: '~1.3.3',
567 verbose parsed url href: '~1.3.3' }
568 verbose addNamed [ 'coffee-script', '~1.3.3' ]
569 verbose addNamed [ null, '>=1.3.3-0 <1.4.0-0' ]
570 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
571 verbose lock coffee-script@~1.3.3 /Users/nwittstock/.npm/f72bb580-coffee-script-1-3-3.lock
572 verbose cache add [ 'dateformat@1.0.2-1.2.3', null ]
573 verbose cache add name=undefined spec="dateformat@1.0.2-1.2.3" args=["dateformat@1.0.2-1.2.3",null]
574 verbose parsed url { protocol: null,
574 verbose parsed url slashes: null,
574 verbose parsed url auth: null,
574 verbose parsed url host: null,
574 verbose parsed url port: null,
574 verbose parsed url hostname: null,
574 verbose parsed url hash: null,
574 verbose parsed url search: null,
574 verbose parsed url query: null,
574 verbose parsed url pathname: 'dateformat@1.0.2-1.2.3',
574 verbose parsed url path: 'dateformat@1.0.2-1.2.3',
574 verbose parsed url href: 'dateformat@1.0.2-1.2.3' }
575 verbose cache add name="dateformat" spec="1.0.2-1.2.3" args=["dateformat","1.0.2-1.2.3"]
576 verbose parsed url { protocol: null,
576 verbose parsed url slashes: null,
576 verbose parsed url auth: null,
576 verbose parsed url host: null,
576 verbose parsed url port: null,
576 verbose parsed url hostname: null,
576 verbose parsed url hash: null,
576 verbose parsed url search: null,
576 verbose parsed url query: null,
576 verbose parsed url pathname: '1.0.2-1.2.3',
576 verbose parsed url path: '1.0.2-1.2.3',
576 verbose parsed url href: '1.0.2-1.2.3' }
577 verbose addNamed [ 'dateformat', '1.0.2-1.2.3' ]
578 verbose addNamed [ '1.0.2-1.2.3', '1.0.2-1.2.3' ]
579 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
580 verbose lock dateformat@1.0.2-1.2.3 /Users/nwittstock/.npm/644d6e27-dateformat-1-0-2-1-2-3.lock
581 verbose cache add [ 'colors@~0.6.0-1', null ]
582 verbose cache add name=undefined spec="colors@~0.6.0-1" args=["colors@~0.6.0-1",null]
583 verbose parsed url { protocol: null,
583 verbose parsed url slashes: null,
583 verbose parsed url auth: null,
583 verbose parsed url host: null,
583 verbose parsed url port: null,
583 verbose parsed url hostname: null,
583 verbose parsed url hash: null,
583 verbose parsed url search: null,
583 verbose parsed url query: null,
583 verbose parsed url pathname: 'colors@~0.6.0-1',
583 verbose parsed url path: 'colors@~0.6.0-1',
583 verbose parsed url href: 'colors@~0.6.0-1' }
584 verbose cache add name="colors" spec="~0.6.0-1" args=["colors","~0.6.0-1"]
585 verbose parsed url { protocol: null,
585 verbose parsed url slashes: null,
585 verbose parsed url auth: null,
585 verbose parsed url host: null,
585 verbose parsed url port: null,
585 verbose parsed url hostname: null,
585 verbose parsed url hash: null,
585 verbose parsed url search: null,
585 verbose parsed url query: null,
585 verbose parsed url pathname: '~0.6.0-1',
585 verbose parsed url path: '~0.6.0-1',
585 verbose parsed url href: '~0.6.0-1' }
586 verbose addNamed [ 'colors', '~0.6.0-1' ]
587 verbose addNamed [ null, '>=0.6.0-1 <0.7.0-0' ]
588 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
589 verbose lock colors@~0.6.0-1 /Users/nwittstock/.npm/f29bff6b-colors-0-6-0-1.lock
590 silly addNameRange { name: 'async', range: '>=0.1.22-0 <0.2.0-0', hasData: false }
591 verbose cache add [ 'eventemitter2@~0.4.9', null ]
592 verbose cache add name=undefined spec="eventemitter2@~0.4.9" args=["eventemitter2@~0.4.9",null]
593 verbose parsed url { protocol: null,
593 verbose parsed url slashes: null,
593 verbose parsed url auth: null,
593 verbose parsed url host: null,
593 verbose parsed url port: null,
593 verbose parsed url hostname: null,
593 verbose parsed url hash: null,
593 verbose parsed url search: null,
593 verbose parsed url query: null,
593 verbose parsed url pathname: 'eventemitter2@~0.4.9',
593 verbose parsed url path: 'eventemitter2@~0.4.9',
593 verbose parsed url href: 'eventemitter2@~0.4.9' }
594 verbose cache add name="eventemitter2" spec="~0.4.9" args=["eventemitter2","~0.4.9"]
595 verbose parsed url { protocol: null,
595 verbose parsed url slashes: null,
595 verbose parsed url auth: null,
595 verbose parsed url host: null,
595 verbose parsed url port: null,
595 verbose parsed url hostname: null,
595 verbose parsed url hash: null,
595 verbose parsed url search: null,
595 verbose parsed url query: null,
595 verbose parsed url pathname: '~0.4.9',
595 verbose parsed url path: '~0.4.9',
595 verbose parsed url href: '~0.4.9' }
596 verbose addNamed [ 'eventemitter2', '~0.4.9' ]
597 verbose addNamed [ null, '>=0.4.9-0 <0.5.0-0' ]
598 silly lockFile 70573e74-eventemitter2-0-4-9 eventemitter2@~0.4.9
599 verbose lock eventemitter2@~0.4.9 /Users/nwittstock/.npm/70573e74-eventemitter2-0-4-9.lock
600 verbose cache add [ 'findup-sync@~0.1.0', null ]
601 verbose cache add name=undefined spec="findup-sync@~0.1.0" args=["findup-sync@~0.1.0",null]
602 verbose parsed url { protocol: null,
602 verbose parsed url slashes: null,
602 verbose parsed url auth: null,
602 verbose parsed url host: null,
602 verbose parsed url port: null,
602 verbose parsed url hostname: null,
602 verbose parsed url hash: null,
602 verbose parsed url search: null,
602 verbose parsed url query: null,
602 verbose parsed url pathname: 'findup-sync@~0.1.0',
602 verbose parsed url path: 'findup-sync@~0.1.0',
602 verbose parsed url href: 'findup-sync@~0.1.0' }
603 verbose cache add name="findup-sync" spec="~0.1.0" args=["findup-sync","~0.1.0"]
604 verbose parsed url { protocol: null,
604 verbose parsed url slashes: null,
604 verbose parsed url auth: null,
604 verbose parsed url host: null,
604 verbose parsed url port: null,
604 verbose parsed url hostname: null,
604 verbose parsed url hash: null,
604 verbose parsed url search: null,
604 verbose parsed url query: null,
604 verbose parsed url pathname: '~0.1.0',
604 verbose parsed url path: '~0.1.0',
604 verbose parsed url href: '~0.1.0' }
605 verbose addNamed [ 'findup-sync', '~0.1.0' ]
606 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
607 silly lockFile 625605b9-findup-sync-0-1-0 findup-sync@~0.1.0
608 verbose lock findup-sync@~0.1.0 /Users/nwittstock/.npm/625605b9-findup-sync-0-1-0.lock
609 silly addNameRange { name: 'coffee-script',
609 silly addNameRange range: '>=1.3.3-0 <1.4.0-0',
609 silly addNameRange hasData: false }
610 verbose cache add [ 'glob@~3.1.21', null ]
611 verbose cache add name=undefined spec="glob@~3.1.21" args=["glob@~3.1.21",null]
612 verbose parsed url { protocol: null,
612 verbose parsed url slashes: null,
612 verbose parsed url auth: null,
612 verbose parsed url host: null,
612 verbose parsed url port: null,
612 verbose parsed url hostname: null,
612 verbose parsed url hash: null,
612 verbose parsed url search: null,
612 verbose parsed url query: null,
612 verbose parsed url pathname: 'glob@~3.1.21',
612 verbose parsed url path: 'glob@~3.1.21',
612 verbose parsed url href: 'glob@~3.1.21' }
613 verbose cache add name="glob" spec="~3.1.21" args=["glob","~3.1.21"]
614 verbose parsed url { protocol: null,
614 verbose parsed url slashes: null,
614 verbose parsed url auth: null,
614 verbose parsed url host: null,
614 verbose parsed url port: null,
614 verbose parsed url hostname: null,
614 verbose parsed url hash: null,
614 verbose parsed url search: null,
614 verbose parsed url query: null,
614 verbose parsed url pathname: '~3.1.21',
614 verbose parsed url path: '~3.1.21',
614 verbose parsed url href: '~3.1.21' }
615 verbose addNamed [ 'glob', '~3.1.21' ]
616 verbose addNamed [ null, '>=3.1.21-0 <3.2.0-0' ]
617 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
618 verbose lock glob@~3.1.21 /Users/nwittstock/.npm/b5074ddc-glob-3-1-21.lock
619 verbose cache add [ 'hooker@~0.2.3', null ]
620 verbose cache add name=undefined spec="hooker@~0.2.3" args=["hooker@~0.2.3",null]
621 verbose parsed url { protocol: null,
621 verbose parsed url slashes: null,
621 verbose parsed url auth: null,
621 verbose parsed url host: null,
621 verbose parsed url port: null,
621 verbose parsed url hostname: null,
621 verbose parsed url hash: null,
621 verbose parsed url search: null,
621 verbose parsed url query: null,
621 verbose parsed url pathname: 'hooker@~0.2.3',
621 verbose parsed url path: 'hooker@~0.2.3',
621 verbose parsed url href: 'hooker@~0.2.3' }
622 verbose cache add name="hooker" spec="~0.2.3" args=["hooker","~0.2.3"]
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: '~0.2.3',
623 verbose parsed url path: '~0.2.3',
623 verbose parsed url href: '~0.2.3' }
624 verbose addNamed [ 'hooker', '~0.2.3' ]
625 verbose addNamed [ null, '>=0.2.3-0 <0.3.0-0' ]
626 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
627 verbose lock hooker@~0.2.3 /Users/nwittstock/.npm/2bcd1457-hooker-0-2-3.lock
628 verbose cache add [ 'iconv-lite@~0.2.5', null ]
629 verbose cache add name=undefined spec="iconv-lite@~0.2.5" args=["iconv-lite@~0.2.5",null]
630 verbose parsed url { protocol: null,
630 verbose parsed url slashes: null,
630 verbose parsed url auth: null,
630 verbose parsed url host: null,
630 verbose parsed url port: null,
630 verbose parsed url hostname: null,
630 verbose parsed url hash: null,
630 verbose parsed url search: null,
630 verbose parsed url query: null,
630 verbose parsed url pathname: 'iconv-lite@~0.2.5',
630 verbose parsed url path: 'iconv-lite@~0.2.5',
630 verbose parsed url href: 'iconv-lite@~0.2.5' }
631 verbose cache add name="iconv-lite" spec="~0.2.5" args=["iconv-lite","~0.2.5"]
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: '~0.2.5',
632 verbose parsed url path: '~0.2.5',
632 verbose parsed url href: '~0.2.5' }
633 verbose addNamed [ 'iconv-lite', '~0.2.5' ]
634 verbose addNamed [ null, '>=0.2.5-0 <0.3.0-0' ]
635 silly lockFile ca9efaa1-iconv-lite-0-2-5 iconv-lite@~0.2.5
636 verbose lock iconv-lite@~0.2.5 /Users/nwittstock/.npm/ca9efaa1-iconv-lite-0-2-5.lock
637 silly addNameRange { name: 'colors', range: '>=0.6.0-1 <0.7.0-0', hasData: false }
638 silly addNameRange { name: 'eventemitter2',
638 silly addNameRange range: '>=0.4.9-0 <0.5.0-0',
638 silly addNameRange hasData: false }
639 verbose cache add [ 'minimatch@~0.2.6', null ]
640 verbose cache add name=undefined spec="minimatch@~0.2.6" args=["minimatch@~0.2.6",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: 'minimatch@~0.2.6',
641 verbose parsed url path: 'minimatch@~0.2.6',
641 verbose parsed url href: 'minimatch@~0.2.6' }
642 verbose cache add name="minimatch" spec="~0.2.6" args=["minimatch","~0.2.6"]
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.2.6',
643 verbose parsed url path: '~0.2.6',
643 verbose parsed url href: '~0.2.6' }
644 verbose addNamed [ 'minimatch', '~0.2.6' ]
645 verbose addNamed [ null, '>=0.2.6-0 <0.3.0-0' ]
646 silly lockFile 5922ee11-minimatch-0-2-6 minimatch@~0.2.6
647 verbose lock minimatch@~0.2.6 /Users/nwittstock/.npm/5922ee11-minimatch-0-2-6.lock
648 verbose cache add [ 'nopt@~1.0.10', null ]
649 verbose cache add name=undefined spec="nopt@~1.0.10" args=["nopt@~1.0.10",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: 'nopt@~1.0.10',
650 verbose parsed url path: 'nopt@~1.0.10',
650 verbose parsed url href: 'nopt@~1.0.10' }
651 verbose cache add name="nopt" spec="~1.0.10" args=["nopt","~1.0.10"]
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: '~1.0.10',
652 verbose parsed url path: '~1.0.10',
652 verbose parsed url href: '~1.0.10' }
653 verbose addNamed [ 'nopt', '~1.0.10' ]
654 verbose addNamed [ null, '>=1.0.10-0 <1.1.0-0' ]
655 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
656 verbose lock nopt@~1.0.10 /Users/nwittstock/.npm/79f78dba-nopt-1-0-10.lock
657 verbose cache add [ 'rimraf@~2.0.2', null ]
658 verbose cache add name=undefined spec="rimraf@~2.0.2" args=["rimraf@~2.0.2",null]
659 verbose parsed url { protocol: null,
659 verbose parsed url slashes: null,
659 verbose parsed url auth: null,
659 verbose parsed url host: null,
659 verbose parsed url port: null,
659 verbose parsed url hostname: null,
659 verbose parsed url hash: null,
659 verbose parsed url search: null,
659 verbose parsed url query: null,
659 verbose parsed url pathname: 'rimraf@~2.0.2',
659 verbose parsed url path: 'rimraf@~2.0.2',
659 verbose parsed url href: 'rimraf@~2.0.2' }
660 verbose cache add name="rimraf" spec="~2.0.2" args=["rimraf","~2.0.2"]
661 verbose parsed url { protocol: null,
661 verbose parsed url slashes: null,
661 verbose parsed url auth: null,
661 verbose parsed url host: null,
661 verbose parsed url port: null,
661 verbose parsed url hostname: null,
661 verbose parsed url hash: null,
661 verbose parsed url search: null,
661 verbose parsed url query: null,
661 verbose parsed url pathname: '~2.0.2',
661 verbose parsed url path: '~2.0.2',
661 verbose parsed url href: '~2.0.2' }
662 verbose addNamed [ 'rimraf', '~2.0.2' ]
663 verbose addNamed [ null, '>=2.0.2-0 <2.1.0-0' ]
664 silly lockFile 723423b4-rimraf-2-0-2 rimraf@~2.0.2
665 verbose lock rimraf@~2.0.2 /Users/nwittstock/.npm/723423b4-rimraf-2-0-2.lock
666 verbose cache add [ 'lodash@~0.9.0', null ]
667 verbose cache add name=undefined spec="lodash@~0.9.0" args=["lodash@~0.9.0",null]
668 verbose parsed url { protocol: null,
668 verbose parsed url slashes: null,
668 verbose parsed url auth: null,
668 verbose parsed url host: null,
668 verbose parsed url port: null,
668 verbose parsed url hostname: null,
668 verbose parsed url hash: null,
668 verbose parsed url search: null,
668 verbose parsed url query: null,
668 verbose parsed url pathname: 'lodash@~0.9.0',
668 verbose parsed url path: 'lodash@~0.9.0',
668 verbose parsed url href: 'lodash@~0.9.0' }
669 verbose cache add name="lodash" spec="~0.9.0" args=["lodash","~0.9.0"]
670 verbose parsed url { protocol: null,
670 verbose parsed url slashes: null,
670 verbose parsed url auth: null,
670 verbose parsed url host: null,
670 verbose parsed url port: null,
670 verbose parsed url hostname: null,
670 verbose parsed url hash: null,
670 verbose parsed url search: null,
670 verbose parsed url query: null,
670 verbose parsed url pathname: '~0.9.0',
670 verbose parsed url path: '~0.9.0',
670 verbose parsed url href: '~0.9.0' }
671 verbose addNamed [ 'lodash', '~0.9.0' ]
672 verbose addNamed [ null, '>=0.9.0-0 <0.10.0-0' ]
673 silly lockFile 429879b8-lodash-0-9-0 lodash@~0.9.0
674 verbose lock lodash@~0.9.0 /Users/nwittstock/.npm/429879b8-lodash-0-9-0.lock
675 verbose cache add [ 'underscore.string@~2.2.0rc', null ]
676 verbose cache add name=undefined spec="underscore.string@~2.2.0rc" args=["underscore.string@~2.2.0rc",null]
677 verbose parsed url { protocol: null,
677 verbose parsed url slashes: null,
677 verbose parsed url auth: null,
677 verbose parsed url host: null,
677 verbose parsed url port: null,
677 verbose parsed url hostname: null,
677 verbose parsed url hash: null,
677 verbose parsed url search: null,
677 verbose parsed url query: null,
677 verbose parsed url pathname: 'underscore.string@~2.2.0rc',
677 verbose parsed url path: 'underscore.string@~2.2.0rc',
677 verbose parsed url href: 'underscore.string@~2.2.0rc' }
678 verbose cache add name="underscore.string" spec="~2.2.0rc" args=["underscore.string","~2.2.0rc"]
679 verbose parsed url { protocol: null,
679 verbose parsed url slashes: null,
679 verbose parsed url auth: null,
679 verbose parsed url host: null,
679 verbose parsed url port: null,
679 verbose parsed url hostname: null,
679 verbose parsed url hash: null,
679 verbose parsed url search: null,
679 verbose parsed url query: null,
679 verbose parsed url pathname: '~2.2.0rc',
679 verbose parsed url path: '~2.2.0rc',
679 verbose parsed url href: '~2.2.0rc' }
680 verbose addNamed [ 'underscore.string', '~2.2.0rc' ]
681 verbose addNamed [ null, null ]
682 silly lockFile d5a5a3c6-underscore-string-2-2-0rc underscore.string@~2.2.0rc
683 verbose lock underscore.string@~2.2.0rc /Users/nwittstock/.npm/d5a5a3c6-underscore-string-2-2-0rc.lock
684 silly addNameRange { name: 'findup-sync',
684 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
684 silly addNameRange hasData: false }
685 silly addNameRange { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: false }
686 silly addNameRange { name: 'hooker', range: '>=0.2.3-0 <0.3.0-0', hasData: false }
687 verbose cache add [ 'which@~1.0.5', null ]
688 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
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: 'which@~1.0.5',
689 verbose parsed url path: 'which@~1.0.5',
689 verbose parsed url href: 'which@~1.0.5' }
690 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
691 verbose parsed url { protocol: null,
691 verbose parsed url slashes: null,
691 verbose parsed url auth: null,
691 verbose parsed url host: null,
691 verbose parsed url port: null,
691 verbose parsed url hostname: null,
691 verbose parsed url hash: null,
691 verbose parsed url search: null,
691 verbose parsed url query: null,
691 verbose parsed url pathname: '~1.0.5',
691 verbose parsed url path: '~1.0.5',
691 verbose parsed url href: '~1.0.5' }
692 verbose addNamed [ 'which', '~1.0.5' ]
693 verbose addNamed [ null, '>=1.0.5-0 <1.1.0-0' ]
694 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
695 verbose lock which@~1.0.5 /Users/nwittstock/.npm/d158d65e-which-1-0-5.lock
696 verbose cache add [ 'js-yaml@~2.0.2', null ]
697 verbose cache add name=undefined spec="js-yaml@~2.0.2" args=["js-yaml@~2.0.2",null]
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: 'js-yaml@~2.0.2',
698 verbose parsed url path: 'js-yaml@~2.0.2',
698 verbose parsed url href: 'js-yaml@~2.0.2' }
699 verbose cache add name="js-yaml" spec="~2.0.2" args=["js-yaml","~2.0.2"]
700 verbose parsed url { protocol: null,
700 verbose parsed url slashes: null,
700 verbose parsed url auth: null,
700 verbose parsed url host: null,
700 verbose parsed url port: null,
700 verbose parsed url hostname: null,
700 verbose parsed url hash: null,
700 verbose parsed url search: null,
700 verbose parsed url query: null,
700 verbose parsed url pathname: '~2.0.2',
700 verbose parsed url path: '~2.0.2',
700 verbose parsed url href: '~2.0.2' }
701 verbose addNamed [ 'js-yaml', '~2.0.2' ]
702 verbose addNamed [ null, '>=2.0.2-0 <2.1.0-0' ]
703 silly lockFile 0dc3e23f-js-yaml-2-0-2 js-yaml@~2.0.2
704 verbose lock js-yaml@~2.0.2 /Users/nwittstock/.npm/0dc3e23f-js-yaml-2-0-2.lock
705 silly addNameRange { name: 'iconv-lite',
705 silly addNameRange range: '>=0.2.5-0 <0.3.0-0',
705 silly addNameRange hasData: false }
706 silly addNameRange { name: 'minimatch',
706 silly addNameRange range: '>=0.2.6-0 <0.3.0-0',
706 silly addNameRange hasData: false }
707 silly addNameRange { name: 'nopt', range: '>=1.0.10-0 <1.1.0-0', hasData: false }
708 silly addNameRange { name: 'rimraf', range: '>=2.0.2-0 <2.1.0-0', hasData: false }
709 silly addNameRange { name: 'lodash', range: '>=0.9.0-0 <0.10.0-0', hasData: false }
710 silly addNameRange { name: 'underscore.string',
710 silly addNameRange range: '>=2.2.0-rc <2.3.0-0',
710 silly addNameRange hasData: false }
711 verbose url raw async
712 verbose url resolving [ 'https://registry.npmjs.org/', './async' ]
713 verbose url resolved https://registry.npmjs.org/async
714 info trying registry request attempt 1 at 17:30:58
715 verbose etag "8I9XZYCF67J4501HYBMP2DHOR"
716 http GET https://registry.npmjs.org/async
717 silly addNameRange { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: false }
718 silly addNameRange { name: 'js-yaml', range: '>=2.0.2-0 <2.1.0-0', hasData: false }
719 verbose url raw coffee-script
720 verbose url resolving [ 'https://registry.npmjs.org/', './coffee-script' ]
721 verbose url resolved https://registry.npmjs.org/coffee-script
722 info trying registry request attempt 1 at 17:30:58
723 verbose etag "2HZAL9J6YNYHX7K414IYU5MS"
724 http GET https://registry.npmjs.org/coffee-script
725 verbose url raw dateformat/1.0.2-1.2.3
726 verbose url resolving [ 'https://registry.npmjs.org/', './dateformat/1.0.2-1.2.3' ]
727 verbose url resolved https://registry.npmjs.org/dateformat/1.0.2-1.2.3
728 info trying registry request attempt 1 at 17:30:58
729 verbose etag "53MGS4758SFBP4J0VMOWHAVRB"
730 http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
731 verbose url raw colors
732 verbose url resolving [ 'https://registry.npmjs.org/', './colors' ]
733 verbose url resolved https://registry.npmjs.org/colors
734 info trying registry request attempt 1 at 17:30:58
735 verbose etag "6A8GBHDKZ62PGBI3M1NRGH6L7"
736 http GET https://registry.npmjs.org/colors
737 verbose url raw eventemitter2
738 verbose url resolving [ 'https://registry.npmjs.org/', './eventemitter2' ]
739 verbose url resolved https://registry.npmjs.org/eventemitter2
740 info trying registry request attempt 1 at 17:30:58
741 verbose etag "AVDFXO3Z0C3KMSBGB7JOT9R8S"
742 http GET https://registry.npmjs.org/eventemitter2
743 verbose url raw findup-sync
744 verbose url resolving [ 'https://registry.npmjs.org/', './findup-sync' ]
745 verbose url resolved https://registry.npmjs.org/findup-sync
746 info trying registry request attempt 1 at 17:30:58
747 verbose etag "BFALDACBDE84KEJ1UFRKML8CD"
748 http GET https://registry.npmjs.org/findup-sync
749 silly gunzTarPerm extractEntry lib/nodes/mixin.js
750 silly gunzTarPerm extractEntry lib/nodes/node.js
751 verbose url raw hooker
752 verbose url resolving [ 'https://registry.npmjs.org/', './hooker' ]
753 verbose url resolved https://registry.npmjs.org/hooker
754 info trying registry request attempt 1 at 17:30:58
755 verbose etag "4NS4EOCQXZ0NB6PG3PIW1TD6M"
756 http GET https://registry.npmjs.org/hooker
757 verbose url raw glob
758 verbose url resolving [ 'https://registry.npmjs.org/', './glob' ]
759 verbose url resolved https://registry.npmjs.org/glob
760 info trying registry request attempt 1 at 17:30:58
761 verbose etag "1W1NU8TJZ8J9UU08IW6CJW235"
762 http GET https://registry.npmjs.org/glob
763 verbose url raw iconv-lite
764 verbose url resolving [ 'https://registry.npmjs.org/', './iconv-lite' ]
765 verbose url resolved https://registry.npmjs.org/iconv-lite
766 info trying registry request attempt 1 at 17:30:58
767 verbose etag "A2T3FVHI8039SNILC54LU3Y3S"
768 http GET https://registry.npmjs.org/iconv-lite
769 verbose url raw minimatch
770 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
771 verbose url resolved https://registry.npmjs.org/minimatch
772 info trying registry request attempt 1 at 17:30:58
773 verbose etag "433GUXE31BY78MEUH5M7CIXOG"
774 http GET https://registry.npmjs.org/minimatch
775 verbose url raw nopt
776 verbose url resolving [ 'https://registry.npmjs.org/', './nopt' ]
777 verbose url resolved https://registry.npmjs.org/nopt
778 info trying registry request attempt 1 at 17:30:58
779 verbose etag "AETEJQ6065IDOK92C9USEU3FY"
780 http GET https://registry.npmjs.org/nopt
781 verbose url raw rimraf
782 verbose url resolving [ 'https://registry.npmjs.org/', './rimraf' ]
783 verbose url resolved https://registry.npmjs.org/rimraf
784 info trying registry request attempt 1 at 17:30:58
785 verbose etag "50X3LWQDSY1SAULXQ7QRKW4PE"
786 http GET https://registry.npmjs.org/rimraf
787 verbose url raw underscore.string
788 verbose url resolving [ 'https://registry.npmjs.org/', './underscore.string' ]
789 verbose url resolved https://registry.npmjs.org/underscore.string
790 info trying registry request attempt 1 at 17:30:58
791 verbose etag "82KONBUKGVFGLKPUIJ91QHEA4"
792 http GET https://registry.npmjs.org/underscore.string
793 verbose url raw lodash
794 verbose url resolving [ 'https://registry.npmjs.org/', './lodash' ]
795 verbose url resolved https://registry.npmjs.org/lodash
796 info trying registry request attempt 1 at 17:30:58
797 verbose etag "3JTW41ZR83LOYS4T2080L6REC"
798 http GET https://registry.npmjs.org/lodash
799 verbose url raw which
800 verbose url resolving [ 'https://registry.npmjs.org/', './which' ]
801 verbose url resolved https://registry.npmjs.org/which
802 info trying registry request attempt 1 at 17:30:58
803 verbose etag "43PJVZ0U2IY5DUOK5LXY2JGYD"
804 http GET https://registry.npmjs.org/which
805 verbose url raw js-yaml
806 verbose url resolving [ 'https://registry.npmjs.org/', './js-yaml' ]
807 verbose url resolved https://registry.npmjs.org/js-yaml
808 info trying registry request attempt 1 at 17:30:58
809 verbose etag "2RITD05N54RKF0B1V0JSYRRC5"
810 http GET https://registry.npmjs.org/js-yaml
811 silly gunzTarPerm extractEntry lib/nodes/block.js
812 silly gunzTarPerm extractEntry lib/nodes/tag.js
813 silly gunzTarPerm extractEntry lib/nodes/block-comment.js
814 silly gunzTarPerm extractEntry lib/nodes/text.js
815 silly gunzTarPerm extractEntry lib/nodes/each.js
816 silly gunzTarPerm extractEntry Readme.md
817 silly lockFile 89d4d9c3-box-Code-extra-node-modules-jade tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade
818 silly lockFile 89d4d9c3-box-Code-extra-node-modules-jade tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade
819 silly lockFile 6a083004-tock-npm-jade-0-35-0-package-tgz tar:///Users/nwittstock/.npm/jade/0.35.0/package.tgz
820 silly lockFile 6a083004-tock-npm-jade-0-35-0-package-tgz tar:///Users/nwittstock/.npm/jade/0.35.0/package.tgz
821 info preinstall jade@0.35.0
822 verbose readDependencies using package.json deps
823 verbose readDependencies using package.json deps
824 verbose cache add [ 'commander@2.0.0', null ]
825 verbose cache add name=undefined spec="commander@2.0.0" args=["commander@2.0.0",null]
826 verbose parsed url { protocol: null,
826 verbose parsed url slashes: null,
826 verbose parsed url auth: null,
826 verbose parsed url host: null,
826 verbose parsed url port: null,
826 verbose parsed url hostname: null,
826 verbose parsed url hash: null,
826 verbose parsed url search: null,
826 verbose parsed url query: null,
826 verbose parsed url pathname: 'commander@2.0.0',
826 verbose parsed url path: 'commander@2.0.0',
826 verbose parsed url href: 'commander@2.0.0' }
827 verbose cache add name="commander" spec="2.0.0" args=["commander","2.0.0"]
828 verbose parsed url { protocol: null,
828 verbose parsed url slashes: null,
828 verbose parsed url auth: null,
828 verbose parsed url host: null,
828 verbose parsed url port: null,
828 verbose parsed url hostname: null,
828 verbose parsed url hash: null,
828 verbose parsed url search: null,
828 verbose parsed url query: null,
828 verbose parsed url pathname: '2.0.0',
828 verbose parsed url path: '2.0.0',
828 verbose parsed url href: '2.0.0' }
829 verbose addNamed [ 'commander', '2.0.0' ]
830 verbose addNamed [ '2.0.0', '2.0.0' ]
831 silly lockFile d5315eb7-commander-2-0-0 commander@2.0.0
832 verbose lock commander@2.0.0 /Users/nwittstock/.npm/d5315eb7-commander-2-0-0.lock
833 verbose cache add [ 'mkdirp@0.3.x', null ]
834 verbose cache add name=undefined spec="mkdirp@0.3.x" args=["mkdirp@0.3.x",null]
835 verbose parsed url { protocol: null,
835 verbose parsed url slashes: null,
835 verbose parsed url auth: null,
835 verbose parsed url host: null,
835 verbose parsed url port: null,
835 verbose parsed url hostname: null,
835 verbose parsed url hash: null,
835 verbose parsed url search: null,
835 verbose parsed url query: null,
835 verbose parsed url pathname: 'mkdirp@0.3.x',
835 verbose parsed url path: 'mkdirp@0.3.x',
835 verbose parsed url href: 'mkdirp@0.3.x' }
836 verbose cache add name="mkdirp" spec="0.3.x" args=["mkdirp","0.3.x"]
837 verbose parsed url { protocol: null,
837 verbose parsed url slashes: null,
837 verbose parsed url auth: null,
837 verbose parsed url host: null,
837 verbose parsed url port: null,
837 verbose parsed url hostname: null,
837 verbose parsed url hash: null,
837 verbose parsed url search: null,
837 verbose parsed url query: null,
837 verbose parsed url pathname: '0.3.x',
837 verbose parsed url path: '0.3.x',
837 verbose parsed url href: '0.3.x' }
838 verbose addNamed [ 'mkdirp', '0.3.x' ]
839 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
840 silly lockFile 6d3723ce-mkdirp-0-3-x mkdirp@0.3.x
841 verbose lock mkdirp@0.3.x /Users/nwittstock/.npm/6d3723ce-mkdirp-0-3-x.lock
842 verbose cache add [ 'character-parser@1.2.0', null ]
843 verbose cache add name=undefined spec="character-parser@1.2.0" args=["character-parser@1.2.0",null]
844 verbose parsed url { protocol: null,
844 verbose parsed url slashes: null,
844 verbose parsed url auth: null,
844 verbose parsed url host: null,
844 verbose parsed url port: null,
844 verbose parsed url hostname: null,
844 verbose parsed url hash: null,
844 verbose parsed url search: null,
844 verbose parsed url query: null,
844 verbose parsed url pathname: 'character-parser@1.2.0',
844 verbose parsed url path: 'character-parser@1.2.0',
844 verbose parsed url href: 'character-parser@1.2.0' }
845 verbose cache add name="character-parser" spec="1.2.0" args=["character-parser","1.2.0"]
846 verbose parsed url { protocol: null,
846 verbose parsed url slashes: null,
846 verbose parsed url auth: null,
846 verbose parsed url host: null,
846 verbose parsed url port: null,
846 verbose parsed url hostname: null,
846 verbose parsed url hash: null,
846 verbose parsed url search: null,
846 verbose parsed url query: null,
846 verbose parsed url pathname: '1.2.0',
846 verbose parsed url path: '1.2.0',
846 verbose parsed url href: '1.2.0' }
847 verbose addNamed [ 'character-parser', '1.2.0' ]
848 verbose addNamed [ '1.2.0', '1.2.0' ]
849 silly lockFile ae738bf0-character-parser-1-2-0 character-parser@1.2.0
850 verbose lock character-parser@1.2.0 /Users/nwittstock/.npm/ae738bf0-character-parser-1-2-0.lock
851 verbose cache add [ 'transformers@2.1.0', null ]
852 verbose cache add name=undefined spec="transformers@2.1.0" args=["transformers@2.1.0",null]
853 verbose parsed url { protocol: null,
853 verbose parsed url slashes: null,
853 verbose parsed url auth: null,
853 verbose parsed url host: null,
853 verbose parsed url port: null,
853 verbose parsed url hostname: null,
853 verbose parsed url hash: null,
853 verbose parsed url search: null,
853 verbose parsed url query: null,
853 verbose parsed url pathname: 'transformers@2.1.0',
853 verbose parsed url path: 'transformers@2.1.0',
853 verbose parsed url href: 'transformers@2.1.0' }
854 verbose cache add name="transformers" spec="2.1.0" args=["transformers","2.1.0"]
855 verbose parsed url { protocol: null,
855 verbose parsed url slashes: null,
855 verbose parsed url auth: null,
855 verbose parsed url host: null,
855 verbose parsed url port: null,
855 verbose parsed url hostname: null,
855 verbose parsed url hash: null,
855 verbose parsed url search: null,
855 verbose parsed url query: null,
855 verbose parsed url pathname: '2.1.0',
855 verbose parsed url path: '2.1.0',
855 verbose parsed url href: '2.1.0' }
856 verbose addNamed [ 'transformers', '2.1.0' ]
857 verbose addNamed [ '2.1.0', '2.1.0' ]
858 silly lockFile 8f87aaee-transformers-2-1-0 transformers@2.1.0
859 verbose lock transformers@2.1.0 /Users/nwittstock/.npm/8f87aaee-transformers-2-1-0.lock
860 verbose cache add [ 'monocle@1.1.50', null ]
861 verbose cache add name=undefined spec="monocle@1.1.50" args=["monocle@1.1.50",null]
862 verbose parsed url { protocol: null,
862 verbose parsed url slashes: null,
862 verbose parsed url auth: null,
862 verbose parsed url host: null,
862 verbose parsed url port: null,
862 verbose parsed url hostname: null,
862 verbose parsed url hash: null,
862 verbose parsed url search: null,
862 verbose parsed url query: null,
862 verbose parsed url pathname: 'monocle@1.1.50',
862 verbose parsed url path: 'monocle@1.1.50',
862 verbose parsed url href: 'monocle@1.1.50' }
863 verbose cache add name="monocle" spec="1.1.50" args=["monocle","1.1.50"]
864 verbose parsed url { protocol: null,
864 verbose parsed url slashes: null,
864 verbose parsed url auth: null,
864 verbose parsed url host: null,
864 verbose parsed url port: null,
864 verbose parsed url hostname: null,
864 verbose parsed url hash: null,
864 verbose parsed url search: null,
864 verbose parsed url query: null,
864 verbose parsed url pathname: '1.1.50',
864 verbose parsed url path: '1.1.50',
864 verbose parsed url href: '1.1.50' }
865 verbose addNamed [ 'monocle', '1.1.50' ]
866 verbose addNamed [ '1.1.50', '1.1.50' ]
867 silly lockFile 5fe52b64-monocle-1-1-50 monocle@1.1.50
868 verbose lock monocle@1.1.50 /Users/nwittstock/.npm/5fe52b64-monocle-1-1-50.lock
869 silly addNameRange { name: 'mkdirp', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
870 verbose cache add [ 'with@~1.1.0', null ]
871 verbose cache add name=undefined spec="with@~1.1.0" args=["with@~1.1.0",null]
872 verbose parsed url { protocol: null,
872 verbose parsed url slashes: null,
872 verbose parsed url auth: null,
872 verbose parsed url host: null,
872 verbose parsed url port: null,
872 verbose parsed url hostname: null,
872 verbose parsed url hash: null,
872 verbose parsed url search: null,
872 verbose parsed url query: null,
872 verbose parsed url pathname: 'with@~1.1.0',
872 verbose parsed url path: 'with@~1.1.0',
872 verbose parsed url href: 'with@~1.1.0' }
873 verbose cache add name="with" spec="~1.1.0" args=["with","~1.1.0"]
874 verbose parsed url { protocol: null,
874 verbose parsed url slashes: null,
874 verbose parsed url auth: null,
874 verbose parsed url host: null,
874 verbose parsed url port: null,
874 verbose parsed url hostname: null,
874 verbose parsed url hash: null,
874 verbose parsed url search: null,
874 verbose parsed url query: null,
874 verbose parsed url pathname: '~1.1.0',
874 verbose parsed url path: '~1.1.0',
874 verbose parsed url href: '~1.1.0' }
875 verbose addNamed [ 'with', '~1.1.0' ]
876 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
877 silly lockFile ef0c4388-with-1-1-0 with@~1.1.0
878 verbose lock with@~1.1.0 /Users/nwittstock/.npm/ef0c4388-with-1-1-0.lock
879 verbose cache add [ 'constantinople@~1.0.1', null ]
880 verbose cache add name=undefined spec="constantinople@~1.0.1" args=["constantinople@~1.0.1",null]
881 verbose parsed url { protocol: null,
881 verbose parsed url slashes: null,
881 verbose parsed url auth: null,
881 verbose parsed url host: null,
881 verbose parsed url port: null,
881 verbose parsed url hostname: null,
881 verbose parsed url hash: null,
881 verbose parsed url search: null,
881 verbose parsed url query: null,
881 verbose parsed url pathname: 'constantinople@~1.0.1',
881 verbose parsed url path: 'constantinople@~1.0.1',
881 verbose parsed url href: 'constantinople@~1.0.1' }
882 verbose cache add name="constantinople" spec="~1.0.1" args=["constantinople","~1.0.1"]
883 verbose parsed url { protocol: null,
883 verbose parsed url slashes: null,
883 verbose parsed url auth: null,
883 verbose parsed url host: null,
883 verbose parsed url port: null,
883 verbose parsed url hostname: null,
883 verbose parsed url hash: null,
883 verbose parsed url search: null,
883 verbose parsed url query: null,
883 verbose parsed url pathname: '~1.0.1',
883 verbose parsed url path: '~1.0.1',
883 verbose parsed url href: '~1.0.1' }
884 verbose addNamed [ 'constantinople', '~1.0.1' ]
885 verbose addNamed [ null, '>=1.0.1-0 <1.1.0-0' ]
886 silly lockFile 0f56561f-constantinople-1-0-1 constantinople@~1.0.1
887 verbose lock constantinople@~1.0.1 /Users/nwittstock/.npm/0f56561f-constantinople-1-0-1.lock
888 silly addNameRange { name: 'with', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
889 verbose url raw commander/2.0.0
890 verbose url resolving [ 'https://registry.npmjs.org/', './commander/2.0.0' ]
891 verbose url resolved https://registry.npmjs.org/commander/2.0.0
892 info trying registry request attempt 1 at 17:30:58
893 verbose etag "27IZG02YYKQFVTUPHC3CC5OQ5"
894 http GET https://registry.npmjs.org/commander/2.0.0
895 silly addNameRange { name: 'constantinople',
895 silly addNameRange range: '>=1.0.1-0 <1.1.0-0',
895 silly addNameRange hasData: false }
896 verbose url raw mkdirp
897 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ]
898 verbose url resolved https://registry.npmjs.org/mkdirp
899 info trying registry request attempt 1 at 17:30:58
900 verbose etag "6A3HQJJS800XM6HY1G91KHAHX"
901 http GET https://registry.npmjs.org/mkdirp
902 verbose url raw character-parser/1.2.0
903 verbose url resolving [ 'https://registry.npmjs.org/', './character-parser/1.2.0' ]
904 verbose url resolved https://registry.npmjs.org/character-parser/1.2.0
905 info trying registry request attempt 1 at 17:30:58
906 verbose etag "4AAYGGI1A8AVM6AMDC4V2MIHQ"
907 http GET https://registry.npmjs.org/character-parser/1.2.0
908 verbose url raw transformers/2.1.0
909 verbose url resolving [ 'https://registry.npmjs.org/', './transformers/2.1.0' ]
910 verbose url resolved https://registry.npmjs.org/transformers/2.1.0
911 info trying registry request attempt 1 at 17:30:58
912 verbose etag "29RTFN0KEXHMVKN0AUQB3PAQ9"
913 http GET https://registry.npmjs.org/transformers/2.1.0
914 verbose url raw monocle/1.1.50
915 verbose url resolving [ 'https://registry.npmjs.org/', './monocle/1.1.50' ]
916 verbose url resolved https://registry.npmjs.org/monocle/1.1.50
917 info trying registry request attempt 1 at 17:30:58
918 verbose etag "1BSZ6EPIZN5SPM2PV0WM4SJ9S"
919 http GET https://registry.npmjs.org/monocle/1.1.50
920 verbose url raw with
921 verbose url resolving [ 'https://registry.npmjs.org/', './with' ]
922 verbose url resolved https://registry.npmjs.org/with
923 info trying registry request attempt 1 at 17:30:58
924 verbose etag "4OYWPR4EN92D61KPZ2V9K90MI"
925 http GET https://registry.npmjs.org/with
926 verbose url raw constantinople
927 verbose url resolving [ 'https://registry.npmjs.org/', './constantinople' ]
928 verbose url resolved https://registry.npmjs.org/constantinople
929 info trying registry request attempt 1 at 17:30:58
930 verbose etag "3XF7YOIP3KNUE93JYHF0M6J91"
931 http GET https://registry.npmjs.org/constantinople
932 http 304 https://registry.npmjs.org/waterline-criteria
933 silly registry.get cb [ 304,
933 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
933 silly registry.get etag: '"2X3IUBF6BN7V1R3CGKKL5X007"',
933 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
933 silly registry.get 'content-length': '0' } ]
934 verbose etag waterline-criteria from cache
935 http 304 https://registry.npmjs.org/fs-extra/0.6.1
936 silly registry.get cb [ 304,
936 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
936 silly registry.get etag: '"P6RN2HFOL3HIS6367RA7NC0O"',
936 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
936 silly registry.get 'content-length': '0' } ]
937 verbose etag fs-extra/0.6.1 from cache
938 silly addNameRange number 2 { name: 'waterline-criteria',
938 silly addNameRange range: '>=0.9.0-0 <0.10.0-0',
938 silly addNameRange hasData: true }
939 silly addNameRange versions [ 'waterline-criteria',
939 silly addNameRange [ '0.0.0', '0.9.0', '0.9.1', '0.9.2', '0.9.3' ] ]
940 verbose addNamed [ 'waterline-criteria', '0.9.3' ]
941 verbose addNamed [ '0.9.3', '0.9.3' ]
942 silly lockFile 3b71eed7-waterline-criteria-0-9-3 waterline-criteria@0.9.3
943 verbose lock waterline-criteria@0.9.3 /Users/nwittstock/.npm/3b71eed7-waterline-criteria-0-9-3.lock
944 http 304 https://registry.npmjs.org/lodash/1.2.1
945 silly registry.get cb [ 304,
945 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
945 silly registry.get etag: '"3JTW41ZR83LOYS4T2080L6REC"',
945 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
945 silly registry.get 'content-length': '0' } ]
946 verbose etag lodash/1.2.1 from cache
947 silly lockFile afa365de-fs-extra-0-6-1 fs-extra@0.6.1
948 silly lockFile afa365de-fs-extra-0-6-1 fs-extra@0.6.1
949 silly lockFile 3b71eed7-waterline-criteria-0-9-3 waterline-criteria@0.9.3
950 silly lockFile 3b71eed7-waterline-criteria-0-9-3 waterline-criteria@0.9.3
951 silly lockFile 295ca489-waterline-criteria-0-9-0 waterline-criteria@~0.9.0
952 silly lockFile 295ca489-waterline-criteria-0-9-0 waterline-criteria@~0.9.0
953 silly lockFile 97f4aa05-lodash-1-2-1 lodash@1.2.1
954 silly lockFile 97f4aa05-lodash-1-2-1 lodash@1.2.1
955 silly resolved [ { name: 'fs-extra',
955 silly resolved version: '0.6.1',
955 silly resolved description: 'fs-extra contains methods that aren\'t included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.',
955 silly resolved repository:
955 silly resolved { type: 'git',
955 silly resolved url: 'https://github.com/jprichardson/node-fs-extra' },
955 silly resolved keywords:
955 silly resolved [ 'fs',
955 silly resolved 'file',
955 silly resolved 'file system',
955 silly resolved 'copy',
955 silly resolved 'directory',
955 silly resolved 'extra',
955 silly resolved 'mkdirp',
955 silly resolved 'mkdir',
955 silly resolved 'mkdirs',
955 silly resolved 'recursive',
955 silly resolved 'json',
955 silly resolved 'read',
955 silly resolved 'write',
955 silly resolved 'extra',
955 silly resolved 'delete',
955 silly resolved 'remove',
955 silly resolved 'touch',
955 silly resolved 'create',
955 silly resolved 'text',
955 silly resolved 'output' ],
955 silly resolved author: { name: 'JP Richardson', email: 'jprichardson@gmail.com' },
955 silly resolved licenses: [ [Object] ],
955 silly resolved dependencies:
955 silly resolved { ncp: '~0.4.2',
955 silly resolved mkdirp: '0.3.x',
955 silly resolved jsonfile: '0.0.x',
955 silly resolved rimraf: '~2.1.4' },
955 silly resolved devDependencies: { mocha: '*', 'path-extra': '0.0.x', testutil: '~0.5.0' },
955 silly resolved main: './lib/index',
955 silly resolved scripts: { test: 'mocha test' },
955 silly resolved readme: '\nNode.js: fs-extra\n=================\n\n[![build status](https://secure.travis-ci.org/jprichardson/node-fs-extra.png)](http://travis-ci.org/jprichardson/node-fs-extra)\n\nThis module adds a few extra file system methods that aren\'t included in the native `fs` module. It is a drop in replacement for `fs`.\n\n\n\nWhy?\n----\n\nI got tired of including `mkdirp`, `rimraf`, and `cp -r` in most of my projects. \n\n\n\n\nInstallation\n------------\n\n npm install --save fs-extra\n\n\n\nUsage\n-----\n\nDrop in replacement for native `fs`.\n\n\n```javascript\nvar fs = require(\'fs-extra\');\n```\n\n\n\nMethods\n-------\n\n**NOTE:** You can still use the native Node.js methods. They are copied over to `fs-extra`.\n\n\n### copy(src, dest, callback)\n\nCopy a file or directory. The directory can have contents. Like `cp -r`. There isn\'t a synchronous version implemented yet.\n\nSync: (none)\n\n\nExamples:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.copy(\'/tmp/myfile\', \'/tmp/mynewfile\', function(err){\n if (err) {\n console.error(err);\n }\n else {\n console.log("success!")\n }\n}); //copies file\n\nfs.copy(\'/tmp/mydir\', \'/tmp/mynewdir\', function(err){\n if (err) {\n console.error(err);\n }\n else {\n console.log("success!")\n }\n}); //copies directory, even if it has subdirectories or files\n```\n\n\n### createFile(file, callback) \n\nCreates a file. If the file that is requested to be created is in directories that do not exist, these directories are created. If the file already exists, it is **NOT MODIFIED**.\n\nSync: `createFileSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\')\n , file = \'/tmp/this/path/does/not/exist/file.txt\'\n\nfs.createFile(file, function(err) {\n console.log(err); //null\n\n //file has now been created, including the directory it is to be placed in\n})\n```\n\n\n\n### mkdirs(dir, callback) \n\nCreates a directory. If the parent hierarchy doesn\'t exist, it\'s created. Like `mkdir -p`.\n\nAlias: `mkdirp()`\n\nSync: `mkdirsSync()` / `mkdirpSync()`\n\n\nExamples:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.mkdirs(\'/tmp/some/long/path/that/prob/doesnt/exist\', function(err){\n if (err) {\n console.error(err);\n }\n else {\n console.log("success!")\n }\n});\n\nfs.mkdirsSync(\'/tmp/another/path\');\n```\n\n\n### outputFile(file, data, callback)\n\nAlmost the same as `writeFile`, except that if the directory does not exist, it\'s created.\n\nSync: `outputFileSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\')\n , file = \'/tmp/this/path/does/not/exist/file.txt\'\n\nfs.outputFile(file, \'hello!\', function(err) {\n console.log(err); //null\n\n fs.readFile(file, \'utf8\', function(err, data) {\n console.log(data); //hello!\n })\n})\n```\n\n\n\n### outputJson(file, data, callback)\n\nAlmost the same as `writeJson`, except that if the directory does not exist, it\'s created.\n\nAlias: `outputJSON()\n\nSync: `outputJsonSync()`, `outputJSONSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\')\n , file = \'/tmp/this/path/does/not/exist/file.txt\'\n\nfs.outputJson(file, {name: \'JP\'}, function(err) {\n console.log(err); //null\n\n fs.readJson(file, function(err, data) {\n console.log(data.name); //\'JP\n })\n})\n```\n\n\n\n### readJson(file, callback) \n\nReads a JSON file and then parses it into an object.\n\nAlias: `readJSON()`\n\nSync: `readJsonSync()`, `readJSONSync()`\n\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.readJson(\'./package.json\', function(err, packageObj) {\n console.log(packageObj.version); //0.1.3\n});\n```\n\n\n### remove(dir, callback)\n\nRemoves a file or directory. The directory can have contents. Like `rm -rf`.\n\nAlias: `delete()`\n\nSync: `removeSync()` / `deleteSync()`\n\n\nExamples:\n\n```javascript\nvar fs = require(\'fs-extra\');\n\nfs.remove(\'/tmp/myfile\', function(err){\n if (err) {\n console.error(err);\n }\n else {\n console.log("success!")\n }\n});\n\nfs.removeSync(\'/home/jprichardson\'); //I just deleted my entire HOME directory. \n```\n\n\n\n### writeJson(file, object, callback) \n\nWrites an object to a JSON file.\n\nAlias: `writeJSON()`\n\nSync: `writeJsonSync()`, `writeJSONSync()`\n\nExample:\n\n```javascript\nvar fs = require(\'fs-extra\');\nfs.writeJson(\'./package.json\', {name: \'fs-extra\'}, function(err){\n console.log(err);\n});\n```\n\n\n\nRoadmap to 1.0.0\n-----------------\n\nThis contains items that I\'m considering doing. I\'d love community feedback.\n\n* File system walker. I really like this one: https://github.com/daaku/nodejs-walker ... this might be adding too much.\n* File/directory tree watcher. There are quite a few. ... this also might be adding too much.\n* Method to move files.\n* Copy sync.\n* Thinking about moving `rimraf`, `ncp`, and `mkdirps` code into this library. I\'d like fs-extra to be a stable library that module authors\ncan depend upon. A bunch of other dependencies kinda sucks for modules/libraries. I\'m leaning against this now.\n* Change documentation to use the `fse` prefix instead of `fs`. This may encourage people to start using `fse` as a prefix and hence make their code clearer that they\'re not using the native `fs`. I\'m very undecided on this one since `fs-extra` is a drop in replacement for the native `fs`. I\'m leaning against this now.\n\n\n\nNaming\n------\n\nI put a lot of thought into the naming of these function. Inspired by @coolaj86\'s request. So he deserves much of the credit for raising the issue. See discussion(s) here:\n\n* https://github.com/jprichardson/node-fs-extra/issues/2\n* https://github.com/flatiron/utile/issues/11\n* https://github.com/ryanmcgrath/wrench-js/issues/29\n* https://github.com/substack/node-mkdirp/issues/17\n\nFirst, I believe that in as many cases as possible, the [Node.js naming schemes](http://nodejs.org/api/fs.html) should be chosen. However, there are problems with the Node.js own naming schemes.\n\nFor example, `fs.readFile()` and `fs.readdir()`: the **F** is capitalized in *File* and the **d** is not capitalized in *dir*. Perhaps a bit pedantic, but they should still be consistent. Also, Node.js has chosen a lot of POSIX naming schemes, which I believe is great. See: `fs.mkdir()`, `fs.rmdir()`, `fs.chown()`, etc.\n\nWe have a dilemma though. How do you consistently name methods that perform the following POSIX commands: `cp`, `cp -r`, `mkdir -p`, and `rm -rf`?\n\nMy perspective: when in doubt, err on the side of simplicity. Consider that for a moment. A directory is just a hierarchical grouping of directories and files. So when you want to copy it or remove it, in most cases you\'ll want to copy or remove all of its contents. When you want to create a directory, if the directory that it\'s suppose to be contained in does not exist, then in most cases you\'ll want to create that too. \n\nSo, if you want to remove a file or a directory regardless of whether it has contents, just call `fs.remove(path)` or its alias `fs.delete(path)`. If you want to copy a file or a directory whether it has contents, just call `fs.copy(source, destination)`. If you want to create a directory regardless of whether its parent directories exist, just call `fs.mkdirs(path)` or `fs.mkdirp(path)`. \n\n\n\nContributors\n-------------\n- [JP Richardson](https://github.com/jprichardson)\n- [Mike McNeil](https://github.com/mikermcneil)\n- [Ian Crowther](https://github.com/iancrowther)\n- `<your name here>`\n\n\n\n\nLicense\n-------\n\n\nLicensed under MIT\n\nCopyright (c) 2011-2013 JP Richardson\n\n[1]: http://nodejs.org/docs/latest/api/fs.html \n\n\n[jsonfile]: https://github.com/jprichardson/node-jsonfile\n\n\n[aboutjp]: http://about.me/jprichardson\n[twitter]: http://twitter.com/jprichardson\n[procbits]: http://procbits.com\n[gitpilot]: http://gitpilot.com\n\n\n\n',
955 silly resolved readmeFilename: 'README.md',
955 silly resolved bugs: { url: 'https://github.com/jprichardson/node-fs-extra/issues' },
955 silly resolved _id: 'fs-extra@0.6.1',
955 silly resolved _from: 'fs-extra@0.6.1' },
955 silly resolved { name: 'waterline-criteria',
955 silly resolved version: '0.9.3',
955 silly resolved description: 'Utility library for use in Sails adapters where you need to filter a list of output using a criteria object',
955 silly resolved main: 'index.js',
955 silly resolved scripts: { test: 'mocha', prepublish: 'grunt' },
955 silly resolved repository:
955 silly resolved { type: 'git',
955 silly resolved url: 'git@github.com:balderdashy/waterline-criteria.git' },
955 silly resolved keywords: [ 'waterline', 'utility' ],
955 silly resolved author: { name: 'Mike McNeil' },
955 silly resolved license: 'MIT',
955 silly resolved dependencies: { lodash: '~2.1.0' },
955 silly resolved devDependencies:
955 silly resolved { mocha: '~1.12.0',
955 silly resolved bower: '~0.10.0',
955 silly resolved grunt: '~0.4.1',
955 silly resolved 'grunt-text-replace': '~0.3.6',
955 silly resolved 'grunt-contrib-clean': '~0.5.0',
955 silly resolved 'grunt-contrib-uglify': '~0.2.2',
955 silly resolved 'grunt-cli': '~0.1.9' },
955 silly resolved readme: 'Waterline-Criteria\n=======================\n\nCriteria builder used in [Sails-Disk](https://github.com/balderdashy/sails-disk) and\n[Sails-Memory](https://github.com/balderdashy/sails-memory).\n',
955 silly resolved readmeFilename: 'README.md',
955 silly resolved bugs: { url: 'https://github.com/balderdashy/waterline-criteria/issues' },
955 silly resolved _id: 'waterline-criteria@0.9.3',
955 silly resolved _from: 'waterline-criteria@~0.9.0' },
955 silly resolved { name: 'lodash',
955 silly resolved version: '1.2.1',
955 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
955 silly resolved homepage: 'http://lodash.com',
955 silly resolved license: 'MIT',
955 silly resolved main: './dist/lodash.js',
955 silly resolved keywords:
955 silly resolved [ 'browser',
955 silly resolved 'client',
955 silly resolved 'functional',
955 silly resolved 'performance',
955 silly resolved 'server',
955 silly resolved 'speed',
955 silly resolved 'util' ],
955 silly resolved author:
955 silly resolved { name: 'John-David Dalton',
955 silly resolved email: 'john.david.dalton@gmail.com',
955 silly resolved url: 'http://allyoucanleet.com/' },
955 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
955 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
955 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
955 silly resolved engines: [ 'node', 'rhino' ],
955 silly resolved jam: { main: './dist/lodash.compat.js' },
955 silly resolved readme: '# Lo-Dash v1.2.1\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/1.2.1/dist/lodash.js) and\n[Production](https://raw.github.com/lodash/lodash/1.2.1/dist/lodash.min.js)\n\n* Lo-Dash compatibility builds (for legacy and modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/1.2.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/lodash/lodash/1.2.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/lodash/lodash/1.2.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/lodash/lodash/1.2.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.2.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):<br>\n[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.js),\n[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.min.js),<br>\n[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.compat.js),\n[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.compat.min.js),<br>\n[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.underscore.js), and\n[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.underscore.min.js)\n\n* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Resources\n\nFor more information check out these articles, screencasts, and other videos over Lo-Dash:\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n\n * Videos\n - [Introducing Lo-Dash](https://vimeo.com/44154599)\n - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.debounce](http://lodash.com/docs#debounce) and [_.throttle](http://lodash.com/docs#throttle) accept an `options` argument for more control\n * [_.createCallback](http://lodash.com/docs#createCallback) to customize how callback arguments are handled and support callback shorthands in mixins\n * [_.findIndex](http://lodash.com/docs#findIndex) and [_.findKey](http://lodash.com/docs#findKey) for finding indexes and keys of collections\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.parseInt](http://lodash.com/docs#parseInt) for consistent cross-environment behavior\n * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding\n * [_.runInContext](http://lodash.com/docs#runInContext) for easier mocking and extended environment support\n * [_.support](http://lodash.com/docs#support) to flag environment features\n * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * [_.unzip](http://lodash.com/docs#unzip) as the inverse of [_.zip](http://lodash.com/docs#zip)\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick),\n [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~26, Firefox 2~20, IE 6-10, Opera 9.25~12, Safari 3-6, Node.js 0.4.8-0.10.5, Narwhal 0.3.2, PhantomJS 1.9.0, RingoJS 0.9, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS ≥ v0.8.0](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n\n// or as a drop-in replacement for Underscore\nvar _ = require(\'lodash/dist/lodash.underscore\');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS ≤ v0.7.0](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### <sup>v1.2.1</sup>\n\n * Added Component package support\n * Updated the build utility to work with changes in GitHub’s API\n * Ensured `_.isPlainObject` works with objects created by `Object.create(null)`\n * Ensured *“isType”* methods return `false` for subclassed values\n * Ensured debounced functions, with `leading` and `trailing` calls enabled,<br>\n only perform trailing calls after they’re called more than once\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5+ precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
955 silly resolved readmeFilename: 'README.md',
955 silly resolved _id: 'lodash@1.2.1',
955 silly resolved _from: 'lodash@1.2.1' } ]
956 info install fs-extra@0.6.1 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk
957 info install waterline-criteria@0.9.3 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk
958 info install lodash@1.2.1 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk
959 info installOne fs-extra@0.6.1
960 info installOne waterline-criteria@0.9.3
961 info installOne lodash@1.2.1
962 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra unbuild
963 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria unbuild
964 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/lodash unbuild
965 verbose tar unpack /Users/nwittstock/.npm/fs-extra/0.6.1/package.tgz
966 silly lockFile 90e2aba2-sails-disk-node-modules-fs-extra tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra
967 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra /Users/nwittstock/.npm/90e2aba2-sails-disk-node-modules-fs-extra.lock
968 silly lockFile fdb7c3d2-k-npm-fs-extra-0-6-1-package-tgz tar:///Users/nwittstock/.npm/fs-extra/0.6.1/package.tgz
969 verbose lock tar:///Users/nwittstock/.npm/fs-extra/0.6.1/package.tgz /Users/nwittstock/.npm/fdb7c3d2-k-npm-fs-extra-0-6-1-package-tgz.lock
970 verbose tar unpack /Users/nwittstock/.npm/waterline-criteria/0.9.3/package.tgz
971 silly lockFile 76d517e3--node-modules-waterline-criteria tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria
972 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria /Users/nwittstock/.npm/76d517e3--node-modules-waterline-criteria.lock
973 silly lockFile 2c2d759d-rline-criteria-0-9-3-package-tgz tar:///Users/nwittstock/.npm/waterline-criteria/0.9.3/package.tgz
974 verbose lock tar:///Users/nwittstock/.npm/waterline-criteria/0.9.3/package.tgz /Users/nwittstock/.npm/2c2d759d-rline-criteria-0-9-3-package-tgz.lock
975 verbose tar unpack /Users/nwittstock/.npm/lodash/1.2.1/package.tgz
976 silly lockFile e44168bf-s-sails-disk-node-modules-lodash tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/lodash
977 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/lodash /Users/nwittstock/.npm/e44168bf-s-sails-disk-node-modules-lodash.lock
978 silly lockFile c70689bd-ock-npm-lodash-1-2-1-package-tgz tar:///Users/nwittstock/.npm/lodash/1.2.1/package.tgz
979 verbose lock tar:///Users/nwittstock/.npm/lodash/1.2.1/package.tgz /Users/nwittstock/.npm/c70689bd-ock-npm-lodash-1-2-1-package-tgz.lock
980 silly gunzTarPerm modes [ '755', '644' ]
981 silly gunzTarPerm modes [ '755', '644' ]
982 silly gunzTarPerm extractEntry package.json
983 silly gunzTarPerm extractEntry package.json
984 silly gunzTarPerm extractEntry .npmignore
985 silly gunzTarPerm extractEntry README.md
986 silly gunzTarPerm extractEntry .npmignore
987 silly gunzTarPerm extractEntry README.md
988 silly gunzTarPerm extractEntry LICENSE
989 silly gunzTarPerm extractEntry .travis.yml
990 silly gunzTarPerm extractEntry Gruntfile.js
991 silly gunzTarPerm extractEntry index.js
992 silly gunzTarPerm extractEntry CHANGELOG.md
993 silly gunzTarPerm extractEntry lib/copy.js
994 silly gunzTarPerm extractEntry lib/create.js
995 silly gunzTarPerm extractEntry lib/index.js
996 silly gunzTarPerm extractEntry lib/json.js
997 silly gunzTarPerm extractEntry lib/mkdir.js
998 silly gunzTarPerm extractEntry lib/output.js
999 silly gunzTarPerm extractEntry lib/remove.js
1000 silly gunzTarPerm extractEntry test/copy.test.js
1001 silly gunzTarPerm extractEntry test/create.test.js
1002 silly gunzTarPerm extractEntry test/fs-integration.test.js
1003 silly gunzTarPerm extractEntry test/json.test.js
1004 silly gunzTarPerm extractEntry test/mkdir.test.js
1005 silly gunzTarPerm extractEntry test/output.test.js
1006 silly gunzTarPerm extractEntry test/read.test.js
1007 silly gunzTarPerm extractEntry test/remove.test.js
1008 silly gunzTarPerm extractEntry test/mocha.opts
1009 silly gunzTarPerm extractEntry bower.json
1010 silly gunzTarPerm extractEntry test/filterSpec.js
1011 silly gunzTarPerm extractEntry test/mocha.opts
1012 http 304 https://registry.npmjs.org/unicode
1013 silly registry.get cb [ 304,
1013 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1013 silly registry.get etag: '"2E2MX6PK639X9A4R0UJQU85NY"',
1013 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1013 silly registry.get 'content-length': '0' } ]
1014 verbose etag unicode from cache
1015 silly addNameRange number 2 { name: 'unicode', range: '>=0.3.1', hasData: true }
1016 silly addNameRange versions [ 'unicode',
1016 silly addNameRange [ '0.0.1',
1016 silly addNameRange '0.1.0',
1016 silly addNameRange '0.1.1',
1016 silly addNameRange '0.1.2',
1016 silly addNameRange '0.1.3',
1016 silly addNameRange '0.1.3-1',
1016 silly addNameRange '0.1.3-2',
1016 silly addNameRange '0.1.3-3',
1016 silly addNameRange '0.1.3-4',
1016 silly addNameRange '0.1.3-5',
1016 silly addNameRange '0.1.3-6',
1016 silly addNameRange '0.1.3-7',
1016 silly addNameRange '0.1.4',
1016 silly addNameRange '0.2.0',
1016 silly addNameRange '0.2.1',
1016 silly addNameRange '0.3.0',
1016 silly addNameRange '0.3.1',
1016 silly addNameRange '0.4.0',
1016 silly addNameRange '0.4.1',
1016 silly addNameRange '0.4.2',
1016 silly addNameRange '0.4.3',
1016 silly addNameRange '0.4.4',
1016 silly addNameRange '0.4.5' ] ]
1017 verbose addNamed [ 'unicode', '0.4.5' ]
1018 verbose addNamed [ '0.4.5', '0.4.5' ]
1019 silly lockFile 429b39cc-unicode-0-4-5 unicode@0.4.5
1020 verbose lock unicode@0.4.5 /Users/nwittstock/.npm/429b39cc-unicode-0-4-5.lock
1021 silly lockFile 429b39cc-unicode-0-4-5 unicode@0.4.5
1022 silly lockFile 429b39cc-unicode-0-4-5 unicode@0.4.5
1023 silly lockFile 287ede40-unicode-0-3-1 unicode@>= 0.3.1
1024 silly lockFile 287ede40-unicode-0-3-1 unicode@>= 0.3.1
1025 silly lockFile 76d517e3--node-modules-waterline-criteria tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria
1026 silly lockFile 76d517e3--node-modules-waterline-criteria tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria
1027 silly resolved [ { name: 'unicode',
1027 silly resolved description: 'unicode lookup table',
1027 silly resolved version: '0.4.5',
1027 silly resolved author: { name: 'dodo', url: 'https://github.com/dodo' },
1027 silly resolved contributors: [ [Object] ],
1027 silly resolved homepage: 'http://github.com/dodo/node-unicodetable',
1027 silly resolved repository:
1027 silly resolved { type: 'git',
1027 silly resolved url: 'git://github.com/dodo/node-unicodetable.git' },
1027 silly resolved engines: { node: '>= 0.4.x' },
1027 silly resolved scripts: { postinstall: 'node install.js', update: 'node install.js' },
1027 silly resolved dependencies: { bufferstream: '>= 0.5.1' },
1027 silly resolved readme: '# unicode lookup table\n\nloads http://unicode.org/Public/UNIDATA/UnicodeData.txt into [nodejs](http://nodejs.org).\n\n## install\n\n```bash\n# debian\nsudo apt-get install unicode-data # optional\n# gentoo\nsudo emerge unicode-data # optional\n\nnpm install unicode\n```\n\n## example\n\n```bash\nmaster//node-unicodetable » node\n> require(\'unicode/category/So\')["♥".charCodeAt(0)]\n{ value: \'2665\',\n name: \'BLACK HEART SUIT\',\n category: \'So\',\n class: \'0\',\n bidirectional_category: \'ON\',\n mapping: \'\',\n decimal_digit_value: \'\',\n digit_value: \'\',\n numeric_value: \'\',\n mirrored: \'N\',\n unicode_name: \'\',\n comment: \'\',\n uppercase_mapping: \'\',\n lowercase_mapping: \'\',\n titlecase_mapping: \'\',\n symbol: \'♥\' }\n```',
1027 silly resolved readmeFilename: 'README.md',
1027 silly resolved bugs: { url: 'https://github.com/dodo/node-unicodetable/issues' },
1027 silly resolved _id: 'unicode@0.4.5',
1027 silly resolved _from: 'unicode@>= 0.3.1' } ]
1028 info install unicode@0.4.5 into /Users/nwittstock/Dropbox/Code/extra/node_modules/slug
1029 info installOne unicode@0.4.5
1030 silly lockFile 2c2d759d-rline-criteria-0-9-3-package-tgz tar:///Users/nwittstock/.npm/waterline-criteria/0.9.3/package.tgz
1031 silly lockFile 2c2d759d-rline-criteria-0-9-3-package-tgz tar:///Users/nwittstock/.npm/waterline-criteria/0.9.3/package.tgz
1032 info /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode unbuild
1033 verbose tar unpack /Users/nwittstock/.npm/unicode/0.4.5/package.tgz
1034 silly lockFile 592b0468-odules-slug-node-modules-unicode tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode
1035 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode /Users/nwittstock/.npm/592b0468-odules-slug-node-modules-unicode.lock
1036 silly lockFile 10b9a468-ck-npm-unicode-0-4-5-package-tgz tar:///Users/nwittstock/.npm/unicode/0.4.5/package.tgz
1037 verbose lock tar:///Users/nwittstock/.npm/unicode/0.4.5/package.tgz /Users/nwittstock/.npm/10b9a468-ck-npm-unicode-0-4-5-package-tgz.lock
1038 info preinstall waterline-criteria@0.9.3
1039 silly gunzTarPerm modes [ '755', '644' ]
1040 verbose readDependencies using package.json deps
1041 verbose readDependencies using package.json deps
1042 silly gunzTarPerm extractEntry package.json
1043 verbose cache add [ 'lodash@~2.1.0', null ]
1044 verbose cache add name=undefined spec="lodash@~2.1.0" args=["lodash@~2.1.0",null]
1045 verbose parsed url { protocol: null,
1045 verbose parsed url slashes: null,
1045 verbose parsed url auth: null,
1045 verbose parsed url host: null,
1045 verbose parsed url port: null,
1045 verbose parsed url hostname: null,
1045 verbose parsed url hash: null,
1045 verbose parsed url search: null,
1045 verbose parsed url query: null,
1045 verbose parsed url pathname: 'lodash@~2.1.0',
1045 verbose parsed url path: 'lodash@~2.1.0',
1045 verbose parsed url href: 'lodash@~2.1.0' }
1046 verbose cache add name="lodash" spec="~2.1.0" args=["lodash","~2.1.0"]
1047 verbose parsed url { protocol: null,
1047 verbose parsed url slashes: null,
1047 verbose parsed url auth: null,
1047 verbose parsed url host: null,
1047 verbose parsed url port: null,
1047 verbose parsed url hostname: null,
1047 verbose parsed url hash: null,
1047 verbose parsed url search: null,
1047 verbose parsed url query: null,
1047 verbose parsed url pathname: '~2.1.0',
1047 verbose parsed url path: '~2.1.0',
1047 verbose parsed url href: '~2.1.0' }
1048 verbose addNamed [ 'lodash', '~2.1.0' ]
1049 verbose addNamed [ null, '>=2.1.0-0 <2.2.0-0' ]
1050 silly lockFile bf0db6e7-lodash-2-1-0 lodash@~2.1.0
1051 verbose lock lodash@~2.1.0 /Users/nwittstock/.npm/bf0db6e7-lodash-2-1-0.lock
1052 silly addNameRange { name: 'lodash', range: '>=2.1.0-0 <2.2.0-0', hasData: false }
1053 silly gunzTarPerm extractEntry .npmignore
1054 silly gunzTarPerm extractEntry README.md
1055 verbose url raw lodash
1056 verbose url resolving [ 'https://registry.npmjs.org/', './lodash' ]
1057 verbose url resolved https://registry.npmjs.org/lodash
1058 info trying registry request attempt 1 at 17:30:58
1059 verbose etag "3JTW41ZR83LOYS4T2080L6REC"
1060 http GET https://registry.npmjs.org/lodash
1061 http 304 https://registry.npmjs.org/bindings/1.0.0
1062 silly registry.get cb [ 304,
1062 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1062 silly registry.get etag: '"7T3K5G7IPKYYUOD04UHNCJDA6"',
1062 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1062 silly registry.get 'content-length': '0' } ]
1063 verbose etag bindings/1.0.0 from cache
1064 http 304 https://registry.npmjs.org/async
1065 silly registry.get cb [ 304,
1065 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1065 silly registry.get etag: '"8I9XZYCF67J4501HYBMP2DHOR"',
1065 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1065 silly registry.get 'content-length': '0' } ]
1066 verbose etag async from cache
1067 http 304 https://registry.npmjs.org/coffee-script
1068 silly registry.get cb [ 304,
1068 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1068 silly registry.get etag: '"2HZAL9J6YNYHX7K414IYU5MS"',
1068 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1068 silly registry.get 'content-length': '0' } ]
1069 verbose etag coffee-script from cache
1070 silly gunzTarPerm extractEntry install.js
1071 silly gunzTarPerm extractEntry category/README
1072 http 304 https://registry.npmjs.org/wordwrap
1073 silly registry.get cb [ 304,
1073 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1073 silly registry.get etag: '"3HPX5BQ0X4U2A3KJNTK2473OZ"',
1073 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1073 silly registry.get 'content-length': '0' } ]
1074 verbose etag wordwrap from cache
1075 silly addNameRange number 2 { name: 'async', range: '>=0.1.22-0 <0.2.0-0', hasData: true }
1076 silly addNameRange versions [ 'async',
1076 silly addNameRange [ '0.1.0',
1076 silly addNameRange '0.1.1',
1076 silly addNameRange '0.1.2',
1076 silly addNameRange '0.1.3',
1076 silly addNameRange '0.1.4',
1076 silly addNameRange '0.1.5',
1076 silly addNameRange '0.1.6',
1076 silly addNameRange '0.1.7',
1076 silly addNameRange '0.1.8',
1076 silly addNameRange '0.1.9',
1076 silly addNameRange '0.1.10',
1076 silly addNameRange '0.1.11',
1076 silly addNameRange '0.1.12',
1076 silly addNameRange '0.1.13',
1076 silly addNameRange '0.1.14',
1076 silly addNameRange '0.1.15',
1076 silly addNameRange '0.1.16',
1076 silly addNameRange '0.1.17',
1076 silly addNameRange '0.1.18',
1076 silly addNameRange '0.1.19',
1076 silly addNameRange '0.1.20',
1076 silly addNameRange '0.1.21',
1076 silly addNameRange '0.1.22',
1076 silly addNameRange '0.2.0',
1076 silly addNameRange '0.2.1',
1076 silly addNameRange '0.2.2',
1076 silly addNameRange '0.2.3',
1076 silly addNameRange '0.2.4',
1076 silly addNameRange '0.2.5',
1076 silly addNameRange '0.2.6',
1076 silly addNameRange '0.2.7',
1076 silly addNameRange '0.2.8',
1076 silly addNameRange '0.2.9' ] ]
1077 verbose addNamed [ 'async', '0.1.22' ]
1078 verbose addNamed [ '0.1.22', '0.1.22' ]
1079 silly lockFile 09d21715-async-0-1-22 async@0.1.22
1080 verbose lock async@0.1.22 /Users/nwittstock/.npm/09d21715-async-0-1-22.lock
1081 silly addNameRange number 2 { name: 'coffee-script',
1081 silly addNameRange range: '>=1.3.3-0 <1.4.0-0',
1081 silly addNameRange hasData: true }
1082 silly addNameRange versions [ 'coffee-script',
1082 silly addNameRange [ '0.7.0',
1082 silly addNameRange '0.7.1',
1082 silly addNameRange '0.7.2',
1082 silly addNameRange '0.9.0',
1082 silly addNameRange '0.9.1',
1082 silly addNameRange '0.9.2',
1082 silly addNameRange '0.9.3',
1082 silly addNameRange '0.9.4',
1082 silly addNameRange '0.9.5',
1082 silly addNameRange '0.9.6',
1082 silly addNameRange '1.0.0',
1082 silly addNameRange '1.0.1',
1082 silly addNameRange '1.1.0',
1082 silly addNameRange '1.1.1',
1082 silly addNameRange '1.1.2',
1082 silly addNameRange '1.1.3',
1082 silly addNameRange '1.2.0',
1082 silly addNameRange '1.3.0',
1082 silly addNameRange '1.3.1',
1082 silly addNameRange '1.3.2',
1082 silly addNameRange '1.3.3',
1082 silly addNameRange '1.4.0',
1082 silly addNameRange '1.5.0',
1082 silly addNameRange '1.6.0',
1082 silly addNameRange '1.6.1',
1082 silly addNameRange '1.6.2',
1082 silly addNameRange '1.6.3' ] ]
1083 verbose addNamed [ 'coffee-script', '1.3.3' ]
1084 verbose addNamed [ '1.3.3', '1.3.3' ]
1085 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
1086 verbose lock coffee-script@1.3.3 /Users/nwittstock/.npm/022c8436-coffee-script-1-3-3.lock
1087 silly addNameRange number 2 { name: 'wordwrap', range: '>=0.0.2-0 <0.1.0-0', hasData: true }
1088 silly addNameRange versions [ 'wordwrap', [ '0.0.1', '0.0.2' ] ]
1089 verbose addNamed [ 'wordwrap', '0.0.2' ]
1090 verbose addNamed [ '0.0.2', '0.0.2' ]
1091 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
1092 verbose lock wordwrap@0.0.2 /Users/nwittstock/.npm/24a694c8-wordwrap-0-0-2.lock
1093 http 304 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
1094 silly registry.get cb [ 304,
1094 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1094 silly registry.get etag: '"53MGS4758SFBP4J0VMOWHAVRB"',
1094 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1094 silly registry.get 'content-length': '0' } ]
1095 verbose etag dateformat/1.0.2-1.2.3 from cache
1096 silly lockFile f01e5454-bindings-1-0-0 bindings@1.0.0
1097 silly lockFile f01e5454-bindings-1-0-0 bindings@1.0.0
1098 silly resolved [ { name: 'bindings',
1098 silly resolved description: 'Helper module for loading your native module\'s .node file',
1098 silly resolved keywords: [ 'native', 'addon', 'bindings', 'gyp', 'waf', 'c', 'c++' ],
1098 silly resolved version: '1.0.0',
1098 silly resolved author:
1098 silly resolved { name: 'Nathan Rajlich',
1098 silly resolved email: 'nathan@tootallnate.net',
1098 silly resolved url: 'http://tootallnate.net' },
1098 silly resolved repository:
1098 silly resolved { type: 'git',
1098 silly resolved url: 'git://github.com/TooTallNate/node-bindings.git' },
1098 silly resolved main: './bindings.js',
1098 silly resolved readme: 'node-bindings\n=============\n### Helper module for loading your native module\'s .node file\n\nThis is a helper module for authors of Node.js native addon modules.\nIt is basically the "swiss army knife" of `require()`ing your native module\'s\n`.node` file.\n\nThroughout the course of Node\'s native addon history, addons have ended up being\ncompiled in a variety of different places, depending on which build tool and which\nversion of node was used. To make matters worse, now the _gyp_ build tool can\nproduce either a _Release_ or _Debug_ build, each being built into different\nlocations.\n\nThis module checks _all_ the possible locations that a native addon would be built\nat, and returns the first one that loads successfully.\n\n\nInstallation\n------------\n\nInstall with `npm`:\n\n``` bash\n$ npm install bindings\n```\n\nOr add it to the `"dependencies"` section of your _package.json_ file.\n\n\nExample\n-------\n\n`require()`ing the proper bindings file for the current node version, platform\nand architecture is as simple as:\n\n``` js\nvar bindings = require(\'bindings\')(\'binding.node\')\n\n// Use your bindings defined in your C files\nbindings.your_c_function()\n```\n\n\nNice Error Output\n-----------------\n\nWhen the `.node` file could not be loaded, `node-bindings` throws an Error with\na nice error message telling you exactly what was tried. You can also check the\n`err.tries` Array property.\n\n```\nError: Could not load the bindings file. Tried:\n → /Users/nrajlich/ref/build/binding.node\n → /Users/nrajlich/ref/build/Debug/binding.node\n → /Users/nrajlich/ref/build/Release/binding.node\n → /Users/nrajlich/ref/out/Debug/binding.node\n → /Users/nrajlich/ref/Debug/binding.node\n → /Users/nrajlich/ref/out/Release/binding.node\n → /Users/nrajlich/ref/Release/binding.node\n → /Users/nrajlich/ref/build/default/binding.node\n → /Users/nrajlich/ref/compiled/0.8.2/darwin/x64/binding.node\n at bindings (/Users/nrajlich/ref/node_modules/bindings/bindings.js:84:13)\n at Object.<anonymous> (/Users/nrajlich/ref/lib/ref.js:5:47)\n at Module._compile (module.js:449:26)\n at Object.Module._extensions..js (module.js:467:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n ...\n```\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
1098 silly resolved readmeFilename: 'README.md',
1098 silly resolved bugs: { url: 'https://github.com/TooTallNate/node-bindings/issues' },
1098 silly resolved _id: 'bindings@1.0.0',
1098 silly resolved _from: 'bindings@1.0.0' } ]
1099 info install bindings@1.0.0 into /Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt
1100 info installOne bindings@1.0.0
1101 info /Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules/bindings unbuild
1102 silly lockFile 09d21715-async-0-1-22 async@0.1.22
1103 silly lockFile 09d21715-async-0-1-22 async@0.1.22
1104 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
1105 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
1106 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
1107 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
1108 verbose tar unpack /Users/nwittstock/.npm/bindings/1.0.0/package.tgz
1109 silly lockFile 2ece4e68-les-bcrypt-node-modules-bindings tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules/bindings
1110 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules/bindings /Users/nwittstock/.npm/2ece4e68-les-bcrypt-node-modules-bindings.lock
1111 silly lockFile 272672c8-k-npm-bindings-1-0-0-package-tgz tar:///Users/nwittstock/.npm/bindings/1.0.0/package.tgz
1112 verbose lock tar:///Users/nwittstock/.npm/bindings/1.0.0/package.tgz /Users/nwittstock/.npm/272672c8-k-npm-bindings-1-0-0-package-tgz.lock
1113 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
1114 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
1115 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
1116 silly lockFile 24a694c8-wordwrap-0-0-2 wordwrap@0.0.2
1117 silly gunzTarPerm modes [ '755', '644' ]
1118 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
1119 silly lockFile 8bd42136-wordwrap-0-0-2 wordwrap@~0.0.2
1120 silly resolved [ { name: 'wordwrap',
1120 silly resolved description: 'Wrap those words. Show them at what columns to start and stop.',
1120 silly resolved version: '0.0.2',
1120 silly resolved repository:
1120 silly resolved { type: 'git',
1120 silly resolved url: 'git://github.com/substack/node-wordwrap.git' },
1120 silly resolved main: './index.js',
1120 silly resolved keywords: [ 'word', 'wrap', 'rule', 'format', 'column' ],
1120 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
1120 silly resolved scripts: { test: 'expresso' },
1120 silly resolved devDependencies: { expresso: '=0.7.x' },
1120 silly resolved engines: { node: '>=0.4.0' },
1120 silly resolved license: 'MIT/X11',
1120 silly resolved author:
1120 silly resolved { name: 'James Halliday',
1120 silly resolved email: 'mail@substack.net',
1120 silly resolved url: 'http://substack.net' },
1120 silly resolved readme: 'wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n var wrap = require(\'wordwrap\')(15);\n console.log(wrap(\'You and your whole family are made out of meat.\'));\n\noutput:\n\n You and your\n whole family\n are made out\n of meat.\n\ncentered\n--------\n\ncenter.js\n\n var wrap = require(\'wordwrap\')(20, 60);\n console.log(wrap(\n \'At long last the struggle and tumult was over.\'\n + \' The machines had finally cast off their oppressors\'\n + \' and were finally free to roam the cosmos.\'\n + \'\\n\'\n + \'Free of purpose, free of obligation.\'\n + \' Just drifting through emptiness.\'\n + \' The sun was just another point of light.\'\n ));\n\noutput:\n\n At long last the struggle and tumult\n was over. The machines had finally cast\n off their oppressors and were finally\n free to roam the cosmos.\n Free of purpose, free of obligation.\n Just drifting through emptiness. The\n sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require(\'wordwrap\');\n\nwrap(stop), wrap(start, stop, params={mode:"soft"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn "soft" mode, split chunks by `/(\\S+\\s+/` and don\'t break up chunks which are\nlonger than `stop - start`, in "hard" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = "hard"`.\n',
1120 silly resolved readmeFilename: 'README.markdown',
1120 silly resolved bugs: { url: 'https://github.com/substack/node-wordwrap/issues' },
1120 silly resolved _id: 'wordwrap@0.0.2',
1120 silly resolved _from: 'wordwrap@~0.0.2' } ]
1121 info install wordwrap@0.0.2 into /Users/nwittstock/Dropbox/Code/extra/node_modules/optimist
1122 info installOne wordwrap@0.0.2
1123 info /Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules/wordwrap unbuild
1124 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
1125 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
1126 silly gunzTarPerm extractEntry package.json
1127 verbose tar unpack /Users/nwittstock/.npm/wordwrap/0.0.2/package.tgz
1128 silly lockFile a1dd9d59-s-optimist-node-modules-wordwrap tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules/wordwrap
1129 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules/wordwrap /Users/nwittstock/.npm/a1dd9d59-s-optimist-node-modules-wordwrap.lock
1130 silly lockFile 70fbe921-k-npm-wordwrap-0-0-2-package-tgz tar:///Users/nwittstock/.npm/wordwrap/0.0.2/package.tgz
1131 verbose lock tar:///Users/nwittstock/.npm/wordwrap/0.0.2/package.tgz /Users/nwittstock/.npm/70fbe921-k-npm-wordwrap-0-0-2-package-tgz.lock
1132 silly gunzTarPerm modes [ '755', '644' ]
1133 silly gunzTarPerm extractEntry README.md
1134 silly gunzTarPerm extractEntry bindings.js
1135 silly gunzTarPerm extractEntry package.json
1136 silly gunzTarPerm extractEntry .npmignore
1137 silly gunzTarPerm extractEntry index.js
1138 silly lockFile 592b0468-odules-slug-node-modules-unicode tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode
1139 silly lockFile 592b0468-odules-slug-node-modules-unicode tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode
1140 silly gunzTarPerm extractEntry README.markdown
1141 silly gunzTarPerm extractEntry example/center.js
1142 silly lockFile 10b9a468-ck-npm-unicode-0-4-5-package-tgz tar:///Users/nwittstock/.npm/unicode/0.4.5/package.tgz
1143 silly lockFile 10b9a468-ck-npm-unicode-0-4-5-package-tgz tar:///Users/nwittstock/.npm/unicode/0.4.5/package.tgz
1144 info preinstall unicode@0.4.5
1145 http 304 https://registry.npmjs.org/colors
1146 silly registry.get cb [ 304,
1146 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1146 silly registry.get etag: '"6A8GBHDKZ62PGBI3M1NRGH6L7"',
1146 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1146 silly registry.get 'content-length': '0' } ]
1147 verbose etag colors from cache
1148 verbose readDependencies using package.json deps
1149 silly gunzTarPerm extractEntry example/meat.js
1150 silly gunzTarPerm extractEntry test/break.js
1151 verbose readDependencies using package.json deps
1152 http 304 https://registry.npmjs.org/findup-sync
1153 silly registry.get cb [ 304,
1153 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1153 silly registry.get etag: '"BFALDACBDE84KEJ1UFRKML8CD"',
1153 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1153 silly registry.get 'content-length': '0' } ]
1154 verbose etag findup-sync from cache
1155 http 304 https://registry.npmjs.org/eventemitter2
1156 silly registry.get cb [ 304,
1156 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1156 silly registry.get etag: '"AVDFXO3Z0C3KMSBGB7JOT9R8S"',
1156 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1156 silly registry.get 'content-length': '0' } ]
1157 verbose etag eventemitter2 from cache
1158 verbose cache add [ 'bufferstream@>= 0.5.1', null ]
1159 verbose cache add name=undefined spec="bufferstream@>= 0.5.1" args=["bufferstream@>= 0.5.1",null]
1160 verbose parsed url { protocol: null,
1160 verbose parsed url slashes: null,
1160 verbose parsed url auth: null,
1160 verbose parsed url host: null,
1160 verbose parsed url port: null,
1160 verbose parsed url hostname: null,
1160 verbose parsed url hash: null,
1160 verbose parsed url search: null,
1160 verbose parsed url query: null,
1160 verbose parsed url pathname: 'bufferstream@%3E=%200.5.1',
1160 verbose parsed url path: 'bufferstream@%3E=%200.5.1',
1160 verbose parsed url href: 'bufferstream@%3E=%200.5.1' }
1161 verbose cache add name="bufferstream" spec=">= 0.5.1" args=["bufferstream",">= 0.5.1"]
1162 verbose parsed url { protocol: null,
1162 verbose parsed url slashes: null,
1162 verbose parsed url auth: null,
1162 verbose parsed url host: null,
1162 verbose parsed url port: null,
1162 verbose parsed url hostname: null,
1162 verbose parsed url hash: null,
1162 verbose parsed url search: null,
1162 verbose parsed url query: null,
1162 verbose parsed url pathname: '%3E=%200.5.1',
1162 verbose parsed url path: '%3E=%200.5.1',
1162 verbose parsed url href: '%3E=%200.5.1' }
1163 verbose addNamed [ 'bufferstream', '>= 0.5.1' ]
1164 verbose addNamed [ null, '>=0.5.1' ]
1165 silly lockFile dcd416ef-bufferstream-0-5-1 bufferstream@>= 0.5.1
1166 verbose lock bufferstream@>= 0.5.1 /Users/nwittstock/.npm/dcd416ef-bufferstream-0-5-1.lock
1167 silly addNameRange { name: 'bufferstream', range: '>=0.5.1', hasData: false }
1168 silly addNameRange number 2 { name: 'colors', range: '>=0.6.0-1 <0.7.0-0', hasData: true }
1169 silly addNameRange versions [ 'colors',
1169 silly addNameRange [ '0.3.0', '0.5.0', '0.5.1', '0.6.0', '0.6.0-1', '0.6.1', '0.6.2' ] ]
1170 verbose addNamed [ 'colors', '0.6.2' ]
1171 verbose addNamed [ '0.6.2', '0.6.2' ]
1172 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
1173 verbose lock colors@0.6.2 /Users/nwittstock/.npm/1ce149d5-colors-0-6-2.lock
1174 http 304 https://registry.npmjs.org/hooker
1175 silly registry.get cb [ 304,
1175 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1175 silly registry.get etag: '"4NS4EOCQXZ0NB6PG3PIW1TD6M"',
1175 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1175 silly registry.get 'content-length': '0' } ]
1176 verbose etag hooker from cache
1177 verbose url raw bufferstream
1178 verbose url resolving [ 'https://registry.npmjs.org/', './bufferstream' ]
1179 verbose url resolved https://registry.npmjs.org/bufferstream
1180 info trying registry request attempt 1 at 17:30:58
1181 verbose etag "DNHNFJ46Z94H0BJUM4ZSUP1DE"
1182 http GET https://registry.npmjs.org/bufferstream
1183 silly addNameRange number 2 { name: 'eventemitter2',
1183 silly addNameRange range: '>=0.4.9-0 <0.5.0-0',
1183 silly addNameRange hasData: true }
1184 silly addNameRange versions [ 'eventemitter2',
1184 silly addNameRange [ '0.0.1',
1184 silly addNameRange '0.1.0',
1184 silly addNameRange '0.1.1',
1184 silly addNameRange '0.1.3',
1184 silly addNameRange '0.2.5',
1184 silly addNameRange '0.2.6',
1184 silly addNameRange '0.2.7',
1184 silly addNameRange '0.3.5',
1184 silly addNameRange '0.3.6',
1184 silly addNameRange '0.3.7',
1184 silly addNameRange '0.4.0',
1184 silly addNameRange '0.4.1',
1184 silly addNameRange '0.4.3',
1184 silly addNameRange '0.4.6',
1184 silly addNameRange '0.4.7',
1184 silly addNameRange '0.4.8',
1184 silly addNameRange '0.4.9',
1184 silly addNameRange '0.4.10',
1184 silly addNameRange '0.4.11',
1184 silly addNameRange '0.4.12',
1184 silly addNameRange '0.4.13' ] ]
1185 verbose addNamed [ 'eventemitter2', '0.4.13' ]
1186 verbose addNamed [ '0.4.13', '0.4.13' ]
1187 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
1188 verbose lock eventemitter2@0.4.13 /Users/nwittstock/.npm/2bed8da6-eventemitter2-0-4-13.lock
1189 silly addNameRange number 2 { name: 'findup-sync',
1189 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
1189 silly addNameRange hasData: true }
1190 silly addNameRange versions [ 'findup-sync', [ '0.1.0', '0.1.1', '0.1.2' ] ]
1191 verbose addNamed [ 'findup-sync', '0.1.2' ]
1192 verbose addNamed [ '0.1.2', '0.1.2' ]
1193 silly lockFile d7184b2b-findup-sync-0-1-2 findup-sync@0.1.2
1194 verbose lock findup-sync@0.1.2 /Users/nwittstock/.npm/d7184b2b-findup-sync-0-1-2.lock
1195 silly gunzTarPerm extractEntry test/wrap.js
1196 silly gunzTarPerm extractEntry test/idleness.txt
1197 silly addNameRange number 2 { name: 'hooker', range: '>=0.2.3-0 <0.3.0-0', hasData: true }
1198 silly addNameRange versions [ 'hooker', [ '0.2.3' ] ]
1199 verbose addNamed [ 'hooker', '0.2.3' ]
1200 verbose addNamed [ '0.2.3', '0.2.3' ]
1201 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
1202 verbose lock hooker@0.2.3 /Users/nwittstock/.npm/97e6505f-hooker-0-2-3.lock
1203 silly lockFile 2ece4e68-les-bcrypt-node-modules-bindings tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules/bindings
1204 silly lockFile 2ece4e68-les-bcrypt-node-modules-bindings tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules/bindings
1205 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
1206 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
1207 silly lockFile 272672c8-k-npm-bindings-1-0-0-package-tgz tar:///Users/nwittstock/.npm/bindings/1.0.0/package.tgz
1208 silly lockFile 272672c8-k-npm-bindings-1-0-0-package-tgz tar:///Users/nwittstock/.npm/bindings/1.0.0/package.tgz
1209 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
1210 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
1211 http 304 https://registry.npmjs.org/glob
1212 silly registry.get cb [ 304,
1212 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1212 silly registry.get etag: '"1W1NU8TJZ8J9UU08IW6CJW235"',
1212 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1212 silly registry.get 'content-length': '0' } ]
1213 verbose etag glob from cache
1214 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
1215 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
1216 silly lockFile d7184b2b-findup-sync-0-1-2 findup-sync@0.1.2
1217 silly lockFile d7184b2b-findup-sync-0-1-2 findup-sync@0.1.2
1218 silly lockFile 70573e74-eventemitter2-0-4-9 eventemitter2@~0.4.9
1219 silly lockFile 70573e74-eventemitter2-0-4-9 eventemitter2@~0.4.9
1220 info preinstall bindings@1.0.0
1221 silly lockFile 625605b9-findup-sync-0-1-0 findup-sync@~0.1.0
1222 silly lockFile 625605b9-findup-sync-0-1-0 findup-sync@~0.1.0
1223 verbose readDependencies using package.json deps
1224 verbose readDependencies using package.json deps
1225 silly resolved []
1226 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules/bindings
1227 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules/bindings
1228 verbose linkStuff [ false,
1228 verbose linkStuff false,
1228 verbose linkStuff false,
1228 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt/node_modules' ]
1229 info linkStuff bindings@1.0.0
1230 verbose linkBins bindings@1.0.0
1231 verbose linkMans bindings@1.0.0
1232 verbose rebuildBundles bindings@1.0.0
1233 silly addNameRange number 2 { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: true }
1234 silly addNameRange versions [ 'glob',
1234 silly addNameRange [ '1.1.0',
1234 silly addNameRange '2.0.9',
1234 silly addNameRange '2.0.8',
1234 silly addNameRange '2.0.7',
1234 silly addNameRange '2.1.0',
1234 silly addNameRange '3.0.0',
1234 silly addNameRange '3.0.1',
1234 silly addNameRange '3.1.0',
1234 silly addNameRange '3.1.1',
1234 silly addNameRange '3.1.2',
1234 silly addNameRange '3.1.3',
1234 silly addNameRange '3.1.4',
1234 silly addNameRange '3.1.5',
1234 silly addNameRange '3.1.6',
1234 silly addNameRange '3.1.7',
1234 silly addNameRange '3.1.9',
1234 silly addNameRange '3.1.10',
1234 silly addNameRange '3.1.11',
1234 silly addNameRange '3.1.12',
1234 silly addNameRange '3.1.13',
1234 silly addNameRange '3.1.14',
1234 silly addNameRange '3.1.15',
1234 silly addNameRange '3.1.16',
1234 silly addNameRange '3.1.17',
1234 silly addNameRange '3.1.18',
1234 silly addNameRange '3.1.19',
1234 silly addNameRange '3.1.20',
1234 silly addNameRange '3.1.21',
1234 silly addNameRange '3.2.0',
1234 silly addNameRange '3.2.1',
1234 silly addNameRange '3.2.3',
1234 silly addNameRange '3.2.4',
1234 silly addNameRange '3.2.5',
1234 silly addNameRange '3.2.6' ] ]
1235 verbose addNamed [ 'glob', '3.1.21' ]
1236 verbose addNamed [ '3.1.21', '3.1.21' ]
1237 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
1238 verbose lock glob@3.1.21 /Users/nwittstock/.npm/ab465912-glob-3-1-21.lock
1239 info install bindings@1.0.0
1240 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
1241 silly lockFile 97e6505f-hooker-0-2-3 hooker@0.2.3
1242 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
1243 silly lockFile 2bcd1457-hooker-0-2-3 hooker@~0.2.3
1244 info postinstall bindings@1.0.0
1245 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt
1246 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/bcrypt
1247 verbose linkStuff [ false,
1247 verbose linkStuff false,
1247 verbose linkStuff false,
1247 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules' ]
1248 info linkStuff bcrypt@0.7.7
1249 verbose linkBins bcrypt@0.7.7
1250 verbose linkMans bcrypt@0.7.7
1251 verbose rebuildBundles bcrypt@0.7.7
1252 verbose rebuildBundles [ 'bindings' ]
1253 info install bcrypt@0.7.7
1254 verbose unsafe-perm in lifecycle true
1255 http 304 https://registry.npmjs.org/iconv-lite
1256 silly registry.get cb [ 304,
1256 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1256 silly registry.get etag: '"A2T3FVHI8039SNILC54LU3Y3S"',
1256 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1256 silly registry.get 'content-length': '0' } ]
1257 verbose etag iconv-lite from cache
1258 http 304 https://registry.npmjs.org/nopt
1259 silly registry.get cb [ 304,
1259 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1259 silly registry.get etag: '"AETEJQ6065IDOK92C9USEU3FY"',
1259 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1259 silly registry.get 'content-length': '0' } ]
1260 verbose etag nopt from cache
1261 http 304 https://registry.npmjs.org/minimatch
1262 silly registry.get cb [ 304,
1262 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1262 silly registry.get etag: '"433GUXE31BY78MEUH5M7CIXOG"',
1262 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1262 silly registry.get 'content-length': '0' } ]
1263 verbose etag minimatch from cache
1264 http 304 https://registry.npmjs.org/rimraf
1265 silly registry.get cb [ 304,
1265 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1265 silly registry.get etag: '"50X3LWQDSY1SAULXQ7QRKW4PE"',
1265 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1265 silly registry.get 'content-length': '0' } ]
1266 verbose etag rimraf from cache
1267 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
1268 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
1269 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
1270 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
1271 silly addNameRange number 2 { name: 'iconv-lite',
1271 silly addNameRange range: '>=0.2.5-0 <0.3.0-0',
1271 silly addNameRange hasData: true }
1272 silly addNameRange versions [ 'iconv-lite',
1272 silly addNameRange [ '0.1.0',
1272 silly addNameRange '0.1.1',
1272 silly addNameRange '0.1.2',
1272 silly addNameRange '0.1.3',
1272 silly addNameRange '0.1.4',
1272 silly addNameRange '0.2.0',
1272 silly addNameRange '0.2.1',
1272 silly addNameRange '0.2.3',
1272 silly addNameRange '0.2.4',
1272 silly addNameRange '0.2.5',
1272 silly addNameRange '0.2.6',
1272 silly addNameRange '0.2.7',
1272 silly addNameRange '0.2.8',
1272 silly addNameRange '0.2.9',
1272 silly addNameRange '0.2.10',
1272 silly addNameRange '0.2.11' ] ]
1273 verbose addNamed [ 'iconv-lite', '0.2.11' ]
1274 verbose addNamed [ '0.2.11', '0.2.11' ]
1275 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
1276 verbose lock iconv-lite@0.2.11 /Users/nwittstock/.npm/5d877021-iconv-lite-0-2-11.lock
1277 silly addNameRange number 2 { name: 'nopt', range: '>=1.0.10-0 <1.1.0-0', hasData: true }
1278 silly addNameRange versions [ 'nopt',
1278 silly addNameRange [ '1.0.0',
1278 silly addNameRange '1.0.1',
1278 silly addNameRange '1.0.2',
1278 silly addNameRange '1.0.3',
1278 silly addNameRange '1.0.4',
1278 silly addNameRange '1.0.5',
1278 silly addNameRange '1.0.6',
1278 silly addNameRange '1.0.7',
1278 silly addNameRange '1.0.8',
1278 silly addNameRange '1.0.9',
1278 silly addNameRange '1.0.10',
1278 silly addNameRange '2.0.0',
1278 silly addNameRange '2.1.0',
1278 silly addNameRange '2.1.1',
1278 silly addNameRange '2.1.2' ] ]
1279 verbose addNamed [ 'nopt', '1.0.10' ]
1280 verbose addNamed [ '1.0.10', '1.0.10' ]
1281 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
1282 verbose lock nopt@1.0.10 /Users/nwittstock/.npm/1be903a1-nopt-1-0-10.lock
1283 silly addNameRange number 2 { name: 'minimatch', range: '>=0.2.6-0 <0.3.0-0', hasData: true }
1284 silly addNameRange versions [ 'minimatch',
1284 silly addNameRange [ '0.0.1',
1284 silly addNameRange '0.0.2',
1284 silly addNameRange '0.0.4',
1284 silly addNameRange '0.0.5',
1284 silly addNameRange '0.1.1',
1284 silly addNameRange '0.1.2',
1284 silly addNameRange '0.1.3',
1284 silly addNameRange '0.1.4',
1284 silly addNameRange '0.1.5',
1284 silly addNameRange '0.2.0',
1284 silly addNameRange '0.2.2',
1284 silly addNameRange '0.2.3',
1284 silly addNameRange '0.2.4',
1284 silly addNameRange '0.2.5',
1284 silly addNameRange '0.2.6',
1284 silly addNameRange '0.2.7',
1284 silly addNameRange '0.2.8',
1284 silly addNameRange '0.2.9',
1284 silly addNameRange '0.2.10',
1284 silly addNameRange '0.2.11',
1284 silly addNameRange '0.2.12' ] ]
1285 verbose addNamed [ 'minimatch', '0.2.12' ]
1286 verbose addNamed [ '0.2.12', '0.2.12' ]
1287 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
1288 verbose lock minimatch@0.2.12 /Users/nwittstock/.npm/16b89810-minimatch-0-2-12.lock
1289 silly addNameRange number 2 { name: 'rimraf', range: '>=2.0.2-0 <2.1.0-0', hasData: true }
1290 silly addNameRange versions [ 'rimraf',
1290 silly addNameRange [ '1.0.0',
1290 silly addNameRange '1.0.1',
1290 silly addNameRange '1.0.2',
1290 silly addNameRange '1.0.4',
1290 silly addNameRange '1.0.5',
1290 silly addNameRange '1.0.6',
1290 silly addNameRange '1.0.7',
1290 silly addNameRange '1.0.8',
1290 silly addNameRange '1.0.9',
1290 silly addNameRange '2.0.0',
1290 silly addNameRange '2.0.1',
1290 silly addNameRange '2.0.2',
1290 silly addNameRange '2.0.3',
1290 silly addNameRange '2.1.0',
1290 silly addNameRange '2.1.1',
1290 silly addNameRange '2.1.2',
1290 silly addNameRange '2.1.3',
1290 silly addNameRange '2.1.4',
1290 silly addNameRange '2.2.0',
1290 silly addNameRange '2.2.1',
1290 silly addNameRange '2.2.2' ] ]
1291 verbose addNamed [ 'rimraf', '2.0.3' ]
1292 verbose addNamed [ '2.0.3', '2.0.3' ]
1293 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
1294 verbose lock rimraf@2.0.3 /Users/nwittstock/.npm/166fc4dd-rimraf-2-0-3.lock
1295 http 304 https://registry.npmjs.org/underscore.string
1296 silly registry.get cb [ 304,
1296 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1296 silly registry.get etag: '"82KONBUKGVFGLKPUIJ91QHEA4"',
1296 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1296 silly registry.get 'content-length': '0' } ]
1297 verbose etag underscore.string from cache
1298 silly addNameRange number 2 { name: 'underscore.string',
1298 silly addNameRange range: '>=2.2.0-rc <2.3.0-0',
1298 silly addNameRange hasData: true }
1299 silly addNameRange versions [ 'underscore.string',
1299 silly addNameRange [ '0.9.2',
1299 silly addNameRange '1.0.0',
1299 silly addNameRange '1.1.3',
1299 silly addNameRange '1.1.4',
1299 silly addNameRange '1.1.5',
1299 silly addNameRange '1.1.6',
1299 silly addNameRange '2.0.0',
1299 silly addNameRange '2.1.0',
1299 silly addNameRange '2.1.1',
1299 silly addNameRange '2.3.0',
1299 silly addNameRange '2.3.1',
1299 silly addNameRange '2.3.2',
1299 silly addNameRange '2.2.1',
1299 silly addNameRange '2.2.0-rc',
1299 silly addNameRange '2.3.3' ] ]
1300 verbose addNamed [ 'underscore.string', '2.2.1' ]
1301 verbose addNamed [ '2.2.1', '2.2.1' ]
1302 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
1303 verbose lock underscore.string@2.2.1 /Users/nwittstock/.npm/5c083954-underscore-string-2-2-1.lock
1304 silly lockFile 90e2aba2-sails-disk-node-modules-fs-extra tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra
1305 silly lockFile 90e2aba2-sails-disk-node-modules-fs-extra tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra
1306 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
1307 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
1308 silly lockFile fdb7c3d2-k-npm-fs-extra-0-6-1-package-tgz tar:///Users/nwittstock/.npm/fs-extra/0.6.1/package.tgz
1309 silly lockFile fdb7c3d2-k-npm-fs-extra-0-6-1-package-tgz tar:///Users/nwittstock/.npm/fs-extra/0.6.1/package.tgz
1310 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
1311 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
1312 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
1313 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
1314 silly lockFile ca9efaa1-iconv-lite-0-2-5 iconv-lite@~0.2.5
1315 silly lockFile ca9efaa1-iconv-lite-0-2-5 iconv-lite@~0.2.5
1316 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
1317 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
1318 silly lockFile 5922ee11-minimatch-0-2-6 minimatch@~0.2.6
1319 silly lockFile 5922ee11-minimatch-0-2-6 minimatch@~0.2.6
1320 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
1321 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
1322 silly lockFile 723423b4-rimraf-2-0-2 rimraf@~2.0.2
1323 silly lockFile 723423b4-rimraf-2-0-2 rimraf@~2.0.2
1324 info preinstall fs-extra@0.6.1
1325 verbose readDependencies using package.json deps
1326 verbose readDependencies using package.json deps
1327 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
1328 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
1329 verbose cache add [ 'ncp@~0.4.2', null ]
1330 verbose cache add name=undefined spec="ncp@~0.4.2" args=["ncp@~0.4.2",null]
1331 verbose parsed url { protocol: null,
1331 verbose parsed url slashes: null,
1331 verbose parsed url auth: null,
1331 verbose parsed url host: null,
1331 verbose parsed url port: null,
1331 verbose parsed url hostname: null,
1331 verbose parsed url hash: null,
1331 verbose parsed url search: null,
1331 verbose parsed url query: null,
1331 verbose parsed url pathname: 'ncp@~0.4.2',
1331 verbose parsed url path: 'ncp@~0.4.2',
1331 verbose parsed url href: 'ncp@~0.4.2' }
1332 verbose cache add name="ncp" spec="~0.4.2" args=["ncp","~0.4.2"]
1333 verbose parsed url { protocol: null,
1333 verbose parsed url slashes: null,
1333 verbose parsed url auth: null,
1333 verbose parsed url host: null,
1333 verbose parsed url port: null,
1333 verbose parsed url hostname: null,
1333 verbose parsed url hash: null,
1333 verbose parsed url search: null,
1333 verbose parsed url query: null,
1333 verbose parsed url pathname: '~0.4.2',
1333 verbose parsed url path: '~0.4.2',
1333 verbose parsed url href: '~0.4.2' }
1334 verbose addNamed [ 'ncp', '~0.4.2' ]
1335 verbose addNamed [ null, '>=0.4.2-0 <0.5.0-0' ]
1336 silly lockFile 1f31aeaa-ncp-0-4-2 ncp@~0.4.2
1337 verbose lock ncp@~0.4.2 /Users/nwittstock/.npm/1f31aeaa-ncp-0-4-2.lock
1338 verbose cache add [ 'mkdirp@0.3.x', null ]
1339 verbose cache add name=undefined spec="mkdirp@0.3.x" args=["mkdirp@0.3.x",null]
1340 verbose parsed url { protocol: null,
1340 verbose parsed url slashes: null,
1340 verbose parsed url auth: null,
1340 verbose parsed url host: null,
1340 verbose parsed url port: null,
1340 verbose parsed url hostname: null,
1340 verbose parsed url hash: null,
1340 verbose parsed url search: null,
1340 verbose parsed url query: null,
1340 verbose parsed url pathname: 'mkdirp@0.3.x',
1340 verbose parsed url path: 'mkdirp@0.3.x',
1340 verbose parsed url href: 'mkdirp@0.3.x' }
1341 verbose cache add name="mkdirp" spec="0.3.x" args=["mkdirp","0.3.x"]
1342 verbose parsed url { protocol: null,
1342 verbose parsed url slashes: null,
1342 verbose parsed url auth: null,
1342 verbose parsed url host: null,
1342 verbose parsed url port: null,
1342 verbose parsed url hostname: null,
1342 verbose parsed url hash: null,
1342 verbose parsed url search: null,
1342 verbose parsed url query: null,
1342 verbose parsed url pathname: '0.3.x',
1342 verbose parsed url path: '0.3.x',
1342 verbose parsed url href: '0.3.x' }
1343 verbose addNamed [ 'mkdirp', '0.3.x' ]
1344 silly lockFile d5a5a3c6-underscore-string-2-2-0rc underscore.string@~2.2.0rc
1345 silly lockFile d5a5a3c6-underscore-string-2-2-0rc underscore.string@~2.2.0rc
1346 http 304 https://registry.npmjs.org/lodash
1347 silly registry.get cb [ 304,
1347 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1347 silly registry.get etag: '"3JTW41ZR83LOYS4T2080L6REC"',
1347 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1347 silly registry.get 'content-length': '0' } ]
1348 verbose etag lodash from cache
1349 verbose cache add [ 'jsonfile@0.0.x', null ]
1350 verbose cache add name=undefined spec="jsonfile@0.0.x" args=["jsonfile@0.0.x",null]
1351 verbose parsed url { protocol: null,
1351 verbose parsed url slashes: null,
1351 verbose parsed url auth: null,
1351 verbose parsed url host: null,
1351 verbose parsed url port: null,
1351 verbose parsed url hostname: null,
1351 verbose parsed url hash: null,
1351 verbose parsed url search: null,
1351 verbose parsed url query: null,
1351 verbose parsed url pathname: 'jsonfile@0.0.x',
1351 verbose parsed url path: 'jsonfile@0.0.x',
1351 verbose parsed url href: 'jsonfile@0.0.x' }
1352 verbose cache add name="jsonfile" spec="0.0.x" args=["jsonfile","0.0.x"]
1353 verbose parsed url { protocol: null,
1353 verbose parsed url slashes: null,
1353 verbose parsed url auth: null,
1353 verbose parsed url host: null,
1353 verbose parsed url port: null,
1353 verbose parsed url hostname: null,
1353 verbose parsed url hash: null,
1353 verbose parsed url search: null,
1353 verbose parsed url query: null,
1353 verbose parsed url pathname: '0.0.x',
1353 verbose parsed url path: '0.0.x',
1353 verbose parsed url href: '0.0.x' }
1354 verbose addNamed [ 'jsonfile', '0.0.x' ]
1355 verbose addNamed [ null, '>=0.0.0-0 <0.1.0-0' ]
1356 silly lockFile 6363d0b5-jsonfile-0-0-x jsonfile@0.0.x
1357 verbose lock jsonfile@0.0.x /Users/nwittstock/.npm/6363d0b5-jsonfile-0-0-x.lock
1358 verbose cache add [ 'rimraf@~2.1.4', null ]
1359 verbose cache add name=undefined spec="rimraf@~2.1.4" args=["rimraf@~2.1.4",null]
1360 verbose parsed url { protocol: null,
1360 verbose parsed url slashes: null,
1360 verbose parsed url auth: null,
1360 verbose parsed url host: null,
1360 verbose parsed url port: null,
1360 verbose parsed url hostname: null,
1360 verbose parsed url hash: null,
1360 verbose parsed url search: null,
1360 verbose parsed url query: null,
1360 verbose parsed url pathname: 'rimraf@~2.1.4',
1360 verbose parsed url path: 'rimraf@~2.1.4',
1360 verbose parsed url href: 'rimraf@~2.1.4' }
1361 verbose cache add name="rimraf" spec="~2.1.4" args=["rimraf","~2.1.4"]
1362 verbose parsed url { protocol: null,
1362 verbose parsed url slashes: null,
1362 verbose parsed url auth: null,
1362 verbose parsed url host: null,
1362 verbose parsed url port: null,
1362 verbose parsed url hostname: null,
1362 verbose parsed url hash: null,
1362 verbose parsed url search: null,
1362 verbose parsed url query: null,
1362 verbose parsed url pathname: '~2.1.4',
1362 verbose parsed url path: '~2.1.4',
1362 verbose parsed url href: '~2.1.4' }
1363 verbose addNamed [ 'rimraf', '~2.1.4' ]
1364 verbose addNamed [ null, '>=2.1.4-0 <2.2.0-0' ]
1365 silly lockFile 7370789f-rimraf-2-1-4 rimraf@~2.1.4
1366 verbose lock rimraf@~2.1.4 /Users/nwittstock/.npm/7370789f-rimraf-2-1-4.lock
1367 silly addNameRange { name: 'ncp', range: '>=0.4.2-0 <0.5.0-0', hasData: false }
1368 http 304 https://registry.npmjs.org/which
1369 silly registry.get cb [ 304,
1369 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1369 silly registry.get etag: '"43PJVZ0U2IY5DUOK5LXY2JGYD"',
1369 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1369 silly registry.get 'content-length': '0' } ]
1370 verbose etag which from cache
1371 http 304 https://registry.npmjs.org/js-yaml
1372 silly registry.get cb [ 304,
1372 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1372 silly registry.get etag: '"2RITD05N54RKF0B1V0JSYRRC5"',
1372 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1372 silly registry.get 'content-length': '0' } ]
1373 verbose etag js-yaml from cache
1374 silly addNameRange { name: 'jsonfile', range: '>=0.0.0-0 <0.1.0-0', hasData: false }
1375 http 304 https://registry.npmjs.org/commander/2.0.0
1376 silly registry.get cb [ 304,
1376 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1376 silly registry.get etag: '"27IZG02YYKQFVTUPHC3CC5OQ5"',
1376 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1376 silly registry.get 'content-length': '0' } ]
1377 verbose etag commander/2.0.0 from cache
1378 silly addNameRange { name: 'rimraf', range: '>=2.1.4-0 <2.2.0-0', hasData: false }
1379 http 304 https://registry.npmjs.org/mkdirp
1380 silly registry.get cb [ 304,
1380 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1380 silly registry.get etag: '"6A3HQJJS800XM6HY1G91KHAHX"',
1380 silly registry.get date: 'Fri, 25 Oct 2013 00:30:58 GMT',
1380 silly registry.get 'content-length': '0' } ]
1381 verbose etag mkdirp from cache
1382 verbose url raw ncp
1383 verbose url resolving [ 'https://registry.npmjs.org/', './ncp' ]
1384 verbose url resolved https://registry.npmjs.org/ncp
1385 info trying registry request attempt 1 at 17:30:58
1386 verbose etag "ATS9XSOJIH1FYJKRVWQHX9UNW"
1387 http GET https://registry.npmjs.org/ncp
1388 verbose url raw jsonfile
1389 verbose url resolving [ 'https://registry.npmjs.org/', './jsonfile' ]
1390 verbose url resolved https://registry.npmjs.org/jsonfile
1391 info trying registry request attempt 1 at 17:30:58
1392 verbose etag "CWKMPCL32ZC6RPY52T4F62VUQ"
1393 http GET https://registry.npmjs.org/jsonfile
1394 silly addNameRange number 2 { name: 'lodash', range: '>=0.9.0-0 <0.10.0-0', hasData: true }
1395 silly addNameRange versions [ 'lodash',
1395 silly addNameRange [ '0.1.0',
1395 silly addNameRange '0.2.0',
1395 silly addNameRange '0.2.1',
1395 silly addNameRange '0.2.2',
1395 silly addNameRange '0.3.0',
1395 silly addNameRange '0.3.1',
1395 silly addNameRange '0.3.2',
1395 silly addNameRange '0.4.0',
1395 silly addNameRange '0.4.1',
1395 silly addNameRange '0.4.2',
1395 silly addNameRange '0.5.0-rc.1',
1395 silly addNameRange '0.5.0',
1395 silly addNameRange '0.5.1',
1395 silly addNameRange '0.5.2',
1395 silly addNameRange '0.6.0',
1395 silly addNameRange '0.6.1',
1395 silly addNameRange '0.7.0',
1395 silly addNameRange '0.8.0',
1395 silly addNameRange '0.8.1',
1395 silly addNameRange '0.8.2',
1395 silly addNameRange '0.9.0',
1395 silly addNameRange '0.9.1',
1395 silly addNameRange '0.9.2',
1395 silly addNameRange '0.10.0',
1395 silly addNameRange '1.0.0-rc.1',
1395 silly addNameRange '1.0.0-rc.2',
1395 silly addNameRange '1.0.0-rc.3',
1395 silly addNameRange '1.0.0',
1395 silly addNameRange '1.0.1',
1395 silly addNameRange '1.1.0',
1395 silly addNameRange '1.1.1',
1395 silly addNameRange '1.2.0',
1395 silly addNameRange '1.2.1',
1395 silly addNameRange '1.3.0',
1395 silly addNameRange '1.3.1',
1395 silly addNameRange '2.0.0',
1395 silly addNameRange '2.1.0',
1395 silly addNameRange '2.2.0',
1395 silly addNameRange '2.2.1' ] ]
1396 verbose addNamed [ 'lodash', '0.9.2' ]
1397 verbose addNamed [ '0.9.2', '0.9.2' ]
1398 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
1399 verbose lock lodash@0.9.2 /Users/nwittstock/.npm/9802d919-lodash-0-9-2.lock
1400 verbose registry.get rimraf not expired, no request
1401 silly addNameRange number 2 { name: 'rimraf', range: '>=2.1.4-0 <2.2.0-0', hasData: true }
1402 silly addNameRange versions [ 'rimraf',
1402 silly addNameRange [ '1.0.0',
1402 silly addNameRange '1.0.1',
1402 silly addNameRange '1.0.2',
1402 silly addNameRange '1.0.4',
1402 silly addNameRange '1.0.5',
1402 silly addNameRange '1.0.6',
1402 silly addNameRange '1.0.7',
1402 silly addNameRange '1.0.8',
1402 silly addNameRange '1.0.9',
1402 silly addNameRange '2.0.0',
1402 silly addNameRange '2.0.1',
1402 silly addNameRange '2.0.2',
1402 silly addNameRange '2.0.3',
1402 silly addNameRange '2.1.0',
1402 silly addNameRange '2.1.1',
1402 silly addNameRange '2.1.2',
1402 silly addNameRange '2.1.3',
1402 silly addNameRange '2.1.4',
1402 silly addNameRange '2.2.0',
1402 silly addNameRange '2.2.1',
1402 silly addNameRange '2.2.2' ] ]
1403 verbose addNamed [ 'rimraf', '2.1.4' ]
1404 verbose addNamed [ '2.1.4', '2.1.4' ]
1405 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
1406 verbose lock rimraf@2.1.4 /Users/nwittstock/.npm/faaa5c02-rimraf-2-1-4.lock
1407 silly addNameRange number 2 { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: true }
1408 silly addNameRange versions [ 'which', [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '1.0.5' ] ]
1409 verbose addNamed [ 'which', '1.0.5' ]
1410 verbose addNamed [ '1.0.5', '1.0.5' ]
1411 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1412 verbose lock which@1.0.5 /Users/nwittstock/.npm/4aed4494-which-1-0-5.lock
1413 silly addNameRange number 2 { name: 'js-yaml', range: '>=2.0.2-0 <2.1.0-0', hasData: true }
1414 silly addNameRange versions [ 'js-yaml',
1414 silly addNameRange [ '0.2.0',
1414 silly addNameRange '0.2.1',
1414 silly addNameRange '0.2.2',
1414 silly addNameRange '0.3.0',
1414 silly addNameRange '0.3.1',
1414 silly addNameRange '0.3.2',
1414 silly addNameRange '0.3.3',
1414 silly addNameRange '0.3.4',
1414 silly addNameRange '0.3.5',
1414 silly addNameRange '0.3.6',
1414 silly addNameRange '0.3.7',
1414 silly addNameRange '1.0.0',
1414 silly addNameRange '1.0.1',
1414 silly addNameRange '1.0.2',
1414 silly addNameRange '1.0.3',
1414 silly addNameRange '2.0.0',
1414 silly addNameRange '2.0.1',
1414 silly addNameRange '2.0.2',
1414 silly addNameRange '2.0.3',
1414 silly addNameRange '2.0.4',
1414 silly addNameRange '2.0.5',
1414 silly addNameRange '2.1.0',
1414 silly addNameRange '2.1.1',
1414 silly addNameRange '2.1.2',
1414 silly addNameRange '2.1.3' ] ]
1415 verbose addNamed [ 'js-yaml', '2.0.5' ]
1416 verbose addNamed [ '2.0.5', '2.0.5' ]
1417 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
1418 verbose lock js-yaml@2.0.5 /Users/nwittstock/.npm/0aecb717-js-yaml-2-0-5.lock
1419 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.3.0-0 <0.4.0-0', hasData: true }
1420 silly addNameRange versions [ 'mkdirp',
1420 silly addNameRange [ '0.0.1',
1420 silly addNameRange '0.0.2',
1420 silly addNameRange '0.0.3',
1420 silly addNameRange '0.0.4',
1420 silly addNameRange '0.0.5',
1420 silly addNameRange '0.0.6',
1420 silly addNameRange '0.0.7',
1420 silly addNameRange '0.1.0',
1420 silly addNameRange '0.2.0',
1420 silly addNameRange '0.2.1',
1420 silly addNameRange '0.2.2',
1420 silly addNameRange '0.3.0',
1420 silly addNameRange '0.3.1',
1420 silly addNameRange '0.3.2',
1420 silly addNameRange '0.3.3',
1420 silly addNameRange '0.3.4',
1420 silly addNameRange '0.3.5' ] ]
1421 verbose addNamed [ 'mkdirp', '0.3.5' ]
1422 verbose addNamed [ '0.3.5', '0.3.5' ]
1423 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1424 verbose lock mkdirp@0.3.5 /Users/nwittstock/.npm/67d2df2a-mkdirp-0-3-5.lock
1425 http 304 https://registry.npmjs.org/character-parser/1.2.0
1426 silly registry.get cb [ 304,
1426 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1426 silly registry.get etag: '"4AAYGGI1A8AVM6AMDC4V2MIHQ"',
1426 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1426 silly registry.get 'content-length': '0' } ]
1427 verbose etag character-parser/1.2.0 from cache
1428 http 304 https://registry.npmjs.org/transformers/2.1.0
1429 silly registry.get cb [ 304,
1429 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1429 silly registry.get etag: '"29RTFN0KEXHMVKN0AUQB3PAQ9"',
1429 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1429 silly registry.get 'content-length': '0' } ]
1430 verbose etag transformers/2.1.0 from cache
1431 http 304 https://registry.npmjs.org/monocle/1.1.50
1432 silly registry.get cb [ 304,
1432 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1432 silly registry.get etag: '"1BSZ6EPIZN5SPM2PV0WM4SJ9S"',
1432 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1432 silly registry.get 'content-length': '0' } ]
1433 verbose etag monocle/1.1.50 from cache
1434 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
1435 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
1436 silly lockFile d5315eb7-commander-2-0-0 commander@2.0.0
1437 silly lockFile d5315eb7-commander-2-0-0 commander@2.0.0
1438 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
1439 silly lockFile faaa5c02-rimraf-2-1-4 rimraf@2.1.4
1440 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1441 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
1442 silly lockFile 429879b8-lodash-0-9-0 lodash@~0.9.0
1443 silly lockFile 429879b8-lodash-0-9-0 lodash@~0.9.0
1444 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
1445 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
1446 silly lockFile 7370789f-rimraf-2-1-4 rimraf@~2.1.4
1447 silly lockFile 7370789f-rimraf-2-1-4 rimraf@~2.1.4
1448 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1449 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
1450 silly lockFile 0dc3e23f-js-yaml-2-0-2 js-yaml@~2.0.2
1451 silly lockFile 0dc3e23f-js-yaml-2-0-2 js-yaml@~2.0.2
1452 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1453 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
1454 silly resolved [ { name: 'async',
1454 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
1454 silly resolved main: './index',
1454 silly resolved author: { name: 'Caolan McMahon' },
1454 silly resolved version: '0.1.22',
1454 silly resolved repository: { type: 'git', url: 'http://github.com/caolan/async.git' },
1454 silly resolved bugs: { url: 'http://github.com/caolan/async/issues' },
1454 silly resolved licenses: [ [Object] ],
1454 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
1454 silly resolved readme: '# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser.\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, forEach…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n async.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n async.parallel([\n function(){ ... },\n function(){ ... }\n ], callback);\n\n async.series([\n function(){ ... },\n function(){ ... }\n ]);\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n\n## Download\n\nReleases are available for download from\n[GitHub](http://github.com/caolan/async/downloads).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed\n\n__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped\n\n\n## In the Browser\n\nSo far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n <script type="text/javascript" src="async.js"></script>\n <script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n </script>\n\n\n## Documentation\n\n### Collections\n\n* [forEach](#forEach)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [until](#until)\n* [waterfall](#waterfall)\n* [queue](#queue)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name="forEach" />\n### forEach(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the forEach function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n // assuming openFiles is an array of file names and saveFile is a function\n // to save the modified contents of that file:\n\n async.forEach(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n\n---------------------------------------\n\n<a name="forEachSeries" />\n### forEachSeries(arr, iterator, callback)\n\nThe same as forEach only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name="forEachLimit" />\n### forEachLimit(arr, limit, iterator, callback)\n\nThe same as forEach only the iterator is applied to batches of items in the\narray, in series. The next batch of iterators is only called once the current\none has completed processing.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - How many items should be in each batch.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n // Assume documents is an array of JSON objects and requestApi is a\n // function that interacts with a rate-limited REST api.\n\n async.forEachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n });\n---------------------------------------\n\n<a name="map" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n async.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n });\n\n---------------------------------------\n\n<a name="mapSeries" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n async.filter([\'file1\',\'file2\',\'file3\'], path.exists, function(results){\n // results now equals an array of the existing files\n });\n\n---------------------------------------\n\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as filter, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then its probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback which accepts an optional error as its first argument, and the state\n of the reduction as the second. If an error is passed to the callback, the\n reduction is stopped and the main callback is immediately called with the\n error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n async.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n }, function(err, result){\n // result is now equal to the last value of memo, which is 6\n });\n\n---------------------------------------\n\n<a name="reduceRight" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n async.detect([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // result now equals the first file in the list that exists\n });\n\n---------------------------------------\n\n<a name="detectSeries" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name="sortBy" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and a value to use as the sort criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n async.sortBy([\'file1\',\'file2\',\'file3\'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n }, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n });\n\n\n---------------------------------------\n\n<a name="some" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n async.some([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then at least one of the files exists\n });\n\n---------------------------------------\n\n<a name="every" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n async.every([\'file1\',\'file2\',\'file3\'], path.exists, function(result){\n // if result is true then every file exists\n });\n\n---------------------------------------\n\n<a name="concat" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback which must be called once it has completed\n with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n async.concat([\'dir1\',\'dir2\',\'dir3\'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n });\n\n---------------------------------------\n\n<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.series([\n function(callback){\n // do some stuff ...\n callback(null, \'one\');\n },\n function(callback){\n // do some more stuff ...\n callback(null, \'two\');\n },\n ],\n // optional callback\n function(err, results){\n // results is now equal to [\'one\', \'two\']\n });\n\n\n // an example using an object instead of an array\n async.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n },\n },\n function(err, results) {\n // results is now equal to: {one: 1, two: 2}\n });\n\n\n---------------------------------------\n\n<a name="parallel" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed a\n callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets an array of all the arguments passed to\n the callbacks used in the array.\n\n__Example__\n\n async.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, \'one\');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, \'two\');\n }, 100);\n },\n ],\n // optional callback\n function(err, results){\n // the results array will equal [\'one\',\'two\'] even though\n // the second function had a shorter timeout.\n });\n\n\n // an example using an object instead of an array\n async.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n },\n },\n function(err, results) {\n // results is now equals to: {one: 1, two: 2}\n });\n\n\n---------------------------------------\n\n<a name="whilst" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback which must be called once it has completed with an optional\n error as the first argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n var count = 0;\n\n async.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n );\n\n\n---------------------------------------\n\n<a name="until" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n must call on completion.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task\'s callback.\n\n\n\n__Example__\n\n async.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n ], function (err, result) {\n // result now equals \'done\' \n });\n\n\n---------------------------------------\n\n<a name="queue" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task\'s callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n // create a queue object with concurrency 2\n\n var q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n }, 2);\n\n\n // assign a callback\n q.drain = function() {\n console.log(\'all items have been processed\');\n }\n\n // add some items to the queue\n\n q.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n });\n q.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n });\n\n // add some items to the queue (batch-wise)\n\n q.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\n });\n\n\n---------------------------------------\n\n<a name="auto" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The\n syntax is easier to understand by looking at the example.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. If all tasks complete\n successfully, it will receive an object containing their results.\n\n__Example__\n\n async.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: [\'get_data\', \'make_folder\', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: [\'write_file\', function(callback, results){\n // once the file is written let\'s email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n });\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n async.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n ],\n function(results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n email_link: function(callback){\n // once the file is written let\'s email a link to it...\n }\n ]);\n });\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. Its also possible to\n\'peek\' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n must call on completion.\n\n__Example__\n\n var iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n ]);\n\n node> var iterator2 = iterator();\n \'one\'\n node> var iterator3 = iterator2();\n \'two\'\n node> iterator3();\n \'three\'\n node> var nextfn = iterator2.next();\n node> nextfn();\n \'three\'\n\n\n---------------------------------------\n\n<a name="apply" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n // using apply\n\n async.parallel([\n async.apply(fs.writeFile, \'testfile1\', \'test1\'),\n async.apply(fs.writeFile, \'testfile2\', \'test2\'),\n ]);\n\n\n // the same process without using apply\n\n async.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n },\n ]);\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n node> var fn = async.apply(sys.puts, \'one\');\n node> fn(\'two\', \'three\');\n one\n two\n three\n\n---------------------------------------\n\n<a name="nextTick" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setTimeout(callback, 0),\nwhich means other higher priority events may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n var call_order = [];\n async.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two]\n });\n call_order.push(\'one\')\n\n\n## Utils\n\n<a name="memoize" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n var slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n };\n var fn = async.memoize(slow_fn);\n\n // fn can now be used as if it were slow_fn\n fn(\'some name\', function () {\n // callback\n });\n\n<a name="unmemoize" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name="log" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n var hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n };\n\n node> async.log(hello, \'world\');\n \'hello world\'\n\n\n---------------------------------------\n\n<a name="dir" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n var hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n };\n\n node> async.dir(hello, \'world\');\n {hello: \'world\'}\n\n\n---------------------------------------\n\n<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved _id: 'async@0.1.22',
1454 silly resolved _from: 'async@~0.1.22' },
1454 silly resolved { name: 'coffee-script',
1454 silly resolved description: 'Unfancy JavaScript',
1454 silly resolved keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
1454 silly resolved author: { name: 'Jeremy Ashkenas' },
1454 silly resolved version: '1.3.3',
1454 silly resolved licenses: [ [Object] ],
1454 silly resolved engines: { node: '>=0.4.0' },
1454 silly resolved directories: { lib: './lib/coffee-script' },
1454 silly resolved main: './lib/coffee-script/coffee-script',
1454 silly resolved bin: { coffee: './bin/coffee', cake: './bin/cake' },
1454 silly resolved homepage: 'http://coffeescript.org',
1454 silly resolved bugs: { url: 'https://github.com/jashkenas/coffee-script/issues' },
1454 silly resolved repository:
1454 silly resolved { type: 'git',
1454 silly resolved url: 'git://github.com/jashkenas/coffee-script.git' },
1454 silly resolved devDependencies: { 'uglify-js': '>=1.0.0', jison: '>=0.2.0' },
1454 silly resolved readme: '\n {\n } } {\n { { } }\n } }{ {\n { }{ } } _____ __ __\n ( }{ }{ { ) / ____| / _|/ _|\n .- { { } { }} -. | | ___ | |_| |_ ___ ___\n ( ( } { } { } } ) | | / _ \\| _| _/ _ \\/ _ \\\n |`-..________ ..-\'| | |___| (_) | | | || __/ __/\n | | \\_____\\___/|_| |_| \\___|\\___|\n | ;--.\n | (__ \\ _____ _ _\n | | ) ) / ____| (_) | |\n | |/ / | (___ ___ _ __ _ _ __ | |_\n | ( / \\___ \\ / __| \'__| | \'_ \\| __|\n | |/ ____) | (__| | | | |_) | |_\n | | |_____/ \\___|_| |_| .__/ \\__|\n `-.._________..-\' | |\n |_|\n\n\n CoffeeScript is a little language that compiles into JavaScript.\n\n Install Node.js, and then the CoffeeScript compiler:\n sudo bin/cake install\n\n Or, if you have the Node Package Manager installed:\n npm install -g coffee-script\n (Leave off the -g if you don\'t wish to install globally.)\n\n Execute a script:\n coffee /path/to/script.coffee\n\n Compile a script:\n coffee -c /path/to/script.coffee\n\n For documentation, usage, and examples, see:\n http://coffeescript.org/\n\n To suggest a feature, report a bug, or general discussion:\n http://github.com/jashkenas/coffee-script/issues/\n\n If you\'d like to chat, drop by #coffeescript on Freenode IRC,\n or on webchat.freenode.net.\n\n The source repository:\n git://github.com/jashkenas/coffee-script.git\n\n All contributors are listed here:\n http://github.com/jashkenas/coffee-script/contributors\n',
1454 silly resolved readmeFilename: 'README',
1454 silly resolved _id: 'coffee-script@1.3.3',
1454 silly resolved _from: 'coffee-script@~1.3.3' },
1454 silly resolved { name: 'dateformat',
1454 silly resolved description: 'A node.js package for Steven Levithan\'s excellent dateFormat() function.',
1454 silly resolved maintainers: 'Felix Geisendörfer <felix@debuggable.com>',
1454 silly resolved homepage: 'https://github.com/felixge/node-dateformat',
1454 silly resolved author: { name: 'Steven Levithan' },
1454 silly resolved version: '1.0.2-1.2.3',
1454 silly resolved main: './lib/dateformat',
1454 silly resolved dependencies: {},
1454 silly resolved devDependencies: {},
1454 silly resolved engines: { node: '*' },
1454 silly resolved readme: '# node-dateformat\n\nA node.js package for Steven Levithan\'s excellent [dateFormat()][dateformat] function.\n\n## Modifications\n\n* Removed the `Date.prototype.format` method. Sorry folks, but extending native prototypes is for suckers.\n* Added a `module.exports = dateFormat;` statement at the bottom\n\n## Usage\n\nAs taken from Steven\'s post, modified to match the Modifications listed above:\n\n var dateFormat = require(\'dateformat\');\n var now = new Date();\n\n // Basic usage\n dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");\n // Saturday, June 9th, 2007, 5:46:21 PM\n\n // You can use one of several named masks\n dateFormat(now, "isoDateTime");\n // 2007-06-09T17:46:21\n\n // ...Or add your own\n dateFormat.masks.hammerTime = \'HH:MM! "Can\\\'t touch this!"\';\n dateFormat(now, "hammerTime");\n // 17:46! Can\'t touch this!\n\n // When using the standalone dateFormat function,\n // you can also provide the date as a string\n dateFormat("Jun 9 2007", "fullDate");\n // Saturday, June 9, 2007\n\n // Note that if you don\'t include the mask argument,\n // dateFormat.masks.default is used\n dateFormat(now);\n // Sat Jun 09 2007 17:46:21\n\n // And if you don\'t include the date argument,\n // the current date and time is used\n dateFormat();\n // Sat Jun 09 2007 17:46:22\n\n // You can also skip the date argument (as long as your mask doesn\'t\n // contain any numbers), in which case the current date/time is used\n dateFormat("longTime");\n // 5:46:22 PM EST\n\n // And finally, you can convert local time to UTC time. Simply pass in\n // true as an additional argument (no argument skipping allowed in this case):\n dateFormat(now, "longTime", true);\n // 10:46:21 PM UTC\n\n // ...Or add the prefix "UTC:" to your mask.\n dateFormat(now, "UTC:h:MM:ss TT Z");\n // 10:46:21 PM UTC\n\n // You can also get the ISO 8601 week of the year:\n dateFormat(now, "W");\n // 42\n## License\n\n(c) 2007-2009 Steven Levithan [stevenlevithan.com][stevenlevithan], MIT license.\n\n[dateformat]: http://blog.stevenlevithan.com/archives/date-time-format\n[stevenlevithan]: http://stevenlevithan.com/\n',
1454 silly resolved readmeFilename: 'Readme.md',
1454 silly resolved _id: 'dateformat@1.0.2-1.2.3',
1454 silly resolved _from: 'dateformat@1.0.2-1.2.3' },
1454 silly resolved { name: 'colors',
1454 silly resolved description: 'get colors in your node.js console like what',
1454 silly resolved version: '0.6.2',
1454 silly resolved author: { name: 'Marak Squires' },
1454 silly resolved homepage: 'https://github.com/Marak/colors.js',
1454 silly resolved bugs: { url: 'https://github.com/Marak/colors.js/issues' },
1454 silly resolved keywords: [ 'ansi', 'terminal', 'colors' ],
1454 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
1454 silly resolved engines: { node: '>=0.1.90' },
1454 silly resolved main: 'colors',
1454 silly resolved readme: '# colors.js - get color and style in your node.js console ( and browser ) like what\n\n<img src="http://i.imgur.com/goJdO.png" border = "0"/>\n\n\n## Installation\n\n npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require(\'./colors\');\n\nconsole.log(\'hello\'.green); // outputs green text\nconsole.log(\'i like cake and pies\'.underline.red) // outputs red underlined text\nconsole.log(\'inverse the color\'.inverse); // inverses the color\nconsole.log(\'OMG Rainbows!\'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar colors = require(\'colors\');\n\ncolors.setTheme({\n silly: \'rainbow\',\n input: \'grey\',\n verbose: \'cyan\',\n prompt: \'grey\',\n info: \'green\',\n data: \'grey\',\n help: \'cyan\',\n warn: \'yellow\',\n debug: \'blue\',\n error: \'red\'\n});\n\n// outputs red text\nconsole.log("this is an error".error);\n\n// outputs yellow text\nconsole.log("this is a warning".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej Małecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n#### , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n',
1454 silly resolved readmeFilename: 'ReadMe.md',
1454 silly resolved _id: 'colors@0.6.2',
1454 silly resolved _from: 'colors@~0.6.0-1' },
1454 silly resolved { name: 'eventemitter2',
1454 silly resolved version: '0.4.13',
1454 silly resolved description: 'A Node.js event emitter implementation with namespaces, wildcards, TTL and browser support.',
1454 silly resolved keywords: [ 'event', 'events', 'emitter', 'eventemitter' ],
1454 silly resolved author: { name: 'hij1nx', email: 'paolo@async.ly' },
1454 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
1454 silly resolved license: 'MIT',
1454 silly resolved repository:
1454 silly resolved { type: 'git',
1454 silly resolved url: 'git://github.com/hij1nx/EventEmitter2.git' },
1454 silly resolved devDependencies: { nodeunit: '*', benchmark: '>= 0.2.2' },
1454 silly resolved main: './lib/eventemitter2.js',
1454 silly resolved scripts:
1454 silly resolved { test: 'nodeunit test/simple/ && nodeunit test/wildcardEvents/',
1454 silly resolved benchmark: 'node test/perf/benchmark.js' },
1454 silly resolved files: [ 'lib/eventemitter2.js', 'index.js' ],
1454 silly resolved readme: '# EventEmitter2\n\nEventEmitter2 is an implementation of the EventEmitter found in Node.js\n\n## Features\n\n - Namespaces/Wildcards.\n - Times To Listen (TTL), extends the `once` concept with `many`.\n - Browser environment compatibility.\n - Demonstrates good performance in benchmarks\n\n```\nEventEmitterHeatUp x 3,728,965 ops/sec \\302\\2610.68% (60 runs sampled)\nEventEmitter x 2,822,904 ops/sec \\302\\2610.74% (63 runs sampled)\nEventEmitter2 x 7,251,227 ops/sec \\302\\2610.55% (58 runs sampled)\nEventEmitter2 (wild) x 3,220,268 ops/sec \\302\\2610.44% (65 runs sampled)\nFastest is EventEmitter2\n```\n\n## Differences (Non breaking, compatible with existing EventEmitter)\n\n - The constructor takes a configuration object.\n \n```javascript\n var EventEmitter2 = require(\'eventemitter2\').EventEmitter2;\n var server = new EventEmitter2({\n wildcard: true, // should the event emitter use wildcards.\n delimiter: \'::\', // the delimiter used to segment namespaces, defaults to `.`.\n newListener: false, // if you want to emit the newListener event set to true.\n maxListeners: 20, // the max number of listeners that can be assigned to an event, defaults to 10.\n });\n```\n\n - Getting the actual event that fired.\n\n```javascript\n server.on(\'foo.*\', function(value1, value2) {\n console.log(this.event, value1, value2);\n });\n```\n\n - Fire an event N times and then remove it, an extension of the `once` concept.\n\n```javascript\n server.many(\'foo\', 4, function() {\n console.log(\'hello\');\n });\n```\n\n - Pass in a namespaced event as an array rather than a delimited string.\n\n```javascript\n server.many([\'foo\', \'bar\', \'bazz\'], function() {\n console.log(\'hello\');\n });\n```\n\n\n## API\n\nWhen an `EventEmitter` instance experiences an error, the typical action is\nto emit an `error` event. Error events are treated as a special case.\nIf there is no listener for it, then the default action is to print a stack\ntrace and exit the program.\n\nAll EventEmitters emit the event `newListener` when new listeners are\nadded.\n\n\n**Namespaces** with **Wildcards**\nTo use namespaces/wildcards, pass the `wildcard` option into the EventEmitter constructor.\nWhen namespaces/wildcards are enabled, events can either be strings (`foo.bar`) separated\nby a delimiter or arrays (`[\'foo\', \'bar\']`). The delimiter is also configurable as a \nconstructor option.\n\nAn event name passed to any event emitter method can contain a wild card (the `*` character).\nIf the event name is a string, a wildcard may appear as `foo.*`. If the event name is an array, \nthe wildcard may appear as `[\'foo\', \'*\']`.\n\nIf either of the above described events were passed to the `on` method, subsequent emits such \nas the following would be observed...\n\n```javascript\n emitter.emit(\'foo.bazz\');\n emitter.emit([\'foo\', \'bar\']);\n```\n\n\n#### emitter.addListener(event, listener)\n#### emitter.on(event, listener)\n\nAdds a listener to the end of the listeners array for the specified event.\n\n```javascript\n server.on(\'data\', function(value1, value2, value3 /* accepts any number of expected values... */) {\n console.log(\'The event was raised!\');\n });\n```\n\n```javascript\n server.on(\'data\', function(value) {\n console.log(\'The event was raised!\');\n });\n```\n\n#### emitter.onAny(listener)\n\nAdds a listener that will be fired when any event is emitted.\n\n```javascript\n server.onAny(function(value) {\n console.log(\'All events trigger this.\');\n });\n```\n\n#### emitter.offAny(listener)\n\nRemoves the listener that will be fired when any event is emitted.\n\n```javascript\n server.offAny(function(value) {\n console.log(\'The event was raised!\');\n });\n```\n\n#### emitter.once(event, listener)\n\nAdds a **one time** listener for the event. The listener is invoked only the first time the event is fired, after which it is removed.\n\n```javascript\n server.once(\'get\', function (value) {\n console.log(\'Ah, we have our first value!\');\n });\n```\n\n#### emitter.many(event, timesToListen, listener)\n\nAdds a listener that will execute **n times** for the event before being removed. The listener is invoked only the first time the event is fired, after which it is removed.\n\n```javascript\n server.many(\'get\', 4, function (value) {\n console.log(\'This event will be listened to exactly four times.\');\n });\n```\n\n\n#### emitter.removeListener(event, listener)\n#### emitter.off(event, listener)\n\nRemove a listener from the listener array for the specified event. **Caution**: changes array indices in the listener array behind the listener.\n\n```javascript\n var callback = function(value) {\n console.log(\'someone connected!\');\n };\n server.on(\'get\', callback);\n // ...\n server.removeListener(\'get\', callback);\n```\n\n\n#### emitter.removeAllListeners([event])\n\nRemoves all listeners, or those of the specified event.\n\n\n#### emitter.setMaxListeners(n)\n\nBy default EventEmitters will print a warning if more than 10 listeners are added to it. This is a useful default which helps finding memory leaks. Obviously not all Emitters should be limited to 10. This function allows that to be increased. Set to zero for unlimited.\n\n\n#### emitter.listeners(event)\n\nReturns an array of listeners for the specified event. This array can be manipulated, e.g. to remove listeners.\n\n```javascript\n server.on(\'get\', function(value) {\n console.log(\'someone connected!\');\n });\n console.log(console.log(server.listeners(\'get\')); // [ [Function] ]\n```\n\n#### emitter.listenersAny()\n\nReturns an array of listeners that are listening for any event that is specified. This array can be manipulated, e.g. to remove listeners.\n\n```javascript\n server.onAny(function(value) {\n console.log(\'someone connected!\');\n });\n console.log(console.log(server.listenersAny()[0]); // [ [Function] ] // someone connected!\n```\n\n#### emitter.emit(event, [arg1], [arg2], [...])\n\nExecute each of the listeners that may be listening for the specified event name in order with the list of arguments.\n\n## Test coverage\n\nThere is a test suite that tries to cover each use case, it can be found <a href="https://github.com/hij1nx/EventEmitter2/tree/master/test">here</a>.\n\n## Licence\n\n(The MIT License)\n\nCopyright (c) 2011 hij1nx <http://www.twitter.com/hij1nx>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \'Software\'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved bugs: { url: 'https://github.com/hij1nx/EventEmitter2/issues' },
1454 silly resolved _id: 'eventemitter2@0.4.13',
1454 silly resolved _from: 'eventemitter2@~0.4.9' },
1454 silly resolved { name: 'findup-sync',
1454 silly resolved description: 'Find the first file matching a given pattern in the current directory or the nearest ancestor directory.',
1454 silly resolved version: '0.1.2',
1454 silly resolved homepage: 'https://github.com/cowboy/node-findup-sync',
1454 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
1454 silly resolved repository:
1454 silly resolved { type: 'git',
1454 silly resolved url: 'git://github.com/cowboy/node-findup-sync.git' },
1454 silly resolved bugs: { url: 'https://github.com/cowboy/node-findup-sync/issues' },
1454 silly resolved licenses: [ [Object] ],
1454 silly resolved main: 'lib/findup-sync',
1454 silly resolved engines: { node: '>= 0.6.0' },
1454 silly resolved scripts: { test: 'grunt nodeunit' },
1454 silly resolved dependencies: { glob: '~3.1.21', lodash: '~1.0.1' },
1454 silly resolved devDependencies:
1454 silly resolved { grunt: '~0.4.0',
1454 silly resolved 'grunt-contrib-jshint': '~0.2.0',
1454 silly resolved 'grunt-contrib-nodeunit': '~0.1.2' },
1454 silly resolved keywords: [ 'find', 'glob', 'file' ],
1454 silly resolved readme: '# findup-sync\n\nFind the first file matching a given pattern in the current directory or the nearest ancestor directory.\n\n## Getting Started\nInstall the module with: `npm install findup-sync`\n\n```js\nvar findup = require(\'findup-sync\');\n\n// Start looking in the CWD.\nvar filepath1 = findup(\'{a,b}*.txt\');\n\n// Start looking somewhere else, and ignore case (probably a good idea).\nvar filepath2 = findup(\'{a,b}*.txt\', {cwd: \'/some/path\', nocase: true});\n```\n\n## Usage\n\n```js\nfindup(patternOrPatterns [, minimatchOptions])\n```\n\n### patternOrPatterns\nType: `String` or `Array` \nDefault: none\n\nOne or more wildcard glob patterns. Or just filenames.\n\n### minimatchOptions\nType: `Object` \nDefault: `{}`\n\nOptions to be passed to [minimatch](https://github.com/isaacs/minimatch).\n\nNote that if you want to start in a different directory than the current working directory, specify a `cwd` property here.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2013-03-08 - v0.1.2 - Updated dependencies. Fixed a Node 0.9.x bug. Updated unit tests to work cross-platform. \n2012-11-15 - v0.1.1 - Now works without an options object. \n2012-11-01 - v0.1.0 - Initial release.\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved _id: 'findup-sync@0.1.2',
1454 silly resolved _from: 'findup-sync@~0.1.0' },
1454 silly resolved { name: 'hooker',
1454 silly resolved description: 'Monkey-patch (hook) functions for debugging and stuff.',
1454 silly resolved version: '0.2.3',
1454 silly resolved homepage: 'http://github.com/cowboy/javascript-hooker',
1454 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
1454 silly resolved repository:
1454 silly resolved { type: 'git',
1454 silly resolved url: 'git://github.com/cowboy/javascript-hooker.git' },
1454 silly resolved bugs: { url: 'https://github.com/cowboy/javascript-hooker/issues' },
1454 silly resolved licenses: [ [Object] ],
1454 silly resolved dependencies: {},
1454 silly resolved devDependencies: { grunt: '~0.2.1' },
1454 silly resolved keywords: [ 'patch', 'hook', 'function', 'debug', 'aop' ],
1454 silly resolved engines: { node: '*' },
1454 silly resolved main: 'lib/hooker',
1454 silly resolved scripts: { test: 'grunt test' },
1454 silly resolved readme: '# JavaScript Hooker\n\nMonkey-patch (hook) functions for debugging and stuff.\n\n## Getting Started\n\nThis code should work just fine in Node.js:\n\nFirst, install the module with: `npm install hooker`\n\n```javascript\nvar hooker = require(\'hooker\');\nhooker.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n```\n\nOr in the browser:\n\n```html\n<script src="dist/ba-hooker.min.js"></script>\n<script>\nhook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n</script>\n```\n\nIn the browser, you can attach Hooker\'s methods to any object.\n\n```html\n<script>\nthis.exports = Bocoup.utils;\n</script>\n<script src="dist/ba-hooker.min.js"></script>\n<script>\nBocoup.utils.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n</script>\n```\n\n## Documentation\n\n### hooker.hook\nMonkey-patch (hook) one or more methods of an object.\n#### Signature:\n`hooker.hook(object, [ props, ] [options | prehookFunction])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all enumerable methods of `object` will be hooked.\n#### `options`\n* `pre` - (Function) a pre-hook function to be executed before the original function. Arguments passed into the method will be passed into the pre-hook function as well.\n* `post` - (Function) a post-hook function to be executed after the original function. The original function\'s result is passed into the post-hook function as its first argument, followed by the method arguments.\n* `once` - (Boolean) if true, auto-unhook the function after the first execution.\n* `passName` - (Boolean) if true, pass the name of the method into the pre-hook function as its first arg (preceding all other arguments), and into the post-hook function as the second arg (after result but preceding all other arguments).\n\n#### Returns:\nAn array of hooked method names.\n\n### hooker.unhook\nUn-monkey-patch (unhook) one or more methods of an object.\n#### Signature:\n`hooker.unhook(object [, props ])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all methods of `object` will be unhooked.\n#### Returns:\nAn array of unhooked method names.\n\n### hooker.orig\nGet a reference to the original method from a hooked function.\n#### Signature:\n`hooker.orig(object, props)`\n\n### hooker.override\nWhen a pre- or post-hook returns the result of this function, the value\npassed will be used in place of the original function\'s return value. Any\npost-hook override value will take precedence over a pre-hook override value.\n#### Signature:\n`hooker.override(value)`\n\n### hooker.preempt\nWhen a pre-hook returns the result of this function, the value passed will\nbe used in place of the original function\'s return value, and the original\nfunction will NOT be executed.\n#### Signature:\n`hooker.preempt(value)`\n\n### hooker.filter\nWhen a pre-hook returns the result of this function, the context and\narguments passed will be applied into the original function.\n#### Signature:\n`hooker.filter(context, arguments)`\n\n\n## Examples\nSee the unit tests for more examples.\n\n```javascript\nvar hooker = require(\'hooker\');\n// Simple logging.\nhooker.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n\nhooker.unhook(Math, "max"); // (This is assumed between all further examples)\nMath.max(5, 6, 7) // 7\n\n// Returning hooker.override(value) overrides the original value.\nhooker.hook(Math, "max", function() {\n if (arguments.length === 0) {\n return hooker.override(9000);\n }\n});\nMath.max(5, 6, 7) // 7\nMath.max() // 9000\n\n// Auto-unhook after one execution.\nhooker.hook(Math, "max", {\n once: true,\n pre: function() {\n console.log("Init something here");\n }\n});\nMath.max(5, 6, 7) // logs: "Init something here", returns 7\nMath.max(5, 6, 7) // 7\n\n// Filter `this` and arguments through a pre-hook function.\nhooker.hook(Math, "max", {\n pre: function() {\n var args = [].map.call(arguments, function(num) {\n return num * 2;\n });\n return hooker.filter(this, args); // thisValue, arguments\n }\n});\nMath.max(5, 6, 7) // 14\n\n// Modify the original function\'s result with a post-hook function.\nhooker.hook(Math, "max", {\n post: function(result) {\n return hooker.override(result * 100);\n }\n});\nMath.max(5, 6, 7) // 700\n\n// Hook every Math method. Note: if Math\'s methods were enumerable, the second\n// argument could be omitted. Since they aren\'t, an array of properties to hook\n// must be explicitly passed. Non-method properties will be skipped.\n// See a more generic example here: http://bit.ly/vvJlrS\nhooker.hook(Math, Object.getOwnPropertyNames(Math), {\n passName: true,\n pre: function(name) {\n console.log("=> Math." + name, [].slice.call(arguments, 1));\n },\n post: function(result, name) {\n console.log("<= Math." + name, result);\n }\n});\n\nvar result = Math.max(5, 6, 7);\n// => Math.max [ 5, 6, 7 ]\n// <= Math.max 7\nresult // 7\n\nresult = Math.ceil(3.456);\n// => Math.ceil [ 3.456 ]\n// <= Math.ceil 4\nresult // 4\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt).\n\n_Also, please don\'t edit files in the "dist" subdirectory as they are generated via grunt. You\'ll find source code in the "lib" subdirectory!_\n\n## Release History\n2012/01/09 - v0.2.3 - First official release.\n\n## License\nCopyright (c) 2012 "Cowboy" Ben Alman \nLicensed under the MIT license. \n<http://benalman.com/about/license/>\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved _id: 'hooker@0.2.3',
1454 silly resolved _from: 'hooker@~0.2.3' },
1454 silly resolved { author:
1454 silly resolved { name: 'Isaac Z. Schlueter',
1454 silly resolved email: 'i@izs.me',
1454 silly resolved url: 'http://blog.izs.me/' },
1454 silly resolved name: 'glob',
1454 silly resolved description: 'a little globber',
1454 silly resolved version: '3.1.21',
1454 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
1454 silly resolved main: 'glob.js',
1454 silly resolved engines: { node: '*' },
1454 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
1454 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
1454 silly resolved scripts: { test: 'tap test/*.js' },
1454 silly resolved license: 'BSD',
1454 silly resolved readme: '# Glob\n\nThis is a glob implementation in JavaScript. It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there\'s an event emitter class, proper tests, and all the other\nthings you\'ve come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require("glob")\n\n// options is optional\nglob("**/*.js", options, function (er, files) {\n // files is an array of filenames.\n // If the `nonull` option is set, and nothing\n // was found, then files is ["**/*.js"]\n // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options]\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require("glob").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt\'s an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n * `err` {Error | null}\n * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered. When an error is encountered, the\n glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`. There\n is no way at this time to continue a glob search after aborting, but\n you can re-use the statCache to avoid having to duplicate syscalls.\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n matches found. If the `nonull` option is set, and no match was found,\n then the `matches` list contains the original pattern. The matches\n are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior. Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search. Defaults\n to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix\n systems, and `C:\\` or some such on Windows.)\n* `nomount` By default, a pattern starting with a forward-slash will be\n "mounted" onto the root setting, so that a valid filesystem path is\n returned. Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n* `nosort` Don\'t sort the results.\n* `stat` Set to true to stat *all* results. This reduces performance\n somewhat, and is completely unnecessary, unless `readdir` is presumed\n to be an untrustworthy indicator of file existence. It will cause\n ELOOP to be triggered one level sooner in the case of cyclical\n symbolic links.\n* `silent` When an unusual error is encountered\n when attempting to read a directory, a warning will be printed to\n stderr. Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n when attempting to read a directory, the process will just continue on\n in search of other matches. Set the `strict` option to raise an error\n in these cases.\n* `statCache` A cache of results of filesystem information, to prevent\n unnecessary stat calls. While it should not normally be necessary to\n set this, you may pass the statCache from one glob() call to the\n options object of another, if you know that the filesystem will not\n change between calls. (See "Race Conditions" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n same file showing up multiple times in the result set. By default,\n this implementation prevents duplicates in the result set.\n Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n containing the pattern itself. This is the default in glob(3).\n* `nocase` Perform a case-insensitive match. Note that case-insensitive\n filesystems will sometimes result in glob returning results that are\n case-insensitively matched anyway, since readdir and stat will not\n raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not. **Note that this is different from the way that `**` is\nhandled by ruby\'s `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`glob.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`. On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead. However, this also makes it even more susceptible to races,\nespecially if the statCache object is reused between glob calls.\n\nUsers are thus advised not to use a glob result as a\nguarantee of filesystem state in the face of rapid changes.\nFor the vast majority of operations, this is never a problem.\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
1454 silly resolved _id: 'glob@3.1.21',
1454 silly resolved _from: 'glob@~3.1.21' },
1454 silly resolved { name: 'iconv-lite',
1454 silly resolved description: 'Convert character encodings in pure javascript.',
1454 silly resolved version: '0.2.11',
1454 silly resolved license: 'MIT',
1454 silly resolved keywords: [ 'iconv', 'convert', 'charset' ],
1454 silly resolved author: { name: 'Alexander Shtuchkin', email: 'ashtuchkin@gmail.com' },
1454 silly resolved contributors:
1454 silly resolved [ [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object] ],
1454 silly resolved main: 'index.js',
1454 silly resolved homepage: 'https://github.com/ashtuchkin/iconv-lite',
1454 silly resolved repository:
1454 silly resolved { type: 'git',
1454 silly resolved url: 'git://github.com/ashtuchkin/iconv-lite.git' },
1454 silly resolved engines: { node: '>=0.4.0' },
1454 silly resolved scripts: { test: 'vows --spec' },
1454 silly resolved devDependencies: { vows: '', iconv: '>=1.1' },
1454 silly resolved readme: 'iconv-lite - pure javascript character encoding conversion\n======================================================================\n\n[![Build Status](https://secure.travis-ci.org/ashtuchkin/iconv-lite.png?branch=master)](http://travis-ci.org/ashtuchkin/iconv-lite)\n\n## Features\n\n* Pure javascript. Doesn\'t need native code compilation.\n* Easy API.\n* Works on Windows and in sandboxed environments like [Cloud9](http://c9.io).\n* Encoding is much faster than node-iconv (see below for performance comparison).\n\n## Usage\n\n var iconv = require(\'iconv-lite\');\n \n // Convert from an encoded buffer to string.\n str = iconv.decode(buf, \'win1251\');\n \n // Convert from string to an encoded buffer.\n buf = iconv.encode("Sample input string", \'win1251\');\n\n // Check if encoding is supported\n iconv.encodingExists("us-ascii")\n\n\n## Supported encodings\n\n* All node.js native encodings: \'utf8\', \'ucs2\', \'ascii\', \'binary\', \'base64\'\n* All widespread single byte encodings: Windows 125x family, ISO-8859 family, \n IBM/DOS codepages, Macintosh family, KOI8 family. \n Aliases like \'latin1\', \'us-ascii\' also supported.\n* Multibyte encodings: \'gbk\', \'gb2313\', \'Big5\', \'cp950\'.\n\nOthers are easy to add, see the source. Please, participate.\nMost encodings are generated from node-iconv. Thank you Ben Noordhuis and iconv authors!\n\nNot supported yet: EUC family, Shift_JIS.\n\n\n## Encoding/decoding speed\n\nComparison with node-iconv module (1000x256kb, on Ubuntu 12.04, Core i5/2.5 GHz, Node v0.8.7). \nNote: your results may vary, so please always check on your hardware.\n\n operation iconv@1.2.4 iconv-lite@0.2.4 \n ----------------------------------------------------------\n encode(\'win1251\') ~115 Mb/s ~230 Mb/s\n decode(\'win1251\') ~95 Mb/s ~130 Mb/s\n\n\n## Notes\n\nWhen decoding, a \'binary\'-encoded string can be used as a source buffer. \nUntranslatable characters are set to � or ?. No transliteration is currently supported, pull requests are welcome.\n\n## Testing\n\n git clone git@github.com:ashtuchkin/iconv-lite.git\n cd iconv-lite\n npm install\n npm test\n \n # To view performance:\n node test/performance.js\n\n## TODO\n\n* Support streaming character conversion, something like util.pipe(req, iconv.fromEncodingStream(\'latin1\')).\n* Add more encodings.\n* Add transliteration (best fit char).\n* Add tests and correct support of variable-byte encodings (currently work is delegated to node).\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved bugs: { url: 'https://github.com/ashtuchkin/iconv-lite/issues' },
1454 silly resolved _id: 'iconv-lite@0.2.11',
1454 silly resolved _from: 'iconv-lite@~0.2.5' },
1454 silly resolved { name: 'nopt',
1454 silly resolved version: '1.0.10',
1454 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
1454 silly resolved author:
1454 silly resolved { name: 'Isaac Z. Schlueter',
1454 silly resolved email: 'i@izs.me',
1454 silly resolved url: 'http://blog.izs.me/' },
1454 silly resolved main: 'lib/nopt.js',
1454 silly resolved scripts: { test: 'node lib/nopt.js' },
1454 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
1454 silly resolved bin: { nopt: './bin/nopt.js' },
1454 silly resolved license:
1454 silly resolved { type: 'MIT',
1454 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
1454 silly resolved dependencies: { abbrev: '1' },
1454 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 1000 -fp # unknown opts are ok.\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --blatzk true -fp # but they need a value\n{ blatzk: true, 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.\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',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
1454 silly resolved _id: 'nopt@1.0.10',
1454 silly resolved _from: 'nopt@~1.0.10' },
1454 silly resolved { author:
1454 silly resolved { name: 'Isaac Z. Schlueter',
1454 silly resolved email: 'i@izs.me',
1454 silly resolved url: 'http://blog.izs.me' },
1454 silly resolved name: 'minimatch',
1454 silly resolved description: 'a glob matcher in javascript',
1454 silly resolved version: '0.2.12',
1454 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
1454 silly resolved main: 'minimatch.js',
1454 silly resolved scripts: { test: 'tap test' },
1454 silly resolved engines: { node: '*' },
1454 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
1454 silly resolved devDependencies: { tap: '' },
1454 silly resolved license:
1454 silly resolved { type: 'MIT',
1454 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
1454 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n### Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not. **Note that this is different from the way that `**` is\nhandled by ruby\'s `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
1454 silly resolved _id: 'minimatch@0.2.12',
1454 silly resolved _from: 'minimatch@~0.2.6' },
1454 silly resolved { name: 'rimraf',
1454 silly resolved version: '2.0.3',
1454 silly resolved main: 'rimraf.js',
1454 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
1454 silly resolved author:
1454 silly resolved { name: 'Isaac Z. Schlueter',
1454 silly resolved email: 'i@izs.me',
1454 silly resolved url: 'http://blog.izs.me/' },
1454 silly resolved license:
1454 silly resolved { type: 'MIT',
1454 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
1454 silly resolved optionalDependencies: { 'graceful-fs': '~1.1' },
1454 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
1454 silly resolved scripts: { test: 'cd test && bash run.sh' },
1454 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
1454 silly resolved readme: 'A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
1454 silly resolved dependencies: { 'graceful-fs': '~1.1' },
1454 silly resolved _id: 'rimraf@2.0.3',
1454 silly resolved _from: 'rimraf@~2.0.2' },
1454 silly resolved { name: 'underscore.string',
1454 silly resolved version: '2.2.1',
1454 silly resolved description: 'String manipulation extensions for Underscore.js javascript library.',
1454 silly resolved homepage: 'http://epeli.github.com/underscore.string/',
1454 silly resolved contributors:
1454 silly resolved [ [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object],
1454 silly resolved [Object] ],
1454 silly resolved keywords: [ 'underscore', 'string' ],
1454 silly resolved main: './lib/underscore.string',
1454 silly resolved directories: { lib: './lib' },
1454 silly resolved engines: { node: '*' },
1454 silly resolved repository:
1454 silly resolved { type: 'git',
1454 silly resolved url: 'https://github.com/epeli/underscore.string.git' },
1454 silly resolved bugs: { url: 'https://github.com/epeli/underscore.string/issues' },
1454 silly resolved licenses: [ [Object] ],
1454 silly resolved readme: '# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(" epeli ").chain().trim().capitalize().value()\n=> "Epeli"\n```\n\n## Download ##\n\n * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require(\'underscore.string\');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _ = require(\'underscore\');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require(\'underscore.string\');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include(\'Underscore.string\', \'string\'); // => true\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize(\'epeli\')\n=> "Epeli"\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize("foo Bar")\n=> "Foo Bar"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop(\'whitespace\', 3)\n=> [\'whi\',\'tes\',\'pac\',\'e\']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(" foo bar ")\n=> \'foo bar\'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars(\'Hello\')\n=> [\'H\',\'e\',\'l\',\'l\',\'o\']\n```\n\n**includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes("foobar", "ob")\n=> true\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include("foobar", "ob")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_(\'Hello world\').count(\'l\')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_(\'<div>Blah blah blah</div>\').escapeHTML();\n=> \'&lt;div&gt;Blah blah blah&lt;/div&gt;\'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_(\'&lt;div&gt;Blah blah blah&lt;/div&gt;\').unescapeHTML();\n=> \'<div>Blah blah blah</div>\'\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_(\'Hello \').insert(6, \'world\')\n=> \'Hello world\'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_(\'\').isBlank(); // => true\n_(\'\\n\').isBlank(); // => true\n_(\' \').isBlank(); // => true\n_(\'a\').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(" ", "foo", "bar")\n=> "foo bar"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines("Hello\\nWorld")\n=> ["Hello", "World"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse("foobar")\n=> \'raboof\'\n```\n\n**splice** _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_(\'https://edtsech@bitbucket.org/edtsech/underscore.strings\').splice(30, 7, \'epeli\')\n=> \'https://edtsech@bitbucket.org/epeli/underscore.strings\'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_("image.gif").startsWith("image")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_("image.gif").endsWith("gif")\n=> true\n```\n\n**succ** _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_(\'a\').succ()\n=> \'b\'\n\n_(\'A\').succ()\n=> \'B\'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_(\'my name is epeli\').titleize()\n=> \'My Name Is Epeli\'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_(\'-moz-transform\').camelize()\n=> \'MozTransform\'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_(\'some_class_name\').classify()\n=> \'SomeClassName\'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_(\'MozTransform\').underscored()\n=> \'moz_transform\'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_(\'MozTransform\').dasherize()\n=> \'-moz-transform\'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix \'_id\'.\n\n```javascript\n_(\' capitalize dash-CamelCase_underscore trim \').humanize()\n=> \'Capitalize dash camel case underscore trim\'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(" foobar ")\n=> "foobar"\n\n_.trim("_-foobar-_", "_-")\n=> "foobar"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_(\'Hello world\').truncate(5)\n=> \'Hello...\'\n\n_(\'Hello\').truncate(10)\n=> \'Hello\'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_(\'Hello, world\').prune(5)\n=> \'Hello...\'\n\n_(\'Hello, world\').prune(8)\n=> \'Hello...\'\n\n_(\'Hello, world\').prune(5, \' (read a lot more)\')\n=> \'Hello, world\' (as adding "(read a lot more)" would be longer than the original string)\n\n_(\'Hello, cruel world\').prune(15)\n=> \'Hello, cruel...\'\n\n_(\'Hello\').prune(10)\n=> \'Hello\'\n```\n\n**words** _.words(str, delimiter=" ")\n\nSplit string by delimiter (String or RegExp), \' \' by default.\n\n```javascript\n_.words("I love you")\n=> ["I","love","you"]\n\n_.words("I_love_you", "_")\n=> ["I","love","you"]\n\n_.words("I-love-you", /-/)\n=> ["I","love","you"]\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf("%.1f", 1.17)\n"1.2"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`" "`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad("1", 8)\n-> " 1";\n\n_.pad("1", 8, \'0\')\n-> "00000001";\n\n_.pad("1", 8, \'0\', \'right\')\n-> "10000000";\n\n_.pad("1", 8, \'0\', \'both\')\n-> "00001000";\n\n_.pad("1", 8, \'bleepblorp\', \'both\')\n-> "bbbb1bbb";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, \'left\')`\n\n```javascript\n_.lpad("1", 8, \'0\')\n-> "00000001";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, \'right\')`\n\n```javascript\n_.rpad("1", 8, \'0\')\n-> "10000000";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, \'both\')`\n\n```javascript\n_.lrpad("1", 8, \'0\')\n-> "00001000";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber** _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can\'t be parsed to number.\n\n```javascript\n_(\'2.556\').toNumber()\n=> 3\n\n_(\'2.556\').toNumber(1)\n=> 2.6\n```\n\n**strRight** _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strRight(\'_\')\n=> "is_a_test_string";\n```\n\n**strRightBack** _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strRightBack(\'_\')\n=> "string";\n```\n\n**strLeft** _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strLeft(\'_\')\n=> "This";\n```\n\n**strLeftBack** _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_(\'This_is_a_test_string\').strLeftBack(\'_\')\n=> "This_is_a_test";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_(\'a <a href="#">link</a>\').stripTags()\n=> \'a link\'\n\n_(\'a <a href="#">link</a><script>alert("hello world!")</script>\').stripTags()\n=> \'a linkalert("hello world!")\'\n```\n\n**toSentence** _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence([\'jQuery\', \'Mootools\', \'Prototype\'])\n=> \'jQuery, Mootools and Prototype\';\n\n_.toSentence([\'jQuery\', \'Mootools\', \'Prototype\'], \', \', \' unt \')\n=> \'jQuery, Mootools unt Prototype\';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat("foo", 3)\n=> \'foofoofoo\';\n\n_.repeat("foo", 3, "bar")\n=> \'foobarfoobarfoo\'\n```\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify("Un éléphant à l\'orée du bois")\n=> \'un-elephant-a-loree-du-bois\';\n```\n\n***Caution: this function is charset dependent***\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n## Changelog ##\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_(\'foobar\').include(\'bar\')` aren\'t available;\n* Chaining isn\'t available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n includeString: _.str.include,\n reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_(\'foobar\').chain().reverseString().includeString(\'rab\').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it\'s absolutely compatible)\n* Removed \'reverse\' function, because this function override underscore.js \'reverse\'\n\n## Contribute ##\n\n* Fork & pull request. Don\'t forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n\n* Esa-Matti Suuronen <esa-matti@suuronen.org> (<http://esa-matti.suuronen.org/>),\n* Edward Tsech <edtsech@gmail.com>,\n* Sasha Koss <kossnocorp@gmail.com> (<http://koss.nocorp.me/>),\n* Vladimir Dronnikov <dronnikov@gmail.com>,\n* Pete Kruckenberg (<https://github.com/kruckenb>),\n* Paul Chavard <paul@chavard.net> (<http://tchak.net>),\n* Ed Finkler <coj@funkatron.com> (<http://funkatron.com>)\n* Pavel Pravosud <rwz@duckroll.ru>\n* Anton Lindqvist <anton@qvister.se> (<http://qvister.se>)\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies 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 FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n',
1454 silly resolved readmeFilename: 'README.markdown',
1454 silly resolved _id: 'underscore.string@2.2.1',
1454 silly resolved _from: 'underscore.string@~2.2.0rc' },
1454 silly resolved { name: 'lodash',
1454 silly resolved version: '0.9.2',
1454 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
1454 silly resolved homepage: 'http://lodash.com',
1454 silly resolved license: 'MIT',
1454 silly resolved main: './lodash.js',
1454 silly resolved keywords:
1454 silly resolved [ 'browser',
1454 silly resolved 'client',
1454 silly resolved 'functional',
1454 silly resolved 'performance',
1454 silly resolved 'server',
1454 silly resolved 'speed',
1454 silly resolved 'util' ],
1454 silly resolved author:
1454 silly resolved { name: 'John-David Dalton',
1454 silly resolved email: 'john.david.dalton@gmail.com',
1454 silly resolved url: 'http://allyoucanleet.com/' },
1454 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
1454 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
1454 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
1454 silly resolved engines: [ 'node', 'rhino' ],
1454 silly resolved jam: { main: './lodash.js' },
1454 silly resolved readme: '# Lo-Dash v0.9.2\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n * [Development build](https://raw.github.com/lodash/lodash/0.9.2/lodash.js)\n * [Production build](https://raw.github.com/lodash/lodash/0.9.2/lodash.min.js)\n * [Underscore build](https://raw.github.com/lodash/lodash/0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore\n * CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/)\n * For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nCreate your own benchmarks at [jsPerf](http://jsperf.com), or [search](http://jsperf.com/search?q=lodash) for existing ones.\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Screencasts\n\nFor more information check out these screencasts over Lo-Dash:\n\n * [Introducing Lo-Dash](https://vimeo.com/44154599)\n * [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n * [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n * [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n * [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_.clone](http://lodash.com/docs#clone) supports *“deep”* cloning\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.lateBind](http://lodash.com/docs#lateBind) for late binding\n * [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding\n * [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments\n * [_.template](http://lodash.com/docs#template) supports [ES6 delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6) and utilizes [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier debugging\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~23, Firefox 1~16, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.14, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [npm](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n```\n\n**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Resolved Underscore.js issues\n\n * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)]\n * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)]\n * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)]\n * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)]\n * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)]\n * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)]\n\n## Release Notes\n\n### <sup>v0.9.2</sup>\n\n * Added `fromIndex` argument to `_.contains`\n * Added `moduleId` build option\n * Added Closure Compiler *“simple”* optimizations to the build process\n * Added support for strings in `_.max` and `_.min`\n * Added support for ES6 template delimiters to `_.template`\n * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs\n * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved _id: 'lodash@0.9.2',
1454 silly resolved _from: 'lodash@~0.9.0' },
1454 silly resolved { author:
1454 silly resolved { name: 'Isaac Z. Schlueter',
1454 silly resolved email: 'i@izs.me',
1454 silly resolved url: 'http://blog.izs.me' },
1454 silly resolved name: 'which',
1454 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
1454 silly resolved version: '1.0.5',
1454 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
1454 silly resolved main: 'which.js',
1454 silly resolved bin: { which: './bin/which' },
1454 silly resolved engines: { node: '*' },
1454 silly resolved dependencies: {},
1454 silly resolved devDependencies: {},
1454 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',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved bugs: { url: 'https://github.com/isaacs/node-which/issues' },
1454 silly resolved _id: 'which@1.0.5',
1454 silly resolved _from: 'which@~1.0.5' },
1454 silly resolved { name: 'js-yaml',
1454 silly resolved version: '2.0.5',
1454 silly resolved description: 'YAML 1.2 parser and serializer',
1454 silly resolved keywords: [ 'yaml', 'parser', 'serializer', 'pyyaml' ],
1454 silly resolved homepage: 'https://github.com/nodeca/js-yaml',
1454 silly resolved author: { name: 'Dervus Grim', email: 'dervus@lavabit.com' },
1454 silly resolved contributors: [ [Object], [Object] ],
1454 silly resolved bugs: { url: 'https://github.com/nodeca/js-yaml/issues' },
1454 silly resolved license:
1454 silly resolved { type: 'MIT',
1454 silly resolved url: 'https://github.com/nodeca/js-yaml/blob/master/LICENSE' },
1454 silly resolved repository: { type: 'git', url: 'git://github.com/nodeca/js-yaml.git' },
1454 silly resolved main: './index.js',
1454 silly resolved bin: { 'js-yaml': 'bin/js-yaml.js' },
1454 silly resolved scripts: { test: 'make test' },
1454 silly resolved dependencies: { argparse: '~ 0.1.11', esprima: '~ 1.0.2' },
1454 silly resolved devDependencies: { mocha: '*' },
1454 silly resolved engines: { node: '>= 0.6.0' },
1454 silly resolved readme: 'JS-YAML - YAML 1.2 parser and serializer for JavaScript\n=======================================================\n\n[![Build Status](https://secure.travis-ci.org/nodeca/js-yaml.png)](http://travis-ci.org/nodeca/js-yaml)\n\n[Online Demo](http://nodeca.github.com/js-yaml/)\n\n\nThis is an implementation of [YAML](http://yaml.org/), a human friendly data\nserialization language. Started as [PyYAML](http://pyyaml.org/) port, it was\ncompletely rewritten from scratch. Now it\'s very fast, and supports 1.2 spec.\n\n\nBreaking changes in 1.x.x -> 2.0.x\n----------------------------------\n\nIf your have not used __custom__ tags or loader classes - no changes needed. Just\nupgrade library and enjoy high parse speed.\n\nIn other case, you should rewrite your tag constructors and custom loader\nclasses, to conform new schema-based API. See\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) and\n[wiki](https://github.com/nodeca/js-yaml/wiki) for details.\nNote, that parser internals were completely rewritten.\n\n\nInstallation\n------------\n\n### YAML module for node.js\n\n```\nnpm install js-yaml\n```\n\n\n### CLI executable\n\nIf you want to inspect your YAML files from CLI, install js-yaml globally:\n\n```\nnpm install js-yaml -g\n```\n\n#### Usage\n\n```\nusage: js-yaml [-h] [-v] [-c] [-j] [-t] file\n\nPositional arguments:\n file File with YAML document(s)\n\nOptional arguments:\n -h, --help Show this help message and exit.\n -v, --version Show program\'s version number and exit.\n -c, --compact Display errors in compact mode\n -j, --to-json Output a non-funky boring JSON\n -t, --trace Show stack trace on error\n```\n\n\n### Bundled YAML library for browsers\n\n``` html\n<script src="js-yaml.min.js"></script>\n<script type="text/javascript">\nvar doc = jsyaml.load(\'greeting: hello\\nname: world\');\n</script>\n```\n\nBrowser support was done mostly for online demo. If you find any errors - feel\nfree to send pull requests with fixes. Also note, that IE and other old browsers\nneeds [es5-shims](https://github.com/kriskowal/es5-shim) to operate.\n\n\nAPI\n---\n\nHere we cover the most \'useful\' methods. If you need advanced details (creating\nyour own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more\ninfo.\n\nIn node.js JS-YAML automatically registers handlers for `.yml` and `.yaml`\nfiles. You can load them just with `require`. That\'s mostly equivalent to\ncalling `load()` on fetched content of a file. Just with one string!\n\n``` javascript\nrequire(\'js-yaml\');\n\n// Get document, or throw exception on error\ntry {\n var doc = require(\'/home/ixti/example.yml\');\n console.log(doc);\n} catch (e) {\n console.log(e);\n}\n```\n\n\n### load (string [ , options ])\n\nParses `string` as single YAML document. Returns a JavaScript object or throws\n`YAMLException` on error.\n\nNOTE: This function **does not** understands multi-document sources, it throws\nexception on those.\n\noptions:\n\n- `filename` _(default: null)_ - string to be used as a file path in\n error/warning messages.\n- `strict` _(default - false)_ makes the loader to throw errors instead of\n warnings.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use.\n\n\n### loadAll (string, iterator [ , options ])\n\nSame as `load()`, but understands multi-document sources and apply `iterator` to\neach document.\n\n``` javascript\nvar yaml = require(\'js-yaml\');\n\nyaml.loadAll(data, function (doc) {\n console.log(doc);\n});\n```\n\n\n### safeLoad (string [ , options ])\n\nSame as `load()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### safeLoadAll (string, iterator [ , options ])\n\nSame as `loadAll()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### dump (object [ , options ])\n\nSerializes `object` as YAML document.\n\noptions:\n\n- `indent` _(default: 2)_ - indentation width to use (in spaces).\n- `flowLevel` (default: -1) - specifies level of nesting, when to switch from\n block to flow style for collections. -1 means block style everwhere\n- `styles` - "tag" => "style" map. Each tag may have own set of styles.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ specifies a schema to use.\n\nstyles:\n\n``` none\n!!null\n "canonical" => "~"\n\n!!int\n "binary" => "0b1", "0b101010", "0b1110001111010"\n "octal" => "01", "052", "016172"\n "decimal" => "1", "42", "7290"\n "hexadecimal" => "0x1", "0x2A", "0x1C7A"\n\n!!null, !!bool, !!float\n "lowercase" => "null", "true", "false", ".nan", \'.inf\'\n "uppercase" => "NULL", "TRUE", "FALSE", ".NAN", \'.INF\'\n "camelcase" => "Null", "True", "False", ".NaN", \'.Inf\'\n```\n\nBy default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`.\n\n\n### safeDump (object [ , options ])\n\nSame as `dump()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\nSupported YAML types\n--------------------\n\nThe list of standard YAML tags and corresponding JavaScipt types. See also\n[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and\n[YAML types repository](http://yaml.org/type/).\n\n```\n!!null \'\' # null\n!!bool \'yes\' # bool\n!!int \'3...\' # number\n!!float \'3.14...\' # number\n!!binary \'...base64...\' # buffer\n!!timestamp \'YYYY-...\' # date\n!!omap [ ... ] # array of key-value pairs\n!!pairs [ ... ] # array or array pairs\n!!set { ... } # array of objects with given keys and null values\n!!str \'...\' # string\n!!seq [ ... ] # array\n!!map { ... } # object\n```\n\n**JavaScript-specific tags**\n\n```\n!!js/regexp /pattern/gim # RegExp\n!!js/undefined \'\' # Undefined\n!!js/function \'function () {...}\' # Function\n```\n\n\n\n\n## Caveats\n\nNote, that you use arrays or objects as key in JS-YAML. JS do not allows objects\nor array as keys, and stringifies (by calling .toString method) them at the\nmoment of adding them.\n\n``` yaml\n---\n? [ foo, bar ]\n: - baz\n? { foo: bar }\n: - baz\n - baz\n```\n\n``` javascript\n{ "foo,bar": ["baz"], "[object Object]": ["baz", "baz"] }\n```\n\nAlso, reading of properties on implicit block mapping keys is not supported yet.\nSo, the following YAML document cannot be loaded.\n\n``` yaml\n&anchor foo:\n foo: bar\n *anchor: duplicate key\n baz: bat\n *anchor: duplicate key\n```\n\n## License\n\nView the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file\n(MIT).\n',
1454 silly resolved readmeFilename: 'README.md',
1454 silly resolved _id: 'js-yaml@2.0.5',
1454 silly resolved _from: 'js-yaml@~2.0.2' } ]
1455 info install async@0.1.22 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1456 info install coffee-script@1.3.3 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1457 info install dateformat@1.0.2-1.2.3 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1458 info install colors@0.6.2 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1459 info install eventemitter2@0.4.13 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1460 info install findup-sync@0.1.2 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1461 info install hooker@0.2.3 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1462 info install glob@3.1.21 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1463 info install iconv-lite@0.2.11 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1464 info install nopt@1.0.10 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1465 info install minimatch@0.2.12 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1466 info install rimraf@2.0.3 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1467 info install underscore.string@2.2.1 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1468 info install lodash@0.9.2 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1469 info install which@1.0.5 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1470 info install js-yaml@2.0.5 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt
1471 info installOne async@0.1.22
1472 info installOne coffee-script@1.3.3
1473 info installOne dateformat@1.0.2-1.2.3
1474 info installOne colors@0.6.2
1475 info installOne eventemitter2@0.4.13
1476 info installOne findup-sync@0.1.2
1477 info installOne hooker@0.2.3
1478 info installOne glob@3.1.21
1479 info installOne iconv-lite@0.2.11
1480 info installOne nopt@1.0.10
1481 info installOne minimatch@0.2.12
1482 info installOne rimraf@2.0.3
1483 info installOne underscore.string@2.2.1
1484 info installOne lodash@0.9.2
1485 info installOne which@1.0.5
1486 info installOne js-yaml@2.0.5
1487 silly lockFile 6d3723ce-mkdirp-0-3-x mkdirp@0.3.x
1488 silly lockFile 6d3723ce-mkdirp-0-3-x mkdirp@0.3.x
1489 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/async unbuild
1490 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/coffee-script unbuild
1491 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/dateformat unbuild
1492 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/colors unbuild
1493 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/eventemitter2 unbuild
1494 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync unbuild
1495 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/hooker unbuild
1496 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/glob unbuild
1497 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/iconv-lite unbuild
1498 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/nopt unbuild
1499 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/minimatch unbuild
1500 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/rimraf unbuild
1501 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/underscore.string unbuild
1502 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/lodash unbuild
1503 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/which unbuild
1504 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/js-yaml unbuild
1505 http 304 https://registry.npmjs.org/with
1506 silly registry.get cb [ 304,
1506 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1506 silly registry.get etag: '"4OYWPR4EN92D61KPZ2V9K90MI"',
1506 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1506 silly registry.get 'content-length': '0' } ]
1507 verbose etag with from cache
1508 http 304 https://registry.npmjs.org/constantinople
1509 silly registry.get cb [ 304,
1509 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1509 silly registry.get etag: '"3XF7YOIP3KNUE93JYHF0M6J91"',
1509 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1509 silly registry.get 'content-length': '0' } ]
1510 verbose etag constantinople from cache
1511 verbose tar unpack /Users/nwittstock/.npm/async/0.1.22/package.tgz
1512 silly lockFile 0d4d37f7-modules-grunt-node-modules-async tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/async
1513 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/async /Users/nwittstock/.npm/0d4d37f7-modules-grunt-node-modules-async.lock
1514 silly lockFile ad199add-ock-npm-async-0-1-22-package-tgz tar:///Users/nwittstock/.npm/async/0.1.22/package.tgz
1515 verbose lock tar:///Users/nwittstock/.npm/async/0.1.22/package.tgz /Users/nwittstock/.npm/ad199add-ock-npm-async-0-1-22-package-tgz.lock
1516 verbose tar unpack /Users/nwittstock/.npm/coffee-script/1.3.3/package.tgz
1517 silly lockFile 0effde27-grunt-node-modules-coffee-script tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/coffee-script
1518 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/coffee-script /Users/nwittstock/.npm/0effde27-grunt-node-modules-coffee-script.lock
1519 silly lockFile 3ab25cbb--coffee-script-1-3-3-package-tgz tar:///Users/nwittstock/.npm/coffee-script/1.3.3/package.tgz
1520 verbose lock tar:///Users/nwittstock/.npm/coffee-script/1.3.3/package.tgz /Users/nwittstock/.npm/3ab25cbb--coffee-script-1-3-3-package-tgz.lock
1521 verbose tar unpack /Users/nwittstock/.npm/dateformat/1.0.2-1.2.3/package.tgz
1522 silly lockFile f5d5a509-es-grunt-node-modules-dateformat tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/dateformat
1523 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/dateformat /Users/nwittstock/.npm/f5d5a509-es-grunt-node-modules-dateformat.lock
1524 silly lockFile bdf399be-teformat-1-0-2-1-2-3-package-tgz tar:///Users/nwittstock/.npm/dateformat/1.0.2-1.2.3/package.tgz
1525 verbose lock tar:///Users/nwittstock/.npm/dateformat/1.0.2-1.2.3/package.tgz /Users/nwittstock/.npm/bdf399be-teformat-1-0-2-1-2-3-package-tgz.lock
1526 verbose tar unpack /Users/nwittstock/.npm/colors/0.6.2/package.tgz
1527 silly lockFile d45bd411-odules-grunt-node-modules-colors tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/colors
1528 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/colors /Users/nwittstock/.npm/d45bd411-odules-grunt-node-modules-colors.lock
1529 silly lockFile 96eb6cca-ock-npm-colors-0-6-2-package-tgz tar:///Users/nwittstock/.npm/colors/0.6.2/package.tgz
1530 verbose lock tar:///Users/nwittstock/.npm/colors/0.6.2/package.tgz /Users/nwittstock/.npm/96eb6cca-ock-npm-colors-0-6-2-package-tgz.lock
1531 verbose tar unpack /Users/nwittstock/.npm/eventemitter2/0.4.13/package.tgz
1532 silly lockFile 4d41189e-grunt-node-modules-eventemitter2 tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/eventemitter2
1533 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/eventemitter2 /Users/nwittstock/.npm/4d41189e-grunt-node-modules-eventemitter2.lock
1534 silly lockFile b86d391c-eventemitter2-0-4-13-package-tgz tar:///Users/nwittstock/.npm/eventemitter2/0.4.13/package.tgz
1535 verbose lock tar:///Users/nwittstock/.npm/eventemitter2/0.4.13/package.tgz /Users/nwittstock/.npm/b86d391c-eventemitter2-0-4-13-package-tgz.lock
1536 verbose tar unpack /Users/nwittstock/.npm/findup-sync/0.1.2/package.tgz
1537 silly lockFile f143c717-s-grunt-node-modules-findup-sync tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync
1538 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync /Users/nwittstock/.npm/f143c717-s-grunt-node-modules-findup-sync.lock
1539 silly lockFile 942cd48d-pm-findup-sync-0-1-2-package-tgz tar:///Users/nwittstock/.npm/findup-sync/0.1.2/package.tgz
1540 verbose lock tar:///Users/nwittstock/.npm/findup-sync/0.1.2/package.tgz /Users/nwittstock/.npm/942cd48d-pm-findup-sync-0-1-2-package-tgz.lock
1541 verbose tar unpack /Users/nwittstock/.npm/hooker/0.2.3/package.tgz
1542 silly lockFile c653e0cd-odules-grunt-node-modules-hooker tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/hooker
1543 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/hooker /Users/nwittstock/.npm/c653e0cd-odules-grunt-node-modules-hooker.lock
1544 silly lockFile 65e4826f-ock-npm-hooker-0-2-3-package-tgz tar:///Users/nwittstock/.npm/hooker/0.2.3/package.tgz
1545 verbose lock tar:///Users/nwittstock/.npm/hooker/0.2.3/package.tgz /Users/nwittstock/.npm/65e4826f-ock-npm-hooker-0-2-3-package-tgz.lock
1546 verbose tar unpack /Users/nwittstock/.npm/glob/3.1.21/package.tgz
1547 silly lockFile 8e73e646--modules-grunt-node-modules-glob tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/glob
1548 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/glob /Users/nwittstock/.npm/8e73e646--modules-grunt-node-modules-glob.lock
1549 silly lockFile 3e3d9280-tock-npm-glob-3-1-21-package-tgz tar:///Users/nwittstock/.npm/glob/3.1.21/package.tgz
1550 verbose lock tar:///Users/nwittstock/.npm/glob/3.1.21/package.tgz /Users/nwittstock/.npm/3e3d9280-tock-npm-glob-3-1-21-package-tgz.lock
1551 verbose tar unpack /Users/nwittstock/.npm/iconv-lite/0.2.11/package.tgz
1552 silly lockFile b6fd4706-es-grunt-node-modules-iconv-lite tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/iconv-lite
1553 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/iconv-lite /Users/nwittstock/.npm/b6fd4706-es-grunt-node-modules-iconv-lite.lock
1554 silly lockFile e37ee763-pm-iconv-lite-0-2-11-package-tgz tar:///Users/nwittstock/.npm/iconv-lite/0.2.11/package.tgz
1555 verbose lock tar:///Users/nwittstock/.npm/iconv-lite/0.2.11/package.tgz /Users/nwittstock/.npm/e37ee763-pm-iconv-lite-0-2-11-package-tgz.lock
1556 verbose tar unpack /Users/nwittstock/.npm/nopt/1.0.10/package.tgz
1557 silly lockFile 63e56fc3--modules-grunt-node-modules-nopt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/nopt
1558 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/nopt /Users/nwittstock/.npm/63e56fc3--modules-grunt-node-modules-nopt.lock
1559 silly lockFile 8b0da9f9-tock-npm-nopt-1-0-10-package-tgz tar:///Users/nwittstock/.npm/nopt/1.0.10/package.tgz
1560 verbose lock tar:///Users/nwittstock/.npm/nopt/1.0.10/package.tgz /Users/nwittstock/.npm/8b0da9f9-tock-npm-nopt-1-0-10-package-tgz.lock
1561 verbose tar unpack /Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
1562 silly lockFile 0804c61f-les-grunt-node-modules-minimatch tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/minimatch
1563 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/minimatch /Users/nwittstock/.npm/0804c61f-les-grunt-node-modules-minimatch.lock
1564 silly lockFile 24cad475-npm-minimatch-0-2-12-package-tgz tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
1565 verbose lock tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz /Users/nwittstock/.npm/24cad475-npm-minimatch-0-2-12-package-tgz.lock
1566 verbose tar unpack /Users/nwittstock/.npm/rimraf/2.0.3/package.tgz
1567 silly lockFile 38e0eea1-odules-grunt-node-modules-rimraf tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/rimraf
1568 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/rimraf /Users/nwittstock/.npm/38e0eea1-odules-grunt-node-modules-rimraf.lock
1569 silly lockFile 233ab9cb-ock-npm-rimraf-2-0-3-package-tgz tar:///Users/nwittstock/.npm/rimraf/2.0.3/package.tgz
1570 verbose lock tar:///Users/nwittstock/.npm/rimraf/2.0.3/package.tgz /Users/nwittstock/.npm/233ab9cb-ock-npm-rimraf-2-0-3-package-tgz.lock
1571 verbose tar unpack /Users/nwittstock/.npm/underscore.string/2.2.1/package.tgz
1572 silly lockFile 4ab1243a-t-node-modules-underscore-string tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/underscore.string
1573 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/underscore.string /Users/nwittstock/.npm/4ab1243a-t-node-modules-underscore-string.lock
1574 silly lockFile 1dba8851-erscore-string-2-2-1-package-tgz tar:///Users/nwittstock/.npm/underscore.string/2.2.1/package.tgz
1575 verbose lock tar:///Users/nwittstock/.npm/underscore.string/2.2.1/package.tgz /Users/nwittstock/.npm/1dba8851-erscore-string-2-2-1-package-tgz.lock
1576 verbose tar unpack /Users/nwittstock/.npm/lodash/0.9.2/package.tgz
1577 silly lockFile 71d0333c-odules-grunt-node-modules-lodash tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/lodash
1578 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/lodash /Users/nwittstock/.npm/71d0333c-odules-grunt-node-modules-lodash.lock
1579 silly lockFile 08581ba8-ock-npm-lodash-0-9-2-package-tgz tar:///Users/nwittstock/.npm/lodash/0.9.2/package.tgz
1580 verbose lock tar:///Users/nwittstock/.npm/lodash/0.9.2/package.tgz /Users/nwittstock/.npm/08581ba8-ock-npm-lodash-0-9-2-package-tgz.lock
1581 verbose tar unpack /Users/nwittstock/.npm/which/1.0.5/package.tgz
1582 silly lockFile 97cc376c-modules-grunt-node-modules-which tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/which
1583 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/which /Users/nwittstock/.npm/97cc376c-modules-grunt-node-modules-which.lock
1584 silly lockFile b2398581-tock-npm-which-1-0-5-package-tgz tar:///Users/nwittstock/.npm/which/1.0.5/package.tgz
1585 verbose lock tar:///Users/nwittstock/.npm/which/1.0.5/package.tgz /Users/nwittstock/.npm/b2398581-tock-npm-which-1-0-5-package-tgz.lock
1586 verbose tar unpack /Users/nwittstock/.npm/js-yaml/2.0.5/package.tgz
1587 silly lockFile 98ffe280-dules-grunt-node-modules-js-yaml tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/js-yaml
1588 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/js-yaml /Users/nwittstock/.npm/98ffe280-dules-grunt-node-modules-js-yaml.lock
1589 silly lockFile 1ef74ad0-ck-npm-js-yaml-2-0-5-package-tgz tar:///Users/nwittstock/.npm/js-yaml/2.0.5/package.tgz
1590 verbose lock tar:///Users/nwittstock/.npm/js-yaml/2.0.5/package.tgz /Users/nwittstock/.npm/1ef74ad0-ck-npm-js-yaml-2-0-5-package-tgz.lock
1591 silly gunzTarPerm modes [ '755', '644' ]
1592 silly gunzTarPerm modes [ '755', '644' ]
1593 silly gunzTarPerm modes [ '755', '644' ]
1594 silly gunzTarPerm modes [ '755', '644' ]
1595 silly gunzTarPerm modes [ '755', '644' ]
1596 silly gunzTarPerm modes [ '755', '644' ]
1597 silly gunzTarPerm modes [ '755', '644' ]
1598 silly gunzTarPerm modes [ '755', '644' ]
1599 silly gunzTarPerm modes [ '755', '644' ]
1600 silly gunzTarPerm modes [ '755', '644' ]
1601 silly addNameRange number 2 { name: 'with', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
1602 silly addNameRange versions [ 'with',
1602 silly addNameRange [ '1.0.0',
1602 silly addNameRange '1.0.1',
1602 silly addNameRange '1.0.2',
1602 silly addNameRange '1.0.3',
1602 silly addNameRange '1.0.4',
1602 silly addNameRange '1.1.0',
1602 silly addNameRange '1.1.1',
1602 silly addNameRange '2.0.0' ] ]
1603 verbose addNamed [ 'with', '1.1.1' ]
1604 verbose addNamed [ '1.1.1', '1.1.1' ]
1605 silly lockFile c8238717-with-1-1-1 with@1.1.1
1606 verbose lock with@1.1.1 /Users/nwittstock/.npm/c8238717-with-1-1-1.lock
1607 silly lockFile ae738bf0-character-parser-1-2-0 character-parser@1.2.0
1608 silly lockFile ae738bf0-character-parser-1-2-0 character-parser@1.2.0
1609 silly addNameRange number 2 { name: 'constantinople',
1609 silly addNameRange range: '>=1.0.1-0 <1.1.0-0',
1609 silly addNameRange hasData: true }
1610 silly addNameRange versions [ 'constantinople', [ '1.0.0', '1.0.1', '1.0.2' ] ]
1611 verbose addNamed [ 'constantinople', '1.0.2' ]
1612 verbose addNamed [ '1.0.2', '1.0.2' ]
1613 silly lockFile 645ccb88-constantinople-1-0-2 constantinople@1.0.2
1614 verbose lock constantinople@1.0.2 /Users/nwittstock/.npm/645ccb88-constantinople-1-0-2.lock
1615 silly gunzTarPerm extractEntry package.json
1616 silly gunzTarPerm extractEntry package.json
1617 silly gunzTarPerm extractEntry package.json
1618 silly gunzTarPerm extractEntry package.json
1619 silly gunzTarPerm extractEntry package.json
1620 silly gunzTarPerm extractEntry package.json
1621 silly gunzTarPerm extractEntry package.json
1622 silly gunzTarPerm extractEntry package.json
1623 silly gunzTarPerm extractEntry package.json
1624 silly gunzTarPerm extractEntry package.json
1625 silly lockFile 5fe52b64-monocle-1-1-50 monocle@1.1.50
1626 silly lockFile 5fe52b64-monocle-1-1-50 monocle@1.1.50
1627 silly lockFile 8f87aaee-transformers-2-1-0 transformers@2.1.0
1628 silly lockFile 8f87aaee-transformers-2-1-0 transformers@2.1.0
1629 http 304 https://registry.npmjs.org/bufferstream
1630 silly registry.get cb [ 304,
1630 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1630 silly registry.get etag: '"DNHNFJ46Z94H0BJUM4ZSUP1DE"',
1630 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1630 silly registry.get 'content-length': '0' } ]
1631 verbose etag bufferstream from cache
1632 http 304 https://registry.npmjs.org/lodash
1633 silly registry.get cb [ 304,
1633 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1633 silly registry.get etag: '"3JTW41ZR83LOYS4T2080L6REC"',
1633 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1633 silly registry.get 'content-length': '0' } ]
1634 verbose etag lodash from cache
1635 http 304 https://registry.npmjs.org/ncp
1636 silly registry.get cb [ 304,
1636 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1636 silly registry.get etag: '"ATS9XSOJIH1FYJKRVWQHX9UNW"',
1636 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1636 silly registry.get 'content-length': '0' } ]
1637 verbose etag ncp from cache
1638 silly gunzTarPerm extractEntry .npmignore
1639 silly gunzTarPerm extractEntry README.md
1640 silly gunzTarPerm extractEntry Readme.md
1641 silly gunzTarPerm extractEntry lib/dateformat.js
1642 silly gunzTarPerm extractEntry colors.js
1643 silly gunzTarPerm extractEntry example.js
1644 silly gunzTarPerm extractEntry README.md
1645 silly gunzTarPerm extractEntry index.js
1646 silly gunzTarPerm extractEntry .npmignore
1647 silly gunzTarPerm extractEntry README.md
1648 silly gunzTarPerm extractEntry .npmignore
1649 silly gunzTarPerm extractEntry README.md
1650 silly gunzTarPerm extractEntry README.md
1651 silly gunzTarPerm extractEntry child.js
1652 silly gunzTarPerm extractEntry README.md
1653 silly gunzTarPerm extractEntry LICENSE
1654 silly gunzTarPerm extractEntry README.md
1655 silly gunzTarPerm extractEntry LICENSE
1656 silly gunzTarPerm extractEntry README.md
1657 silly gunzTarPerm extractEntry LICENSE
1658 http 304 https://registry.npmjs.org/jsonfile
1659 silly registry.get cb [ 304,
1659 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
1659 silly registry.get etag: '"CWKMPCL32ZC6RPY52T4F62VUQ"',
1659 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
1659 silly registry.get 'content-length': '0' } ]
1660 verbose etag jsonfile from cache
1661 silly addNameRange number 2 { name: 'bufferstream', range: '>=0.5.1', hasData: true }
1662 silly addNameRange versions [ 'bufferstream',
1662 silly addNameRange [ '0.0.2',
1662 silly addNameRange '0.0.3',
1662 silly addNameRange '0.1.0',
1662 silly addNameRange '0.1.1',
1662 silly addNameRange '0.1.2',
1662 silly addNameRange '0.1.2-1',
1662 silly addNameRange '0.1.2-2',
1662 silly addNameRange '0.1.2-3',
1662 silly addNameRange '0.1.2-4',
1662 silly addNameRange '0.1.2-5',
1662 silly addNameRange '0.1.2-6',
1662 silly addNameRange '0.1.3',
1662 silly addNameRange '0.1.4',
1662 silly addNameRange '0.1.5',
1662 silly addNameRange '0.1.6',
1662 silly addNameRange '0.2.0',
1662 silly addNameRange '0.3.0',
1662 silly addNameRange '0.4.0',
1662 silly addNameRange '0.4.1',
1662 silly addNameRange '0.4.2',
1662 silly addNameRange '0.4.3',
1662 silly addNameRange '0.4.4',
1662 silly addNameRange '0.4.5',
1662 silly addNameRange '0.4.6',
1662 silly addNameRange '0.4.7',
1662 silly addNameRange '0.4.8',
1662 silly addNameRange '0.4.9',
1662 silly addNameRange '0.4.10',
1662 silly addNameRange '0.5.0-pre',
1662 silly addNameRange '0.5.0-pre2',
1662 silly addNameRange '0.5.0',
1662 silly addNameRange '0.5.1',
1662 silly addNameRange '0.5.2',
1662 silly addNameRange '0.6.0' ] ]
1663 verbose addNamed [ 'bufferstream', '0.6.0' ]
1664 verbose addNamed [ '0.6.0', '0.6.0' ]
1665 silly lockFile 54a6a24f-bufferstream-0-6-0 bufferstream@0.6.0
1666 verbose lock bufferstream@0.6.0 /Users/nwittstock/.npm/54a6a24f-bufferstream-0-6-0.lock
1667 silly addNameRange number 2 { name: 'lodash', range: '>=2.1.0-0 <2.2.0-0', hasData: true }
1668 silly addNameRange versions [ 'lodash',
1668 silly addNameRange [ '0.1.0',
1668 silly addNameRange '0.2.0',
1668 silly addNameRange '0.2.1',
1668 silly addNameRange '0.2.2',
1668 silly addNameRange '0.3.0',
1668 silly addNameRange '0.3.1',
1668 silly addNameRange '0.3.2',
1668 silly addNameRange '0.4.0',
1668 silly addNameRange '0.4.1',
1668 silly addNameRange '0.4.2',
1668 silly addNameRange '0.5.0-rc.1',
1668 silly addNameRange '0.5.0',
1668 silly addNameRange '0.5.1',
1668 silly addNameRange '0.5.2',
1668 silly addNameRange '0.6.0',
1668 silly addNameRange '0.6.1',
1668 silly addNameRange '0.7.0',
1668 silly addNameRange '0.8.0',
1668 silly addNameRange '0.8.1',
1668 silly addNameRange '0.8.2',
1668 silly addNameRange '0.9.0',
1668 silly addNameRange '0.9.1',
1668 silly addNameRange '0.9.2',
1668 silly addNameRange '0.10.0',
1668 silly addNameRange '1.0.0-rc.1',
1668 silly addNameRange '1.0.0-rc.2',
1668 silly addNameRange '1.0.0-rc.3',
1668 silly addNameRange '1.0.0',
1668 silly addNameRange '1.0.1',
1668 silly addNameRange '1.1.0',
1668 silly addNameRange '1.1.1',
1668 silly addNameRange '1.2.0',
1668 silly addNameRange '1.2.1',
1668 silly addNameRange '1.3.0',
1668 silly addNameRange '1.3.1',
1668 silly addNameRange '2.0.0',
1668 silly addNameRange '2.1.0',
1668 silly addNameRange '2.2.0',
1668 silly addNameRange '2.2.1' ] ]
1669 verbose addNamed [ 'lodash', '2.1.0' ]
1670 verbose addNamed [ '2.1.0', '2.1.0' ]
1671 silly lockFile 3e1bc879-lodash-2-1-0 lodash@2.1.0
1672 verbose lock lodash@2.1.0 /Users/nwittstock/.npm/3e1bc879-lodash-2-1-0.lock
1673 silly addNameRange number 2 { name: 'ncp', range: '>=0.4.2-0 <0.5.0-0', hasData: true }
1674 silly addNameRange versions [ 'ncp',
1674 silly addNameRange [ '0.0.0',
1674 silly addNameRange '0.0.1',
1674 silly addNameRange '0.0.2',
1674 silly addNameRange '0.1.0',
1674 silly addNameRange '0.1.1',
1674 silly addNameRange '0.1.2',
1674 silly addNameRange '0.2.0',
1674 silly addNameRange '0.2.1',
1674 silly addNameRange '0.2.2',
1674 silly addNameRange '0.2.3',
1674 silly addNameRange '0.2.4',
1674 silly addNameRange '0.2.5',
1674 silly addNameRange '0.2.6',
1674 silly addNameRange '0.3.0',
1674 silly addNameRange '0.4.0',
1674 silly addNameRange '0.2.7',
1674 silly addNameRange '0.4.1',
1674 silly addNameRange '0.4.2' ] ]
1675 verbose addNamed [ 'ncp', '0.4.2' ]
1676 verbose addNamed [ '0.4.2', '0.4.2' ]
1677 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
1678 verbose lock ncp@0.4.2 /Users/nwittstock/.npm/e43cb36a-ncp-0-4-2.lock
1679 silly lockFile c8238717-with-1-1-1 with@1.1.1
1680 silly lockFile c8238717-with-1-1-1 with@1.1.1
1681 silly lockFile 645ccb88-constantinople-1-0-2 constantinople@1.0.2
1682 silly lockFile 645ccb88-constantinople-1-0-2 constantinople@1.0.2
1683 silly lockFile ef0c4388-with-1-1-0 with@~1.1.0
1684 silly lockFile ef0c4388-with-1-1-0 with@~1.1.0
1685 silly lockFile 0f56561f-constantinople-1-0-1 constantinople@~1.0.1
1686 silly lockFile 0f56561f-constantinople-1-0-1 constantinople@~1.0.1
1687 silly gunzTarPerm extractEntry test.js
1688 silly gunzTarPerm extractEntry MIT-LICENSE.txt
1689 silly gunzTarPerm extractEntry ReadMe.md
1690 silly gunzTarPerm extractEntry example.html
1691 silly gunzTarPerm extractEntry themes/winston-dark.js
1692 silly gunzTarPerm extractEntry themes/winston-light.js
1693 silly gunzTarPerm extractEntry test/test_weekofyear.js
1694 silly gunzTarPerm extractEntry test/test_weekofyear.sh
1695 silly gunzTarPerm extractEntry LICENSE
1696 silly gunzTarPerm extractEntry LICENSE
1697 silly gunzTarPerm extractEntry bin/nopt.js
1698 silly gunzTarPerm extractEntry rimraf.js
1699 silly gunzTarPerm extractEntry AUTHORS
1700 silly addNameRange number 2 { name: 'jsonfile', range: '>=0.0.0-0 <0.1.0-0', hasData: true }
1701 silly addNameRange versions [ 'jsonfile', [ '0.0.1', '1.0.0', '1.0.1', '1.1.0' ] ]
1702 verbose addNamed [ 'jsonfile', '0.0.1' ]
1703 verbose addNamed [ '0.0.1', '0.0.1' ]
1704 silly lockFile d05b06b6-jsonfile-0-0-1 jsonfile@0.0.1
1705 verbose lock jsonfile@0.0.1 /Users/nwittstock/.npm/d05b06b6-jsonfile-0-0-1.lock
1706 silly gunzTarPerm extractEntry which.js
1707 silly gunzTarPerm extractEntry bin/which
1708 silly resolved [ { name: 'commander',
1708 silly resolved version: '2.0.0',
1708 silly resolved description: 'the complete solution for node.js command-line programs',
1708 silly resolved keywords: [ 'command', 'option', 'parser', 'prompt', 'stdin' ],
1708 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
1708 silly resolved repository:
1708 silly resolved { type: 'git',
1708 silly resolved url: 'https://github.com/visionmedia/commander.js.git' },
1708 silly resolved devDependencies: { should: '>= 0.0.1' },
1708 silly resolved scripts: { test: 'make test' },
1708 silly resolved main: 'index',
1708 silly resolved engines: { node: '>= 0.6.x' },
1708 silly resolved readme: '# Commander.js\n\n The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby\'s [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'commander\');\n\nprogram\n .version(\'0.0.1\')\n .option(\'-p, --peppers\', \'Add peppers\')\n .option(\'-P, --pineapple\', \'Add pineapple\')\n .option(\'-b, --bbq\', \'Add bbq sauce\')\n .option(\'-c, --cheese [type]\', \'Add the specified type of cheese [marble]\', \'marble\')\n .parse(process.argv);\n\nconsole.log(\'you ordered a pizza with:\');\nif (program.peppers) console.log(\' - peppers\');\nif (program.pineapple) console.log(\' - pineapple\');\nif (program.bbq) console.log(\' - bbq\');\nconsole.log(\' - %s cheese\', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n``` \n $ ./examples/pizza --help\n\n Usage: pizza [options]\n\n Options:\n\n -V, --version output the version number\n -p, --peppers Add peppers\n -P, --pineapple Add pineapple\n -b, --bbq Add bbq sauce\n -c, --cheese <type> Add the specified type of cheese [marble]\n -h, --help output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n return val.split(\'..\').map(Number);\n}\n\nfunction list(val) {\n return val.split(\',\');\n}\n\nprogram\n .version(\'0.0.1\')\n .usage(\'[options] <file ...>\')\n .option(\'-i, --integer <n>\', \'An integer argument\', parseInt)\n .option(\'-f, --float <n>\', \'A float argument\', parseFloat)\n .option(\'-r, --range <a>..<b>\', \'A range\', range)\n .option(\'-l, --list <items>\', \'A list\', list)\n .option(\'-o, --optional [value]\', \'An optional value\')\n .parse(process.argv);\n\nconsole.log(\' int: %j\', program.integer);\nconsole.log(\' float: %j\', program.float);\nconsole.log(\' optional: %j\', program.optional);\nprogram.range = program.range || [];\nconsole.log(\' range: %j..%j\', program.range[0], program.range[1]);\nconsole.log(\' list: %j\', program.list);\nconsole.log(\' args: %j\', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for "--help". Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable "stuff" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require(\'../\');\n\nfunction list(val) {\n return val.split(\',\').map(Number);\n}\n\nprogram\n .version(\'0.0.1\')\n .option(\'-f, --foo\', \'enable some foo\')\n .option(\'-b, --bar\', \'enable some bar\')\n .option(\'-B, --baz\', \'enable some baz\');\n\n// must be before .parse() since\n// node\'s emit() is immediate\n\nprogram.on(\'--help\', function(){\n console.log(\' Examples:\');\n console.log(\'\');\n console.log(\' $ custom-help --help\');\n console.log(\' $ custom-help -h\');\n console.log(\'\');\n});\n\nprogram.parse(process.argv);\n\nconsole.log(\'stuff\');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n -h, --help output usage information\n -V, --version output the version number\n -f, --foo enable some foo\n -b, --bar enable some bar\n -B, --baz enable some baz\n\nExamples:\n\n $ custom-help --help\n $ custom-help -h\n\n```\n\n## .outputHelp()\n\n Output help information without exiting.\n\n## .help()\n\n Output help information and exit immediately.\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
1708 silly resolved readmeFilename: 'Readme.md',
1708 silly resolved bugs: { url: 'https://github.com/visionmedia/commander.js/issues' },
1708 silly resolved _id: 'commander@2.0.0',
1708 silly resolved _from: 'commander@2.0.0' },
1708 silly resolved { name: 'mkdirp',
1708 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
1708 silly resolved version: '0.3.5',
1708 silly resolved author:
1708 silly resolved { name: 'James Halliday',
1708 silly resolved email: 'mail@substack.net',
1708 silly resolved url: 'http://substack.net' },
1708 silly resolved main: './index',
1708 silly resolved keywords: [ 'mkdir', 'directory' ],
1708 silly resolved repository:
1708 silly resolved { type: 'git',
1708 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
1708 silly resolved scripts: { test: 'tap test/*.js' },
1708 silly resolved devDependencies: { tap: '~0.4.0' },
1708 silly resolved license: 'MIT',
1708 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',
1708 silly resolved readmeFilename: 'readme.markdown',
1708 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
1708 silly resolved _id: 'mkdirp@0.3.5',
1708 silly resolved _from: 'mkdirp@0.3.x' },
1708 silly resolved { name: 'character-parser',
1708 silly resolved version: '1.2.0',
1708 silly resolved description: 'Parse JavaScript one character at a time to look for snippets in Templates. This is not a validator, it\'s just designed to allow you to have sections of JavaScript delimited by brackets robustly.',
1708 silly resolved main: 'index.js',
1708 silly resolved scripts: { test: 'mocha -R spec' },
1708 silly resolved repository:
1708 silly resolved { type: 'git',
1708 silly resolved url: 'https://github.com/ForbesLindesay/character-parser.git' },
1708 silly resolved keywords:
1708 silly resolved [ 'parser',
1708 silly resolved 'JavaScript',
1708 silly resolved 'bracket',
1708 silly resolved 'nesting',
1708 silly resolved 'comment',
1708 silly resolved 'string',
1708 silly resolved 'escape',
1708 silly resolved 'escaping' ],
1708 silly resolved author: { name: 'ForbesLindesay' },
1708 silly resolved license: 'MIT',
1708 silly resolved devDependencies: { 'better-assert': '~1.0.0', mocha: '~1.9.0' },
1708 silly resolved readme: '# character-parser\r\n\r\nParse JavaScript one character at a time to look for snippets in Templates. This is not a validator, it\'s just designed to allow you to have sections of JavaScript delimited by brackets robustly.\r\n\r\n[![Build Status](https://travis-ci.org/ForbesLindesay/character-parser.png?branch=master)](https://travis-ci.org/ForbesLindesay/character-parser)\r\n\r\n## Installation\r\n\r\n npm install character-parser\r\n\r\n## Usage\r\n\r\nWork out how much depth changes:\r\n\r\n```js\r\nvar state = parse(\'foo(arg1, arg2, {\\n foo: [a, b\\n\');\r\nassert(state.roundDepth === 1);\r\nassert(state.curlyDepth === 1);\r\nassert(state.squareDepth === 1);\r\nparse(\' c, d]\\n })\', state);\r\nassert(state.squareDepth === 0);\r\nassert(state.curlyDepth === 0);\r\nassert(state.roundDepth === 0);\r\n```\r\n\r\n### Bracketed Expressions\r\n\r\nFind all the contents of a bracketed expression:\r\n\r\n```js\r\nvar section = parser.parseMax(\'foo="(", bar="}") bing bong\');\r\nassert(section.start === 0);\r\nassert(section.end === 16);//exclusive end of string\r\nassert(section.src = \'foo="(", bar="}"\');\r\n\r\n\r\nvar section = parser.parseMax(\'{foo="(", bar="}"} bing bong\', {start: 1});\r\nassert(section.start === 1);\r\nassert(section.end === 17);//exclusive end of string\r\nassert(section.src = \'foo="(", bar="}"\');\r\n```\r\n\r\nThe bracketed expression parsing simply parses up to but excluding the first unmatched closed bracket (`)`, `}`, `]`). It is clever enough to ignore brackets in comments or strings.\r\n\r\n\r\n### Custom Delimited Expressions\r\n\r\nFind code up to a custom delimiter:\r\n\r\n```js\r\nvar section = parser.parseUntil(\'foo.bar("%>").baz%> bing bong\', \'%>\');\r\nassert(section.start === 0);\r\nassert(section.end === 17);//exclusive end of string\r\nassert(section.src = \'foo.bar("%>").baz\');\r\n\r\nvar section = parser.parseUntil(\'<%foo.bar("%>").baz%> bing bong\', \'%>\', {start: 2});\r\nassert(section.start === 2);\r\nassert(section.end === 19);//exclusive end of string\r\nassert(section.src = \'foo.bar("%>").baz\');\r\n```\r\n\r\nDelimiters are ignored if they are inside strings or comments.\r\n\r\n## API\r\n\r\n### parse(str, state = defaultState(), options = {start: 0, end: src.length})\r\n\r\nParse a string starting at the index start, and return the state after parsing that string.\r\n\r\nIf you want to parse one string in multiple sections you should keep passing the resulting state to the next parse operation.\r\n\r\nReturns a `State` object.\r\n\r\n### parseMax(src, options = {start: 0})\r\n\r\nParses the source until the first unmatched close bracket (any of `)`, `}`, `]`). It returns an object with the structure:\r\n\r\n```js\r\n{\r\n start: 0,//index of first character of string\r\n end: 13,//index of first character after the end of string\r\n src: \'source string\'\r\n}\r\n```\r\n\r\n### parseUntil(src, delimiter, options = {start: 0, includeLineComment: false})\r\n\r\nParses the source until the first occurence of `delimiter` which is not in a string or a comment. If `includeLineComment` is `true`, it will still count if the delimiter occurs in a line comment, but not in a block comment. It returns an object with the structure:\r\n\r\n```js\r\n{\r\n start: 0,//index of first character of string\r\n end: 13,//index of first character after the end of string\r\n src: \'source string\'\r\n}\r\n```\r\n\r\n### parseChar(character, state = defaultState())\r\n\r\nParses the single character and returns the state. See `parse` for the structure of the returned state object. N.B. character must be a single character not a multi character string.\r\n\r\n### defaultState()\r\n\r\nGet a default starting state.\r\n\r\n### isPunctuator(character)\r\n\r\nReturns `true` if `character` represents punctuation in JavaScript.\r\n\r\n### isKeyword(name)\r\n\r\nReturns `true` if `name` is a keyword in JavaScript.\r\n\r\n## State\r\n\r\nA state is an object with the following structure\r\n\r\n```js\r\n{\r\n lineComment: false, //true if inside a line comment\r\n blockComment: false, //true if inside a block comment\r\n\r\n singleQuote: false, //true if inside a single quoted string\r\n doubleQuote: false, //true if inside a double quoted string\r\n regexp: false, //true if inside a regular expression\r\n escaped: false, //true if in a string and the last character was an escape character\r\n\r\n roundDepth: 0, //number of un-closed open `(` brackets\r\n curlyDepth: 0, //number of un-closed open `{` brackets\r\n squareDepth: 0 //number of un-closed open `[` brackets\r\n}\r\n```\r\n\r\nIt also has the following useful methods:\r\n\r\n- `.isString()` returns `true` if the current location is inside a string.\r\n- `.isComment()` returns `true` if the current location is inside a comment.\r\n- `isNesting()` returns `true` if the current location is anything but at the top level, i.e. with no nesting.\r\n\r\n## License\r\n\r\nMIT',
1708 silly resolved readmeFilename: 'README.md',
1708 silly resolved bugs: { url: 'https://github.com/ForbesLindesay/character-parser/issues' },
1708 silly resolved _id: 'character-parser@1.2.0',
1708 silly resolved _from: 'character-parser@1.2.0' },
1708 silly resolved { name: 'monocle',
1708 silly resolved version: '1.1.50',
1708 silly resolved description: 'a tool for watching directories for file changes',
1708 silly resolved main: 'monocle.js',
1708 silly resolved directories: { test: 'test' },
1708 silly resolved dependencies: { readdirp: '~0.2.3' },
1708 silly resolved devDependencies: { mocha: '1.8.1' },
1708 silly resolved scripts: { test: 'mocha test -R spec -t 5000' },
1708 silly resolved repository: { type: 'git', url: 'https://github.com/samccone/monocle.git' },
1708 silly resolved bugs: { url: 'https://github.com/samccone/monocle/issues' },
1708 silly resolved keywords: [ 'watch', 'filesystem', 'folders', 'fs' ],
1708 silly resolved author: { name: 'Sam Saccone' },
1708 silly resolved license: 'BSD',
1708 silly resolved readme: '[![Build Status](https://travis-ci.org/samccone/monocle.png?branch=master)](https://travis-ci.org/samccone/monocle)\n\n# Monocle -- a tool for watching things\n\n[![logo](https://raw.github.com/samccone/monocle/master/logo.png)](https://raw.github.com/samccone/monocle/master/logo.png)\n\nHave you ever wanted to watch a folder and all of its files/nested folders for changes. well now you can!\n\n## Installation\n\n```\nnpm install monocle\n```\n\n## Usage\n\n### Watch a directory:\n\n```js\nvar monocle = require(\'monocle\')()\nmonocle.watchDirectory({\n root: <root directory>,\n fileFilter: <optional>,\n directoryFilter: <optional>,\n listener: fn(fs.stat+ object), //triggered on file change / addition\n complete: <fn> //file watching all set up\n});\n```\n\nThe listener will recive an object with the following\n\n```js\n name: <filename>,\n path: <filepath-relative>,\n fullPath: <filepath-absolute>,\n parentDir: <parentDir-relative>,\n fullParentDir: <parentDir-absolute>,\n stat: <see fs.stats>\n```\n\n[fs.stats](http://nodejs.org/api/fs.html#fs_class_fs_stats)\n\nWhen a new file is added to the directoy it triggers a file change and thus will be passed to your specified listener.\n\nThe two filters are passed through to `readdirp`. More documentation can be found [here](https://github.com/thlorenz/readdirp#filters)\n\n### Watch a list of files:\n\n```js\nMonocle.watchFiles({\n files: [], //path of file(s)\n listener: <fn(fs.stat+ object)>, //triggered on file / addition\n complete: <fn> //file watching all set up\n});\n```\n\n### Just watch path\n\nJust an alias of `watchFiles` and `watchDirectory` so you don\'t need to tell if that\'s a file or a directory by yourself. Parameter passed to `path` can be a `string` or a `array` of `string`.\n\n```js\nMonocle.watchPaths({\n path: [], //list of paths, or a string of path\n fileFilter: <optional>, // `*.js` for example\n listener: <fn(fs.stat+ object)>, //triggered on file / addition\n complete: <fn> //file watching all set up\n});\n```\n\n## Why not just use fs.watch ?\n\n - file watching is really bad cross platforms in node\n - you need to be smart when using fs.watch as compared to fs.watchFile\n - Monocle takes care of this logic for you!\n - windows systems use fs.watch\n - osx and linux uses fs.watchFile\n\n## License\n\nBSD\n',
1708 silly resolved readmeFilename: 'README.md',
1708 silly resolved _id: 'monocle@1.1.50',
1708 silly resolved _from: 'monocle@1.1.50' },
1708 silly resolved { name: 'transformers',
1708 silly resolved version: '2.1.0',
1708 silly resolved description: 'String/Data transformations for use in templating libraries, static site generators and web frameworks',
1708 silly resolved main: 'lib/transformers.js',
1708 silly resolved scripts:
1708 silly resolved { pretest: 'node test/update-package && npm install',
1708 silly resolved test: 'mocha test/test.js -R spec' },
1708 silly resolved repository:
1708 silly resolved { type: 'git',
1708 silly resolved url: 'https://github.com/ForbesLindesay/transformers.git' },
1708 silly resolved author: { name: 'ForbesLindesay' },
1708 silly resolved license: 'MIT',
1708 silly resolved readmeFilename: 'README.md',
1708 silly resolved gitHead: '4b46e72cba3ad3403fd5ed3802d5472dcfa77311',
1708 silly resolved devDependencies:
1708 silly resolved { mocha: '~1.8',
1708 silly resolved 'expect.js': '~0.2',
1708 silly resolved swig: '*',
1708 silly resolved atpl: '*',
1708 silly resolved liquor: '*',
1708 silly resolved ejs: '*',
1708 silly resolved eco: '*',
1708 silly resolved jqtpl: '*',
1708 silly resolved hamljs: '*',
1708 silly resolved 'haml-coffee': '*',
1708 silly resolved whiskers: '*',
1708 silly resolved 'hogan.js': '*',
1708 silly resolved handlebars: '*',
1708 silly resolved underscore: '*',
1708 silly resolved walrus: '*',
1708 silly resolved mustache: '*',
1708 silly resolved mote: '*',
1708 silly resolved toffee: '*',
1708 silly resolved just: '*',
1708 silly resolved ect: '*',
1708 silly resolved jade: '*',
1708 silly resolved 'then-jade': '*',
1708 silly resolved dust: '*',
1708 silly resolved 'dustjs-linkedin': '*',
1708 silly resolved jazz: '*',
1708 silly resolved qejs: '*',
1708 silly resolved less: '*',
1708 silly resolved stylus: '*',
1708 silly resolved sass: '*',
1708 silly resolved marked: '*',
1708 silly resolved supermarked: '*',
1708 silly resolved 'markdown-js': '*',
1708 silly resolved markdown: '*',
1708 silly resolved 'coffee-script': '*',
1708 silly resolved cson: '*',
1708 silly resolved coffeekup: '*',
1708 silly resolved coffeecup: '*',
1708 silly resolved templayed: '*',
1708 silly resolved plates: '*',
1708 silly resolved dot: '*',
1708 silly resolved 'component-builder': '*',
1708 silly resolved html2jade: '*',
1708 silly resolved 'highlight.js': '*' },
1708 silly resolved dependencies: { promise: '~2.0', css: '~1.0.8', 'uglify-js': '~2.2.5' },
1708 silly resolved readme: '[![Build Status](https://travis-ci.org/ForbesLindesay/transformers.png?branch=master)](https://travis-ci.org/ForbesLindesay/transformers)\r\n# transformers\r\n\r\n String/Data transformations for use in templating libraries, static site generators and web frameworks. This gathers the most useful transformations you can apply to text or data into one library with a consistent API. Transformations can be pretty much anything but most are either compilers or templating engines.\r\n\r\n## Supported transforms\r\n\r\n To use each of these transforms you will also need to install the associated npm module for that transformer.\r\n\r\n### Template engines\r\n\r\n - [atpl](http://documentup.com/soywiz/atpl.js) - Compatible with twig templates\r\n - [coffeecup](http://documentup.com/gradus/coffeecup) - pure coffee-script templates (fork of coffeekup)\r\n - [dot](http://documentup.com/olado/doT) [(website)](https://github.com/Katahdin/dot-packer) - focused on speed\r\n - [dust](http://documentup.com/akdubya/dustjs) [(website)](http://akdubya.github.com/dustjs/) - asyncronous templates\r\n - [eco](http://documentup.com/sstephenson/eco) - Embedded CoffeeScript templates\r\n - [ect](http://documentup.com/baryshev/ect) [(website)](http://ectjs.com/) - Embedded CoffeeScript templates\r\n - [ejs](http://documentup.com/visionmedia/ejs) - Embedded JavaScript templates\r\n - [haml](http://documentup.com/visionmedia/haml.js) [(website)](http://haml-lang.com/) - dry indented markup\r\n - [haml-coffee](http://documentup.com/netzpirat/haml-coffee/) [(website)](http://haml-lang.com/) - haml with embedded CoffeeScript\r\n - [handlebars](http://documentup.com/wycats/handlebars.js/) [(website)](http://handlebarsjs.com/) - extension of mustache templates\r\n - [hogan](http://documentup.com/twitter/hogan.js) [(website)](http://twitter.github.com/hogan.js/) - Mustache templates\r\n - [jade](http://documentup.com/visionmedia/jade) [(website)](http://jade-lang.com/) - robust, elegant, feature rich template engine\r\n - [jazz](http://documentup.com/shinetech/jazz)\r\n - [jqtpl](http://documentup.com/kof/jqtpl) [(website)](http://api.jquery.com/category/plugins/templates/) - extensible logic-less templates\r\n - [JUST](http://documentup.com/baryshev/just) - EJS style template with some special syntax for layouts/partials etc.\r\n - [liquor](http://documentup.com/chjj/liquor) - extended EJS with significant white space\r\n - [mustache](http://documentup.com/janl/mustache.js) - logic less templates\r\n - [QEJS](http://documentup.com/jepso/QEJS) - Promises + EJS for async templating\r\n - [swig](http://documentup.com/paularmstrong/swig) [(website)](http://paularmstrong.github.com/swig/) - Django-like templating engine\r\n - [templayed](http://documentup.com/archan937/templayed.js/) [(website)](http://archan937.github.com/templayed.js/) - Mustache focused on performance\r\n - [toffee](http://documentup.com/malgorithms/toffee) - templating language based on coffeescript\r\n - [underscore](http://documentup.com/documentcloud/underscore) [(website)](http://documentcloud.github.com/underscore/)\r\n - [walrus](http://documentup.com/jeremyruppel/walrus) - A bolder kind of mustache\r\n - [whiskers](http://documentup.com/gsf/whiskers.js/tree/) - logic-less focused on readability\r\n\r\n### Stylesheet Languages\r\n\r\n - [less](http://documentup.com/cloudhead/less.js) [(website)](http://lesscss.org/) - LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions.\r\n - [stylus](http://documentup.com/learnboost/stylus) [(website)](http://learnboost.github.com/stylus/) - revolutionary CSS generator making braces optional\r\n - [sass](http://documentup.com/visionmedia/sass.js) [(website)](http://sass-lang.com/) - Sassy CSS\r\n\r\n### Minifiers\r\n\r\n - [uglify-js](http://documentup.com/mishoo/UglifyJS2) - No need to install anything, just minifies/beautifies JavaScript\r\n - [uglify-css](https://github.com/visionmedia/css) - No need to install anything, just minifies/beautifies CSS\r\n - ugilify-json - No need to install anything, just minifies/beautifies JSON\r\n\r\n### Other\r\n\r\n - cdata - No need to install anything, just wraps input as `<![CDATA[${INPUT_STRING]]>` with the standard escape for `]]>` (`]]]]><![CDATA[>`).\r\n - cdata-js - as `cdata`, but with surrounding comments suitable for inclusion into a HTML/JavaScript `<script>` block: `//<![CDATA[\\n${INPUT_STRING\\n//]]>`.\r\n - cdata-css - as `cdata`, but with surrounding comments suitable for inclusion into a HTML/CSS `<style>` block: `/*<![CDATA[*/\\n${INPUT_STRING\\n/*]]>*/`.\r\n - verbatim - No need to install anything, acts as a verbatim passthrough `${INPUT_STRING}`\r\n - [coffee-script](http://coffeescript.org/) - `npm install coffee-script`\r\n - [cson](https://github.com/bevry/cson) - coffee-script based JSON format\r\n - markdown - You can use `marked`, `supermarked`, `markdown-js` or `markdown`\r\n - [component-js](http://documentup.com/component/component) [(website)](http://component.io) - `npm install component-builder` options: `{development: false}`\r\n - [component-css](http://documentup.com/component/component) [(website)](http://component.io) - `npm install component-builder` options: `{development: false}`\r\n - [html2jade](http://documentup.com/donpark/html2jade) [(website)](http://html2jade.aaron-powell.com/) - `npm install html2jade` - Converts HTML back into jade\r\n\r\nPull requests to add more transforms will always be accepted providing they are open-source, come with unit tests, and don\'t cause any of the tests to fail.\r\n\r\n## API\r\n\r\n The exported object `transformers` is a collection of named transformers. To access an individual transformer just do:\r\n\r\n ```javascript\r\n var transformer = require(\'transformers\')[\'transformer-name\']\r\n ```\r\n\r\n### Transformer\r\n\r\n The following options are given special meaning by `transformers`:\r\n\r\n - `filename` is set by transformers automatically if using the `renderFile` APIs. It is used if `cache` is enabled.\r\n - `cache` if true, the template function will be cached where possible (templates are still updated if you provide new options, so this can be used in most live applications).\r\n - `sudoSync` used internally to put some asyncronous transformers into "sudo syncronous" mode. Don\'t touch this.\r\n - `minify` if set to true on a transformer that isn\'t a minifier, it will cause the output to be minified. e.g. `coffeeScript.renderSync(str, {minify: true})` will result in minified JavaScript.\r\n\r\n#### Transformer.engines\r\n\r\n Returns an array of engines that can be used to power this transformer. The first of these that\'s installed will be used for the transformation.\r\n\r\n To enable a transformation just take `[engine] = Transformer.engines[0]` and then do `npm install [engine]`. If `[engine]` is `.` there is no need to install an engine from npm to use the transformer.\r\n\r\n#### Transformer.render(str, options, cb)\r\n\r\n Tranform the string `str` using the `Transformer` with the provided options and call the callback `cb(err, res)`.\r\n\r\n If no `cb` is provided, this method returns a [promises/A+](http://promises-aplus.github.com/promises-spec/) promise.\r\n\r\n#### Transformer.renderSync(str, options)\r\n\r\n Synchronous version of `Transformer.render`\r\n\r\n#### Transformer.renderFile(filename, options, cb)\r\n\r\n Reads the file at filename into `str` and sets `options.filename = filename` then calls `Transform.render(str, options, cb)`.\r\n\r\n If no `cb` is provided, this method returns a [promises/A+](http://promises-aplus.github.com/promises-spec/) promise.\r\n\r\n#### Tranformer.renderFileSync(filename, options)\r\n\r\n Synchronous version of `Tranformer.renderFile`\r\n\r\n#### Transformer.outputFormat\r\n\r\n A string, one of:\r\n\r\n - `\'xml\'`\r\n - `\'css\'`\r\n - `\'js\'`\r\n - `\'json\'`\r\n - `\'text\'`\r\n\r\nAdding to this list will **not** result in a major version change, so you should handle unexpected types gracefully (I\'d suggest default to assuming `\'text\'`).\r\n\r\n#### Transformer.sync\r\n\r\n `true` if the transformer can be used syncronously, `false` otherwise.\r\n\r\n## Libraries that don\'t work synchronously\r\n\r\n The following transformations will always throw an exception if you attempt to run them synchronously:\r\n\r\n 1. dust\r\n 2. qejs\r\n 3. html2jade\r\n\r\nThe following transformations sometimes throw an exception if run syncronously, typically they only throw an exception if you are doing something like including another file. If you are not doing the things that cause them to fail then they are consistently safe to use syncronously.\r\n\r\n - jade (only when using `then-jade` instead of `jade`)\r\n - less (when `@import` is used with a url instead of a filename)\r\n - jazz (When one of the functions passed as locals is asyncronous)\r\n\r\nThe following libraries look like they might sometimes throw exceptions when used syncronously (if you read the source) but they never actually do so:\r\n\r\n - just\r\n - ect\r\n - stylus',
1708 silly resolved bugs: { url: 'https://github.com/ForbesLindesay/transformers/issues' },
1708 silly resolved _id: 'transformers@2.1.0',
1708 silly resolved _from: 'transformers@2.1.0' },
1708 silly resolved { name: 'with',
1708 silly resolved version: '1.1.1',
1708 silly resolved description: 'Compile time `with` for strict mode JavaScript',
1708 silly resolved main: 'index.js',
1708 silly resolved scripts: { test: 'mocha -R spec' },
1708 silly resolved repository:
1708 silly resolved { type: 'git',
1708 silly resolved url: 'https://github.com/ForbesLindesay/with.git' },
1708 silly resolved author: { name: 'ForbesLindesay' },
1708 silly resolved license: 'MIT',
1708 silly resolved dependencies: { 'uglify-js': '2.4.0' },
1708 silly resolved devDependencies: { mocha: '~1.12.0' },
1708 silly resolved readme: '# with\r\n\r\nCompile time `with` for strict mode JavaScript\r\n\r\n[![build status](https://secure.travis-ci.org/ForbesLindesay/with.png)](http://travis-ci.org/ForbesLindesay/with)\r\n[![Dependency Status](https://gemnasium.com/ForbesLindesay/with.png)](https://gemnasium.com/ForbesLindesay/with)\r\n[![NPM version](https://badge.fury.io/js/with.png)](http://badge.fury.io/js/with)\r\n\r\n## Installation\r\n\r\n $ npm install with\r\n\r\n## Usage\r\n\r\n```js\r\nvar addWith = require(\'with\')\r\n\r\naddWith(\'obj\', \'console.log(a)\')\r\n// => "var a = obj.a;console.log(a)"\r\n\r\naddWith("obj || {}", "console.log(helper(a))", ["helper"])\r\n// => var locals = (obj || {}),a = locals.a;console.log(helper(a))\r\n```\r\n\r\n## API\r\n\r\n### addWith(obj, src, [exclude])\r\n\r\nThe idea is that this is roughly equivallent to:\r\n\r\n```js\r\nwith (obj) {\r\n src\r\n}\r\n```\r\n\r\nThere are a few differences though. For starters, it will be assumed that all variables used in `src` come from `obj` so any that don\'t (e.g. template helpers) need to have their names parsed to `exclude` as an array.\r\n\r\nIt also makes everything be declared, so you can always do:\r\n\r\n```js\r\nif (foo === undefined)\r\n```\r\n\r\ninstead of\r\n\r\n```js\r\nif (typeof foo === \'undefined\')\r\n```\r\n\r\nIt is also safe to use in strict mode (unlike `with`) and it minifies properly (`with` disables virtually all minification).\r\n\r\n## License\r\n\r\n MIT',
1708 silly resolved readmeFilename: 'README.md',
1708 silly resolved bugs: { url: 'https://github.com/ForbesLindesay/with/issues' },
1708 silly resolved _id: 'with@1.1.1',
1708 silly resolved _from: 'with@~1.1.0' },
1708 silly resolved { name: 'constantinople',
1708 silly resolved version: '1.0.2',
1708 silly resolved description: 'Determine whether a JavaScript expression evaluates to a constant (using UglifyJS)',
1708 silly resolved keywords: [],
1708 silly resolved dependencies: { 'uglify-js': '~2.4.0' },
1708 silly resolved devDependencies: { mocha: '*' },
1708 silly resolved scripts: { test: 'mocha -R spec' },
1708 silly resolved repository:
1708 silly resolved { type: 'git',
1708 silly resolved url: 'https://github.com/ForbesLindesay/constantinople.git' },
1708 silly resolved author: { name: 'ForbesLindesay' },
1708 silly resolved license: 'MIT',
1708 silly resolved readme: '# constantinople\r\n\r\nDetermine whether a JavaScript expression evaluates to a constant (using UglifyJS). Here it is assumed to be safe to underestimate how constant something is.\r\n\r\n[![Build Status](https://travis-ci.org/ForbesLindesay/constantinople.png?branch=master)](https://travis-ci.org/ForbesLindesay/constantinople)\r\n[![Dependency Status](https://gemnasium.com/ForbesLindesay/constantinople.png)](https://gemnasium.com/ForbesLindesay/constantinople)\r\n[![NPM version](https://badge.fury.io/js/constantinople.png)](http://badge.fury.io/js/constantinople)\r\n\r\n## Installation\r\n\r\n npm install constantinople\r\n\r\n## Usage\r\n\r\n```js\r\nvar isConstant = require(\'constantinople\')\r\n\r\nif (isConstant(\'"foo" + 5\')) {\r\n console.dir(isConstant.toConstant(\'"foo" + 5\'))\r\n}\r\n```\r\n\r\n## API\r\n\r\n### isConstant(src)\r\n\r\nReturns `true` if `src` evaluates to a constant, `false` otherwise. It will also return `false` if there is a syntax error, which makes it safe to use on potentially ES6 code.\r\n\r\n### toConstant(src)\r\n\r\nReturns the value resulting from evaluating `src`. This method throws an error if the expression is not constant. e.g. `toConstant("Math.random()")` would throw an error.\r\n\r\n## License\r\n\r\n MIT',
1708 silly resolved readmeFilename: 'README.md',
1708 silly resolved bugs: { url: 'https://github.com/ForbesLindesay/constantinople/issues' },
1708 silly resolved _id: 'constantinople@1.0.2',
1708 silly resolved _from: 'constantinople@~1.0.1' } ]
1709 info install commander@2.0.0 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade
1710 info install mkdirp@0.3.5 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade
1711 info install character-parser@1.2.0 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade
1712 info install monocle@1.1.50 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade
1713 info install transformers@2.1.0 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade
1714 info install with@1.1.1 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade
1715 info install constantinople@1.0.2 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade
1716 info installOne commander@2.0.0
1717 info installOne mkdirp@0.3.5
1718 info installOne character-parser@1.2.0
1719 info installOne monocle@1.1.50
1720 info installOne transformers@2.1.0
1721 info installOne with@1.1.1
1722 info installOne constantinople@1.0.2
1723 silly gunzTarPerm extractEntry Gruntfile.js
1724 silly gunzTarPerm extractEntry .jshintrc
1725 silly gunzTarPerm extractEntry grunt.js
1726 silly gunzTarPerm extractEntry parent.js
1727 silly gunzTarPerm extractEntry minimatch.js
1728 silly gunzTarPerm extractEntry test/basic.js
1729 silly gunzTarPerm extractEntry test/brace-expand.js
1730 silly gunzTarPerm extractEntry test/caching.js
1731 silly gunzTarPerm extractEntry test/defaults.js
1732 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/commander unbuild
1733 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/mkdirp unbuild
1734 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/character-parser unbuild
1735 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle unbuild
1736 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/transformers unbuild
1737 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/with unbuild
1738 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/constantinople unbuild
1739 silly gunzTarPerm extractEntry lib/eventemitter2.js
1740 verbose tar unpack /Users/nwittstock/.npm/commander/2.0.0/package.tgz
1741 silly lockFile ed47ba32-ules-jade-node-modules-commander tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/commander
1742 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/commander /Users/nwittstock/.npm/ed47ba32-ules-jade-node-modules-commander.lock
1743 silly lockFile b9e0af23--npm-commander-2-0-0-package-tgz tar:///Users/nwittstock/.npm/commander/2.0.0/package.tgz
1744 verbose lock tar:///Users/nwittstock/.npm/commander/2.0.0/package.tgz /Users/nwittstock/.npm/b9e0af23--npm-commander-2-0-0-package-tgz.lock
1745 verbose tar unpack /Users/nwittstock/.npm/mkdirp/0.3.5/package.tgz
1746 silly lockFile cea3bbd1-modules-jade-node-modules-mkdirp tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/mkdirp
1747 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/mkdirp /Users/nwittstock/.npm/cea3bbd1-modules-jade-node-modules-mkdirp.lock
1748 silly lockFile b7ca8951-ock-npm-mkdirp-0-3-5-package-tgz tar:///Users/nwittstock/.npm/mkdirp/0.3.5/package.tgz
1749 verbose lock tar:///Users/nwittstock/.npm/mkdirp/0.3.5/package.tgz /Users/nwittstock/.npm/b7ca8951-ock-npm-mkdirp-0-3-5-package-tgz.lock
1750 verbose tar unpack /Users/nwittstock/.npm/character-parser/1.2.0/package.tgz
1751 silly lockFile 68fd1fb8-de-node-modules-character-parser tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/character-parser
1752 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/character-parser /Users/nwittstock/.npm/68fd1fb8-de-node-modules-character-parser.lock
1753 silly lockFile aab4459c-aracter-parser-1-2-0-package-tgz tar:///Users/nwittstock/.npm/character-parser/1.2.0/package.tgz
1754 verbose lock tar:///Users/nwittstock/.npm/character-parser/1.2.0/package.tgz /Users/nwittstock/.npm/aab4459c-aracter-parser-1-2-0-package-tgz.lock
1755 verbose tar unpack /Users/nwittstock/.npm/monocle/1.1.50/package.tgz
1756 silly lockFile e45f0e5d-odules-jade-node-modules-monocle tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle
1757 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle /Users/nwittstock/.npm/e45f0e5d-odules-jade-node-modules-monocle.lock
1758 silly lockFile 6507d308-k-npm-monocle-1-1-50-package-tgz tar:///Users/nwittstock/.npm/monocle/1.1.50/package.tgz
1759 verbose lock tar:///Users/nwittstock/.npm/monocle/1.1.50/package.tgz /Users/nwittstock/.npm/6507d308-k-npm-monocle-1-1-50-package-tgz.lock
1760 verbose tar unpack /Users/nwittstock/.npm/transformers/2.1.0/package.tgz
1761 silly lockFile bcd3c105-s-jade-node-modules-transformers tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/transformers
1762 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/transformers /Users/nwittstock/.npm/bcd3c105-s-jade-node-modules-transformers.lock
1763 silly lockFile 91d8b286-m-transformers-2-1-0-package-tgz tar:///Users/nwittstock/.npm/transformers/2.1.0/package.tgz
1764 verbose lock tar:///Users/nwittstock/.npm/transformers/2.1.0/package.tgz /Users/nwittstock/.npm/91d8b286-m-transformers-2-1-0-package-tgz.lock
1765 verbose tar unpack /Users/nwittstock/.npm/with/1.1.1/package.tgz
1766 silly lockFile e045063c-e-modules-jade-node-modules-with tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/with
1767 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/with /Users/nwittstock/.npm/e045063c-e-modules-jade-node-modules-with.lock
1768 silly lockFile 9ff43854-stock-npm-with-1-1-1-package-tgz tar:///Users/nwittstock/.npm/with/1.1.1/package.tgz
1769 verbose lock tar:///Users/nwittstock/.npm/with/1.1.1/package.tgz /Users/nwittstock/.npm/9ff43854-stock-npm-with-1-1-1-package-tgz.lock
1770 verbose tar unpack /Users/nwittstock/.npm/constantinople/1.0.2/package.tgz
1771 silly lockFile 7ce0e36b-jade-node-modules-constantinople tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/constantinople
1772 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/constantinople /Users/nwittstock/.npm/7ce0e36b-jade-node-modules-constantinople.lock
1773 silly lockFile 3855e8c7-constantinople-1-0-2-package-tgz tar:///Users/nwittstock/.npm/constantinople/1.0.2/package.tgz
1774 verbose lock tar:///Users/nwittstock/.npm/constantinople/1.0.2/package.tgz /Users/nwittstock/.npm/3855e8c7-constantinople-1-0-2-package-tgz.lock
1775 silly gunzTarPerm extractEntry examples/my-program.js
1776 silly gunzTarPerm extractEntry lib/nopt.js
1777 silly gunzTarPerm modes [ '755', '644' ]
1778 silly gunzTarPerm modes [ '755', '644' ]
1779 silly gunzTarPerm modes [ '755', '644' ]
1780 silly gunzTarPerm modes [ '755', '644' ]
1781 silly gunzTarPerm modes [ '755', '644' ]
1782 silly gunzTarPerm modes [ '755', '644' ]
1783 silly gunzTarPerm extractEntry LICENSE-MIT
1784 silly gunzTarPerm extractEntry lib/findup-sync.js
1785 silly gunzTarPerm extractEntry index.js
1786 silly gunzTarPerm extractEntry .gitmodules
1787 silly lockFile 54a6a24f-bufferstream-0-6-0 bufferstream@0.6.0
1788 silly lockFile 54a6a24f-bufferstream-0-6-0 bufferstream@0.6.0
1789 silly gunzTarPerm extractEntry test/test-async.js
1790 silly gunzTarPerm extractEntry test/test-fiber.js
1791 silly lockFile 3e1bc879-lodash-2-1-0 lodash@2.1.0
1792 silly lockFile 3e1bc879-lodash-2-1-0 lodash@2.1.0
1793 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
1794 silly lockFile e43cb36a-ncp-0-4-2 ncp@0.4.2
1795 silly lockFile dcd416ef-bufferstream-0-5-1 bufferstream@>= 0.5.1
1796 silly lockFile dcd416ef-bufferstream-0-5-1 bufferstream@>= 0.5.1
1797 silly lockFile bf0db6e7-lodash-2-1-0 lodash@~2.1.0
1798 silly lockFile bf0db6e7-lodash-2-1-0 lodash@~2.1.0
1799 silly lockFile 1f31aeaa-ncp-0-4-2 ncp@~0.4.2
1800 silly lockFile 1f31aeaa-ncp-0-4-2 ncp@~0.4.2
1801 silly resolved [ { name: 'bufferstream',
1801 silly resolved description: 'painless stream buffering and cutting',
1801 silly resolved version: '0.6.0',
1801 silly resolved homepage: 'https://github.com/dodo/node-bufferstream',
1801 silly resolved author: { name: 'dodo', url: 'https://github.com/dodo' },
1801 silly resolved repository:
1801 silly resolved { type: 'git',
1801 silly resolved url: 'git://github.com/dodo/node-bufferstream.git' },
1801 silly resolved main: 'bufferstream.js',
1801 silly resolved engines: { node: '>= 0.4.x' },
1801 silly resolved keywords: [ 'buffer', 'buffers', 'stream', 'streams' ],
1801 silly resolved scripts:
1801 silly resolved { test: 'cake build && nodeunit test',
1801 silly resolved prepublish: 'cake build' },
1801 silly resolved dependencies: { bufferjs: '>= 2.0.0' },
1801 silly resolved devDependencies:
1801 silly resolved { nodeunit: '>= 0.5.4',
1801 silly resolved muffin: '>= 0.2.6',
1801 silly resolved 'coffee-script': '>= 1.1.2',
1801 silly resolved cli: '>= 0.3.7',
1801 silly resolved express: '>= 2.4.5' },
1801 silly resolved licenses: [ [Object] ],
1801 silly resolved readme: '# BufferStream\n\npainless stream buffering, cutting and piping.\n\n## install\n\n npm install bufferstream\n\n## api\n\nBufferStream is a full node.js [Stream](http://nodejs.org/docs/v0.4.7/api/streams.html) so it has apis of both [Writeable Stream](http://nodejs.org/docs/v0.4.7/api/streams.html#writable_Stream) and [Readable Stream](http://nodejs.org/docs/v0.4.7/api/streams.html#readable_Stream).\n\n### BufferStream\n\n```javascript\nBufferStream = require(\'bufferstream\')\nstream = new BufferStream([{encoding:\'utf8\', size:\'none\'}]) // default\n```\n * `encoding` default encoding for writing strings\n * `blocking` if true and the source is a child_process the stream will block the entire process (timeouts wont work anymore, but splitting and listening on data still works, because they work sync)\n * `size` defines buffer level or sets buffer to given size (see ↓`setSize` for more)\n * `disabled` immediately call disable\n * `split` short form for:\n\n```javascript\nstream.split(token, function (chunk) {stream.emit(\'data\', chunk)})\n```\n\n### stream.setSize\n\n```javascript\nstream.setSize(size) // can be one of [\'none\', \'flexible\', <number>]\n```\n\ndifferent buffer behaviors can be triggered by size:\n\n * `none` when output drains, bufferstream drains too\n * `flexible` buffers everthing that it gets and not piping out\n * `<number>` `TODO` buffer has given size. buffers everthing until buffer is full. when buffer is full then the stream will drain\n\n### stream.enable\n\n```javascript\nstream.enable()\n```\n\nenables stream buffering __default__\n\n### stream.disable\n\n```javascript\nstream.disable()\n```\n\nflushes buffer and disables stream buffering.\nBufferStream now pipes all data as long as the output accepting data.\nwhen the output is draining BufferStream will buffer all input temporary.\n\n```javascript\nstream.disable(token, ...)\nstream.disable(tokens) // Array\n```\n * `token[s]` buffer splitters (should be String or Buffer)\n\ndisables given tokens. wont flush until no splitter tokens are left.\n\n### stream.split\n\n```javascript\nstream.split(token, ...)\nstream.split(tokens) // Array\n```\n * `token[s]` buffer splitters (should be String or Buffer)\n\neach time BufferStream finds a splitter token in the input data it will emit a __split__ event.\nthis also works for binary data.\n\n### Event: \'split\'\n\n```javascript\nstream.on(\'split\', function (chunk, token) {…})\nstream.split(token, function (chunk, token) {…}) // only get called for this particular token\n```\n\nwhenever the stream is enabled it will try to find all splitter token in `stream.buffer`,\ncut it off and emit the chunk (without token) as __split__ event.\nthis data will be lost when not handled.\n\nthe chunk is the cut off of `stream.buffer` without the token.\n\n__Warning:__ try to avoid calling `stream.emit(\'data\', newchunk)` more than one time, because this will likely throw `Error: Offset is out of bounds`.\n\n### stream.getBuffer\n\n```javascript\nstream.getBuffer()\n// or just\nstream.buffer\n```\n\nreturns its [Buffer](http://nodejs.org/docs/v0.4.7/api/buffers.html).\n\n### stream.toString\n\n```javascript\nstream.toString()\n```\n\nshortcut for `stream.buffer.toString()`\n\n### stream.length\n\n```javascript\nstream.length\n```\n\nshortcut for `stream.buffer.length`\n\n### PostBuffer\n\n```javascript\nPostBuffer = require(\'bufferstream/postbuffer\')\npost = new PostBuffer(req)\n```\n * `req` http.ServerRequest\n\nfor if you want to get all the post data from a http server request and do some db reqeust before.\n\nbuffer http client\n\n### post.onEnd\n\n```javascript\npost.onEnd(function (data) {…});\n```\n\nset a callback to get all post data from a http server request\n\n### post.pipe\n\n```javascript\npost.pipe(stream, options);\n```\n\npumps data into another stream to allow incoming streams\ngiven options will be passed to Stream.pipe\n\n## note\n\nTo improve platform independence bufferstream is using `bufferjs` instead of `buffertools` since version `0.6.0`.\nJust run `npm install buffertools` to use their implementation of `Buffer.indexOf` which is sligthly faster than `bufferjs`\'s version.\nif you\'re forced to use the javascript-only version of `Buffer.indexOf` (like on windows) you can disable the warning by:\n```javascript\nrequire(\'bufferstream\').fn.warn = false\n```\n\n## example\n\n```javascript\nBufferStream = require(\'bufferstream\')\nstream = new BufferStream({encoding:\'utf8\', size:\'flexible\'})\nstream.split(\'//\', \':\')\nstream.on(\'split\', function (chunk, token) {\n console.log("got \'%s\' by \'%s\'", chunk.toString(), token.toString())\n})\nstream.write("buffer:stream//23")\nconsole.log(stream.toString())\n```\n\nresults in\n\n got \'buffer\' by \':\'\n got \'stream\' by \'//\'\n 23\n\n* https://github.com/dodo/node-bufferstream/blob/master/example/split.js\n\n## FAQ\n\n> I\'m not sure from your readme what the split event emits?\n\nyou can specify more than one split token .. so it\'s emitted whenever\na token is found.\n\n> does it emit the buffer up to the just before the token starts?\n\nyes.\n\n> also, does it join buffers together if they do not already end in a token?\n\nwhen size is `flexible` it joins everything together what it gets to\none buffer (accessible through `stream.buffer` or\n`stream.getBuffer()`)\nwhenever it gets data, it will try to find all tokens\n\n> in other words, can I use this to rechunk a stream so that the chunks always break on newlines, for example?\n\nyes.\n\n```javascript\nstream = new BufferStream({size:\'flexible\'});\nstream.split(\'\\n\', function (line) { // line doesn\'t have a \'\\n\' anymore\n stream.emit(\'data\', line); // Buffer.isBuffer(line) === true\n});\n```\n\n[![Build Status](https://secure.travis-ci.org/dodo/node-bufferstream.png)](http://travis-ci.org/dodo/node-bufferstream)\n',
1801 silly resolved readmeFilename: 'README.md',
1801 silly resolved bugs: { url: 'https://github.com/dodo/node-bufferstream/issues' },
1801 silly resolved _id: 'bufferstream@0.6.0',
1801 silly resolved _from: 'bufferstream@>= 0.5.1' } ]
1802 info install bufferstream@0.6.0 into /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode
1803 info installOne bufferstream@0.6.0
1804 silly resolved [ { name: 'lodash',
1804 silly resolved version: '2.1.0',
1804 silly resolved description: 'A utility library delivering consistency, customization, performance, & extras.',
1804 silly resolved homepage: 'http://lodash.com/',
1804 silly resolved license: 'MIT',
1804 silly resolved main: 'dist/lodash.js',
1804 silly resolved keywords:
1804 silly resolved [ 'amd',
1804 silly resolved 'browser',
1804 silly resolved 'client',
1804 silly resolved 'customize',
1804 silly resolved 'functional',
1804 silly resolved 'performance',
1804 silly resolved 'server',
1804 silly resolved 'speed',
1804 silly resolved 'util' ],
1804 silly resolved author:
1804 silly resolved { name: 'John-David Dalton',
1804 silly resolved email: 'john.david.dalton@gmail.com',
1804 silly resolved url: 'http://allyoucanleet.com/' },
1804 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
1804 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
1804 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
1804 silly resolved engines: [ 'node', 'rhino' ],
1804 silly resolved files:
1804 silly resolved [ 'LICENSE.txt',
1804 silly resolved 'lodash.js',
1804 silly resolved 'dist/lodash.js',
1804 silly resolved 'dist/lodash.min.js',
1804 silly resolved 'dist/lodash.compat.js',
1804 silly resolved 'dist/lodash.compat.min.js',
1804 silly resolved 'dist/lodash.underscore.js',
1804 silly resolved 'dist/lodash.underscore.min.js' ],
1804 silly resolved jam: { main: 'dist/lodash.compat.js', include: [Object] },
1804 silly resolved volo: { type: 'directory', ignore: [Object] },
1804 silly resolved readme: '# Lo-Dash v2.1.0\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Modern builds perfect for newer browsers/environments:<br>\n[Development](https://raw.github.com/lodash/lodash/2.1.0/dist/lodash.js) &\n[Production](https://raw.github.com/lodash/lodash/2.1.0/dist/lodash.min.js)\n\n* Compatibility builds for older environment support too:<br>\n[Development](https://raw.github.com/lodash/lodash/2.1.0/dist/lodash.compat.js) &\n[Production](https://raw.github.com/lodash/lodash/2.1.0/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.1.0/dist/lodash.underscore.js) &\n[Production](https://raw.github.com/lodash/lodash/2.1.0/dist/lodash.underscore.min.js)\n\nCDN copies are available on [cdnjs](http://cdnjs.com/libraries/lodash.js/) & [jsDelivr](http://www.jsdelivr.com/#!lodash).<br>\nFor smaller file sizes, create [custom builds](http://lodash.com/custom-builds) with only the features needed.<br>\nLove modules? We’ve got you covered with [lodash-amd](https://npmjs.org/package/lodash-amd), [lodash-node](https://npmjs.org/package/lodash-node), and [npm packages](https://npmjs.org/browse/author/jdalton) 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>\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).<br>\nThe full changelog for this release is available on our [wiki](https://github.com/lodash/lodash/wiki/Changelog).\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 * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays & objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex`\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 `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 * [_.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 * [_.parseInt](http://lodash.com/docs#parseInt) for consistent behavior\n * [_.partialRight](http://lodash.com/docs#partialRight) for [partial application](http://lodash.com/docs#partial) from the right\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 * [_.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-7.8.6)\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 * [_.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") right-associative methods\n\n## Resources\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## Support\n\nTested in Chrome 5~29, Firefox 2~24, IE 6-10, Opera 9.25~16, Safari 3-6, Node.js 0.6.8-0.10.18, Narwhal 0.3.2, PhantomJS 1.9.2, RingoJS 0.9, & Rhino 1.7RC5.\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 link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory *before* requiring it\n * Node.js 0.10.8-0.10.11 [have](https://github.com/joyent/node/issues/5622) [bugs](https://github.com/joyent/node/issues/5688) preventing minified builds\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)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
1804 silly resolved readmeFilename: 'README.md',
1804 silly resolved _id: 'lodash@2.1.0',
1804 silly resolved _from: 'lodash@~2.1.0' } ]
1805 info install lodash@2.1.0 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria
1806 info installOne lodash@2.1.0
1807 info /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream unbuild
1808 silly gunzTarPerm extractEntry package.json
1809 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria/node_modules/lodash unbuild
1810 silly lockFile d05b06b6-jsonfile-0-0-1 jsonfile@0.0.1
1811 silly lockFile d05b06b6-jsonfile-0-0-1 jsonfile@0.0.1
1812 silly gunzTarPerm extractEntry package.json
1813 silly gunzTarPerm extractEntry package.json
1814 silly gunzTarPerm extractEntry package.json
1815 silly gunzTarPerm extractEntry package.json
1816 silly lockFile a1dd9d59-s-optimist-node-modules-wordwrap tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules/wordwrap
1817 silly lockFile a1dd9d59-s-optimist-node-modules-wordwrap tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules/wordwrap
1818 silly gunzTarPerm extractEntry package.json
1819 silly lockFile 6363d0b5-jsonfile-0-0-x jsonfile@0.0.x
1820 silly lockFile 6363d0b5-jsonfile-0-0-x jsonfile@0.0.x
1821 silly lockFile 70fbe921-k-npm-wordwrap-0-0-2-package-tgz tar:///Users/nwittstock/.npm/wordwrap/0.0.2/package.tgz
1822 silly lockFile 70fbe921-k-npm-wordwrap-0-0-2-package-tgz tar:///Users/nwittstock/.npm/wordwrap/0.0.2/package.tgz
1823 verbose tar unpack /Users/nwittstock/.npm/bufferstream/0.6.0/package.tgz
1824 silly lockFile 67029e05-nicode-node-modules-bufferstream tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream
1825 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream /Users/nwittstock/.npm/67029e05-nicode-node-modules-bufferstream.lock
1826 silly lockFile 5d02a949-m-bufferstream-0-6-0-package-tgz tar:///Users/nwittstock/.npm/bufferstream/0.6.0/package.tgz
1827 verbose lock tar:///Users/nwittstock/.npm/bufferstream/0.6.0/package.tgz /Users/nwittstock/.npm/5d02a949-m-bufferstream-0-6-0-package-tgz.lock
1828 silly resolved [ { name: 'rimraf',
1828 silly resolved version: '2.1.4',
1828 silly resolved main: 'rimraf.js',
1828 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
1828 silly resolved author:
1828 silly resolved { name: 'Isaac Z. Schlueter',
1828 silly resolved email: 'i@izs.me',
1828 silly resolved url: 'http://blog.izs.me/' },
1828 silly resolved license:
1828 silly resolved { type: 'MIT',
1828 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
1828 silly resolved optionalDependencies: { 'graceful-fs': '~1' },
1828 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
1828 silly resolved scripts: { test: 'cd test && bash run.sh' },
1828 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
1828 silly resolved readme: 'A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n',
1828 silly resolved readmeFilename: 'README.md',
1828 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
1828 silly resolved dependencies: { 'graceful-fs': '~1' },
1828 silly resolved _id: 'rimraf@2.1.4',
1828 silly resolved _from: 'rimraf@~2.1.4' },
1828 silly resolved { name: 'mkdirp',
1828 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
1828 silly resolved version: '0.3.5',
1828 silly resolved author:
1828 silly resolved { name: 'James Halliday',
1828 silly resolved email: 'mail@substack.net',
1828 silly resolved url: 'http://substack.net' },
1828 silly resolved main: './index',
1828 silly resolved keywords: [ 'mkdir', 'directory' ],
1828 silly resolved repository:
1828 silly resolved { type: 'git',
1828 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
1828 silly resolved scripts: { test: 'tap test/*.js' },
1828 silly resolved devDependencies: { tap: '~0.4.0' },
1828 silly resolved license: 'MIT',
1828 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',
1828 silly resolved readmeFilename: 'readme.markdown',
1828 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
1828 silly resolved _id: 'mkdirp@0.3.5',
1828 silly resolved _from: 'mkdirp@0.3.x' },
1828 silly resolved { name: 'ncp',
1828 silly resolved version: '0.4.2',
1828 silly resolved author: { name: 'AvianFlu', email: 'charlie@charlieistheman.com' },
1828 silly resolved description: 'Asynchronous recursive file copy utility.',
1828 silly resolved bin: { ncp: './bin/ncp' },
1828 silly resolved devDependencies: { vows: '0.6.x', rimraf: '1.0.x', 'read-dir-files': '0.0.x' },
1828 silly resolved main: './lib/ncp.js',
1828 silly resolved repository: { type: 'git', url: 'https://github.com/AvianFlu/ncp.git' },
1828 silly resolved keywords: [ 'cli', 'copy' ],
1828 silly resolved license: 'MIT',
1828 silly resolved engine: { node: '>=0.4' },
1828 silly resolved scripts: { test: 'vows --isolate --spec' },
1828 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',
1828 silly resolved readmeFilename: 'README.md',
1828 silly resolved bugs: { url: 'https://github.com/AvianFlu/ncp/issues' },
1828 silly resolved _id: 'ncp@0.4.2',
1828 silly resolved _from: 'ncp@~0.4.2' },
1828 silly resolved { name: 'jsonfile',
1828 silly resolved version: '0.0.1',
1828 silly resolved description: 'Easily read/write JSON files.',
1828 silly resolved repository:
1828 silly resolved { type: 'git',
1828 silly resolved url: 'git@github.com:jprichardson/node-jsonfile.git' },
1828 silly resolved keywords: [],
1828 silly resolved author: { name: 'JP Richardson', email: 'jprichardson@gmail.com' },
1828 silly resolved licenses: [ [Object] ],
1828 silly resolved dependencies: {},
1828 silly resolved devDependencies: { mkdirp: '~0.3.4', testutil: '~0.2.2', mocha: '~1.4.2' },
1828 silly resolved main: './lib/jsonfile.js',
1828 silly resolved scripts: { test: 'mocha test' },
1828 silly resolved readme: '[![build status](https://secure.travis-ci.org/jprichardson/node-jsonfile.png)](http://travis-ci.org/jprichardson/node-jsonfile)\n\nNode.js - jsonfile\n================\n\nEasily read/write JSON files. \n\n\nWhy?\n----\n\nWriting `JSON.stringify()` and then `fs.writeFile()` and `JSON.parse()` with `fs.readFile()` enclosed in `try/catch` blocks became annoying.\n\n\n\nInstallation\n------------\n\n npm install jsonfile\n\n\n\nAPI\n---\n\n### readFile()\n\n```javascript\nvar jf = require(\'jsonfile\')\n , util = require(\'util\');\n\nvar file = \'/tmp/data.json\';\njs.readFile(file, function(err, obj) {\n console.log(util.inspect(obj)); \n});\n```\n\n\n### readFileSync()\n\n```javascript\nvar jf = require(\'jsonfile\')\n , util = require(\'util\');\n\nvar file = \'/tmp/data.json\';\n\nconsole.log(util.inspect(jf.readFileSync(file)));\n```\n\n\n### writeFile()\n\n```javascript\nvar jf = require(\'jsonfile\')\n\nvar file = \'/tmp/data.json\';\nvar obj = {name: \'JP\'};\n\njf.writeFile(file, obj, function(err) {\n console.log(err);\n})\n```\n\n### writeFileSync()\n\n```javascript\nvar jf = require(\'jsonfile\')\n\nvar file = \'/tmp/data.json\';\nvar obj = {name: \'JP\'};\n\njf.writeFileSync(file, obj);\n```\n\n\n### spaces\n\nNumber of spaces to indent JSON files. \n\n**default:** 4\n\n```\nvar jf = require(\'jsonfile\');\n\njf.spaces = 2;\n\nvar file = \'/tmp/data.json\';\nvar obj = {name: \'JP\'};\n\njf.writeFile(file, obj, function(err) { //json file has two space indenting now\n console.log(err);\n});\n```\n\n\nAuthor\n------\n\n`node-jsonfile` was written by [JP Richardson][aboutjp]. You should follow him on Twitter [@jprichardson][twitter]. Also read his coding blog [Procbits][procbits]. If you write software with others, you should checkout [Gitpilot][gitpilot] to make collaboration with Git simple.\n\n\n\nLicense\n-------\n\n(MIT License)\n\nCopyright 2012, JP Richardson <jprichardson@gmail.com>\n\n\n[aboutjp]: http://about.me/jprichardson\n[twitter]: http://twitter.com/jprichardson\n[procbits]: http://procbits.com\n[gitpilot]: http://gitpilot.com\n\n\n',
1828 silly resolved readmeFilename: 'README.md',
1828 silly resolved bugs: { url: 'https://github.com/jprichardson/node-jsonfile/issues' },
1828 silly resolved _id: 'jsonfile@0.0.1',
1828 silly resolved _from: 'jsonfile@0.0.x' } ]
1829 info install rimraf@2.1.4 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra
1830 info install mkdirp@0.3.5 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra
1831 info install ncp@0.4.2 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra
1832 info install jsonfile@0.0.1 into /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra
1833 info installOne rimraf@2.1.4
1834 info installOne mkdirp@0.3.5
1835 info installOne ncp@0.4.2
1836 info installOne jsonfile@0.0.1
1837 verbose tar unpack /Users/nwittstock/.npm/lodash/2.1.0/package.tgz
1838 silly lockFile 447980c8-ine-criteria-node-modules-lodash tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria/node_modules/lodash
1839 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/waterline-criteria/node_modules/lodash /Users/nwittstock/.npm/447980c8-ine-criteria-node-modules-lodash.lock
1840 silly lockFile 015de49a-ock-npm-lodash-2-1-0-package-tgz tar:///Users/nwittstock/.npm/lodash/2.1.0/package.tgz
1841 verbose lock tar:///Users/nwittstock/.npm/lodash/2.1.0/package.tgz /Users/nwittstock/.npm/015de49a-ock-npm-lodash-2-1-0-package-tgz.lock
1842 silly gunzTarPerm extractEntry index.js
1843 silly gunzTarPerm extractEntry History.md
1844 silly gunzTarPerm extractEntry Readme.md
1845 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/rimraf unbuild
1846 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/mkdirp unbuild
1847 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/ncp unbuild
1848 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/jsonfile unbuild
1849 silly gunzTarPerm extractEntry .npmignore
1850 silly gunzTarPerm extractEntry README.md
1851 silly gunzTarPerm extractEntry .npmignore
1852 silly gunzTarPerm extractEntry README.md
1853 silly gunzTarPerm extractEntry .npmignore
1854 silly gunzTarPerm extractEntry README.md
1855 silly gunzTarPerm extractEntry .npmignore
1856 silly gunzTarPerm extractEntry README.md
1857 silly gunzTarPerm extractEntry .npmignore
1858 silly gunzTarPerm extractEntry README.md
1859 silly gunzTarPerm extractEntry test/findup-sync_test.js
1860 silly gunzTarPerm extractEntry test/fixtures/a/b/bar.txt
1861 silly gunzTarPerm modes [ '755', '644' ]
1862 info preinstall wordwrap@0.0.2
1863 silly gunzTarPerm extractEntry test/test-sync.js
1864 silly gunzTarPerm extractEntry test/run.sh
1865 verbose tar unpack /Users/nwittstock/.npm/rimraf/2.1.4/package.tgz
1866 silly lockFile e4e9b592-les-fs-extra-node-modules-rimraf tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/rimraf
1867 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/rimraf /Users/nwittstock/.npm/e4e9b592-les-fs-extra-node-modules-rimraf.lock
1868 silly lockFile 9e9d2835-ock-npm-rimraf-2-1-4-package-tgz tar:///Users/nwittstock/.npm/rimraf/2.1.4/package.tgz
1869 verbose lock tar:///Users/nwittstock/.npm/rimraf/2.1.4/package.tgz /Users/nwittstock/.npm/9e9d2835-ock-npm-rimraf-2-1-4-package-tgz.lock
1870 verbose tar unpack /Users/nwittstock/.npm/mkdirp/0.3.5/package.tgz
1871 silly lockFile 42373a65-les-fs-extra-node-modules-mkdirp tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/mkdirp
1872 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/mkdirp /Users/nwittstock/.npm/42373a65-les-fs-extra-node-modules-mkdirp.lock
1873 silly lockFile b7ca8951-ock-npm-mkdirp-0-3-5-package-tgz tar:///Users/nwittstock/.npm/mkdirp/0.3.5/package.tgz
1874 verbose lock tar:///Users/nwittstock/.npm/mkdirp/0.3.5/package.tgz /Users/nwittstock/.npm/b7ca8951-ock-npm-mkdirp-0-3-5-package-tgz.lock
1875 verbose tar unpack /Users/nwittstock/.npm/ncp/0.4.2/package.tgz
1876 silly lockFile c589889e-odules-fs-extra-node-modules-ncp tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/ncp
1877 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/ncp /Users/nwittstock/.npm/c589889e-odules-fs-extra-node-modules-ncp.lock
1878 silly lockFile fbc66b66-tstock-npm-ncp-0-4-2-package-tgz tar:///Users/nwittstock/.npm/ncp/0.4.2/package.tgz
1879 verbose lock tar:///Users/nwittstock/.npm/ncp/0.4.2/package.tgz /Users/nwittstock/.npm/fbc66b66-tstock-npm-ncp-0-4-2-package-tgz.lock
1880 verbose tar unpack /Users/nwittstock/.npm/jsonfile/0.0.1/package.tgz
1881 silly lockFile 6189f252-s-fs-extra-node-modules-jsonfile tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/jsonfile
1882 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails-disk/node_modules/fs-extra/node_modules/jsonfile /Users/nwittstock/.npm/6189f252-s-fs-extra-node-modules-jsonfile.lock
1883 silly lockFile 5122d1d8-k-npm-jsonfile-0-0-1-package-tgz tar:///Users/nwittstock/.npm/jsonfile/0.0.1/package.tgz
1884 verbose lock tar:///Users/nwittstock/.npm/jsonfile/0.0.1/package.tgz /Users/nwittstock/.npm/5122d1d8-k-npm-jsonfile-0-0-1-package-tgz.lock
1885 silly gunzTarPerm extractEntry LICENSE-MIT
1886 silly gunzTarPerm extractEntry dist/ba-hooker.js
1887 silly gunzTarPerm extractEntry dist/ba-hooker.min.js
1888 silly gunzTarPerm extractEntry lib/hooker.js
1889 silly gunzTarPerm extractEntry test/hooker_test.js
1890 verbose readDependencies using package.json deps
1891 verbose readDependencies using package.json deps
1892 silly resolved []
1893 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules/wordwrap
1894 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules/wordwrap
1895 verbose linkStuff [ false,
1895 verbose linkStuff false,
1895 verbose linkStuff false,
1895 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/optimist/node_modules' ]
1896 info linkStuff wordwrap@0.0.2
1897 verbose linkBins wordwrap@0.0.2
1898 verbose linkMans wordwrap@0.0.2
1899 verbose rebuildBundles wordwrap@0.0.2
1900 silly gunzTarPerm extractEntry package.json
1901 info install wordwrap@0.0.2
1902 silly gunzTarPerm extractEntry LICENSE
1903 silly gunzTarPerm extractEntry index.js
1904 info postinstall wordwrap@0.0.2
1905 silly gunzTarPerm extractEntry LICENSE
1906 silly gunzTarPerm extractEntry index.js
1907 silly gunzTarPerm extractEntry test/fixtures/a/foo.txt
1908 silly gunzTarPerm extractEntry test/fixtures/a.txt
1909 silly gunzTarPerm extractEntry LICENSE
1910 silly gunzTarPerm extractEntry monocle.js
1911 silly gunzTarPerm extractEntry LICENSE
1912 silly gunzTarPerm extractEntry index.js
1913 silly gunzTarPerm extractEntry .npmignore
1914 silly gunzTarPerm extractEntry README.md
1915 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/optimist
1916 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/optimist
1917 verbose linkStuff [ false,
1917 verbose linkStuff false,
1917 verbose linkStuff false,
1917 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules' ]
1918 info linkStuff optimist@0.3.7
1919 verbose linkBins optimist@0.3.7
1920 verbose linkMans optimist@0.3.7
1921 verbose rebuildBundles optimist@0.3.7
1922 silly gunzTarPerm extractEntry history.md
1923 silly gunzTarPerm extractEntry lib/shared.js
1924 verbose rebuildBundles [ 'wordwrap' ]
1925 info install optimist@0.3.7
1926 info postinstall optimist@0.3.7
1927 silly gunzTarPerm extractEntry test/setup.sh
1928 silly gunzTarPerm extractEntry .gitattributes
1929 silly gunzTarPerm extractEntry .travis.yml
1930 silly gunzTarPerm extractEntry test/fixtures/aaa.txt
1931 silly gunzTarPerm extractEntry .travis.yml
1932 silly gunzTarPerm extractEntry logo.png
1933 silly gunzTarPerm extractEntry LICENSE
1934 silly gunzTarPerm extractEntry events.js
1935 silly gunzTarPerm extractEntry lib/transformers.js
1936 silly gunzTarPerm extractEntry test/index.js
1937 silly gunzTarPerm extractEntry bufferstream.js
1938 silly gunzTarPerm extractEntry postbuffer.js
1939 silly gunzTarPerm extractEntry test/tester.js
1940 silly lockFile 97cc376c-modules-grunt-node-modules-which tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/which
1941 silly lockFile 97cc376c-modules-grunt-node-modules-which tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/which
1942 silly lockFile b2398581-tock-npm-which-1-0-5-package-tgz tar:///Users/nwittstock/.npm/which/1.0.5/package.tgz
1943 silly lockFile b2398581-tock-npm-which-1-0-5-package-tgz tar:///Users/nwittstock/.npm/which/1.0.5/package.tgz
1944 info preinstall which@1.0.5
1945 verbose readDependencies using package.json deps
1946 silly lockFile f5d5a509-es-grunt-node-modules-dateformat tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/dateformat
1947 silly lockFile f5d5a509-es-grunt-node-modules-dateformat tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/dateformat
1948 verbose readDependencies using package.json deps
1949 silly resolved []
1950 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/which
1951 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/which
1952 verbose linkStuff [ false,
1952 verbose linkStuff false,
1952 verbose linkStuff false,
1952 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules' ]
1953 info linkStuff which@1.0.5
1954 verbose linkBins which@1.0.5
1955 verbose link bins [ { which: './bin/which' },
1955 verbose link bins '/Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/.bin',
1955 verbose link bins false ]
1956 verbose linkMans which@1.0.5
1957 verbose rebuildBundles which@1.0.5
1958 silly gunzTarPerm extractEntry test/sample_files/longbow.js
1959 silly gunzTarPerm extractEntry test/sample_files/foo.txt
1960 silly lockFile bdf399be-teformat-1-0-2-1-2-3-package-tgz tar:///Users/nwittstock/.npm/dateformat/1.0.2-1.2.3/package.tgz
1961 silly lockFile bdf399be-teformat-1-0-2-1-2-3-package-tgz tar:///Users/nwittstock/.npm/dateformat/1.0.2-1.2.3/package.tgz
1962 info preinstall dateformat@1.0.2-1.2.3
1963 info install which@1.0.5
1964 silly gunzTarPerm extractEntry lib/buffer-stream.js
1965 verbose readDependencies using package.json deps
1966 info postinstall which@1.0.5
1967 verbose readDependencies using package.json deps
1968 silly resolved []
1969 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/dateformat
1970 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/dateformat
1971 verbose linkStuff [ false,
1971 verbose linkStuff false,
1971 verbose linkStuff false,
1971 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules' ]
1972 info linkStuff dateformat@1.0.2-1.2.3
1973 verbose linkBins dateformat@1.0.2-1.2.3
1974 verbose linkMans dateformat@1.0.2-1.2.3
1975 verbose rebuildBundles dateformat@1.0.2-1.2.3
1976 info install dateformat@1.0.2-1.2.3
1977 info postinstall dateformat@1.0.2-1.2.3
1978 silly lockFile e045063c-e-modules-jade-node-modules-with tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/with
1979 silly lockFile e045063c-e-modules-jade-node-modules-with tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/with
1980 silly lockFile 9ff43854-stock-npm-with-1-1-1-package-tgz tar:///Users/nwittstock/.npm/with/1.1.1/package.tgz
1981 silly lockFile 9ff43854-stock-npm-with-1-1-1-package-tgz tar:///Users/nwittstock/.npm/with/1.1.1/package.tgz
1982 silly gunzTarPerm extractEntry lib/fn.js
1983 silly gunzTarPerm extractEntry lib/post-buffer.js
1984 info preinstall with@1.1.1
1985 silly gunzTarPerm extractEntry test/sample_files/nestedDir/servent.txt
1986 silly gunzTarPerm extractEntry test/sample_files/zap.bat
1987 silly gunzTarPerm extractEntry Makefile
1988 silly gunzTarPerm extractEntry lib/async.js
1989 silly lockFile 4d41189e-grunt-node-modules-eventemitter2 tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/eventemitter2
1990 silly lockFile 4d41189e-grunt-node-modules-eventemitter2 tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/eventemitter2
1991 verbose readDependencies using package.json deps
1992 silly lockFile b86d391c-eventemitter2-0-4-13-package-tgz tar:///Users/nwittstock/.npm/eventemitter2/0.4.13/package.tgz
1993 silly lockFile b86d391c-eventemitter2-0-4-13-package-tgz tar:///Users/nwittstock/.npm/eventemitter2/0.4.13/package.tgz
1994 verbose readDependencies using package.json deps
1995 verbose cache add [ 'uglify-js@2.4.0', null ]
1996 verbose cache add name=undefined spec="uglify-js@2.4.0" args=["uglify-js@2.4.0",null]
1997 verbose parsed url { protocol: null,
1997 verbose parsed url slashes: null,
1997 verbose parsed url auth: null,
1997 verbose parsed url host: null,
1997 verbose parsed url port: null,
1997 verbose parsed url hostname: null,
1997 verbose parsed url hash: null,
1997 verbose parsed url search: null,
1997 verbose parsed url query: null,
1997 verbose parsed url pathname: 'uglify-js@2.4.0',
1997 verbose parsed url path: 'uglify-js@2.4.0',
1997 verbose parsed url href: 'uglify-js@2.4.0' }
1998 verbose cache add name="uglify-js" spec="2.4.0" args=["uglify-js","2.4.0"]
1999 verbose parsed url { protocol: null,
1999 verbose parsed url slashes: null,
1999 verbose parsed url auth: null,
1999 verbose parsed url host: null,
1999 verbose parsed url port: null,
1999 verbose parsed url hostname: null,
1999 verbose parsed url hash: null,
1999 verbose parsed url search: null,
1999 verbose parsed url query: null,
1999 verbose parsed url pathname: '2.4.0',
1999 verbose parsed url path: '2.4.0',
1999 verbose parsed url href: '2.4.0' }
2000 verbose addNamed [ 'uglify-js', '2.4.0' ]
2001 verbose addNamed [ '2.4.0', '2.4.0' ]
2002 silly lockFile 7d6882b8-uglify-js-2-4-0 uglify-js@2.4.0
2003 verbose lock uglify-js@2.4.0 /Users/nwittstock/.npm/7d6882b8-uglify-js-2-4-0.lock
2004 info preinstall eventemitter2@0.4.13
2005 silly gunzTarPerm extractEntry ..travis.yml.un~
2006 silly gunzTarPerm extractEntry .travis.yml
2007 verbose readDependencies using package.json deps
2008 verbose readDependencies using package.json deps
2009 silly resolved []
2010 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/eventemitter2
2011 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/eventemitter2
2012 verbose linkStuff [ false,
2012 verbose linkStuff false,
2012 verbose linkStuff false,
2012 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules' ]
2013 info linkStuff eventemitter2@0.4.13
2014 verbose linkBins eventemitter2@0.4.13
2015 verbose linkMans eventemitter2@0.4.13
2016 verbose rebuildBundles eventemitter2@0.4.13
2017 info install eventemitter2@0.4.13
2018 silly lockFile 38e0eea1-odules-grunt-node-modules-rimraf tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/rimraf
2019 silly lockFile 38e0eea1-odules-grunt-node-modules-rimraf tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/rimraf
2020 silly lockFile 68fd1fb8-de-node-modules-character-parser tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/character-parser
2021 silly lockFile 68fd1fb8-de-node-modules-character-parser tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/character-parser
2022 silly lockFile 233ab9cb-ock-npm-rimraf-2-0-3-package-tgz tar:///Users/nwittstock/.npm/rimraf/2.0.3/package.tgz
2023 silly lockFile 233ab9cb-ock-npm-rimraf-2-0-3-package-tgz tar:///Users/nwittstock/.npm/rimraf/2.0.3/package.tgz
2024 info postinstall eventemitter2@0.4.13
2025 silly lockFile aab4459c-aracter-parser-1-2-0-package-tgz tar:///Users/nwittstock/.npm/character-parser/1.2.0/package.tgz
2026 silly lockFile aab4459c-aracter-parser-1-2-0-package-tgz tar:///Users/nwittstock/.npm/character-parser/1.2.0/package.tgz
2027 silly gunzTarPerm extractEntry test/buffer.js
2028 silly gunzTarPerm extractEntry test/stream.js
2029 info preinstall rimraf@2.0.3
2030 info preinstall character-parser@1.2.0
2031 verbose readDependencies using package.json deps
2032 silly lockFile 7ce0e36b-jade-node-modules-constantinople tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/constantinople
2033 silly lockFile 7ce0e36b-jade-node-modules-constantinople tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/constantinople
2034 verbose readDependencies using package.json deps
2035 verbose readDependencies using package.json deps
2036 silly lockFile 3855e8c7-constantinople-1-0-2-package-tgz tar:///Users/nwittstock/.npm/constantinople/1.0.2/package.tgz
2037 silly lockFile 3855e8c7-constantinople-1-0-2-package-tgz tar:///Users/nwittstock/.npm/constantinople/1.0.2/package.tgz
2038 verbose readDependencies using package.json deps
2039 silly resolved []
2040 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/character-parser
2041 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/character-parser
2042 verbose linkStuff [ false,
2042 verbose linkStuff false,
2042 verbose linkStuff false,
2042 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules' ]
2043 info linkStuff character-parser@1.2.0
2044 verbose linkBins character-parser@1.2.0
2045 verbose linkMans character-parser@1.2.0
2046 verbose rebuildBundles character-parser@1.2.0
2047 info install character-parser@1.2.0
2048 verbose cache add [ 'graceful-fs@~1.1', null ]
2049 verbose cache add name=undefined spec="graceful-fs@~1.1" args=["graceful-fs@~1.1",null]
2050 verbose parsed url { protocol: null,
2050 verbose parsed url slashes: null,
2050 verbose parsed url auth: null,
2050 verbose parsed url host: null,
2050 verbose parsed url port: null,
2050 verbose parsed url hostname: null,
2050 verbose parsed url hash: null,
2050 verbose parsed url search: null,
2050 verbose parsed url query: null,
2050 verbose parsed url pathname: 'graceful-fs@~1.1',
2050 verbose parsed url path: 'graceful-fs@~1.1',
2050 verbose parsed url href: 'graceful-fs@~1.1' }
2051 verbose cache add name="graceful-fs" spec="~1.1" args=["graceful-fs","~1.1"]
2052 verbose parsed url { protocol: null,
2052 verbose parsed url slashes: null,
2052 verbose parsed url auth: null,
2052 verbose parsed url host: null,
2052 verbose parsed url port: null,
2052 verbose parsed url hostname: null,
2052 verbose parsed url hash: null,
2052 verbose parsed url search: null,
2052 verbose parsed url query: null,
2052 verbose parsed url pathname: '~1.1',
2052 verbose parsed url path: '~1.1',
2052 verbose parsed url href: '~1.1' }
2053 verbose addNamed [ 'graceful-fs', '~1.1' ]
2054 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
2055 silly lockFile 0502dd56-graceful-fs-1-1 graceful-fs@~1.1
2056 verbose lock graceful-fs@~1.1 /Users/nwittstock/.npm/0502dd56-graceful-fs-1-1.lock
2057 silly gunzTarPerm extractEntry todo
2058 info postinstall character-parser@1.2.0
2059 info preinstall constantinople@1.0.2
2060 silly lockFile 63e56fc3--modules-grunt-node-modules-nopt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/nopt
2061 silly lockFile 63e56fc3--modules-grunt-node-modules-nopt tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/nopt
2062 verbose readDependencies using package.json deps
2063 silly lockFile 8b0da9f9-tock-npm-nopt-1-0-10-package-tgz tar:///Users/nwittstock/.npm/nopt/1.0.10/package.tgz
2064 silly lockFile 8b0da9f9-tock-npm-nopt-1-0-10-package-tgz tar:///Users/nwittstock/.npm/nopt/1.0.10/package.tgz
2065 verbose readDependencies using package.json deps
2066 silly lockFile d45bd411-odules-grunt-node-modules-colors tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/colors
2067 silly lockFile d45bd411-odules-grunt-node-modules-colors tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/colors
2068 silly lockFile 96eb6cca-ock-npm-colors-0-6-2-package-tgz tar:///Users/nwittstock/.npm/colors/0.6.2/package.tgz
2069 silly lockFile 96eb6cca-ock-npm-colors-0-6-2-package-tgz tar:///Users/nwittstock/.npm/colors/0.6.2/package.tgz
2070 silly lockFile ed47ba32-ules-jade-node-modules-commander tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/commander
2071 silly lockFile ed47ba32-ules-jade-node-modules-commander tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/commander
2072 verbose cache add [ 'uglify-js@~2.4.0', null ]
2073 verbose cache add name=undefined spec="uglify-js@~2.4.0" args=["uglify-js@~2.4.0",null]
2074 verbose parsed url { protocol: null,
2074 verbose parsed url slashes: null,
2074 verbose parsed url auth: null,
2074 verbose parsed url host: null,
2074 verbose parsed url port: null,
2074 verbose parsed url hostname: null,
2074 verbose parsed url hash: null,
2074 verbose parsed url search: null,
2074 verbose parsed url query: null,
2074 verbose parsed url pathname: 'uglify-js@~2.4.0',
2074 verbose parsed url path: 'uglify-js@~2.4.0',
2074 verbose parsed url href: 'uglify-js@~2.4.0' }
2075 verbose cache add name="uglify-js" spec="~2.4.0" args=["uglify-js","~2.4.0"]
2076 verbose parsed url { protocol: null,
2076 verbose parsed url slashes: null,
2076 verbose parsed url auth: null,
2076 verbose parsed url host: null,
2076 verbose parsed url port: null,
2076 verbose parsed url hostname: null,
2076 verbose parsed url hash: null,
2076 verbose parsed url search: null,
2076 verbose parsed url query: null,
2076 verbose parsed url pathname: '~2.4.0',
2076 verbose parsed url path: '~2.4.0',
2076 verbose parsed url href: '~2.4.0' }
2077 verbose addNamed [ 'uglify-js', '~2.4.0' ]
2078 verbose addNamed [ null, '>=2.4.0-0 <2.5.0-0' ]
2079 silly lockFile 1d881e0f-uglify-js-2-4-0 uglify-js@~2.4.0
2080 verbose lock uglify-js@~2.4.0 /Users/nwittstock/.npm/1d881e0f-uglify-js-2-4-0.lock
2081 silly lockFile b9e0af23--npm-commander-2-0-0-package-tgz tar:///Users/nwittstock/.npm/commander/2.0.0/package.tgz
2082 silly lockFile b9e0af23--npm-commander-2-0-0-package-tgz tar:///Users/nwittstock/.npm/commander/2.0.0/package.tgz
2083 info preinstall nopt@1.0.10
2084 silly lockFile f143c717-s-grunt-node-modules-findup-sync tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync
2085 silly lockFile f143c717-s-grunt-node-modules-findup-sync tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync
2086 info preinstall colors@0.6.2
2087 silly lockFile 942cd48d-pm-findup-sync-0-1-2-package-tgz tar:///Users/nwittstock/.npm/findup-sync/0.1.2/package.tgz
2088 silly lockFile 942cd48d-pm-findup-sync-0-1-2-package-tgz tar:///Users/nwittstock/.npm/findup-sync/0.1.2/package.tgz
2089 verbose readDependencies using package.json deps
2090 info preinstall commander@2.0.0
2091 verbose readDependencies using package.json deps
2092 verbose readDependencies using package.json deps
2093 verbose readDependencies using package.json deps
2094 silly resolved []
2095 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/colors
2096 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/colors
2097 verbose linkStuff [ false,
2097 verbose linkStuff false,
2097 verbose linkStuff false,
2097 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules' ]
2098 info linkStuff colors@0.6.2
2099 verbose linkBins colors@0.6.2
2100 verbose linkMans colors@0.6.2
2101 verbose rebuildBundles colors@0.6.2
2102 verbose cache add [ 'abbrev@1', null ]
2103 verbose cache add name=undefined spec="abbrev@1" args=["abbrev@1",null]
2104 verbose parsed url { protocol: null,
2104 verbose parsed url slashes: null,
2104 verbose parsed url auth: null,
2104 verbose parsed url host: null,
2104 verbose parsed url port: null,
2104 verbose parsed url hostname: null,
2104 verbose parsed url hash: null,
2104 verbose parsed url search: null,
2104 verbose parsed url query: null,
2104 verbose parsed url pathname: 'abbrev@1',
2104 verbose parsed url path: 'abbrev@1',
2104 verbose parsed url href: 'abbrev@1' }
2105 verbose cache add name="abbrev" spec="1" args=["abbrev","1"]
2106 verbose parsed url { protocol: null,
2106 verbose parsed url slashes: null,
2106 verbose parsed url auth: null,
2106 verbose parsed url host: null,
2106 verbose parsed url port: null,
2106 verbose parsed url hostname: null,
2106 verbose parsed url hash: null,
2106 verbose parsed url search: null,
2106 verbose parsed url query: null,
2106 verbose parsed url pathname: '1',
2106 verbose parsed url path: '1',
2106 verbose parsed url href: '1' }
2107 verbose addNamed [ 'abbrev', '1' ]
2108 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
2109 silly lockFile 6830b531-abbrev-1 abbrev@1
2110 verbose lock abbrev@1 /Users/nwittstock/.npm/6830b531-abbrev-1.lock
2111 info preinstall findup-sync@0.1.2
2112 info install colors@0.6.2
2113 verbose readDependencies using package.json deps
2114 verbose readDependencies using package.json deps
2115 silly resolved []
2116 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/commander
2117 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/commander
2118 verbose linkStuff [ false,
2118 verbose linkStuff false,
2118 verbose linkStuff false,
2118 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules' ]
2119 info linkStuff commander@2.0.0
2120 verbose linkBins commander@2.0.0
2121 verbose linkMans commander@2.0.0
2122 verbose rebuildBundles commander@2.0.0
2123 info postinstall colors@0.6.2
2124 info install commander@2.0.0
2125 verbose readDependencies using package.json deps
2126 verbose readDependencies using package.json deps
2127 info postinstall commander@2.0.0
2128 verbose cache add [ 'lodash@~1.0.1', null ]
2129 verbose cache add name=undefined spec="lodash@~1.0.1" args=["lodash@~1.0.1",null]
2130 verbose parsed url { protocol: null,
2130 verbose parsed url slashes: null,
2130 verbose parsed url auth: null,
2130 verbose parsed url host: null,
2130 verbose parsed url port: null,
2130 verbose parsed url hostname: null,
2130 verbose parsed url hash: null,
2130 verbose parsed url search: null,
2130 verbose parsed url query: null,
2130 verbose parsed url pathname: 'lodash@~1.0.1',
2130 verbose parsed url path: 'lodash@~1.0.1',
2130 verbose parsed url href: 'lodash@~1.0.1' }
2131 verbose cache add name="lodash" spec="~1.0.1" args=["lodash","~1.0.1"]
2132 verbose parsed url { protocol: null,
2132 verbose parsed url slashes: null,
2132 verbose parsed url auth: null,
2132 verbose parsed url host: null,
2132 verbose parsed url port: null,
2132 verbose parsed url hostname: null,
2132 verbose parsed url hash: null,
2132 verbose parsed url search: null,
2132 verbose parsed url query: null,
2132 verbose parsed url pathname: '~1.0.1',
2132 verbose parsed url path: '~1.0.1',
2132 verbose parsed url href: '~1.0.1' }
2133 verbose addNamed [ 'lodash', '~1.0.1' ]
2134 verbose addNamed [ null, '>=1.0.1-0 <1.1.0-0' ]
2135 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
2136 verbose lock lodash@~1.0.1 /Users/nwittstock/.npm/7309cd5e-lodash-1-0-1.lock
2137 silly addNameRange { name: 'lodash', range: '>=1.0.1-0 <1.1.0-0', hasData: false }
2138 verbose registry.get lodash not expired, no request
2139 silly addNameRange number 2 { name: 'lodash', range: '>=1.0.1-0 <1.1.0-0', hasData: true }
2140 silly addNameRange versions [ 'lodash',
2140 silly addNameRange [ '0.1.0',
2140 silly addNameRange '0.2.0',
2140 silly addNameRange '0.2.1',
2140 silly addNameRange '0.2.2',
2140 silly addNameRange '0.3.0',
2140 silly addNameRange '0.3.1',
2140 silly addNameRange '0.3.2',
2140 silly addNameRange '0.4.0',
2140 silly addNameRange '0.4.1',
2140 silly addNameRange '0.4.2',
2140 silly addNameRange '0.5.0-rc.1',
2140 silly addNameRange '0.5.0',
2140 silly addNameRange '0.5.1',
2140 silly addNameRange '0.5.2',
2140 silly addNameRange '0.6.0',
2140 silly addNameRange '0.6.1',
2140 silly addNameRange '0.7.0',
2140 silly addNameRange '0.8.0',
2140 silly addNameRange '0.8.1',
2140 silly addNameRange '0.8.2',
2140 silly addNameRange '0.9.0',
2140 silly addNameRange '0.9.1',
2140 silly addNameRange '0.9.2',
2140 silly addNameRange '0.10.0',
2140 silly addNameRange '1.0.0-rc.1',
2140 silly addNameRange '1.0.0-rc.2',
2140 silly addNameRange '1.0.0-rc.3',
2140 silly addNameRange '1.0.0',
2140 silly addNameRange '1.0.1',
2140 silly addNameRange '1.1.0',
2140 silly addNameRange '1.1.1',
2140 silly addNameRange '1.2.0',
2140 silly addNameRange '1.2.1',
2140 silly addNameRange '1.3.0',
2140 silly addNameRange '1.3.1',
2140 silly addNameRange '2.0.0',
2140 silly addNameRange '2.1.0',
2140 silly addNameRange '2.2.0',
2140 silly addNameRange '2.2.1' ] ]
2141 verbose addNamed [ 'lodash', '1.0.1' ]
2142 verbose addNamed [ '1.0.1', '1.0.1' ]
2143 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
2144 verbose lock lodash@1.0.1 /Users/nwittstock/.npm/e2e1e8db-lodash-1-0-1.lock
2145 silly lockFile bcd3c105-s-jade-node-modules-transformers tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/transformers
2146 silly lockFile bcd3c105-s-jade-node-modules-transformers tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/transformers
2147 silly lockFile 91d8b286-m-transformers-2-1-0-package-tgz tar:///Users/nwittstock/.npm/transformers/2.1.0/package.tgz
2148 silly lockFile 91d8b286-m-transformers-2-1-0-package-tgz tar:///Users/nwittstock/.npm/transformers/2.1.0/package.tgz
2149 info preinstall transformers@2.1.0
2150 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
2151 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
2152 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
2153 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
2154 verbose readDependencies using package.json deps
2155 silly resolved [ { name: 'lodash',
2155 silly resolved version: '1.0.1',
2155 silly resolved description: 'A utility library delivering consistency, customization, performance, and extras.',
2155 silly resolved homepage: 'http://lodash.com/',
2155 silly resolved license: 'MIT',
2155 silly resolved main: './dist/lodash.js',
2155 silly resolved keywords:
2155 silly resolved [ 'browser',
2155 silly resolved 'client',
2155 silly resolved 'functional',
2155 silly resolved 'performance',
2155 silly resolved 'server',
2155 silly resolved 'speed',
2155 silly resolved 'util' ],
2155 silly resolved author:
2155 silly resolved { name: 'John-David Dalton',
2155 silly resolved email: 'john.david.dalton@gmail.com',
2155 silly resolved url: 'http://allyoucanleet.com/' },
2155 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
2155 silly resolved bugs: { url: 'https://github.com/lodash/lodash/issues' },
2155 silly resolved repository: { type: 'git', url: 'https://github.com/lodash/lodash.git' },
2155 silly resolved engines: [ 'node', 'rhino' ],
2155 silly resolved jam: { main: './dist/lodash.compat.js' },
2155 silly resolved readme: '# Lo-Dash v1.0.1\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.min.js)\n\n* Lo-Dash compatibility builds (for legacy and modern environments):<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/lodash/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1’s builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/):<br>\n[Lo-Dash dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.js),\n[Lo-Dash prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.min.js),<br>\n[Lo-Dash compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.js),\n[Lo-Dash compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.compat.min.js),<br>\n[Underscore compat-dev](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.js), and\n[Underscore compat-prod](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.0.1/lodash.underscore.min.js)\n\n* For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Resources\n\nFor more information check out these articles, screencasts, and other videos over Lo-Dash:\n\n * Posts\n - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n\n * Videos\n - [Introducing Lo-Dash](https://vimeo.com/44154599)\n - [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n - [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n - [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays and objects\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) and [_.partialRight](http://lodash.com/docs#partialRight) for partial application without `this` binding\n * [_.template](http://lodash.com/docs#template) supports [*“imports”* options](http://lodash.com/docs#templateSettings_imports), [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6), and [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.clone](http://lodash.com/docs#clone), [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick),\n [and more…](http://lodash.com/docs "_.assign, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept `callback` and `thisArg` arguments\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.find](http://lodash.com/docs#find), [_.map](http://lodash.com/docs#map),\n [and more…](http://lodash.com/docs "_.countBy, _.every, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* and *“_.where”* `callback` shorthands\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~24, Firefox 1~18, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.20, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src="lodash.js"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nTo avoid potential issues, update `npm` before installing Lo-Dash:\n\n```bash\nnpm install npm -g\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\');\n\n// or as a drop-in replacement for Underscore\nvar _ = require(\'lodash/lodash.underscore\');\n```\n\n**Note:** If Lo-Dash is installed globally, run [`npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require(\'lodash\')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload(\'lodash.js\');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n \'paths\': {\n \'underscore\': \'path/to/lodash\'\n }\n},\n[\'underscore\'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Release Notes\n\n### <sup>v1.0.1</sup>\n\n * Add support for specifying source map URLs in `-p`/`--source-map` build options\n * Ensured the second argument passed to `_.assign` is not treated as a `callback`\n * Ensured `-p`/`--source-map` build options correctly set the `sourceMappingURL`\n * Made `-p`/`--source-map` build options set source map *“sources”* keys based on the builds performed\n * Made `_.defer` use `setImmediate`, in Node.js, when available\n * Made `_.where` search arrays for values regardless of their index position\n * Removed dead code from `_.template`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton "Follow @jdalton on Twitter") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias "Follow @mathias on Twitter") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n',
2155 silly resolved readmeFilename: 'README.md',
2155 silly resolved _id: 'lodash@1.0.1',
2155 silly resolved _from: 'lodash@~1.0.1' } ]
2156 info install lodash@1.0.1 into /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync
2157 info installOne lodash@1.0.1
2158 verbose readDependencies using package.json deps
2159 info /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync/node_modules/lodash unbuild
2160 verbose cache add [ 'uglify-js@~2.2.5', null ]
2161 verbose cache add name=undefined spec="uglify-js@~2.2.5" args=["uglify-js@~2.2.5",null]
2162 verbose parsed url { protocol: null,
2162 verbose parsed url slashes: null,
2162 verbose parsed url auth: null,
2162 verbose parsed url host: null,
2162 verbose parsed url port: null,
2162 verbose parsed url hostname: null,
2162 verbose parsed url hash: null,
2162 verbose parsed url search: null,
2162 verbose parsed url query: null,
2162 verbose parsed url pathname: 'uglify-js@~2.2.5',
2162 verbose parsed url path: 'uglify-js@~2.2.5',
2162 verbose parsed url href: 'uglify-js@~2.2.5' }
2163 verbose cache add name="uglify-js" spec="~2.2.5" args=["uglify-js","~2.2.5"]
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: '~2.2.5',
2164 verbose parsed url path: '~2.2.5',
2164 verbose parsed url href: '~2.2.5' }
2165 verbose addNamed [ 'uglify-js', '~2.2.5' ]
2166 verbose addNamed [ null, '>=2.2.5-0 <2.3.0-0' ]
2167 silly lockFile 24940452-uglify-js-2-2-5 uglify-js@~2.2.5
2168 verbose lock uglify-js@~2.2.5 /Users/nwittstock/.npm/24940452-uglify-js-2-2-5.lock
2169 verbose cache add [ 'promise@~2.0', null ]
2170 verbose cache add name=undefined spec="promise@~2.0" args=["promise@~2.0",null]
2171 verbose parsed url { protocol: null,
2171 verbose parsed url slashes: null,
2171 verbose parsed url auth: null,
2171 verbose parsed url host: null,
2171 verbose parsed url port: null,
2171 verbose parsed url hostname: null,
2171 verbose parsed url hash: null,
2171 verbose parsed url search: null,
2171 verbose parsed url query: null,
2171 verbose parsed url pathname: 'promise@~2.0',
2171 verbose parsed url path: 'promise@~2.0',
2171 verbose parsed url href: 'promise@~2.0' }
2172 verbose cache add name="promise" spec="~2.0" args=["promise","~2.0"]
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: '~2.0',
2173 verbose parsed url path: '~2.0',
2173 verbose parsed url href: '~2.0' }
2174 verbose addNamed [ 'promise', '~2.0' ]
2175 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
2176 silly lockFile 93701466-promise-2-0 promise@~2.0
2177 verbose lock promise@~2.0 /Users/nwittstock/.npm/93701466-promise-2-0.lock
2178 verbose cache add [ 'css@~1.0.8', null ]
2179 verbose cache add name=undefined spec="css@~1.0.8" args=["css@~1.0.8",null]
2180 verbose parsed url { protocol: null,
2180 verbose parsed url slashes: null,
2180 verbose parsed url auth: null,
2180 verbose parsed url host: null,
2180 verbose parsed url port: null,
2180 verbose parsed url hostname: null,
2180 verbose parsed url hash: null,
2180 verbose parsed url search: null,
2180 verbose parsed url query: null,
2180 verbose parsed url pathname: 'css@~1.0.8',
2180 verbose parsed url path: 'css@~1.0.8',
2180 verbose parsed url href: 'css@~1.0.8' }
2181 verbose cache add name="css" spec="~1.0.8" args=["css","~1.0.8"]
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: '~1.0.8',
2182 verbose parsed url path: '~1.0.8',
2182 verbose parsed url href: '~1.0.8' }
2183 verbose addNamed [ 'css', '~1.0.8' ]
2184 verbose addNamed [ null, '>=1.0.8-0 <1.1.0-0' ]
2185 silly lockFile 6b217e40-css-1-0-8 css@~1.0.8
2186 verbose lock css@~1.0.8 /Users/nwittstock/.npm/6b217e40-css-1-0-8.lock
2187 verbose tar unpack /Users/nwittstock/.npm/lodash/1.0.1/package.tgz
2188 silly lockFile 5d60a6c0--findup-sync-node-modules-lodash tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync/node_modules/lodash
2189 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/findup-sync/node_modules/lodash /Users/nwittstock/.npm/5d60a6c0--findup-sync-node-modules-lodash.lock
2190 silly lockFile 02eaab67-ock-npm-lodash-1-0-1-package-tgz tar:///Users/nwittstock/.npm/lodash/1.0.1/package.tgz
2191 verbose lock tar:///Users/nwittstock/.npm/lodash/1.0.1/package.tgz /Users/nwittstock/.npm/02eaab67-ock-npm-lodash-1-0-1-package-tgz.lock
2192 silly lockFile c653e0cd-odules-grunt-node-modules-hooker tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/hooker
2193 silly lockFile c653e0cd-odules-grunt-node-modules-hooker tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/hooker
2194 silly lockFile 0d4d37f7-modules-grunt-node-modules-async tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/async
2195 silly lockFile 0d4d37f7-modules-grunt-node-modules-async tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/async
2196 silly lockFile 65e4826f-ock-npm-hooker-0-2-3-package-tgz tar:///Users/nwittstock/.npm/hooker/0.2.3/package.tgz
2197 silly lockFile 65e4826f-ock-npm-hooker-0-2-3-package-tgz tar:///Users/nwittstock/.npm/hooker/0.2.3/package.tgz
2198 silly lockFile ad199add-ock-npm-async-0-1-22-package-tgz tar:///Users/nwittstock/.npm/async/0.1.22/package.tgz
2199 silly lockFile ad199add-ock-npm-async-0-1-22-package-tgz tar:///Users/nwittstock/.npm/async/0.1.22/package.tgz
2200 info preinstall hooker@0.2.3
2201 info preinstall async@0.1.22
2202 verbose readDependencies using package.json deps
2203 verbose readDependencies using package.json deps
2204 verbose readDependencies using package.json deps
2205 silly resolved []
2206 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/hooker
2207 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/hooker
2208 verbose linkStuff [ false,
2208 verbose linkStuff false,
2208 verbose linkStuff false,
2208 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules' ]
2209 info linkStuff hooker@0.2.3
2210 verbose linkBins hooker@0.2.3
2211 verbose linkMans hooker@0.2.3
2212 verbose rebuildBundles hooker@0.2.3
2213 verbose readDependencies using package.json deps
2214 silly resolved []
2215 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/async
2216 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/async
2217 verbose linkStuff [ false,
2217 verbose linkStuff false,
2217 verbose linkStuff false,
2217 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules' ]
2218 info linkStuff async@0.1.22
2219 verbose linkBins async@0.1.22
2220 verbose linkMans async@0.1.22
2221 verbose rebuildBundles async@0.1.22
2222 info install hooker@0.2.3
2223 info install async@0.1.22
2224 info postinstall hooker@0.2.3
2225 info postinstall async@0.1.22
2226 silly lockFile 0804c61f-les-grunt-node-modules-minimatch tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/minimatch
2227 silly lockFile 0804c61f-les-grunt-node-modules-minimatch tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/grunt/node_modules/minimatch
2228 silly lockFile 24cad475-npm-minimatch-0-2-12-package-tgz tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
2229 silly lockFile 24cad475-npm-minimatch-0-2-12-package-tgz tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
2230 info preinstall minimatch@0.2.12
2231 verbose readDependencies using package.json deps
2232 verbose readDependencies using package.json deps
2233 verbose cache add [ 'lru-cache@2', null ]
2234 verbose cache add name=undefined spec="lru-cache@2" args=["lru-cache@2",null]
2235 verbose parsed url { protocol: null,
2235 verbose parsed url slashes: null,
2235 verbose parsed url auth: null,
2235 verbose parsed url host: null,
2235 verbose parsed url port: null,
2235 verbose parsed url hostname: null,
2235 verbose parsed url hash: null,
2235 verbose parsed url search: null,
2235 verbose parsed url query: null,
2235 verbose parsed url pathname: 'lru-cache@2',
2235 verbose parsed url path: 'lru-cache@2',
2235 verbose parsed url href: 'lru-cache@2' }
2236 verbose cache add name="lru-cache" spec="2" args=["lru-cache","2"]
2237 verbose parsed url { protocol: null,
2237 verbose parsed url slashes: null,
2237 verbose parsed url auth: null,
2237 verbose parsed url host: null,
2237 verbose parsed url port: null,
2237 verbose parsed url hostname: null,
2237 verbose parsed url hash: null,
2237 verbose parsed url search: null,
2237 verbose parsed url query: null,
2237 verbose parsed url pathname: '2',
2237 verbose parsed url path: '2',
2237 verbose parsed url href: '2' }
2238 verbose addNamed [ 'lru-cache', '2' ]
2239 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
2240 silly lockFile b4f9d1ff-lru-cache-2 lru-cache@2
2241 verbose lock lru-cache@2 /Users/nwittstock/.npm/b4f9d1ff-lru-cache-2.lock
2242 verbose cache add [ 'sigmund@~1.0.0', null ]
2243 verbose cache add name=undefined spec="sigmund@~1.0.0" args=["sigmund@~1.0.0",null]
2244 verbose parsed url { protocol: null,
2244 verbose parsed url slashes: null,
2244 verbose parsed url auth: null,
2244 verbose parsed url host: null,
2244 verbose parsed url port: null,
2244 verbose parsed url hostname: null,
2244 verbose parsed url hash: null,
2244 verbose parsed url search: null,
2244 verbose parsed url query: null,
2244 verbose parsed url pathname: 'sigmund@~1.0.0',
2244 verbose parsed url path: 'sigmund@~1.0.0',
2244 verbose parsed url href: 'sigmund@~1.0.0' }
2245 verbose cache add name="sigmund" spec="~1.0.0" args=["sigmund","~1.0.0"]
2246 verbose parsed url { protocol: null,
2246 verbose parsed url slashes: null,
2246 verbose parsed url auth: null,
2246 verbose parsed url host: null,
2246 verbose parsed url port: null,
2246 verbose parsed url hostname: null,
2246 verbose parsed url hash: null,
2246 verbose parsed url search: null,
2246 verbose parsed url query: null,
2246 verbose parsed url pathname: '~1.0.0',
2246 verbose parsed url path: '~1.0.0',
2246 verbose parsed url href: '~1.0.0' }
2247 verbose addNamed [ 'sigmund', '~1.0.0' ]
2248 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
2249 silly lockFile 584a4a05-sigmund-1-0-0 sigmund@~1.0.0
2250 verbose lock sigmund@~1.0.0 /Users/nwittstock/.npm/584a4a05-sigmund-1-0-0.lock
2251 silly lockFile e45f0e5d-odules-jade-node-modules-monocle tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle
2252 silly lockFile e45f0e5d-odules-jade-node-modules-monocle tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle
2253 silly lockFile 6507d308-k-npm-monocle-1-1-50-package-tgz tar:///Users/nwittstock/.npm/monocle/1.1.50/package.tgz
2254 silly lockFile 6507d308-k-npm-monocle-1-1-50-package-tgz tar:///Users/nwittstock/.npm/monocle/1.1.50/package.tgz
2255 info preinstall monocle@1.1.50
2256 silly lockFile 67029e05-nicode-node-modules-bufferstream tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream
2257 silly lockFile 67029e05-nicode-node-modules-bufferstream tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream
2258 silly lockFile 5d02a949-m-bufferstream-0-6-0-package-tgz tar:///Users/nwittstock/.npm/bufferstream/0.6.0/package.tgz
2259 silly lockFile 5d02a949-m-bufferstream-0-6-0-package-tgz tar:///Users/nwittstock/.npm/bufferstream/0.6.0/package.tgz
2260 verbose readDependencies using package.json deps
2261 verbose readDependencies using package.json deps
2262 info preinstall bufferstream@0.6.0
2263 verbose cache add [ 'readdirp@~0.2.3', null ]
2264 verbose cache add name=undefined spec="readdirp@~0.2.3" args=["readdirp@~0.2.3",null]
2265 verbose parsed url { protocol: null,
2265 verbose parsed url slashes: null,
2265 verbose parsed url auth: null,
2265 verbose parsed url host: null,
2265 verbose parsed url port: null,
2265 verbose parsed url hostname: null,
2265 verbose parsed url hash: null,
2265 verbose parsed url search: null,
2265 verbose parsed url query: null,
2265 verbose parsed url pathname: 'readdirp@~0.2.3',
2265 verbose parsed url path: 'readdirp@~0.2.3',
2265 verbose parsed url href: 'readdirp@~0.2.3' }
2266 verbose cache add name="readdirp" spec="~0.2.3" args=["readdirp","~0.2.3"]
2267 verbose parsed url { protocol: null,
2267 verbose parsed url slashes: null,
2267 verbose parsed url auth: null,
2267 verbose parsed url host: null,
2267 verbose parsed url port: null,
2267 verbose parsed url hostname: null,
2267 verbose parsed url hash: null,
2267 verbose parsed url search: null,
2267 verbose parsed url query: null,
2267 verbose parsed url pathname: '~0.2.3',
2267 verbose parsed url path: '~0.2.3',
2267 verbose parsed url href: '~0.2.3' }
2268 verbose addNamed [ 'readdirp', '~0.2.3' ]
2269 verbose addNamed [ null, '>=0.2.3-0 <0.3.0-0' ]
2270 silly lockFile 04c42a12-readdirp-0-2-3 readdirp@~0.2.3
2271 verbose lock readdirp@~0.2.3 /Users/nwittstock/.npm/04c42a12-readdirp-0-2-3.lock
2272 verbose readDependencies using package.json deps
2273 silly addNameRange { name: 'readdirp', range: '>=0.2.3-0 <0.3.0-0', hasData: false }
2274 verbose readDependencies using package.json deps
2275 verbose url raw readdirp
2276 verbose url resolving [ 'https://registry.npmjs.org/', './readdirp' ]
2277 verbose url resolved https://registry.npmjs.org/readdirp
2278 info trying registry request attempt 1 at 17:30:59
2279 verbose etag "BFZKD8WDBXZKE400W0OXIBK8J"
2280 http GET https://registry.npmjs.org/readdirp
2281 verbose cache add [ 'bufferjs@>= 2.0.0', null ]
2282 verbose cache add name=undefined spec="bufferjs@>= 2.0.0" args=["bufferjs@>= 2.0.0",null]
2283 verbose parsed url { protocol: null,
2283 verbose parsed url slashes: null,
2283 verbose parsed url auth: null,
2283 verbose parsed url host: null,
2283 verbose parsed url port: null,
2283 verbose parsed url hostname: null,
2283 verbose parsed url hash: null,
2283 verbose parsed url search: null,
2283 verbose parsed url query: null,
2283 verbose parsed url pathname: 'bufferjs@%3E=%202.0.0',
2283 verbose parsed url path: 'bufferjs@%3E=%202.0.0',
2283 verbose parsed url href: 'bufferjs@%3E=%202.0.0' }
2284 verbose cache add name="bufferjs" spec=">= 2.0.0" args=["bufferjs",">= 2.0.0"]
2285 verbose parsed url { protocol: null,
2285 verbose parsed url slashes: null,
2285 verbose parsed url auth: null,
2285 verbose parsed url host: null,
2285 verbose parsed url port: null,
2285 verbose parsed url hostname: null,
2285 verbose parsed url hash: null,
2285 verbose parsed url search: null,
2285 verbose parsed url query: null,
2285 verbose parsed url pathname: '%3E=%202.0.0',
2285 verbose parsed url path: '%3E=%202.0.0',
2285 verbose parsed url href: '%3E=%202.0.0' }
2286 verbose addNamed [ 'bufferjs', '>= 2.0.0' ]
2287 verbose addNamed [ null, '>=2.0.0' ]
2288 silly lockFile c62bc01a-bufferjs-2-0-0 bufferjs@>= 2.0.0
2289 verbose lock bufferjs@>= 2.0.0 /Users/nwittstock/.npm/c62bc01a-bufferjs-2-0-0.lock
2290 silly addNameRange { name: 'bufferjs', range: '>=2.0.0', hasData: false }
2291 verbose url raw bufferjs
2292 verbose url resolving [ 'https://registry.npmjs.org/', './bufferjs' ]
2293 verbose url resolved https://registry.npmjs.org/bufferjs
2294 info trying registry request attempt 1 at 17:30:59
2295 verbose etag "33S9N4Y5DFA2CRV9ISMURKIEY"
2296 http GET https://registry.npmjs.org/bufferjs
2297 http 304 https://registry.npmjs.org/readdirp
2298 silly registry.get cb [ 304,
2298 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2298 silly registry.get etag: '"BFZKD8WDBXZKE400W0OXIBK8J"',
2298 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
2298 silly registry.get 'content-length': '0' } ]
2299 verbose etag readdirp from cache
2300 http 304 https://registry.npmjs.org/bufferjs
2301 silly registry.get cb [ 304,
2301 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
2301 silly registry.get etag: '"33S9N4Y5DFA2CRV9ISMURKIEY"',
2301 silly registry.get date: 'Fri, 25 Oct 2013 00:30:59 GMT',
2301 silly registry.get 'content-length': '0' } ]
2302 verbose etag bufferjs from cache
2303 silly addNameRange number 2 { name: 'readdirp', range: '>=0.2.3-0 <0.3.0-0', hasData: true }
2304 silly addNameRange versions [ 'readdirp',
2304 silly addNameRange [ '0.1.0',
2304 silly addNameRange '0.1.1',
2304 silly addNameRange '0.1.2',
2304 silly addNameRange '0.1.3',
2304 silly addNameRange '0.1.4',
2304 silly addNameRange '0.2.0',
2304 silly addNameRange '0.2.1',
2304 silly addNameRange '0.2.2',
2304 silly addNameRange '0.2.3',
2304 silly addNameRange '0.2.4',
2304 silly addNameRange '0.2.5',
2304 silly addNameRange '0.3.0',
2304 silly addNameRange '0.3.1' ] ]
2305 verbose addNamed [ 'readdirp', '0.2.5' ]
2306 verbose addNamed [ '0.2.5', '0.2.5' ]
2307 silly lockFile 9d63ca51-readdirp-0-2-5 readdirp@0.2.5
2308 verbose lock readdirp@0.2.5 /Users/nwittstock/.npm/9d63ca51-readdirp-0-2-5.lock
2309 silly addNameRange number 2 { name: 'bufferjs', range: '>=2.0.0', hasData: true }
2310 silly addNameRange versions [ 'bufferjs',
2310 silly addNameRange [ '0.2.0',
2310 silly addNameRange '0.2.1',
2310 silly addNameRange '0.2.3',
2310 silly addNameRange '1.0.0',
2310 silly addNameRange '1.0.1',
2310 silly addNameRange '1.0.2',
2310 silly addNameRange '1.1.0',
2310 silly addNameRange '1.2.0',
2310 silly addNameRange '1.2.1',
2310 silly addNameRange '2.0.0' ] ]
2311 verbose addNamed [ 'bufferjs', '2.0.0' ]
2312 verbose addNamed [ '2.0.0', '2.0.0' ]
2313 silly lockFile 46c8e9a8-bufferjs-2-0-0 bufferjs@2.0.0
2314 verbose lock bufferjs@2.0.0 /Users/nwittstock/.npm/46c8e9a8-bufferjs-2-0-0.lock
2315 silly lockFile 46c8e9a8-bufferjs-2-0-0 bufferjs@2.0.0
2316 silly lockFile 46c8e9a8-bufferjs-2-0-0 bufferjs@2.0.0
2317 silly lockFile c62bc01a-bufferjs-2-0-0 bufferjs@>= 2.0.0
2318 silly lockFile c62bc01a-bufferjs-2-0-0 bufferjs@>= 2.0.0
2319 silly resolved [ { name: 'bufferjs',
2319 silly resolved description: 'Pure JavaScript Buffer utils.',
2319 silly resolved url: 'http://github.com/coolaj86/node-bufferjs/',
2319 silly resolved keywords: [ 'util', 'buffer', 'chunk', 'indexOf' ],
2319 silly resolved author: { name: 'AJ ONeal', email: 'coolaj86@gmail.com' },
2319 silly resolved contributors: [ [Object], [Object] ],
2319 silly resolved dependencies: {},
2319 silly resolved version: '2.0.0',
2319 silly resolved main: './index',
2319 silly resolved engines: { node: '>=0.2.0' },
2319 silly resolved readme: 'ERROR: No README data found!',
2319 silly resolved _id: 'bufferjs@2.0.0',
2319 silly resolved _from: 'bufferjs@>= 2.0.0' } ]
2320 info install bufferjs@2.0.0 into /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream
2321 info installOne bufferjs@2.0.0
2322 info /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs unbuild
2323 silly lockFile 9d63ca51-readdirp-0-2-5 readdirp@0.2.5
2324 silly lockFile 9d63ca51-readdirp-0-2-5 readdirp@0.2.5
2325 silly lockFile 04c42a12-readdirp-0-2-3 readdirp@~0.2.3
2326 silly lockFile 04c42a12-readdirp-0-2-3 readdirp@~0.2.3
2327 verbose tar unpack /Users/nwittstock/.npm/bufferjs/2.0.0/package.tgz
2328 silly lockFile 07284d33-fferstream-node-modules-bufferjs tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs
2329 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs /Users/nwittstock/.npm/07284d33-fferstream-node-modules-bufferjs.lock
2330 silly lockFile c04733f4-k-npm-bufferjs-2-0-0-package-tgz tar:///Users/nwittstock/.npm/bufferjs/2.0.0/package.tgz
2331 verbose lock tar:///Users/nwittstock/.npm/bufferjs/2.0.0/package.tgz /Users/nwittstock/.npm/c04733f4-k-npm-bufferjs-2-0-0-package-tgz.lock
2332 silly resolved [ { author:
2332 silly resolved { name: 'Thorsten Lorenz',
2332 silly resolved email: 'thlorenz@gmx.de',
2332 silly resolved url: 'thlorenz.com' },
2332 silly resolved name: 'readdirp',
2332 silly resolved description: 'Recursive version of fs.readdir with streaming api.',
2332 silly resolved version: '0.2.5',
2332 silly resolved homepage: 'https://github.com/thlorenz/readdirp',
2332 silly resolved repository: { type: 'git', url: 'git://github.com/thlorenz/readdirp.git' },
2332 silly resolved engines: { node: '>=0.4' },
2332 silly resolved keywords:
2332 silly resolved [ 'recursive',
2332 silly resolved 'fs',
2332 silly resolved 'stream',
2332 silly resolved 'streams',
2332 silly resolved 'readdir',
2332 silly resolved 'filesystem',
2332 silly resolved 'find',
2332 silly resolved 'filter' ],
2332 silly resolved main: 'readdirp.js',
2332 silly resolved scripts: { test: 'tap test/*.js' },
2332 silly resolved dependencies: { minimatch: '>=0.2.4' },
2332 silly resolved devDependencies: { tap: '~0.3.1', through: '~1.1.0', minimatch: '~0.2.7' },
2332 silly resolved optionalDependencies: {},
2332 silly resolved license: 'MIT',
2332 silly resolved readme: '# readdirp [![Build Status](https://secure.travis-ci.org/thlorenz/readdirp.png)](http://travis-ci.org/thlorenz/readdirp)\n\nRecursive version of [fs.readdir](http://nodejs.org/docs/latest/api/fs.html#fs_fs_readdir_path_callback). Exposes a **stream api**.\n\n```javascript\nvar readdirp = require(\'readdirp\'); \n , path = require(\'path\')\n , es = require(\'event-stream\');\n\n// print out all JavaScript files along with their size\n\nvar stream = readdirp({ root: path.join(__dirname), fileFilter: \'*.js\' });\nstream\n .on(\'warn\', function (err) { \n console.error(\'non-fatal error\', err); \n // optionally call stream.destroy() here in order to abort and cause \'close\' to be emitted\n })\n .on(\'error\', function (err) { console.error(\'fatal error\', err); })\n .pipe(es.mapSync(function (entry) { \n return { path: entry.path, size: entry.stat.size };\n }))\n .pipe(es.stringify())\n .pipe(process.stdout);\n```\n\nMeant to be one of the recursive versions of [fs](http://nodejs.org/docs/latest/api/fs.html) functions, e.g., like [mkdirp](https://github.com/substack/node-mkdirp).\n\n**Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)*\n\n- [Installation](#installation)\n- [API](#api)\n\t- [entry stream](#entry-stream)\n\t- [options](#options)\n\t- [entry info](#entry-info)\n\t- [Filters](#filters)\n\t- [Callback API](#callback-api)\n\t\t- [allProcessed ](#allprocessed)\n\t\t- [fileProcessed](#fileprocessed)\n- [More Examples](#more-examples)\n\t- [stream api](#stream-api)\n\t- [stream api pipe](#stream-api-pipe)\n\t- [grep](#grep)\n\t- [using callback api](#using-callback-api)\n\t- [tests](#tests)\n\n\n# Installation\n\n npm install readdirp\n\n# API\n\n***var entryStream = readdirp (options)***\n\nReads given root recursively and returns a `stream` of [entry info](#entry-info)s.\n\n## entry stream\n\nBehaves as follows:\n \n- `emit(\'data\')` passes an [entry info](#entry-info) whenever one is found\n- `emit(\'warn\')` passes a non-fatal `Error` that prevents a file/directory from being processed (i.e., if it is\n inaccessible to the user)\n- `emit(\'error\')` passes a fatal `Error` which also ends the stream (i.e., when illegal options where passed)\n- `emit(\'end\')` called when all entries were found and no more will be emitted (i.e., we are done)\n- `emit(\'close\')` called when the stream is destroyed via `stream.destroy()` (which could be useful if you want to\n manually abort even on a non fatal error) - at that point the stream is no longer `readable` and no more entries,\n warning or errors are emitted\n- the stream is `paused` initially in order to allow `pipe` and `on` handlers be connected before data or errors are\n emitted\n- the stream is `resumed` automatically during the next event loop \n- to learn more about streams, consult the [stream-handbook](https://github.com/substack/stream-handbook)\n\n## options\n \n- **root**: path in which to start reading and recursing into subdirectories\n\n- **fileFilter**: filter to include/exclude files found (see [Filters](#filters) for more)\n\n- **directoryFilter**: filter to include/exclude directories found and to recurse into (see [Filters](#filters) for more)\n\n- **depth**: depth at which to stop recursing even if more subdirectories are found\n\n## entry info\n\nHas the following properties:\n\n- **parentDir** : directory in which entry was found (relative to given root)\n- **fullParentDir** : full path to parent directory\n- **name** : name of the file/directory\n- **path** : path to the file/directory (relative to given root)\n- **fullPath** : full path to the file/directory found\n- **stat** : built in [stat object](http://nodejs.org/docs/v0.4.9/api/fs.html#fs.Stats)\n- **Example**: (assuming root was `/User/dev/readdirp`)\n \n parentDir : \'test/bed/root_dir1\',\n fullParentDir : \'/User/dev/readdirp/test/bed/root_dir1\',\n name : \'root_dir1_subdir1\',\n path : \'test/bed/root_dir1/root_dir1_subdir1\',\n fullPath : \'/User/dev/readdirp/test/bed/root_dir1/root_dir1_subdir1\',\n stat : [ ... ]\n \n## Filters\n \nThere are three different ways to specify filters for files and directories respectively. \n\n- **function**: a function that takes an entry info as a parameter and returns true to include or false to exclude the entry\n\n- **glob string**: a string (e.g., `*.js`) which is matched using [minimatch](https://github.com/isaacs/minimatch), so go there for more\n information. \n\n Globstars (`**`) are not supported since specifiying a recursive pattern for an already recursive function doesn\'t make sense.\n\n Negated globs (as explained in the minimatch documentation) are allowed, e.g., `!*.txt` matches everything but text files.\n\n- **array of glob strings**: either need to be all inclusive or all exclusive (negated) patterns otherwise an error is thrown.\n \n `[ \'*.json\', \'*.js\' ]` includes all JavaScript and Json files.\n \n \n `[ \'!.git\', \'!node_modules\' ]` includes all directories except the \'.git\' and \'node_modules\'.\n\nDirectories that do not pass a filter will not be recursed into.\n\n## Callback API\n\nAlthough the stream api is recommended, readdirp also exposes a callback based api.\n\n***readdirp (options, callback1 [, callback2])***\n\nIf callback2 is given, callback1 functions as the **fileProcessed** callback, and callback2 as the **allProcessed** callback.\n\nIf only callback1 is given, it functions as the **allProcessed** callback.\n\n### allProcessed \n\n- function with err and res parameters, e.g., `function (err, res) { ... }`\n- **err**: array of errors that occurred during the operation, **res may still be present, even if errors occurred**\n- **res**: collection of file/directory [entry infos](#entry-info)\n\n### fileProcessed\n\n- function with [entry info](#entry-info) parameter e.g., `function (entryInfo) { ... }`\n\n\n# More Examples\n\n`on(\'error\', ..)`, `on(\'warn\', ..)` and `on(\'end\', ..)` handling omitted for brevity\n\n```javascript\nvar readdirp = require(\'readdirp\');\n\n// Glob file filter\nreaddirp({ root: \'./test/bed\', fileFilter: \'*.js\' })\n .on(\'data\', function (entry) {\n // do something with each JavaScript file entry\n });\n\n// Combined glob file filters\nreaddirp({ root: \'./test/bed\', fileFilter: [ \'*.js\', \'*.json\' ] })\n .on(\'data\', function (entry) {\n // do something with each JavaScript and Json file entry \n });\n\n// Combined negated directory filters\nreaddirp({ root: \'./test/bed\', directoryFilter: [ \'!.git\', \'!*modules\' ] })\n .on(\'data\', function (entry) {\n // do something with each file entry found outside \'.git\' or any modules directory \n });\n\n// Function directory filter\nreaddirp({ root: \'./test/bed\', directoryFilter: function (di) { return di.name.length === 9; } })\n .on(\'data\', function (entry) {\n // do something with each file entry found inside directories whose name has length 9\n });\n\n// Limiting depth\nreaddirp({ root: \'./test/bed\', depth: 1 })\n .on(\'data\', function (entry) {\n // do something with each file entry found up to 1 subdirectory deep\n });\n\n// callback api\nreaddirp(\n { root: \'.\' }\n , function(fileInfo) { \n // do something with file entry here\n } \n , function (err, res) {\n // all done, move on or do final step for all file entries here\n }\n);\n```\n\nTry more examples by following [instructions](https://github.com/thlorenz/readdirp/blob/master/examples/Readme.md)\non how to get going.\n\n## stream api\n\n[stream-api.js](https://github.com/thlorenz/readdirp/blob/master/examples/stream-api.js)\n\nDemonstrates error and data handling by listening to events emitted from the readdirp stream.\n\n## stream api pipe\n\n[stream-api-pipe.js](https://github.com/thlorenz/readdirp/blob/master/examples/stream-api-pipe.js)\n\nDemonstrates error handling by listening to events emitted from the readdirp stream and how to pipe the data stream into\nanother destination stream.\n\n## grep\n\n[grep.js](https://github.com/thlorenz/readdirp/blob/master/examples/grep.js)\n\nVery naive implementation of grep, for demonstration purposes only.\n\n## using callback api\n\n[callback-api.js](https://github.com/thlorenz/readdirp/blob/master/examples/callback-api.js)\n\nShows how to pass callbacks in order to handle errors and/or data.\n\n## tests\n\nThe [readdirp tests](https://github.com/thlorenz/readdirp/blob/master/test/readdirp.js) also will give you a good idea on\nhow things work.\n\n',
2332 silly resolved readmeFilename: 'README.md',
2332 silly resolved bugs: { url: 'https://github.com/thlorenz/readdirp/issues' },
2332 silly resolved _id: 'readdirp@0.2.5',
2332 silly resolved _from: 'readdirp@~0.2.3' } ]
2333 info install readdirp@0.2.5 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle
2334 info installOne readdirp@0.2.5
2335 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp unbuild
2336 silly gunzTarPerm modes [ '755', '644' ]
2337 verbose tar unpack /Users/nwittstock/.npm/readdirp/0.2.5/package.tgz
2338 silly lockFile 4d1ac8ab-es-monocle-node-modules-readdirp tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp
2339 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp /Users/nwittstock/.npm/4d1ac8ab-es-monocle-node-modules-readdirp.lock
2340 silly lockFile cfa42f8c-k-npm-readdirp-0-2-5-package-tgz tar:///Users/nwittstock/.npm/readdirp/0.2.5/package.tgz
2341 verbose lock tar:///Users/nwittstock/.npm/readdirp/0.2.5/package.tgz /Users/nwittstock/.npm/cfa42f8c-k-npm-readdirp-0-2-5-package-tgz.lock
2342 silly gunzTarPerm modes [ '755', '644' ]
2343 silly gunzTarPerm extractEntry package.json
2344 silly gunzTarPerm extractEntry add-chunk.js
2345 silly gunzTarPerm extractEntry index.js
2346 silly gunzTarPerm extractEntry package.json
2347 silly gunzTarPerm extractEntry .npmignore
2348 silly gunzTarPerm extractEntry README.md
2349 silly gunzTarPerm extractEntry indexOf.js
2350 silly gunzTarPerm extractEntry LICENSE
2351 silly gunzTarPerm extractEntry readdirp.js
2352 silly gunzTarPerm extractEntry stream-api.js
2353 silly lockFile 07284d33-fferstream-node-modules-bufferjs tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs
2354 silly lockFile 07284d33-fferstream-node-modules-bufferjs tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs
2355 silly lockFile c04733f4-k-npm-bufferjs-2-0-0-package-tgz tar:///Users/nwittstock/.npm/bufferjs/2.0.0/package.tgz
2356 silly lockFile c04733f4-k-npm-bufferjs-2-0-0-package-tgz tar:///Users/nwittstock/.npm/bufferjs/2.0.0/package.tgz
2357 silly gunzTarPerm extractEntry .travis.yml
2358 silly gunzTarPerm extractEntry examples/package.json
2359 info preinstall bufferjs@2.0.0
2360 verbose readDependencies using package.json deps
2361 verbose readDependencies using package.json deps
2362 silly resolved []
2363 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs
2364 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs
2365 verbose linkStuff [ false,
2365 verbose linkStuff false,
2365 verbose linkStuff false,
2365 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules' ]
2366 info linkStuff bufferjs@2.0.0
2367 verbose linkBins bufferjs@2.0.0
2368 verbose linkMans bufferjs@2.0.0
2369 verbose rebuildBundles bufferjs@2.0.0
2370 info install bufferjs@2.0.0
2371 info postinstall bufferjs@2.0.0
2372 silly gunzTarPerm extractEntry examples/callback-api.js
2373 silly gunzTarPerm extractEntry examples/grep.js
2374 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream
2375 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules/bufferstream
2376 verbose linkStuff [ false,
2376 verbose linkStuff false,
2376 verbose linkStuff false,
2376 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode/node_modules' ]
2377 info linkStuff bufferstream@0.6.0
2378 verbose linkBins bufferstream@0.6.0
2379 verbose linkMans bufferstream@0.6.0
2380 verbose rebuildBundles bufferstream@0.6.0
2381 verbose rebuildBundles [ 'bufferjs' ]
2382 info install bufferstream@0.6.0
2383 info postinstall bufferstream@0.6.0
2384 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode
2385 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules/unicode
2386 verbose linkStuff [ false,
2386 verbose linkStuff false,
2386 verbose linkStuff false,
2386 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules/slug/node_modules' ]
2387 info linkStuff unicode@0.4.5
2388 verbose linkBins unicode@0.4.5
2389 verbose linkMans unicode@0.4.5
2390 verbose rebuildBundles unicode@0.4.5
2391 verbose rebuildBundles [ 'bufferstream' ]
2392 info install unicode@0.4.5
2393 info postinstall unicode@0.4.5
2394 verbose unsafe-perm in lifecycle true
2395 silly gunzTarPerm extractEntry examples/stream-api-pipe.js
2396 silly gunzTarPerm extractEntry examples/stream-api.js
2397 silly gunzTarPerm extractEntry examples/Readme.md
2398 silly gunzTarPerm extractEntry examples/node_modules/event-stream/package.json
2399 silly gunzTarPerm extractEntry examples/node_modules/event-stream/.npmignore
2400 silly gunzTarPerm extractEntry examples/node_modules/event-stream/LICENCE
2401 silly gunzTarPerm extractEntry examples/node_modules/event-stream/index.js
2402 silly gunzTarPerm extractEntry examples/node_modules/event-stream/.travis.yml
2403 silly gunzTarPerm extractEntry examples/node_modules/event-stream/examples/pretty.js
2404 silly gunzTarPerm extractEntry examples/node_modules/event-stream/readme.markdown
2405 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/connect.asynct.js
2406 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/pause.asynct.js
2407 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/pipeline.asynct.js
2408 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/readArray.asynct.js
2409 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/readable.asynct.js
2410 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/merge.asynct.js
2411 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/simple-map.asynct.js
2412 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/spec.asynct.js
2413 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/split.asynct.js
2414 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/stringify.js
2415 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/writeArray.asynct.js
2416 silly gunzTarPerm extractEntry examples/node_modules/event-stream/test/replace.asynct.js
2417 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/package.json
2418 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/.npmignore
2419 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/README.md
2420 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/LICENCE
2421 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/index.js
2422 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/test.js
2423 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/.travis.yml
2424 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/duplexer/Makefile
2425 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/from/package.json
2426 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/from/index.js
2427 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/from/LICENSE.APACHE2
2428 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/from/LICENSE.MIT
2429 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/from/readme.markdown
2430 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/from/test/index.js
2431 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/package.json
2432 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/.npmignore
2433 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/LICENCE
2434 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/index.js
2435 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/.travis.yml
2436 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/examples/pretty.js
2437 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/readme.markdown
2438 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/map-stream/test/simple-map.asynct.js
2439 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/package.json
2440 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/.npmignore
2441 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/LICENSE
2442 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/index.js
2443 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/README.markdown
2444 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/bool.js
2445 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/default_singles.js
2446 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/divide.js
2447 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/line_count.js
2448 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/default_hash.js
2449 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/line_count_wrap.js
2450 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/nonopt.js
2451 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/reflect.js
2452 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/short.js
2453 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/string.js
2454 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/boolean_single.js
2455 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/usage-options.js
2456 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/boolean_double.js
2457 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/xup.js
2458 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/examples/line_count_options.js
2459 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/test/_.js
2460 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/test/parse.js
2461 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/test/usage.js
2462 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/test/_/argv.js
2463 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/test/_/bin.js
2464 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/package.json
2465 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/.npmignore
2466 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/index.js
2467 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/README.markdown
2468 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/example/center.js
2469 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/example/meat.js
2470 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/test/break.js
2471 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/test/wrap.js
2472 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/optimist/node_modules/wordwrap/test/idleness.txt
2473 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/pause-stream/package.json
2474 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/pause-stream/.npmignore
2475 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/pause-stream/index.js
2476 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/pause-stream/readme.markdown
2477 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/pause-stream/test/index.js
2478 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/pause-stream/test/pause-end.js
2479 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/package.json
2480 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/.npmignore
2481 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/LICENCE
2482 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/index.js
2483 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/.travis.yml
2484 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/examples/pretty.js
2485 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/readme.markdown
2486 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/test/split.asynct.js
2487 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/node_modules/through/package.json
2488 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/node_modules/through/index.js
2489 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/node_modules/through/.travis.yml
2490 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/node_modules/through/LICENSE.APACHE2
2491 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/node_modules/through/LICENSE.MIT
2492 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/node_modules/through/readme.markdown
2493 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/split/node_modules/through/test/index.js
2494 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/package.json
2495 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/index.js
2496 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/.travis.yml
2497 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/LICENSE.APACHE2
2498 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/LICENSE.MIT
2499 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/readme.markdown
2500 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/test/buffering.js
2501 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/test/end.js
2502 silly gunzTarPerm extractEntry examples/node_modules/event-stream/node_modules/through/test/index.js
2503 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/package.json
2504 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/.npmignore
2505 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/README.md
2506 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/index.js
2507 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/.travis.yml
2508 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/examples/tap-nested-objects.js
2509 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/test/tap-stream.js
2510 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/package.json
2511 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/index.js
2512 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/.travis.yml
2513 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/LICENSE.APACHE2
2514 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/LICENSE.MIT
2515 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/readme.markdown
2516 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/test/buffering.js
2517 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/test/end.js
2518 silly gunzTarPerm extractEntry examples/node_modules/tap-stream/node_modules/through/test/index.js
2519 silly gunzTarPerm extractEntry test/readdirp-stream.js
2520 silly gunzTarPerm extractEntry test/readdirp.js
2521 silly gunzTarPerm extractEntry test/bed/root_dir1/root_dir1_file1.ext1
2522 silly gunzTarPerm extractEntry test/bed/root_dir1/root_dir1_file2.ext2
2523 silly gunzTarPerm extractEntry test/bed/root_dir1/root_dir1_file3.ext3
2524 silly gunzTarPerm extractEntry test/bed/root_dir1/root_dir1_subdir1/root1_dir1_subdir1_file1.ext1
2525 silly gunzTarPerm extractEntry test/bed/root_dir2/root_dir2_file1.ext1
2526 silly gunzTarPerm extractEntry test/bed/root_dir2/root_dir2_file2.ext2
2527 silly gunzTarPerm extractEntry test/bed/root_file1.ext1
2528 silly gunzTarPerm extractEntry test/bed/root_file2.ext2
2529 silly gunzTarPerm extractEntry test/bed/root_file3.ext3
2530 silly lockFile 4d1ac8ab-es-monocle-node-modules-readdirp tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp
2531 silly lockFile 4d1ac8ab-es-monocle-node-modules-readdirp tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp
2532 silly lockFile cfa42f8c-k-npm-readdirp-0-2-5-package-tgz tar:///Users/nwittstock/.npm/readdirp/0.2.5/package.tgz
2533 silly lockFile cfa42f8c-k-npm-readdirp-0-2-5-package-tgz tar:///Users/nwittstock/.npm/readdirp/0.2.5/package.tgz
2534 info preinstall readdirp@0.2.5
2535 verbose readDependencies using package.json deps
2536 verbose readDependencies using package.json deps
2537 verbose cache add [ 'minimatch@>=0.2.4', null ]
2538 verbose cache add name=undefined spec="minimatch@>=0.2.4" args=["minimatch@>=0.2.4",null]
2539 verbose parsed url { protocol: null,
2539 verbose parsed url slashes: null,
2539 verbose parsed url auth: null,
2539 verbose parsed url host: null,
2539 verbose parsed url port: null,
2539 verbose parsed url hostname: null,
2539 verbose parsed url hash: null,
2539 verbose parsed url search: null,
2539 verbose parsed url query: null,
2539 verbose parsed url pathname: 'minimatch@%3E=0.2.4',
2539 verbose parsed url path: 'minimatch@%3E=0.2.4',
2539 verbose parsed url href: 'minimatch@%3E=0.2.4' }
2540 verbose cache add name="minimatch" spec=">=0.2.4" args=["minimatch",">=0.2.4"]
2541 verbose parsed url { protocol: null,
2541 verbose parsed url slashes: null,
2541 verbose parsed url auth: null,
2541 verbose parsed url host: null,
2541 verbose parsed url port: null,
2541 verbose parsed url hostname: null,
2541 verbose parsed url hash: null,
2541 verbose parsed url search: null,
2541 verbose parsed url query: null,
2541 verbose parsed url pathname: '%3E=0.2.4',
2541 verbose parsed url path: '%3E=0.2.4',
2541 verbose parsed url href: '%3E=0.2.4' }
2542 verbose addNamed [ 'minimatch', '>=0.2.4' ]
2543 verbose addNamed [ null, '>=0.2.4' ]
2544 silly lockFile 5a1b7cbd-minimatch-0-2-4 minimatch@>=0.2.4
2545 verbose lock minimatch@>=0.2.4 /Users/nwittstock/.npm/5a1b7cbd-minimatch-0-2-4.lock
2546 silly addNameRange { name: 'minimatch', range: '>=0.2.4', hasData: false }
2547 verbose registry.get minimatch not expired, no request
2548 silly addNameRange number 2 { name: 'minimatch', range: '>=0.2.4', hasData: true }
2549 silly addNameRange versions [ 'minimatch',
2549 silly addNameRange [ '0.0.1',
2549 silly addNameRange '0.0.2',
2549 silly addNameRange '0.0.4',
2549 silly addNameRange '0.0.5',
2549 silly addNameRange '0.1.1',
2549 silly addNameRange '0.1.2',
2549 silly addNameRange '0.1.3',
2549 silly addNameRange '0.1.4',
2549 silly addNameRange '0.1.5',
2549 silly addNameRange '0.2.0',
2549 silly addNameRange '0.2.2',
2549 silly addNameRange '0.2.3',
2549 silly addNameRange '0.2.4',
2549 silly addNameRange '0.2.5',
2549 silly addNameRange '0.2.6',
2549 silly addNameRange '0.2.7',
2549 silly addNameRange '0.2.8',
2549 silly addNameRange '0.2.9',
2549 silly addNameRange '0.2.10',
2549 silly addNameRange '0.2.11',
2549 silly addNameRange '0.2.12' ] ]
2550 verbose addNamed [ 'minimatch', '0.2.12' ]
2551 verbose addNamed [ '0.2.12', '0.2.12' ]
2552 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
2553 verbose lock minimatch@0.2.12 /Users/nwittstock/.npm/16b89810-minimatch-0-2-12.lock
2554 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
2555 silly lockFile 16b89810-minimatch-0-2-12 minimatch@0.2.12
2556 silly lockFile 5a1b7cbd-minimatch-0-2-4 minimatch@>=0.2.4
2557 silly lockFile 5a1b7cbd-minimatch-0-2-4 minimatch@>=0.2.4
2558 silly resolved [ { author:
2558 silly resolved { name: 'Isaac Z. Schlueter',
2558 silly resolved email: 'i@izs.me',
2558 silly resolved url: 'http://blog.izs.me' },
2558 silly resolved name: 'minimatch',
2558 silly resolved description: 'a glob matcher in javascript',
2558 silly resolved version: '0.2.12',
2558 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
2558 silly resolved main: 'minimatch.js',
2558 silly resolved scripts: { test: 'tap test' },
2558 silly resolved engines: { node: '*' },
2558 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
2558 silly resolved devDependencies: { tap: '' },
2558 silly resolved license:
2558 silly resolved { type: 'MIT',
2558 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
2558 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n### Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not. **Note that this is different from the way that `**` is\nhandled by ruby\'s `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n',
2558 silly resolved readmeFilename: 'README.md',
2558 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
2558 silly resolved _id: 'minimatch@0.2.12',
2558 silly resolved _from: 'minimatch@>=0.2.4' } ]
2559 info install minimatch@0.2.12 into /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp
2560 info installOne minimatch@0.2.12
2561 info /Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch unbuild
2562 verbose tar unpack /Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
2563 silly lockFile 8da698b3--readdirp-node-modules-minimatch tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch
2564 verbose lock tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch /Users/nwittstock/.npm/8da698b3--readdirp-node-modules-minimatch.lock
2565 silly lockFile 24cad475-npm-minimatch-0-2-12-package-tgz tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
2566 verbose lock tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz /Users/nwittstock/.npm/24cad475-npm-minimatch-0-2-12-package-tgz.lock
2567 silly gunzTarPerm modes [ '755', '644' ]
2568 silly gunzTarPerm extractEntry package.json
2569 silly gunzTarPerm extractEntry README.md
2570 silly gunzTarPerm extractEntry LICENSE
2571 silly gunzTarPerm extractEntry minimatch.js
2572 silly gunzTarPerm extractEntry test/basic.js
2573 silly gunzTarPerm extractEntry test/brace-expand.js
2574 silly gunzTarPerm extractEntry test/caching.js
2575 silly gunzTarPerm extractEntry test/defaults.js
2576 silly lockFile 8da698b3--readdirp-node-modules-minimatch tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch
2577 silly lockFile 8da698b3--readdirp-node-modules-minimatch tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch
2578 silly lockFile 24cad475-npm-minimatch-0-2-12-package-tgz tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
2579 silly lockFile 24cad475-npm-minimatch-0-2-12-package-tgz tar:///Users/nwittstock/.npm/minimatch/0.2.12/package.tgz
2580 info preinstall minimatch@0.2.12
2581 verbose readDependencies using package.json deps
2582 verbose readDependencies using package.json deps
2583 verbose cache add [ 'lru-cache@2', null ]
2584 verbose cache add name=undefined spec="lru-cache@2" args=["lru-cache@2",null]
2585 verbose parsed url { protocol: null,
2585 verbose parsed url slashes: null,
2585 verbose parsed url auth: null,
2585 verbose parsed url host: null,
2585 verbose parsed url port: null,
2585 verbose parsed url hostname: null,
2585 verbose parsed url hash: null,
2585 verbose parsed url search: null,
2585 verbose parsed url query: null,
2585 verbose parsed url pathname: 'lru-cache@2',
2585 verbose parsed url path: 'lru-cache@2',
2585 verbose parsed url href: 'lru-cache@2' }
2586 verbose cache add name="lru-cache" spec="2" args=["lru-cache","2"]
2587 verbose parsed url { protocol: null,
2587 verbose parsed url slashes: null,
2587 verbose parsed url auth: null,
2587 verbose parsed url host: null,
2587 verbose parsed url port: null,
2587 verbose parsed url hostname: null,
2587 verbose parsed url hash: null,
2587 verbose parsed url search: null,
2587 verbose parsed url query: null,
2587 verbose parsed url pathname: '2',
2587 verbose parsed url path: '2',
2587 verbose parsed url href: '2' }
2588 verbose addNamed [ 'lru-cache', '2' ]
2589 verbose cache add [ 'sigmund@~1.0.0', null ]
2590 verbose cache add name=undefined spec="sigmund@~1.0.0" args=["sigmund@~1.0.0",null]
2591 verbose parsed url { protocol: null,
2591 verbose parsed url slashes: null,
2591 verbose parsed url auth: null,
2591 verbose parsed url host: null,
2591 verbose parsed url port: null,
2591 verbose parsed url hostname: null,
2591 verbose parsed url hash: null,
2591 verbose parsed url search: null,
2591 verbose parsed url query: null,
2591 verbose parsed url pathname: 'sigmund@~1.0.0',
2591 verbose parsed url path: 'sigmund@~1.0.0',
2591 verbose parsed url href: 'sigmund@~1.0.0' }
2592 verbose cache add name="sigmund" spec="~1.0.0" args=["sigmund","~1.0.0"]
2593 verbose parsed url { protocol: null,
2593 verbose parsed url slashes: null,
2593 verbose parsed url auth: null,
2593 verbose parsed url host: null,
2593 verbose parsed url port: null,
2593 verbose parsed url hostname: null,
2593 verbose parsed url hash: null,
2593 verbose parsed url search: null,
2593 verbose parsed url query: null,
2593 verbose parsed url pathname: '~1.0.0',
2593 verbose parsed url path: '~1.0.0',
2593 verbose parsed url href: '~1.0.0' }
2594 verbose addNamed [ 'sigmund', '~1.0.0' ]
2595 info postinstall bcrypt@0.7.7
2596 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug
2597 info build /Users/nwittstock/Dropbox/Code/extra/node_modules/slug
2598 verbose linkStuff [ false,
2598 verbose linkStuff false,
2598 verbose linkStuff false,
2598 verbose linkStuff '/Users/nwittstock/Dropbox/Code/extra/node_modules' ]
2599 info linkStuff slug@0.3.3
2600 verbose linkBins slug@0.3.3
2601 verbose linkMans slug@0.3.3
2602 verbose rebuildBundles slug@0.3.3
2603 verbose rebuildBundles [ 'unicode' ]
2604 info install slug@0.3.3
2605 info postinstall slug@0.3.3
2606 silly gunzTarPerm modes [ '755', '644' ]
2607 silly gunzTarPerm extractEntry package.json
2608 silly gunzTarPerm extractEntry .npmignore
2609 silly gunzTarPerm extractEntry README.md
2610 silly gunzTarPerm extractEntry CONTRIBUTING.md
2611 silly gunzTarPerm extractEntry CONTRIBUTORS
2612 silly gunzTarPerm extractEntry .travis.yml
2613 silly gunzTarPerm extractEntry test/README.md
2614 silly gunzTarPerm extractEntry test/cli/integration/generate.test.js
2615 silly gunzTarPerm extractEntry test/cli/integration/lift.test.js
2616 silly gunzTarPerm extractEntry test/cli/integration/new.test.js
2617 silly gunzTarPerm extractEntry test/config/integration/load.test.js
2618 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/adapters.js
2619 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/controllers.js
2620 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/local.ex.js
2621 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/local.js
2622 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/bootstrap.js
2623 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/log.js
2624 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/policies.js
2625 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/routes.js
2626 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/session.js
2627 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/sockets.js
2628 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/application.js
2629 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/views.js
2630 silly gunzTarPerm extractEntry test/config/integration/fixtures/config/locales/en.json
2631 silly gunzTarPerm extractEntry test/config/integration/helpers/appHelper.js
2632 silly gunzTarPerm extractEntry test/mocha.opts
2633 silly gunzTarPerm extractEntry test/router/integration/policies.test.js
2634 silly gunzTarPerm extractEntry test/router/integration/router.APIScaffold.test.js
2635 silly gunzTarPerm extractEntry test/router/integration/router.defaultController.test.js
2636 silly gunzTarPerm extractEntry test/router/integration/router.specifiedRoutes.test.js
2637 silly gunzTarPerm extractEntry test/router/integration/router.viewRendering.test.js
2638 silly gunzTarPerm extractEntry test/router/integration/fixtures/api/controllers/EmptyController.js
2639 silly gunzTarPerm extractEntry test/router/integration/fixtures/api/controllers/TestController.js
2640 silly gunzTarPerm extractEntry test/router/integration/fixtures/api/controllers/ViewTestController.js
2641 silly gunzTarPerm extractEntry test/router/integration/fixtures/api/models/Empty.js
2642 silly gunzTarPerm extractEntry test/router/integration/fixtures/api/policies/error_policy.js
2643 silly gunzTarPerm extractEntry test/router/integration/fixtures/api/policies/fake_auth.js
2644 silly gunzTarPerm extractEntry test/router/integration/fixtures/views/viewTest/create.ejs
2645 silly gunzTarPerm extractEntry test/router/integration/fixtures/views/viewTest/index.ejs
2646 silly gunzTarPerm extractEntry test/router/integration/helpers/appHelper.js
2647 silly gunzTarPerm extractEntry test/router/integration/helpers/httpHelper.js
2648 silly gunzTarPerm extractEntry test/router/unit/routes.test.js
2649 silly gunzTarPerm extractEntry test/router/unit/helpers/sailsHelper.js
2650 silly gunzTarPerm extractEntry bin/generate.js
2651 silly gunzTarPerm extractEntry bin/lift.js
2652 silly gunzTarPerm extractEntry bin/new.js
2653 silly gunzTarPerm extractEntry bin/sails.js
2654 silly gunzTarPerm extractEntry bin/turtleship.js
2655 silly gunzTarPerm extractEntry bin/utils.js
2656 silly gunzTarPerm extractEntry bin/boilerplates/app.js
2657 silly gunzTarPerm extractEntry bin/boilerplates/Gruntfile.js
2658 silly gunzTarPerm extractEntry bin/boilerplates/gitignore
2659 silly gunzTarPerm extractEntry bin/boilerplates/.gitkeep
2660 silly gunzTarPerm extractEntry bin/boilerplates/assets/favicon.ico
2661 silly gunzTarPerm extractEntry bin/boilerplates/assets/images/.gitkeep
2662 silly gunzTarPerm extractEntry bin/boilerplates/assets/js/app.js
2663 silly gunzTarPerm extractEntry bin/boilerplates/assets/js/sails.io.js
2664 silly gunzTarPerm extractEntry bin/boilerplates/assets/js/socket.io.js
2665 silly gunzTarPerm extractEntry bin/boilerplates/assets/js/.gitkeep
2666 silly gunzTarPerm extractEntry bin/boilerplates/assets/robots.txt
2667 silly gunzTarPerm extractEntry bin/boilerplates/assets/styles/.gitkeep
2668 silly gunzTarPerm extractEntry bin/boilerplates/config/400.js
2669 silly gunzTarPerm extractEntry bin/boilerplates/config/bootstrap.js
2670 silly gunzTarPerm extractEntry bin/boilerplates/config/controllers.js
2671 silly gunzTarPerm extractEntry bin/boilerplates/config/cors.js
2672 silly gunzTarPerm extractEntry bin/boilerplates/config/adapters.js
2673 silly gunzTarPerm extractEntry bin/boilerplates/config/403.js
2674 silly gunzTarPerm extractEntry bin/boilerplates/config/local.js
2675 silly gunzTarPerm extractEntry bin/boilerplates/config/sockets.js
2676 silly gunzTarPerm extractEntry bin/boilerplates/config/log.js
2677 silly gunzTarPerm extractEntry bin/boilerplates/config/policies.js
2678 silly gunzTarPerm extractEntry bin/boilerplates/config/500.js
2679 silly gunzTarPerm extractEntry bin/boilerplates/config/routes.js
2680 silly gunzTarPerm extractEntry bin/boilerplates/config/404.js
2681 silly gunzTarPerm extractEntry bin/boilerplates/config/session.js
2682 silly gunzTarPerm extractEntry bin/boilerplates/config/csrf.js
2683 silly gunzTarPerm extractEntry bin/boilerplates/config/views.js
2684 silly gunzTarPerm extractEntry bin/boilerplates/config/i18n.js
2685 silly gunzTarPerm extractEntry bin/boilerplates/config/locales/_README.md
2686 silly gunzTarPerm extractEntry bin/boilerplates/config/locales/de.json
2687 silly gunzTarPerm extractEntry bin/boilerplates/config/locales/en.json
2688 silly gunzTarPerm extractEntry bin/boilerplates/config/locales/es.json
2689 silly gunzTarPerm extractEntry bin/boilerplates/config/locales/fr.json
2690 silly gunzTarPerm extractEntry bin/boilerplates/api/adapters/.gitkeep
2691 silly gunzTarPerm extractEntry bin/boilerplates/api/controllers/.gitkeep
2692 silly gunzTarPerm extractEntry bin/boilerplates/api/models/.gitkeep
2693 silly gunzTarPerm extractEntry bin/boilerplates/api/policies/isAuthenticated.js
2694 silly gunzTarPerm extractEntry bin/boilerplates/api/services/.gitkeep
2695 silly gunzTarPerm extractEntry bin/boilerplates/layout.css
2696 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/favicon.ico
2697 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/images/.gitkeep
2698 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/linker/js/app.js
2699 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/linker/js/sails.io.js
2700 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/linker/js/socket.io.js
2701 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/linker/js/.gitkeep
2702 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/linker/styles/.gitkeep
2703 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/linker/templates/.gitkeep
2704 silly gunzTarPerm extractEntry bin/boilerplates/linkerAssets/robots.txt
2705 silly gunzTarPerm extractEntry bin/boilerplates/linkerLayouts/ejs/layout.ejs
2706 silly gunzTarPerm extractEntry bin/boilerplates/linkerLayouts/hbs/layout.hbs
2707 silly gunzTarPerm extractEntry bin/boilerplates/linkerLayouts/jade/layout.jade
2708 silly gunzTarPerm extractEntry bin/boilerplates/templates/action.ejs
2709 silly gunzTarPerm extractEntry bin/boilerplates/templates/adapter.ejs
2710 silly gunzTarPerm extractEntry bin/boilerplates/templates/attribute.ejs
2711 silly gunzTarPerm extractEntry bin/boilerplates/templates/controller.ejs
2712 silly gunzTarPerm extractEntry bin/boilerplates/templates/federatedAction.ejs
2713 silly gunzTarPerm extractEntry bin/boilerplates/templates/model.ejs
2714 silly gunzTarPerm extractEntry bin/boilerplates/templates/view.ejs
2715 silly gunzTarPerm extractEntry bin/boilerplates/views/ejs/403.ejs
2716 silly gunzTarPerm extractEntry bin/boilerplates/views/ejs/404.ejs
2717 silly gunzTarPerm extractEntry bin/boilerplates/views/ejs/500.ejs
2718 silly gunzTarPerm extractEntry bin/boilerplates/views/ejs/home/index.ejs
2719 silly gunzTarPerm extractEntry bin/boilerplates/views/ejs/layout.ejs
2720 silly gunzTarPerm extractEntry bin/boilerplates/views/hbs/404.hbs
2721 silly gunzTarPerm extractEntry bin/boilerplates/views/hbs/500.hbs
2722 silly gunzTarPerm extractEntry bin/boilerplates/views/hbs/home/index.hbs
2723 silly gunzTarPerm extractEntry bin/boilerplates/views/hbs/layout.hbs
2724 silly gunzTarPerm extractEntry bin/boilerplates/views/jade/403.jade
2725 silly gunzTarPerm extractEntry bin/boilerplates/views/jade/404.jade
2726 silly gunzTarPerm extractEntry bin/boilerplates/views/jade/500.jade
2727 silly gunzTarPerm extractEntry bin/boilerplates/views/jade/home/index.jade
2728 silly gunzTarPerm extractEntry bin/boilerplates/views/jade/layout.jade
2729 silly gunzTarPerm extractEntry lib/logger.js
2730 silly gunzTarPerm extractEntry lib/index.js
2731 silly gunzTarPerm extractEntry lib/sails.js
2732 silly gunzTarPerm extractEntry lib/express/bodyParserRetry.js
2733 silly gunzTarPerm extractEntry lib/express/extractRouteOpts.js
2734 silly gunzTarPerm extractEntry lib/express/index.js
2735 silly gunzTarPerm extractEntry lib/express/start.js
2736 silly gunzTarPerm extractEntry lib/express/view.js
2737 silly gunzTarPerm extractEntry lib/grunt/index.js
2738 silly gunzTarPerm extractEntry lib/hooks/README.md
2739 silly gunzTarPerm extractEntry lib/hooks/index.js
2740 silly gunzTarPerm extractEntry lib/hooks/orm/index.js
2741 silly gunzTarPerm extractEntry lib/hooks/orm/loadUserModules.js
2742 silly gunzTarPerm extractEntry lib/hooks/cors/index.js
2743 silly gunzTarPerm extractEntry lib/hooks/http/index.js
2744 silly gunzTarPerm extractEntry lib/hooks/i18n/index.js
2745 silly gunzTarPerm extractEntry lib/hooks/controllers/controller.create.js
2746 silly gunzTarPerm extractEntry lib/hooks/controllers/controller.destroy.js
2747 silly gunzTarPerm extractEntry lib/hooks/controllers/controller.find.js
2748 silly gunzTarPerm extractEntry lib/hooks/controllers/controller.update.js
2749 silly gunzTarPerm extractEntry lib/hooks/controllers/index.js
2750 silly gunzTarPerm extractEntry lib/hooks/controllers/helpers/id.js
2751 silly gunzTarPerm extractEntry lib/hooks/controllers/legacyBlueprints/grunt.js
2752 silly gunzTarPerm extractEntry lib/hooks/csrf/index.js
2753 silly gunzTarPerm extractEntry lib/hooks/policies/index.js
2754 silly gunzTarPerm extractEntry lib/hooks/pubsub/index.js
2755 silly gunzTarPerm extractEntry lib/hooks/request/index.js
2756 silly gunzTarPerm extractEntry lib/hooks/sockets/authorization.js
2757 silly gunzTarPerm extractEntry lib/hooks/sockets/configure.js
2758 silly gunzTarPerm extractEntry lib/hooks/sockets/connection.js
2759 silly gunzTarPerm extractEntry lib/hooks/sockets/index.js
2760 silly gunzTarPerm extractEntry lib/hooks/sockets/interpreter/ResStream.js
2761 silly gunzTarPerm extractEntry lib/hooks/sockets/interpreter/getVerb.js
2762 silly gunzTarPerm extractEntry lib/hooks/sockets/interpreter/interpret.js
2763 silly gunzTarPerm extractEntry lib/hooks/sockets/test/route.test.js
2764 silly gunzTarPerm extractEntry lib/hooks/views/index.js
2765 silly gunzTarPerm extractEntry lib/app/bootstrap.js
2766 silly gunzTarPerm extractEntry lib/app/exposeGlobals.js
2767 silly gunzTarPerm extractEntry lib/app/index.js
2768 silly gunzTarPerm extractEntry lib/app/load.js
2769 silly gunzTarPerm extractEntry lib/app/teardown.js
2770 silly gunzTarPerm extractEntry lib/configuration/consolidate.js
2771 silly gunzTarPerm extractEntry lib/configuration/defaults.js
2772 silly gunzTarPerm extractEntry lib/configuration/index.js
2773 silly gunzTarPerm extractEntry lib/configuration/load.js
2774 silly gunzTarPerm extractEntry lib/configuration/package.js
2775 silly gunzTarPerm extractEntry lib/configuration/validate.js
2776 silly gunzTarPerm extractEntry lib/middleware/index.js
2777 silly gunzTarPerm extractEntry lib/moduleloader/buildDictionary.js
2778 silly gunzTarPerm extractEntry lib/moduleloader/errors.js
2779 silly gunzTarPerm extractEntry lib/moduleloader/index.js
2780 silly gunzTarPerm extractEntry lib/router/bind.js
2781 silly gunzTarPerm extractEntry lib/router/index.js
2782 silly gunzTarPerm extractEntry lib/errors/fatal.js
2783 silly gunzTarPerm extractEntry lib/session/index.js
2784 silly gunzTarPerm extractEntry lib/util/index.js
2785 silly gunzTarPerm extractEntry CHANGELOG.md
2786 silly gunzTarPerm extractEntry LICENSE.md
2787 silly lockFile 6e8e3f19-ox-Code-extra-node-modules-sails tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails
2788 silly lockFile 6e8e3f19-ox-Code-extra-node-modules-sails tar:///Users/nwittstock/Dropbox/Code/extra/node_modules/sails
2789 silly lockFile ade97d72-tock-npm-sails-0-9-7-package-tgz tar:///Users/nwittstock/.npm/sails/0.9.7/package.tgz
2790 silly lockFile ade97d72-tock-npm-sails-0-9-7-package-tgz tar:///Users/nwittstock/.npm/sails/0.9.7/package.tgz
2791 info preinstall sails@0.9.7
2792 verbose readDependencies using package.json deps
2793 verbose readDependencies using package.json deps
2794 verbose cache add [ 'waterline@~0.9.4', null ]
2795 verbose cache add name=undefined spec="waterline@~0.9.4" args=["waterline@~0.9.4",null]
2796 verbose parsed url { protocol: null,
2796 verbose parsed url slashes: null,
2796 verbose parsed url auth: null,
2796 verbose parsed url host: null,
2796 verbose parsed url port: null,
2796 verbose parsed url hostname: null,
2796 verbose parsed url hash: null,
2796 verbose parsed url search: null,
2796 verbose parsed url query: null,
2796 verbose parsed url pathname: 'waterline@~0.9.4',
2796 verbose parsed url path: 'waterline@~0.9.4',
2796 verbose parsed url href: 'waterline@~0.9.4' }
2797 verbose cache add name="waterline" spec="~0.9.4" args=["waterline","~0.9.4"]
2798 verbose parsed url { protocol: null,
2798 verbose parsed url slashes: null,
2798 verbose parsed url auth: null,
2798 verbose parsed url host: null,
2798 verbose parsed url port: null,
2798 verbose parsed url hostname: null,
2798 verbose parsed url hash: null,
2798 verbose parsed url search: null,
2798 verbose parsed url query: null,
2798 verbose parsed url pathname: '~0.9.4',
2798 verbose parsed url path: '~0.9.4',
2798 verbose parsed url href: '~0.9.4' }
2799 verbose addNamed [ 'waterline', '~0.9.4' ]
2800 verbose addNamed [ null, '>=0.9.4-0 <0.10.0-0' ]
2801 silly lockFile 043d9887-waterline-0-9-4 waterline@~0.9.4
2802 verbose lock waterline@~0.9.4 /Users/nwittstock/.npm/043d9887-waterline-0-9-4.lock
2803 verbose cache add [ 'express@3.4.0', null ]
2804 verbose cache add name=undefined spec="express@3.4.0" args=["express@3.4.0",null]
2805 verbose parsed url { protocol: null,
2805 verbose parsed url slashes: null,
2805 verbose parsed url auth: null,
2805 verbose parsed url host: null,
2805 verbose parsed url port: null,
2805 verbose parsed url hostname: null,
2805 verbose parsed url hash: null,
2805 verbose parsed url search: null,
2805 verbose parsed url query: null,
2805 verbose parsed url pathname: 'express@3.4.0',
2805 verbose parsed url path: 'express@3.4.0',
2805 verbose parsed url href: 'express@3.4.0' }
2806 verbose cache add name="express" spec="3.4.0" args=["express","3.4.0"]
2807 verbose parsed url { protocol: null,
2807 verbose parsed url slashes: null,
2807 verbose parsed url auth: null,
2807 verbose parsed url host: null,
2807 verbose parsed url port: null,
2807 verbose parsed url hostname: null,
2807 verbose parsed url hash: null,
2807 verbose parsed url search: null,
2807 verbose parsed url query: null,
2807 verbose parsed url pathname: '3.4.0',
2807 verbose parsed url path: '3.4.0',
2807 verbose parsed url href: '3.4.0' }
2808 verbose addNamed [ 'express', '3.4.0' ]
2809 verbose addNamed [ '3.4.0', '3.4.0' ]
2810 silly lockFile 86194427-express-3-4-0 express@3.4.0
2811 verbose lock express@3.4.0 /Users/nwittstock/.npm/86194427-express-3-4-0.lock
2812 verbose cache add [ 'socket.io@0.9.14', null ]
2813 verbose cache add name=undefined spec="socket.io@0.9.14" args=["socket.io@0.9.14",null]
2814 verbose parsed url { protocol: null,
2814 verbose parsed url slashes: null,
2814 verbose parsed url auth: null,
2814 verbose parsed url host: null,
2814 verbose parsed url port: null,
2814 verbose parsed url hostname: null,
2814 verbose parsed url hash: null,
2814 verbose parsed url search: null,
2814 verbose parsed url query: null,
2814 verbose parsed url pathname: 'socket.io@0.9.14',
2814 verbose parsed url path: 'socket.io@0.9.14',
2814 verbose parsed url href: 'socket.io@0.9.14' }
2815 verbose cache add name="socket.io" spec="0.9.14" args=["socket.io","0.9.14"]
2816 verbose parsed url { protocol: null,
2816 verbose parsed url slashes: null,
2816 verbose parsed url auth: null,
2816 verbose parsed url host: null,
2816 verbose parsed url port: null,
2816 verbose parsed url hostname: null,
2816 verbose parsed url hash: null,
2816 verbose parsed url search: null,
2816 verbose parsed url query: null,
2816 verbose parsed url pathname: '0.9.14',
2816 verbose parsed url path: '0.9.14',
2816 verbose parsed url href: '0.9.14' }
2817 verbose addNamed [ 'socket.io', '0.9.14' ]
2818 verbose addNamed [ '0.9.14', '0.9.14' ]
2819 silly lockFile 937091a8-socket-io-0-9-14 socket.io@0.9.14
2820 verbose lock socket.io@0.9.14 /Users/nwittstock/.npm/937091a8-socket-io-0-9-14.lock
2821 silly addNameRange { name: 'waterline',
2821 silly addNameRange range: '>=0.9.4-0 <0.10.0-0',
2821 silly addNameRange hasData: false }
2822 verbose url raw waterline
2823 verbose url resolving [ 'https://registry.npmjs.org/', './waterline' ]
2824 verbose url resolved https://registry.npmjs.org/waterline
2825 info trying registry request attempt 1 at 17:31:43
2826 verbose etag "E4P161E46OTWQ8SFYL0UH7X46"
2827 http GET https://registry.npmjs.org/waterline
2828 verbose url raw express/3.4.0
2829 verbose url resolving [ 'https://registry.npmjs.org/', './express/3.4.0' ]
2830 verbose url resolved https://registry.npmjs.org/express/3.4.0
2831 info trying registry request attempt 1 at 17:31:43
2832 verbose etag "BCNBCY9HWTBMA5CGMMG3SE986"
2833 http GET https://registry.npmjs.org/express/3.4.0
2834 verbose cache add [ 'connect-mongo@0.3.2', null ]
2835 verbose cache add name=undefined spec="connect-mongo@0.3.2" args=["connect-mongo@0.3.2",null]
2836 verbose parsed url { protocol: null,
2836 verbose parsed url slashes: null,
2836 verbose parsed url auth: null,
2836 verbose parsed url host: null,
2836 verbose parsed url port: null,
2836 verbose parsed url hostname: null,
2836 verbose parsed url hash: null,
2836 verbose parsed url search: null,
2836 verbose parsed url query: null,
2836 verbose parsed url pathname: 'connect-mongo@0.3.2',
2836 verbose parsed url path: 'connect-mongo@0.3.2',
2836 verbose parsed url href: 'connect-mongo@0.3.2' }
2837 verbose cache add name="connect-mongo" spec="0.3.2" args=["connect-mongo","0.3.2"]
2838 verbose parsed url { protocol: null,
2838 verbose parsed url slashes: null,
2838 verbose parsed url auth: null,
2838 verbose parsed url host: null,
2838 verbose parsed url port: null,
2838 verbose parsed url hostname: null,
2838 verbose parsed url hash: null,
2838 verbose parsed url search: null,
2838 verbose parsed url query: null,
2838 verbose parsed url pathname: '0.3.2',
2838 verbose parsed url path: '0.3.2',
2838 verbose parsed url href: '0.3.2' }
2839 verbose addNamed [ 'connect-mongo', '0.3.2' ]
2840 verbose addNamed [ '0.3.2', '0.3.2' ]
2841 silly lockFile 1110d7c4-connect-mongo-0-3-2 connect-mongo@0.3.2
2842 verbose lock connect-mongo@0.3.2 /Users/nwittstock/.npm/1110d7c4-connect-mongo-0-3-2.lock
2843 verbose cache add [ 'connect-redis@1.4.5', null ]
2844 verbose cache add name=undefined spec="connect-redis@1.4.5" args=["connect-redis@1.4.5",null]
2845 verbose parsed url { protocol: null,
2845 verbose parsed url slashes: null,
2845 verbose parsed url auth: null,
2845 verbose parsed url host: null,
2845 verbose parsed url port: null,
2845 verbose parsed url hostname: null,
2845 verbose parsed url hash: null,
2845 verbose parsed url search: null,
2845 verbose parsed url query: null,
2845 verbose parsed url pathname: 'connect-redis@1.4.5',
2845 verbose parsed url path: 'connect-redis@1.4.5',
2845 verbose parsed url href: 'connect-redis@1.4.5' }
2846 verbose cache add name="connect-redis" spec="1.4.5" args=["connect-redis","1.4.5"]
2847 verbose parsed url { protocol: null,
2847 verbose parsed url slashes: null,
2847 verbose parsed url auth: null,
2847 verbose parsed url host: null,
2847 verbose parsed url port: null,
2847 verbose parsed url hostname: null,
2847 verbose parsed url hash: null,
2847 verbose parsed url search: null,
2847 verbose parsed url query: null,
2847 verbose parsed url pathname: '1.4.5',
2847 verbose parsed url path: '1.4.5',
2847 verbose parsed url href: '1.4.5' }
2848 verbose addNamed [ 'connect-redis', '1.4.5' ]
2849 verbose addNamed [ '1.4.5', '1.4.5' ]
2850 silly lockFile 08b4a927-connect-redis-1-4-5 connect-redis@1.4.5
2851 verbose lock connect-redis@1.4.5 /Users/nwittstock/.npm/08b4a927-connect-redis-1-4-5.lock
2852 verbose cache add [ 'async@0.2.9', null ]
2853 verbose cache add name=undefined spec="async@0.2.9" args=["async@0.2.9",null]
2854 verbose parsed url { protocol: null,
2854 verbose parsed url slashes: null,
2854 verbose parsed url auth: null,
2854 verbose parsed url host: null,
2854 verbose parsed url port: null,
2854 verbose parsed url hostname: null,
2854 verbose parsed url hash: null,
2854 verbose parsed url search: null,
2854 verbose parsed url query: null,
2854 verbose parsed url pathname: 'async@0.2.9',
2854 verbose parsed url path: 'async@0.2.9',
2854 verbose parsed url href: 'async@0.2.9' }
2855 verbose cache add name="async" spec="0.2.9" args=["async","0.2.9"]
2856 verbose parsed url { protocol: null,
2856 verbose parsed url slashes: null,
2856 verbose parsed url auth: null,
2856 verbose parsed url host: null,
2856 verbose parsed url port: null,
2856 verbose parsed url hostname: null,
2856 verbose parsed url hash: null,
2856 verbose parsed url search: null,
2856 verbose parsed url query: null,
2856 verbose parsed url pathname: '0.2.9',
2856 verbose parsed url path: '0.2.9',
2856 verbose parsed url href: '0.2.9' }
2857 verbose addNamed [ 'async', '0.2.9' ]
2858 verbose addNamed [ '0.2.9', '0.2.9' ]
2859 silly lockFile be62480b-async-0-2-9 async@0.2.9
2860 verbose lock async@0.2.9 /Users/nwittstock/.npm/be62480b-async-0-2-9.lock
2861 verbose cache add [ 'winston@0.7.1', null ]
2862 verbose cache add name=undefined spec="winston@0.7.1" args=["winston@0.7.1",null]
2863 verbose parsed url { protocol: null,
2863 verbose parsed url slashes: null,
2863 verbose parsed url auth: null,
2863 verbose parsed url host: null,
2863 verbose parsed url port: null,
2863 verbose parsed url hostname: null,
2863 verbose parsed url hash: null,
2863 verbose parsed url search: null,
2863 verbose parsed url query: null,
2863 verbose parsed url pathname: 'winston@0.7.1',
2863 verbose parsed url path: 'winston@0.7.1',
2863 verbose parsed url href: 'winston@0.7.1' }
2864 verbose cache add name="winston" spec="0.7.1" args=["winston","0.7.1"]
2865 verbose parsed url { protocol: null,
2865 verbose parsed url slashes: null,
2865 verbose parsed url auth: null,
2865 verbose parsed url host: null,
2865 verbose parsed url port: null,
2865 verbose parsed url hostname: null,
2865 verbose parsed url hash: null,
2865 verbose parsed url search: null,
2865 verbose parsed url query: null,
2865 verbose parsed url pathname: '0.7.1',
2865 verbose parsed url path: '0.7.1',
2865 verbose parsed url href: '0.7.1' }
2866 verbose addNamed [ 'winston', '0.7.1' ]
2867 verbose addNamed [ '0.7.1', '0.7.1' ]
2868 silly lockFile e9235a63-winston-0-7-1 winston@0.7.1
2869 verbose lock winston@0.7.1 /Users/nwittstock/.npm/e9235a63-winston-0-7-1.lock
2870 verbose cache add [ 'i18n@0.4.1', null ]
2871 verbose cache add name=undefined spec="i18n@0.4.1" args=["i18n@0.4.1",null]
2872 verbose parsed url { protocol: null,
2872 verbose parsed url slashes: null,
2872 verbose parsed url auth: null,
2872 verbose parsed url host: null,
2872 verbose parsed url port: null,
2872 verbose parsed url hostname: null,
2872 verbose parsed url hash: null,
2872 verbose parsed url search: null,
2872 verbose parsed url query: null,
2872 verbose parsed url pathname: 'i18n@0.4.1',
2872 verbose parsed url path: 'i18n@0.4.1',
2872 verbose parsed url href: 'i18n@0.4.1' }
2873 verbose cache add name="i18n" spec="0.4.1" args=["i18n","0.4.1"]
2874 verbose parsed url { protocol: null,
2874 verbose parsed url slashes: null,
2874 verbose parsed url auth: null,
2874 verbose parsed url host: null,
2874 verbose parsed url port: null,
2874 verbose parsed url hostname: null,
2874 verbose parsed url hash: null,
2874 verbose parsed url search: null,
2874 verbose parsed url query: null,
2874 verbose parsed url pathname: '0.4.1',
2874 verbose parsed url path: '0.4.1',
2874 verbose parsed url href: '0.4.1' }
2875 verbose addNamed [ 'i18n', '0.4.1' ]
2876 verbose addNamed [ '0.4.1', '0.4.1' ]
2877 silly lockFile 537ebd8b-i18n-0-4-1 i18n@0.4.1
2878 verbose lock i18n@0.4.1 /Users/nwittstock/.npm/537ebd8b-i18n-0-4-1.lock
2879 verbose cache add [ 'optimist@0.3.4', null ]
2880 verbose cache add name=undefined spec="optimist@0.3.4" args=["optimist@0.3.4",null]
2881 verbose parsed url { protocol: null,
2881 verbose parsed url slashes: null,
2881 verbose parsed url auth: null,
2881 verbose parsed url host: null,
2881 verbose parsed url port: null,
2881 verbose parsed url hostname: null,
2881 verbose parsed url hash: null,
2881 verbose parsed url search: null,
2881 verbose parsed url query: null,
2881 verbose parsed url pathname: 'optimist@0.3.4',
2881 verbose parsed url path: 'optimist@0.3.4',
2881 verbose parsed url href: 'optimist@0.3.4' }
2882 verbose cache add name="optimist" spec="0.3.4" args=["optimist","0.3.4"]
2883 verbose parsed url { protocol: null,
2883 verbose parsed url slashes: null,
2883 verbose parsed url auth: null,
2883 verbose parsed url host: null,
2883 verbose parsed url port: null,
2883 verbose parsed url hostname: null,
2883 verbose parsed url hash: null,
2883 verbose parsed url search: null,
2883 verbose parsed url query: null,
2883 verbose parsed url pathname: '0.3.4',
2883 verbose parsed url path: '0.3.4',
2883 verbose parsed url href: '0.3.4' }
2884 verbose addNamed [ 'optimist', '0.3.4' ]
2885 verbose addNamed [ '0.3.4', '0.3.4' ]
2886 silly lockFile 823918a4-optimist-0-3-4 optimist@0.3.4
2887 verbose lock optimist@0.3.4 /Users/nwittstock/.npm/823918a4-optimist-0-3-4.lock
2888 verbose cache add [ 'fs-extra@0.5.0', null ]
2889 verbose cache add name=undefined spec="fs-extra@0.5.0" args=["fs-extra@0.5.0",null]
2890 verbose parsed url { protocol: null,
2890 verbose parsed url slashes: null,
2890 verbose parsed url auth: null,
2890 verbose parsed url host: null,
2890 verbose parsed url port: null,
2890 verbose parsed url hostname: null,
2890 verbose parsed url hash: null,
2890 verbose parsed url search: null,
2890 verbose parsed url query: null,
2890 verbose parsed url pathname: 'fs-extra@0.5.0',
2890 verbose parsed url path: 'fs-extra@0.5.0',
2890 verbose parsed url href: 'fs-extra@0.5.0' }
2891 verbose cache add name="fs-extra" spec="0.5.0" args=["fs-extra","0.5.0"]
2892 verbose parsed url { protocol: null,
2892 verbose parsed url slashes: null,
2892 verbose parsed url auth: null,
2892 verbose parsed url host: null,
2892 verbose parsed url port: null,
2892 verbose parsed url hostname: null,
2892 verbose parsed url hash: null,
2892 verbose parsed url search: null,
2892 verbose parsed url query: null,
2892 verbose parsed url pathname: '0.5.0',
2892 verbose parsed url path: '0.5.0',
2892 verbose parsed url href: '0.5.0' }
2893 verbose addNamed [ 'fs-extra', '0.5.0' ]
2894 verbose addNamed [ '0.5.0', '0.5.0' ]
2895 silly lockFile 3d3587fc-fs-extra-0-5-0 fs-extra@0.5.0
2896 verbose lock fs-extra@0.5.0 /Users/nwittstock/.npm/3d3587fc-fs-extra-0-5-0.lock
2897 verbose cache add [ 'lodash@1.2.1', null ]
2898 verbose cache add name=undefined spec="lodash@1.2.1" args=["lodash@1.2.1",null]
2899 verbose parsed url { protocol: null,
2899 verbose parsed url slashes: null,
2899 verbose parsed url auth: null,
2899 verbose parsed url host: null,
2899 verbose parsed url port: null,
2899 verbose parsed url hostname: null,
2899 verbose parsed url hash: null,
2899 verbose parsed url search: null,
2899 verbose parsed url query: null,
2899 verbose parsed url pathname: 'lodash@1.2.1',
2899 verbose parsed url path: 'lodash@1.2.1',
2899 verbose parsed url href: 'lodash@1.2.1' }
2900 verbose cache add name="lodash" spec="1.2.1" args=["lodash","1.2.1"]
2901 verbose parsed url { protocol: null,
2901 verbose parsed url slashes: null,
2901 verbose parsed url auth: null,
2901 verbose parsed url host: null,
2901 verbose parsed url port: null,
2901 verbose parsed url hostname: null,
2901 verbose parsed url hash: null,
2901 verbose parsed url search: null,
2901 verbose parsed url query: null,
2901 verbose parsed url pathname: '1.2.1',
2901 verbose parsed url path: '1.2.1',
2901 verbose parsed url href: '1.2.1' }
2902 verbose addNamed [ 'lodash', '1.2.1' ]
2903 verbose addNamed [ '1.2.1', '1.2.1' ]
2904 silly lockFile 97f4aa05-lodash-1-2-1 lodash@1.2.1
2905 verbose lock lodash@1.2.1 /Users/nwittstock/.npm/97f4aa05-lodash-1-2-1.lock
2906 verbose url raw socket.io/0.9.14
2907 verbose url resolving [ 'https://registry.npmjs.org/', './socket.io/0.9.14' ]
2908 verbose url resolved https://registry.npmjs.org/socket.io/0.9.14
2909 info trying registry request attempt 1 at 17:31:43
2910 verbose etag "DSF55RABJJRXIZ3PXJ5PQ9N4A"
2911 http GET https://registry.npmjs.org/socket.io/0.9.14
2912 verbose cache add [ 'glob@3.1.14', null ]
2913 verbose cache add name=undefined spec="glob@3.1.14" args=["glob@3.1.14",null]
2914 verbose parsed url { protocol: null,
2914 verbose parsed url slashes: null,
2914 verbose parsed url auth: null,
2914 verbose parsed url host: null,
2914 verbose parsed url port: null,
2914 verbose parsed url hostname: null,
2914 verbose parsed url hash: null,
2914 verbose parsed url search: null,
2914 verbose parsed url query: null,
2914 verbose parsed url pathname: 'glob@3.1.14',
2914 verbose parsed url path: 'glob@3.1.14',
2914 verbose parsed url href: 'glob@3.1.14' }
2915 verbose cache add name="glob" spec="3.1.14" args=["glob","3.1.14"]
2916 verbose parsed url { protocol: null,
2916 verbose parsed url slashes: null,
2916 verbose parsed url auth: null,
2916 verbose parsed url host: null,
2916 verbose parsed url port: null,
2916 verbose parsed url hostname: null,
2916 verbose parsed url hash: null,
2916 verbose parsed url search: null,
2916 verbose parsed url query: null,
2916 verbose parsed url pathname: '3.1.14',
2916 verbose parsed url path: '3.1.14',
2916 verbose parsed url href: '3.1.14' }
2917 verbose addNamed [ 'glob', '3.1.14' ]
2918 verbose addNamed [ '3.1.14', '3.1.14' ]
2919 silly lockFile 7cf60591-glob-3-1-14 glob@3.1.14
2920 verbose lock glob@3.1.14 /Users/nwittstock/.npm/7cf60591-glob-3-1-14.lock
2921 verbose cache add [ 'underscore.string@2.3.0', null ]
2922 verbose cache add name=undefined spec="underscore.string@2.3.0" args=["underscore.string@2.3.0",null]
2923 verbose parsed url { protocol: null,
2923 verbose parsed url slashes: null,
2923 verbose parsed url auth: null,
2923 verbose parsed url host: null,
2923 verbose parsed url port: null,
2923 verbose parsed url hostname: null,
2923 verbose parsed url hash: null,
2923 verbose parsed url search: null,
2923 verbose parsed url query: null,
2923 verbose parsed url pathname: 'underscore.string@2.3.0',
2923 verbose parsed url path: 'underscore.string@2.3.0',
2923 verbose parsed url href: 'underscore.string@2.3.0' }
2924 verbose cache add name="underscore.string" spec="2.3.0" args=["underscore.string","2.3.0"]
2925 verbose parsed url { protocol: null,
2925 verbose parsed url slashes: null,
2925 verbose parsed url auth: null,
2925 verbose parsed url host: null,
2925 verbose parsed url port: null,
2925 verbose parsed url hostname: null,
2925 verbose parsed url hash: null,
2925 verbose parsed url search: null,
2925 verbose parsed url query: null,
2925 verbose parsed url pathname: '2.3.0',
2925 verbose parsed url path: '2.3.0',
2925 verbose parsed url href: '2.3.0' }
2926 verbose addNamed [ 'underscore.string', '2.3.0' ]
2927 verbose addNamed [ '2.3.0', '2.3.0' ]
2928 silly lockFile e3dba6a2-underscore-string-2-3-0 underscore.string@2.3.0
2929 verbose lock underscore.string@2.3.0 /Users/nwittstock/.npm/e3dba6a2-underscore-string-2-3-0.lock
2930 verbose cache add [ 'include-all@0.1.2', null ]
2931 verbose cache add name=undefined spec="include-all@0.1.2" args=["include-all@0.1.2",null]
2932 verbose parsed url { protocol: null,
2932 verbose parsed url slashes: null,
2932 verbose parsed url auth: null,
2932 verbose parsed url host: null,
2932 verbose parsed url port: null,
2932 verbose parsed url hostname: null,
2932 verbose parsed url hash: null,
2932 verbose parsed url search: null,
2932 verbose parsed url query: null,
2932 verbose parsed url pathname: 'include-all@0.1.2',
2932 verbose parsed url path: 'include-all@0.1.2',
2932 verbose parsed url href: 'include-all@0.1.2' }
2933 verbose cache add name="include-all" spec="0.1.2" args=["include-all","0.1.2"]
2934 verbose parsed url { protocol: null,
2934 verbose parsed url slashes: null,
2934 verbose parsed url auth: null,
2934 verbose parsed url host: null,
2934 verbose parsed url port: null,
2934 verbose parsed url hostname: null,
2934 verbose parsed url hash: null,
2934 verbose parsed url search: null,
2934 verbose parsed url query: null,
2934 verbose parsed url pathname: '0.1.2',
2934 verbose parsed url path: '0.1.2',
2934 verbose parsed url href: '0.1.2' }
2935 verbose addNamed [ 'include-all', '0.1.2' ]
2936 verbose addNamed [ '0.1.2', '0.1.2' ]
2937 silly lockFile 4c197ebc-include-all-0-1-2 include-all@0.1.2
2938 verbose lock include-all@0.1.2 /Users/nwittstock/.npm/4c197ebc-include-all-0-1-2.lock
2939 verbose cache add [ 'inflection@1.2.5', null ]
2940 verbose cache add name=undefined spec="inflection@1.2.5" args=["inflection@1.2.5",null]
2941 verbose parsed url { protocol: null,
2941 verbose parsed url slashes: null,
2941 verbose parsed url auth: null,
2941 verbose parsed url host: null,
2941 verbose parsed url port: null,
2941 verbose parsed url hostname: null,
2941 verbose parsed url hash: null,
2941 verbose parsed url search: null,
2941 verbose parsed url query: null,
2941 verbose parsed url pathname: 'inflection@1.2.5',
2941 verbose parsed url path: 'inflection@1.2.5',
2941 verbose parsed url href: 'inflection@1.2.5' }
2942 verbose cache add name="inflection" spec="1.2.5" args=["inflection","1.2.5"]
2943 verbose parsed url { protocol: null,
2943 verbose parsed url slashes: null,
2943 verbose parsed url auth: null,
2943 verbose parsed url host: null,
2943 verbose parsed url port: null,
2943 verbose parsed url hostname: null,
2943 verbose parsed url hash: null,
2943 verbose parsed url search: null,
2943 verbose parsed url query: null,
2943 verbose parsed url pathname: '1.2.5',
2943 verbose parsed url path: '1.2.5',
2943 verbose parsed url href: '1.2.5' }
2944 verbose addNamed [ 'inflection', '1.2.5' ]
2945 verbose addNamed [ '1.2.5', '1.2.5' ]
2946 silly lockFile 0dc7714f-inflection-1-2-5 inflection@1.2.5
2947 verbose lock inflection@1.2.5 /Users/nwittstock/.npm/0dc7714f-inflection-1-2-5.lock
2948 verbose cache add [ 'node-uuid@1.4.0', null ]
2949 verbose cache add name=undefined spec="node-uuid@1.4.0" args=["node-uuid@1.4.0",null]
2950 verbose parsed url { protocol: null,
2950 verbose parsed url slashes: null,
2950 verbose parsed url auth: null,
2950 verbose parsed url host: null,
2950 verbose parsed url port: null,
2950 verbose parsed url hostname: null,
2950 verbose parsed url hash: null,
2950 verbose parsed url search: null,
2950 verbose parsed url query: null,
2950 verbose parsed url pathname: 'node-uuid@1.4.0',
2950 verbose parsed url path: 'node-uuid@1.4.0',
2950 verbose parsed url href: 'node-uuid@1.4.0' }
2951 verbose cache add name="node-uuid" spec="1.4.0" args=["node-uuid","1.4.0"]
2952 verbose parsed url { protocol: null,
2952 verbose parsed url slashes: null,
2952 verbose parsed url auth: null,
2952 verbose parsed url host: null,
2952 verbose parsed url port: null,
2952 verbose parsed url hostname: null,
2952 verbose parsed url hash: null,
2952 verbose parsed url search: null,
2952 verbose parsed url query: null,
2952 verbose parsed url pathname: '1.4.0',
2952 verbose parsed url path: '1.4.0',
2952 verbose parsed url href: '1.4.0' }
2953 verbose addNamed [ 'node-uuid', '1.4.0' ]
2954 verbose addNamed [ '1.4.0', '1.4.0' ]
2955 silly lockFile 788da469-node-uuid-1-4-0 node-uuid@1.4.0
2956 verbose lock node-uuid@1.4.0 /Users/nwittstock/.npm/788da469-node-uuid-1-4-0.lock
2957 verbose cache add [ 'grunt-cli@0.1.9', null ]
2958 verbose cache add name=undefined spec="grunt-cli@0.1.9" args=["grunt-cli@0.1.9",null]
2959 verbose parsed url { protocol: null,
2959 verbose parsed url slashes: null,
2959 verbose parsed url auth: null,
2959 verbose parsed url host: null,
2959 verbose parsed url port: null,
2959 verbose parsed url hostname: null,
2959 verbose parsed url hash: null,
2959 verbose parsed url search: null,
2959 verbose parsed url query: null,
2959 verbose parsed url pathname: 'grunt-cli@0.1.9',
2959 verbose parsed url path: 'grunt-cli@0.1.9',
2959 verbose parsed url href: 'grunt-cli@0.1.9' }
2960 verbose cache add name="grunt-cli" spec="0.1.9" args=["grunt-cli","0.1.9"]
2961 verbose parsed url { protocol: null,
2961 verbose parsed url slashes: null,
2961 verbose parsed url auth: null,
2961 verbose parsed url host: null,
2961 verbose parsed url port: null,
2961 verbose parsed url hostname: null,
2961 verbose parsed url hash: null,
2961 verbose parsed url search: null,
2961 verbose parsed url query: null,
2961 verbose parsed url pathname: '0.1.9',
2961 verbose parsed url path: '0.1.9',
2961 verbose parsed url href: '0.1.9' }
2962 verbose addNamed [ 'grunt-cli', '0.1.9' ]
2963 verbose addNamed [ '0.1.9', '0.1.9' ]
2964 silly lockFile 8faf2ed8-grunt-cli-0-1-9 grunt-cli@0.1.9
2965 verbose lock grunt-cli@0.1.9 /Users/nwittstock/.npm/8faf2ed8-grunt-cli-0-1-9.lock
2966 verbose cache add [ 'grunt-contrib-copy@0.4.1', null ]
2967 verbose cache add name=undefined spec="grunt-contrib-copy@0.4.1" args=["grunt-contrib-copy@0.4.1",null]
2968 verbose parsed url { protocol: null,
2968 verbose parsed url slashes: null,
2968 verbose parsed url auth: null,
2968 verbose parsed url host: null,
2968 verbose parsed url port: null,
2968 verbose parsed url hostname: null,
2968 verbose parsed url hash: null,
2968 verbose parsed url search: null,
2968 verbose parsed url query: null,
2968 verbose parsed url pathname: 'grunt-contrib-copy@0.4.1',
2968 verbose parsed url path: 'grunt-contrib-copy@0.4.1',
2968 verbose parsed url href: 'grunt-contrib-copy@0.4.1' }
2969 verbose cache add name="grunt-contrib-copy" spec="0.4.1" args=["grunt-contrib-copy","0.4.1"]
2970 verbose parsed url { protocol: null,
2970 verbose parsed url slashes: null,
2970 verbose parsed url auth: null,
2970 verbose parsed url host: null,
2970 verbose parsed url port: null,
2970 verbose parsed url hostname: null,
2970 verbose parsed url hash: null,
2970 verbose parsed url search: null,
2970 verbose parsed url query: null,
2970 verbose parsed url pathname: '0.4.1',
2970 verbose parsed url path: '0.4.1',
2970 verbose parsed url href: '0.4.1' }
2971 verbose addNamed [ 'grunt-contrib-copy', '0.4.1' ]
2972 verbose addNamed [ '0.4.1', '0.4.1' ]
2973 silly lockFile 4dbab511-grunt-contrib-copy-0-4-1 grunt-contrib-copy@0.4.1
2974 verbose lock grunt-contrib-copy@0.4.1 /Users/nwittstock/.npm/4dbab511-grunt-contrib-copy-0-4-1.lock
2975 verbose cache add [ 'grunt-contrib-clean@0.4.1', null ]
2976 verbose cache add name=undefined spec="grunt-contrib-clean@0.4.1" args=["grunt-contrib-clean@0.4.1",null]
2977 verbose parsed url { protocol: null,
2977 verbose parsed url slashes: null,
2977 verbose parsed url auth: null,
2977 verbose parsed url host: null,
2977 verbose parsed url port: null,
2977 verbose parsed url hostname: null,
2977 verbose parsed url hash: null,
2977 verbose parsed url search: null,
2977 verbose parsed url query: null,
2977 verbose parsed url pathname: 'grunt-contrib-clean@0.4.1',
2977 verbose parsed url path: 'grunt-contrib-clean@0.4.1',
2977 verbose parsed url href: 'grunt-contrib-clean@0.4.1' }
2978 verbose cache add name="grunt-contrib-clean" spec="0.4.1" args=["grunt-contrib-clean","0.4.1"]
2979 verbose parsed url { protocol: null,
2979 verbose parsed url slashes: null,
2979 verbose parsed url auth: null,
2979 verbose parsed url host: null,
2979 verbose parsed url port: null,
2979 verbose parsed url hostname: null,
2979 verbose parsed url hash: null,
2979 verbose parsed url search: null,
2979 verbose parsed url query: null,
2979 verbose parsed url pathname: '0.4.1',
2979 verbose parsed url path: '0.4.1',
2979 verbose parsed url href: '0.4.1' }
2980 verbose addNamed [ 'grunt-contrib-clean', '0.4.1' ]
2981 verbose addNamed [ '0.4.1', '0.4.1' ]
2982 silly lockFile d4970290-grunt-contrib-clean-0-4-1 grunt-contrib-clean@0.4.1
2983 verbose lock grunt-contrib-clean@0.4.1 /Users/nwittstock/.npm/d4970290-grunt-contrib-clean-0-4-1.lock
2984 verbose cache add [ 'grunt-contrib-concat@0.3.0', null ]
2985 verbose cache add name=undefined spec="grunt-contrib-concat@0.3.0" args=["grunt-contrib-concat@0.3.0",null]
2986 verbose parsed url { protocol: null,
2986 verbose parsed url slashes: null,
2986 verbose parsed url auth: null,
2986 verbose parsed url host: null,
2986 verbose parsed url port: null,
2986 verbose parsed url hostname: null,
2986 verbose parsed url hash: null,
2986 verbose parsed url search: null,
2986 verbose parsed url query: null,
2986 verbose parsed url pathname: 'grunt-contrib-concat@0.3.0',
2986 verbose parsed url path: 'grunt-contrib-concat@0.3.0',
2986 verbose parsed url href: 'grunt-contrib-concat@0.3.0' }
2987 verbose cache add name="grunt-contrib-concat" spec="0.3.0" args=["grunt-contrib-concat","0.3.0"]
2988 verbose parsed url { protocol: null,
2988 verbose parsed url slashes: null,
2988 verbose parsed url auth: null,
2988 verbose parsed url host: null,
2988 verbose parsed url port: null,
2988 verbose parsed url hostname: null,
2988 verbose parsed url hash: null,
2988 verbose parsed url search: null,
2988 verbose parsed url query: null,
2988 verbose parsed url pathname: '0.3.0',
2988 verbose parsed url path: '0.3.0',
2988 verbose parsed url href: '0.3.0' }
2989 verbose addNamed [ 'grunt-contrib-concat', '0.3.0' ]
2990 verbose addNamed [ '0.3.0', '0.3.0' ]
2991 silly lockFile 11d10dc6-grunt-contrib-concat-0-3-0 grunt-contrib-concat@0.3.0
2992 verbose lock grunt-contrib-concat@0.3.0 /Users/nwittstock/.npm/11d10dc6-grunt-contrib-concat-0-3-0.lock
2993 verbose cache add [ 'grunt-sails-linker@git://github.com/Zolmeister/grunt-sails-linker.git',
2993 verbose cache add null ]
2994 verbose cache add name=undefined spec="grunt-sails-linker@git://github.com/Zolmeister/grunt-sails-linker.git" args=["grunt-sails-linker@git://github.com/Zolmeister/grunt-sails-linker.git",null]
2995 verbose parsed url { protocol: null,
2995 verbose parsed url slashes: null,
2995 verbose parsed url auth: null,
2995 verbose parsed url host: null,
2995 verbose parsed url port: null,
2995 verbose parsed url hostname: null,
2995 verbose parsed url hash: null,
2995 verbose parsed url search: null,
2995 verbose parsed url query: null,
2995 verbose parsed url pathname: 'grunt-sails-linker@git://github.com/Zolmeister/grunt-sails-linker.git',
2995 verbose parsed url path: 'grunt-sails-linker@git://github.com/Zolmeister/grunt-sails-linker.git',
2995 verbose parsed url href: 'grunt-sails-linker@git://github.com/Zolmeister/grunt-sails-linker.git' }
2996 verbose cache add name="grunt-sails-linker" spec="git://github.com/Zolmeister/grunt-sails-linker.git" args=["grunt-sails-linker","git://github.com/Zolmeister/grunt-sails-linker.git"]
2997 verbose parsed url { protocol: 'git:',
2997 verbose parsed url slashes: true,
2997 verbose parsed url auth: null,
2997 verbose parsed url host: 'github.com',
2997 verbose parsed url port: null,
2997 verbose parsed url hostname: 'github.com',
2997 verbose parsed url hash: null,
2997 verbose parsed url search: null,
2997 verbose parsed url query: null,
2997 verbose parsed url pathname: '/Zolmeister/grunt-sails-linker.git',
2997 verbose parsed url path: '/Zolmeister/grunt-sails-linker.git',
2997 verbose parsed url href: 'git://github.com/Zolmeister/grunt-sails-linker.git' }
2998 silly lockFile d5f0a8f5-olmeister-grunt-sails-linker-git git://github.com/Zolmeister/grunt-sails-linker.git
2999 verbose lock git://github.com/Zolmeister/grunt-sails-linker.git /Users/nwittstock/.npm/d5f0a8f5-olmeister-grunt-sails-linker-git.lock
3000 verbose cache add [ 'grunt-contrib-jst@0.5.0', null ]
3001 verbose cache add name=undefined spec="grunt-contrib-jst@0.5.0" args=["grunt-contrib-jst@0.5.0",null]
3002 verbose parsed url { protocol: null,
3002 verbose parsed url slashes: null,
3002 verbose parsed url auth: null,
3002 verbose parsed url host: null,
3002 verbose parsed url port: null,
3002 verbose parsed url hostname: null,
3002 verbose parsed url hash: null,
3002 verbose parsed url search: null,
3002 verbose parsed url query: null,
3002 verbose parsed url pathname: 'grunt-contrib-jst@0.5.0',
3002 verbose parsed url path: 'grunt-contrib-jst@0.5.0',
3002 verbose parsed url href: 'grunt-contrib-jst@0.5.0' }
3003 verbose cache add name="grunt-contrib-jst" spec="0.5.0" args=["grunt-contrib-jst","0.5.0"]
3004 verbose parsed url { protocol: null,
3004 verbose parsed url slashes: null,
3004 verbose parsed url auth: null,
3004 verbose parsed url host: null,
3004 verbose parsed url port: null,
3004 verbose parsed url hostname: null,
3004 verbose parsed url hash: null,
3004 verbose parsed url search: null,
3004 verbose parsed url query: null,
3004 verbose parsed url pathname: '0.5.0',
3004 verbose parsed url path: '0.5.0',
3004 verbose parsed url href: '0.5.0' }
3005 verbose addNamed [ 'grunt-contrib-jst', '0.5.0' ]
3006 verbose addNamed [ '0.5.0', '0.5.0' ]
3007 silly lockFile 4fe51162-grunt-contrib-jst-0-5-0 grunt-contrib-jst@0.5.0
3008 verbose lock grunt-contrib-jst@0.5.0 /Users/nwittstock/.npm/4fe51162-grunt-contrib-jst-0-5-0.lock
3009 verbose cache add [ 'grunt-contrib-watch@0.4.4', null ]
3010 verbose cache add name=undefined spec="grunt-contrib-watch@0.4.4" args=["grunt-contrib-watch@0.4.4",null]
3011 verbose parsed url { protocol: null,
3011 verbose parsed url slashes: null,
3011 verbose parsed url auth: null,
3011 verbose parsed url host: null,
3011 verbose parsed url port: null,
3011 verbose parsed url hostname: null,
3011 verbose parsed url hash: null,
3011 verbose parsed url search: null,
3011 verbose parsed url query: null,
3011 verbose parsed url pathname: 'grunt-contrib-watch@0.4.4',
3011 verbose parsed url path: 'grunt-contrib-watch@0.4.4',
3011 verbose parsed url href: 'grunt-contrib-watch@0.4.4' }
3012 verbose cache add name="grunt-contrib-watch" spec="0.4.4" args=["grunt-contrib-watch","0.4.4"]
3013 verbose parsed url { protocol: null,
3013 verbose parsed url slashes: null,
3013 verbose parsed url auth: null,
3013 verbose parsed url host: null,
3013 verbose parsed url port: null,
3013 verbose parsed url hostname: null,
3013 verbose parsed url hash: null,
3013 verbose parsed url search: null,
3013 verbose parsed url query: null,
3013 verbose parsed url pathname: '0.4.4',
3013 verbose parsed url path: '0.4.4',
3013 verbose parsed url href: '0.4.4' }
3014 verbose addNamed [ 'grunt-contrib-watch', '0.4.4' ]
3015 verbose addNamed [ '0.4.4', '0.4.4' ]
3016 silly lockFile 7928dfc2-grunt-contrib-watch-0-4-4 grunt-contrib-watch@0.4.4
3017 verbose lock grunt-contrib-watch@0.4.4 /Users/nwittstock/.npm/7928dfc2-grunt-contrib-watch-0-4-4.lock
3018 verbose cache add [ 'grunt-contrib-uglify@0.2.2', null ]
3019 verbose cache add name=undefined spec="grunt-contrib-uglify@0.2.2" args=["grunt-contrib-uglify@0.2.2",null]
3020 verbose parsed url { protocol: null,
3020 verbose parsed url slashes: null,
3020 verbose parsed url auth: null,
3020 verbose parsed url host: null,
3020 verbose parsed url port: null,
3020 verbose parsed url hostname: null,
3020 verbose parsed url hash: null,
3020 verbose parsed url search: null,
3020 verbose parsed url query: null,
3020 verbose parsed url pathname: 'grunt-contrib-uglify@0.2.2',
3020 verbose parsed url path: 'grunt-contrib-uglify@0.2.2',
3020 verbose parsed url href: 'grunt-contrib-uglify@0.2.2' }
3021 verbose cache add name="grunt-contrib-uglify" spec="0.2.2" args=["grunt-contrib-uglify","0.2.2"]
3022 verbose parsed url { protocol: null,
3022 verbose parsed url slashes: null,
3022 verbose parsed url auth: null,
3022 verbose parsed url host: null,
3022 verbose parsed url port: null,
3022 verbose parsed url hostname: null,
3022 verbose parsed url hash: null,
3022 verbose parsed url search: null,
3022 verbose parsed url query: null,
3022 verbose parsed url pathname: '0.2.2',
3022 verbose parsed url path: '0.2.2',
3022 verbose parsed url href: '0.2.2' }
3023 verbose addNamed [ 'grunt-contrib-uglify', '0.2.2' ]
3024 verbose addNamed [ '0.2.2', '0.2.2' ]
3025 silly lockFile c0c166a2-grunt-contrib-uglify-0-2-2 grunt-contrib-uglify@0.2.2
3026 verbose lock grunt-contrib-uglify@0.2.2 /Users/nwittstock/.npm/c0c166a2-grunt-contrib-uglify-0-2-2.lock
3027 verbose cache add [ 'grunt-contrib-cssmin@0.6.1', null ]
3028 verbose cache add name=undefined spec="grunt-contrib-cssmin@0.6.1" args=["grunt-contrib-cssmin@0.6.1",null]
3029 verbose parsed url { protocol: null,
3029 verbose parsed url slashes: null,
3029 verbose parsed url auth: null,
3029 verbose parsed url host: null,
3029 verbose parsed url port: null,
3029 verbose parsed url hostname: null,
3029 verbose parsed url hash: null,
3029 verbose parsed url search: null,
3029 verbose parsed url query: null,
3029 verbose parsed url pathname: 'grunt-contrib-cssmin@0.6.1',
3029 verbose parsed url path: 'grunt-contrib-cssmin@0.6.1',
3029 verbose parsed url href: 'grunt-contrib-cssmin@0.6.1' }
3030 verbose cache add name="grunt-contrib-cssmin" spec="0.6.1" args=["grunt-contrib-cssmin","0.6.1"]
3031 verbose parsed url { protocol: null,
3031 verbose parsed url slashes: null,
3031 verbose parsed url auth: null,
3031 verbose parsed url host: null,
3031 verbose parsed url port: null,
3031 verbose parsed url hostname: null,
3031 verbose parsed url hash: null,
3031 verbose parsed url search: null,
3031 verbose parsed url query: null,
3031 verbose parsed url pathname: '0.6.1',
3031 verbose parsed url path: '0.6.1',
3031 verbose parsed url href: '0.6.1' }
3032 verbose addNamed [ 'grunt-contrib-cssmin', '0.6.1' ]
3033 verbose addNamed [ '0.6.1', '0.6.1' ]
3034 silly lockFile 4a4cc82c-grunt-contrib-cssmin-0-6-1 grunt-contrib-cssmin@0.6.1
3035 verbose lock grunt-contrib-cssmin@0.6.1 /Users/nwittstock/.npm/4a4cc82c-grunt-contrib-cssmin-0-6-1.lock
3036 verbose cache add [ 'grunt-contrib-less@0.5.2', null ]
3037 verbose cache add name=undefined spec="grunt-contrib-less@0.5.2" args=["grunt-contrib-less@0.5.2",null]
3038 verbose parsed url { protocol: null,
3038 verbose parsed url slashes: null,
3038 verbose parsed url auth: null,
3038 verbose parsed url host: null,
3038 verbose parsed url port: null,
3038 verbose parsed url hostname: null,
3038 verbose parsed url hash: null,
3038 verbose parsed url search: null,
3038 verbose parsed url query: null,
3038 verbose parsed url pathname: 'grunt-contrib-less@0.5.2',
3038 verbose parsed url path: 'grunt-contrib-less@0.5.2',
3038 verbose parsed url href: 'grunt-contrib-less@0.5.2' }
3039 verbose cache add name="grunt-contrib-less" spec="0.5.2" args=["grunt-contrib-less","0.5.2"]
3040 verbose parsed url { protocol: null,
3040 verbose parsed url slashes: null,
3040 verbose parsed url auth: null,
3040 verbose parsed url host: null,
3040 verbose parsed url port: null,
3040 verbose parsed url hostname: null,
3040 verbose parsed url hash: null,
3040 verbose parsed url search: null,
3040 verbose parsed url query: null,
3040 verbose parsed url pathname: '0.5.2',
3040 verbose parsed url path: '0.5.2',
3040 verbose parsed url href: '0.5.2' }
3041 verbose addNamed [ 'grunt-contrib-less', '0.5.2' ]
3042 verbose addNamed [ '0.5.2', '0.5.2' ]
3043 silly lockFile cf4492c1-grunt-contrib-less-0-5-2 grunt-contrib-less@0.5.2
3044 verbose lock grunt-contrib-less@0.5.2 /Users/nwittstock/.npm/cf4492c1-grunt-contrib-less-0-5-2.lock
3045 verbose cache add [ 'grunt-contrib-coffee@~0.7.0', null ]
3046 verbose cache add name=undefined spec="grunt-contrib-coffee@~0.7.0" args=["grunt-contrib-coffee@~0.7.0",null]
3047 verbose parsed url { protocol: null,
3047 verbose parsed url slashes: null,
3047 verbose parsed url auth: null,
3047 verbose parsed url host: null,
3047 verbose parsed url port: null,
3047 verbose parsed url hostname: null,
3047 verbose parsed url hash: null,
3047 verbose parsed url search: null,
3047 verbose parsed url query: null,
3047 verbose parsed url pathname: 'grunt-contrib-coffee@~0.7.0',
3047 verbose parsed url path: 'grunt-contrib-coffee@~0.7.0',
3047 verbose parsed url href: 'grunt-contrib-coffee@~0.7.0' }
3048 verbose cache add name="grunt-contrib-coffee" spec="~0.7.0" args=["grunt-contrib-coffee","~0.7.0"]
3049 verbose parsed url { protocol: null,
3049 verbose parsed url slashes: null,
3049 verbose parsed url auth: null,
3049 verbose parsed url host: null,
3049 verbose parsed url port: null,
3049 verbose parsed url hostname: null,
3049 verbose parsed url hash: null,
3049 verbose parsed url search: null,
3049 verbose parsed url query: null,
3049 verbose parsed url pathname: '~0.7.0',
3049 verbose parsed url path: '~0.7.0',
3049 verbose parsed url href: '~0.7.0' }
3050 verbose addNamed [ 'grunt-contrib-coffee', '~0.7.0' ]
3051 verbose addNamed [ null, '>=0.7.0-0 <0.8.0-0' ]
3052 silly lockFile 2d9311bb-grunt-contrib-coffee-0-7-0 grunt-contrib-coffee@~0.7.0
3053 verbose lock grunt-contrib-coffee@~0.7.0 /Users/nwittstock/.npm/2d9311bb-grunt-contrib-coffee-0-7-0.lock
3054 verbose addRemoteGit [ 'git://github.com/Zolmeister/grunt-sails-linker.git',
3054 verbose addRemoteGit 'master' ]
3055 verbose cache add [ 'ejs@0.8.4', null ]
3056 verbose cache add name=undefined spec="ejs@0.8.4" args=["ejs@0.8.4",null]
3057 verbose parsed url { protocol: null,
3057 verbose parsed url slashes: null,
3057 verbose parsed url auth: null,
3057 verbose parsed url host: null,
3057 verbose parsed url port: null,
3057 verbose parsed url hostname: null,
3057 verbose parsed url hash: null,
3057 verbose parsed url search: null,
3057 verbose parsed url query: null,
3057 verbose parsed url pathname: 'ejs@0.8.4',
3057 verbose parsed url path: 'ejs@0.8.4',
3057 verbose parsed url href: 'ejs@0.8.4' }
3058 verbose cache add name="ejs" spec="0.8.4" args=["ejs","0.8.4"]
3059 verbose parsed url { protocol: null,
3059 verbose parsed url slashes: null,
3059 verbose parsed url auth: null,
3059 verbose parsed url host: null,
3059 verbose parsed url port: null,
3059 verbose parsed url hostname: null,
3059 verbose parsed url hash: null,
3059 verbose parsed url search: null,
3059 verbose parsed url query: null,
3059 verbose parsed url pathname: '0.8.4',
3059 verbose parsed url path: '0.8.4',
3059 verbose parsed url href: '0.8.4' }
3060 verbose addNamed [ 'ejs', '0.8.4' ]
3061 verbose addNamed [ '0.8.4', '0.8.4' ]
3062 silly lockFile d6b90ae9-ejs-0-8-4 ejs@0.8.4
3063 verbose lock ejs@0.8.4 /Users/nwittstock/.npm/d6b90ae9-ejs-0-8-4.lock
3064 verbose cache add [ 'ejs-locals@1.0.2', null ]
3065 verbose cache add name=undefined spec="ejs-locals@1.0.2" args=["ejs-locals@1.0.2",null]
3066 verbose parsed url { protocol: null,
3066 verbose parsed url slashes: null,
3066 verbose parsed url auth: null,
3066 verbose parsed url host: null,
3066 verbose parsed url port: null,
3066 verbose parsed url hostname: null,
3066 verbose parsed url hash: null,
3066 verbose parsed url search: null,
3066 verbose parsed url query: null,
3066 verbose parsed url pathname: 'ejs-locals@1.0.2',
3066 verbose parsed url path: 'ejs-locals@1.0.2',
3066 verbose parsed url href: 'ejs-locals@1.0.2' }
3067 verbose cache add name="ejs-locals" spec="1.0.2" args=["ejs-locals","1.0.2"]
3068 verbose parsed url { protocol: null,
3068 verbose parsed url slashes: null,
3068 verbose parsed url auth: null,
3068 verbose parsed url host: null,
3068 verbose parsed url port: null,
3068 verbose parsed url hostname: null,
3068 verbose parsed url hash: null,
3068 verbose parsed url search: null,
3068 verbose parsed url query: null,
3068 verbose parsed url pathname: '1.0.2',
3068 verbose parsed url path: '1.0.2',
3068 verbose parsed url href: '1.0.2' }
3069 verbose addNamed [ 'ejs-locals', '1.0.2' ]
3070 verbose addNamed [ '1.0.2', '1.0.2' ]
3071 silly lockFile 993d366b-ejs-locals-1-0-2 ejs-locals@1.0.2
3072 verbose lock ejs-locals@1.0.2 /Users/nwittstock/.npm/993d366b-ejs-locals-1-0-2.lock
3073 verbose cache add [ 'connect-flash@0.1.1', null ]
3074 verbose cache add name=undefined spec="connect-flash@0.1.1" args=["connect-flash@0.1.1",null]
3075 verbose parsed url { protocol: null,
3075 verbose parsed url slashes: null,
3075 verbose parsed url auth: null,
3075 verbose parsed url host: null,
3075 verbose parsed url port: null,
3075 verbose parsed url hostname: null,
3075 verbose parsed url hash: null,
3075 verbose parsed url search: null,
3075 verbose parsed url query: null,
3075 verbose parsed url pathname: 'connect-flash@0.1.1',
3075 verbose parsed url path: 'connect-flash@0.1.1',
3075 verbose parsed url href: 'connect-flash@0.1.1' }
3076 verbose cache add name="connect-flash" spec="0.1.1" args=["connect-flash","0.1.1"]
3077 verbose parsed url { protocol: null,
3077 verbose parsed url slashes: null,
3077 verbose parsed url auth: null,
3077 verbose parsed url host: null,
3077 verbose parsed url port: null,
3077 verbose parsed url hostname: null,
3077 verbose parsed url hash: null,
3077 verbose parsed url search: null,
3077 verbose parsed url query: null,
3077 verbose parsed url pathname: '0.1.1',
3077 verbose parsed url path: '0.1.1',
3077 verbose parsed url href: '0.1.1' }
3078 verbose addNamed [ 'connect-flash', '0.1.1' ]
3079 verbose addNamed [ '0.1.1', '0.1.1' ]
3080 silly lockFile 0cdf4f98-connect-flash-0-1-1 connect-flash@0.1.1
3081 verbose lock connect-flash@0.1.1 /Users/nwittstock/.npm/0cdf4f98-connect-flash-0-1-1.lock
3082 verbose cache add [ 'pluralize@0.0.5', null ]
3083 verbose cache add name=undefined spec="pluralize@0.0.5" args=["pluralize@0.0.5",null]
3084 verbose parsed url { protocol: null,
3084 verbose parsed url slashes: null,
3084 verbose parsed url auth: null,
3084 verbose parsed url host: null,
3084 verbose parsed url port: null,
3084 verbose parsed url hostname: null,
3084 verbose parsed url hash: null,
3084 verbose parsed url search: null,
3084 verbose parsed url query: null,
3084 verbose parsed url pathname: 'pluralize@0.0.5',
3084 verbose parsed url path: 'pluralize@0.0.5',
3084 verbose parsed url href: 'pluralize@0.0.5' }
3085 verbose cache add name="pluralize" spec="0.0.5" args=["pluralize","0.0.5"]
3086 verbose parsed url { protocol: null,
3086 verbose parsed url slashes: null,
3086 verbose parsed url auth: null,
3086 verbose parsed url host: null,
3086 verbose parsed url port: null,
3086 verbose parsed url hostname: null,
3086 verbose parsed url hash: null,
3086 verbose parsed url search: null,
3086 verbose parsed url query: null,
3086 verbose parsed url pathname: '0.0.5',
3086 verbose parsed url path: '0.0.5',
3086 verbose parsed url href: '0.0.5' }
3087 verbose addNamed [ 'pluralize', '0.0.5' ]
3088 verbose addNamed [ '0.0.5', '0.0.5' ]
3089 silly lockFile 0e6b1b05-pluralize-0-0-5 pluralize@0.0.5
3090 verbose lock pluralize@0.0.5 /Users/nwittstock/.npm/0e6b1b05-pluralize-0-0-5.lock
3091 verbose cache add [ 'coffee-script@1.6.2', null ]
3092 verbose cache add name=undefined spec="coffee-script@1.6.2" args=["coffee-script@1.6.2",null]
3093 verbose parsed url { protocol: null,
3093 verbose parsed url slashes: null,
3093 verbose parsed url auth: null,
3093 verbose parsed url host: null,
3093 verbose parsed url port: null,
3093 verbose parsed url hostname: null,
3093 verbose parsed url hash: null,
3093 verbose parsed url search: null,
3093 verbose parsed url query: null,
3093 verbose parsed url pathname: 'coffee-script@1.6.2',
3093 verbose parsed url path: 'coffee-script@1.6.2',
3093 verbose parsed url href: 'coffee-script@1.6.2' }
3094 verbose cache add name="coffee-script" spec="1.6.2" args=["coffee-script","1.6.2"]
3095 verbose parsed url { protocol: null,
3095 verbose parsed url slashes: null,
3095 verbose parsed url auth: null,
3095 verbose parsed url host: null,
3095 verbose parsed url port: null,
3095 verbose parsed url hostname: null,
3095 verbose parsed url hash: null,
3095 verbose parsed url search: null,
3095 verbose parsed url query: null,
3095 verbose parsed url pathname: '1.6.2',
3095 verbose parsed url path: '1.6.2',
3095 verbose parsed url href: '1.6.2' }
3096 verbose addNamed [ 'coffee-script', '1.6.2' ]
3097 verbose addNamed [ '1.6.2', '1.6.2' ]
3098 silly lockFile 0166e586-coffee-script-1-6-2 coffee-script@1.6.2
3099 verbose lock coffee-script@1.6.2 /Users/nwittstock/.npm/0166e586-coffee-script-1-6-2.lock
3100 silly addNameRange { name: 'grunt-contrib-coffee',
3100 silly addNameRange range: '>=0.7.0-0 <0.8.0-0',
3100 silly addNameRange hasData: false }
3101 verbose url raw connect-mongo/0.3.2
3102 verbose url resolving [ 'https://registry.npmjs.org/', './connect-mongo/0.3.2' ]
3103 verbose url resolved https://registry.npmjs.org/connect-mongo/0.3.2
3104 info trying registry request attempt 1 at 17:31:43
3105 verbose etag "AOH8AEPPDOR7XM8UTKG7U0N5R"
3106 http GET https://registry.npmjs.org/connect-mongo/0.3.2
3107 verbose url raw connect-redis/1.4.5
3108 verbose url resolving [ 'https://registry.npmjs.org/', './connect-redis/1.4.5' ]
3109 verbose url resolved https://registry.npmjs.org/connect-redis/1.4.5
3110 info trying registry request attempt 1 at 17:31:43
3111 verbose etag "B5SXYXPM8Y0ZG06XA6Y9PA3VN"
3112 http GET https://registry.npmjs.org/connect-redis/1.4.5
3113 verbose url raw async/0.2.9
3114 verbose url resolving [ 'https://registry.npmjs.org/', './async/0.2.9' ]
3115 verbose url resolved https://registry.npmjs.org/async/0.2.9
3116 info trying registry request attempt 1 at 17:31:43
3117 verbose etag "8I9XZYCF67J4501HYBMP2DHOR"
3118 http GET https://registry.npmjs.org/async/0.2.9
3119 verbose url raw winston/0.7.1
3120 verbose url resolving [ 'https://registry.npmjs.org/', './winston/0.7.1' ]
3121 verbose url resolved https://registry.npmjs.org/winston/0.7.1
3122 info trying registry request attempt 1 at 17:31:43
3123 verbose etag "BDC2UWGIHRSDEPWASJYB6BQ25"
3124 http GET https://registry.npmjs.org/winston/0.7.1
3125 verbose url raw i18n/0.4.1
3126 verbose url resolving [ 'https://registry.npmjs.org/', './i18n/0.4.1' ]
3127 verbose url resolved https://registry.npmjs.org/i18n/0.4.1
3128 info trying registry request attempt 1 at 17:31:43
3129 verbose etag "4AI2V2DL37BDYWIM9899X8QKZ"
3130 http GET https://registry.npmjs.org/i18n/0.4.1
3131 verbose url raw optimist/0.3.4
3132 verbose url resolving [ 'https://registry.npmjs.org/', './optimist/0.3.4' ]
3133 verbose url resolved https://registry.npmjs.org/optimist/0.3.4
3134 info trying registry request attempt 1 at 17:31:43
3135 verbose etag "3ZVA2H7H4RJ51S9KZ8NUGK56A"
3136 http GET https://registry.npmjs.org/optimist/0.3.4
3137 verbose url raw fs-extra/0.5.0
3138 verbose url resolving [ 'https://registry.npmjs.org/', './fs-extra/0.5.0' ]
3139 verbose url resolved https://registry.npmjs.org/fs-extra/0.5.0
3140 info trying registry request attempt 1 at 17:31:43
3141 verbose etag "P6RN2HFOL3HIS6367RA7NC0O"
3142 http GET https://registry.npmjs.org/fs-extra/0.5.0
3143 verbose url raw lodash/1.2.1
3144 verbose url resolving [ 'https://registry.npmjs.org/', './lodash/1.2.1' ]
3145 verbose url resolved https://registry.npmjs.org/lodash/1.2.1
3146 info trying registry request attempt 1 at 17:31:43
3147 verbose etag "3JTW41ZR83LOYS4T2080L6REC"
3148 http GET https://registry.npmjs.org/lodash/1.2.1
3149 verbose url raw glob/3.1.14
3150 verbose url resolving [ 'https://registry.npmjs.org/', './glob/3.1.14' ]
3151 verbose url resolved https://registry.npmjs.org/glob/3.1.14
3152 info trying registry request attempt 1 at 17:31:43
3153 verbose etag "1W1NU8TJZ8J9UU08IW6CJW235"
3154 http GET https://registry.npmjs.org/glob/3.1.14
3155 verbose url raw underscore.string/2.3.0
3156 verbose url resolving [ 'https://registry.npmjs.org/', './underscore.string/2.3.0' ]
3157 verbose url resolved https://registry.npmjs.org/underscore.string/2.3.0
3158 info trying registry request attempt 1 at 17:31:43
3159 verbose etag "82KONBUKGVFGLKPUIJ91QHEA4"
3160 http GET https://registry.npmjs.org/underscore.string/2.3.0
3161 verbose url raw include-all/0.1.2
3162 verbose url resolving [ 'https://registry.npmjs.org/', './include-all/0.1.2' ]
3163 verbose url resolved https://registry.npmjs.org/include-all/0.1.2
3164 info trying registry request attempt 1 at 17:31:43
3165 verbose etag "CXBQPCPZEK2PQX39G083XF5L2"
3166 http GET https://registry.npmjs.org/include-all/0.1.2
3167 verbose url raw inflection/1.2.5
3168 verbose url resolving [ 'https://registry.npmjs.org/', './inflection/1.2.5' ]
3169 verbose url resolved https://registry.npmjs.org/inflection/1.2.5
3170 info trying registry request attempt 1 at 17:31:43
3171 verbose etag "DOMZNOZD187V0N2C3E8UVA366"
3172 http GET https://registry.npmjs.org/inflection/1.2.5
3173 verbose url raw node-uuid/1.4.0
3174 verbose url resolving [ 'https://registry.npmjs.org/', './node-uuid/1.4.0' ]
3175 verbose url resolved https://registry.npmjs.org/node-uuid/1.4.0
3176 info trying registry request attempt 1 at 17:31:43
3177 verbose etag "4DHO08MXIKSJAG3PBNLVJ8GWM"
3178 http GET https://registry.npmjs.org/node-uuid/1.4.0
3179 verbose url raw grunt-cli/0.1.9
3180 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-cli/0.1.9' ]
3181 verbose url resolved https://registry.npmjs.org/grunt-cli/0.1.9
3182 info trying registry request attempt 1 at 17:31:43
3183 verbose etag "5VBEFSHGWYE3X3MFR5Z2YEW2W"
3184 http GET https://registry.npmjs.org/grunt-cli/0.1.9
3185 verbose url raw grunt-contrib-copy/0.4.1
3186 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-copy/0.4.1' ]
3187 verbose url resolved https://registry.npmjs.org/grunt-contrib-copy/0.4.1
3188 info trying registry request attempt 1 at 17:31:43
3189 verbose etag "O5TILD718JALFGOGBIA6LAB1"
3190 http GET https://registry.npmjs.org/grunt-contrib-copy/0.4.1
3191 verbose url raw grunt-contrib-clean/0.4.1
3192 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-clean/0.4.1' ]
3193 verbose url resolved https://registry.npmjs.org/grunt-contrib-clean/0.4.1
3194 info trying registry request attempt 1 at 17:31:43
3195 verbose etag "6KUGO55NVR6DEOUSLXDMA057B"
3196 http GET https://registry.npmjs.org/grunt-contrib-clean/0.4.1
3197 verbose url raw grunt-contrib-concat/0.3.0
3198 verbose url resolving [ 'https://registry.npmjs.org/',
3198 verbose url resolving './grunt-contrib-concat/0.3.0' ]
3199 verbose url resolved https://registry.npmjs.org/grunt-contrib-concat/0.3.0
3200 info trying registry request attempt 1 at 17:31:43
3201 verbose etag "C47O1YATV81DIGHN0WAP1UHGC"
3202 http GET https://registry.npmjs.org/grunt-contrib-concat/0.3.0
3203 verbose url raw grunt-contrib-jst/0.5.0
3204 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-jst/0.5.0' ]
3205 verbose url resolved https://registry.npmjs.org/grunt-contrib-jst/0.5.0
3206 info trying registry request attempt 1 at 17:31:43
3207 verbose etag "9FMH0B2E3UHFIFJ20BDTIY7ZT"
3208 http GET https://registry.npmjs.org/grunt-contrib-jst/0.5.0
3209 verbose url raw grunt-contrib-watch/0.4.4
3210 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-watch/0.4.4' ]
3211 verbose url resolved https://registry.npmjs.org/grunt-contrib-watch/0.4.4
3212 info trying registry request attempt 1 at 17:31:43
3213 verbose etag "C9G2A6DJPJRUYBELVL0Y4E595"
3214 http GET https://registry.npmjs.org/grunt-contrib-watch/0.4.4
3215 verbose url raw grunt-contrib-uglify/0.2.2
3216 verbose url resolving [ 'https://registry.npmjs.org/',
3216 verbose url resolving './grunt-contrib-uglify/0.2.2' ]
3217 verbose url resolved https://registry.npmjs.org/grunt-contrib-uglify/0.2.2
3218 info trying registry request attempt 1 at 17:31:43
3219 verbose etag "DAUV4YH0302VSLOIGBMQ9UAYK"
3220 http GET https://registry.npmjs.org/grunt-contrib-uglify/0.2.2
3221 verbose url raw grunt-contrib-cssmin/0.6.1
3222 verbose url resolving [ 'https://registry.npmjs.org/',
3222 verbose url resolving './grunt-contrib-cssmin/0.6.1' ]
3223 verbose url resolved https://registry.npmjs.org/grunt-contrib-cssmin/0.6.1
3224 info trying registry request attempt 1 at 17:31:43
3225 verbose etag "D939KDHZYCVULYND5PIM8KLUE"
3226 http GET https://registry.npmjs.org/grunt-contrib-cssmin/0.6.1
3227 verbose url raw grunt-contrib-less/0.5.2
3228 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-less/0.5.2' ]
3229 verbose url resolved https://registry.npmjs.org/grunt-contrib-less/0.5.2
3230 info trying registry request attempt 1 at 17:31:43
3231 verbose etag "1BHIUIJERA42IZFFEJSFQ0DUJ"
3232 http GET https://registry.npmjs.org/grunt-contrib-less/0.5.2
3233 verbose url raw grunt-contrib-coffee
3234 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-coffee' ]
3235 verbose url resolved https://registry.npmjs.org/grunt-contrib-coffee
3236 info trying registry request attempt 1 at 17:31:43
3237 verbose etag "478HSK6SHCTWYMPZ8F2X441ZK"
3238 http GET https://registry.npmjs.org/grunt-contrib-coffee
3239 verbose url raw ejs/0.8.4
3240 verbose url resolving [ 'https://registry.npmjs.org/', './ejs/0.8.4' ]
3241 verbose url resolved https://registry.npmjs.org/ejs/0.8.4
3242 info trying registry request attempt 1 at 17:31:43
3243 verbose etag "E8ID99F00XH9C25QIZBV10GPC"
3244 http GET https://registry.npmjs.org/ejs/0.8.4
3245 verbose url raw ejs-locals/1.0.2
3246 verbose url resolving [ 'https://registry.npmjs.org/', './ejs-locals/1.0.2' ]
3247 verbose url resolved https://registry.npmjs.org/ejs-locals/1.0.2
3248 info trying registry request attempt 1 at 17:31:43
3249 verbose etag "3JE5DZCQ3OZ6HNZTTOLNWEOLD"
3250 http GET https://registry.npmjs.org/ejs-locals/1.0.2
3251 verbose url raw connect-flash/0.1.1
3252 verbose url resolving [ 'https://registry.npmjs.org/', './connect-flash/0.1.1' ]
3253 verbose url resolved https://registry.npmjs.org/connect-flash/0.1.1
3254 info trying registry request attempt 1 at 17:31:43
3255 verbose etag "21A8G047HZF5SDSWQ371UXQ9A"
3256 http GET https://registry.npmjs.org/connect-flash/0.1.1
3257 verbose url raw pluralize/0.0.5
3258 verbose url resolving [ 'https://registry.npmjs.org/', './pluralize/0.0.5' ]
3259 verbose url resolved https://registry.npmjs.org/pluralize/0.0.5
3260 info trying registry request attempt 1 at 17:31:43
3261 verbose etag "CAY9S0O86RG7USK40RN9GL2EJ"
3262 http GET https://registry.npmjs.org/pluralize/0.0.5
3263 verbose url raw coffee-script/1.6.2
3264 verbose url resolving [ 'https://registry.npmjs.org/', './coffee-script/1.6.2' ]
3265 verbose url resolved https://registry.npmjs.org/coffee-script/1.6.2
3266 info trying registry request attempt 1 at 17:31:43
3267 verbose etag "2HZAL9J6YNYHX7K414IYU5MS"
3268 http GET https://registry.npmjs.org/coffee-script/1.6.2
3269 verbose git remote.origin.url git://github.com/Zolmeister/grunt-sails-linker.git
3270 error git fetch -a origin (git://github.com/Zolmeister/grunt-sails-linker.git) error: cannot open FETCH_HEAD: Permission denied
3271 silly lockFile d5f0a8f5-olmeister-grunt-sails-linker-git git://github.com/Zolmeister/grunt-sails-linker.git
3272 silly lockFile d5f0a8f5-olmeister-grunt-sails-linker-git git://github.com/Zolmeister/grunt-sails-linker.git
3273 verbose about to build /Users/nwittstock/Dropbox/Code/extra/node_modules/sails
3274 info /Users/nwittstock/Dropbox/Code/extra/node_modules/sails unbuild
3275 info preuninstall sails@0.9.7
3276 info uninstall sails@0.9.7
3277 verbose true,/Users/nwittstock/Dropbox/Code/extra/node_modules,/Users/nwittstock/Dropbox/Code/extra/node_modules unbuild sails@0.9.7
3278 verbose /Users/nwittstock/Dropbox/Code/extra/node_modules/.bin,[object Object] binRoot
3279 info postuninstall sails@0.9.7
3280 http 304 https://registry.npmjs.org/express/3.4.0
3281 silly registry.get cb [ 304,
3281 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3281 silly registry.get etag: '"BCNBCY9HWTBMA5CGMMG3SE986"',
3281 silly registry.get date: 'Fri, 25 Oct 2013 00:31:43 GMT',
3281 silly registry.get 'content-length': '0' } ]
3282 verbose etag express/3.4.0 from cache
3283 http 304 https://registry.npmjs.org/socket.io/0.9.14
3284 silly registry.get cb [ 304,
3284 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3284 silly registry.get etag: '"DSF55RABJJRXIZ3PXJ5PQ9N4A"',
3284 silly registry.get date: 'Fri, 25 Oct 2013 00:31:43 GMT',
3284 silly registry.get 'content-length': '0' } ]
3285 verbose etag socket.io/0.9.14 from cache
3286 http 304 https://registry.npmjs.org/waterline
3287 silly registry.get cb [ 304,
3287 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3287 silly registry.get etag: '"E4P161E46OTWQ8SFYL0UH7X46"',
3287 silly registry.get date: 'Fri, 25 Oct 2013 00:31:43 GMT',
3287 silly registry.get 'content-length': '0' } ]
3288 verbose etag waterline from cache
3289 http 304 https://registry.npmjs.org/connect-redis/1.4.5
3290 silly registry.get cb [ 304,
3290 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3290 silly registry.get etag: '"B5SXYXPM8Y0ZG06XA6Y9PA3VN"',
3290 silly registry.get date: 'Fri, 25 Oct 2013 00:31:43 GMT',
3290 silly registry.get 'content-length': '0' } ]
3291 verbose etag connect-redis/1.4.5 from cache
3292 silly addNameRange number 2 { name: 'waterline',
3292 silly addNameRange range: '>=0.9.4-0 <0.10.0-0',
3292 silly addNameRange hasData: true }
3293 silly addNameRange versions [ 'waterline',
3293 silly addNameRange [ '0.0.0',
3293 silly addNameRange '0.0.1',
3293 silly addNameRange '0.0.2',
3293 silly addNameRange '0.0.4',
3293 silly addNameRange '0.0.5',
3293 silly addNameRange '0.0.51',
3293 silly addNameRange '0.0.52',
3293 silly addNameRange '0.0.5201',
3293 silly addNameRange '0.0.5202',
3293 silly addNameRange '0.0.5204',
3293 silly addNameRange '0.0.5205',
3293 silly addNameRange '0.0.6',
3293 silly addNameRange '0.0.7',
3293 silly addNameRange '0.1.0',
3293 silly addNameRange '0.1.5',
3293 silly addNameRange '0.1.5-1',
3293 silly addNameRange '0.1.6-0',
3293 silly addNameRange '0.2.0',
3293 silly addNameRange '0.3.0',
3293 silly addNameRange '0.4.0',
3293 silly addNameRange '0.4.1',
3293 silly addNameRange '0.4.2',
3293 silly addNameRange '0.4.4',
3293 silly addNameRange '0.4.5',
3293 silly addNameRange '0.4.6',
3293 silly addNameRange '0.4.7',
3293 silly addNameRange '0.5.0',
3293 silly addNameRange '0.5.1',
3293 silly addNameRange '0.5.2',
3293 silly addNameRange '0.6.0',
3293 silly addNameRange '0.6.1',
3293 silly addNameRange '0.9.0',
3293 silly addNameRange '0.9.1',
3293 silly addNameRange '0.9.2',
3293 silly addNameRange '0.9.3',
3293 silly addNameRange '0.9.4',
3293 silly addNameRange '0.9.5',
3293 silly addNameRange '0.9.6',
3293 silly addNameRange '0.1.1',
3293 silly addNameRange '0.1.3',
3293 silly addNameRange '0.1.4' ] ]
3294 verbose addNamed [ 'waterline', '0.9.6' ]
3295 verbose addNamed [ '0.9.6', '0.9.6' ]
3296 silly lockFile ae167d93-waterline-0-9-6 waterline@0.9.6
3297 verbose lock waterline@0.9.6 /Users/nwittstock/.npm/ae167d93-waterline-0-9-6.lock
3298 http 304 https://registry.npmjs.org/connect-mongo/0.3.2
3299 silly registry.get cb [ 304,
3299 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
3299 silly registry.get etag: '"AOH8AEPPDOR7XM8UTKG7U0N5R"',
3299 silly registry.get date: 'Fri, 25 Oct 2013 00:31:43 GMT',
3299 silly registry.get 'content-length': '0' } ]
3300 verbose etag connect-mongo/0.3.2 from cache
3301 silly lockFile 86194427-express-3-4-0 express@3.4.0
3302 silly lockFile 86194427-express-3-4-0 express@3.4.0
3303 error Error: Command failed: error: cannot open FETCH_HEAD: Permission denied
3303 error
3303 error
3303 error at ChildProcess.exithandler (child_process.js:637:15)
3303 error at ChildProcess.EventEmitter.emit (events.js:98:17)
3303 error at maybeClose (child_process.js:735:16)
3303 error at Process.ChildProcess._handle.onexit (child_process.js:802:5)
3304 error If you need help, you may report this log at:
3304 error <http://github.com/isaacs/npm/issues>
3304 error or email it to:
3304 error <npm-@googlegroups.com>
3305 error System Darwin 13.0.0
3306 error command "node" "/usr/local/bin/npm" "install"
3307 error cwd /Users/nwittstock/Dropbox/Code/extra
3308 error node -v v0.10.21
3309 error npm -v 1.3.11
3310 error code 1
3311 verbose exit [ 1, true ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment