You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
angular-promises/npm-debug.log

19516 lines
1.8 MiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

4002 silly lockFile 54de923f-pike-npm-chalk-0-2-1-package-tgz tar:///home/spike/.npm/chalk/0.2.1/package.tgz
4003 silly lockFile 54de923f-pike-npm-chalk-0-2-1-package-tgz tar:///home/spike/.npm/chalk/0.2.1/package.tgz
4004 silly gunzTarPerm extractEntry readme.markdown
4005 silly gunzTarPerm extractEntry test/align.js
4006 silly gunzTarPerm extractEntry test/ansi-colors.js
4007 silly gunzTarPerm extractEntry test/center.js
4008 silly gunzTarPerm extractEntry test/dotalign.js
4009 silly gunzTarPerm extractEntry test/doubledot.js
4010 silly gunzTarPerm extractEntry test/table.js
4011 info preinstall chalk@0.2.1
4012 verbose readDependencies using package.json deps
4013 verbose readDependencies using package.json deps
4014 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/48/7a6ae84da8e4a1ee95cf59c7df8ea436fabf4c
4015 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/4e/576c52cb630491ebcf62a77f5e81077c3be57e
4016 verbose cache add [ 'has-color@~0.1.0', null ]
4017 verbose cache add name=undefined spec="has-color@~0.1.0" args=["has-color@~0.1.0",null]
4018 verbose parsed url { protocol: null,
4018 verbose parsed url slashes: null,
4018 verbose parsed url auth: null,
4018 verbose parsed url host: null,
4018 verbose parsed url port: null,
4018 verbose parsed url hostname: null,
4018 verbose parsed url hash: null,
4018 verbose parsed url search: null,
4018 verbose parsed url query: null,
4018 verbose parsed url pathname: 'has-color@~0.1.0',
4018 verbose parsed url path: 'has-color@~0.1.0',
4018 verbose parsed url href: 'has-color@~0.1.0' }
4019 verbose cache add name="has-color" spec="~0.1.0" args=["has-color","~0.1.0"]
4020 verbose parsed url { protocol: null,
4020 verbose parsed url slashes: null,
4020 verbose parsed url auth: null,
4020 verbose parsed url host: null,
4020 verbose parsed url port: null,
4020 verbose parsed url hostname: null,
4020 verbose parsed url hash: null,
4020 verbose parsed url search: null,
4020 verbose parsed url query: null,
4020 verbose parsed url pathname: '~0.1.0',
4020 verbose parsed url path: '~0.1.0',
4020 verbose parsed url href: '~0.1.0' }
4021 verbose addNamed [ 'has-color', '~0.1.0' ]
4022 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
4023 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
4024 verbose lock has-color@~0.1.0 /home/spike/.npm/c89da621-has-color-0-1-0.lock
4025 verbose cache add [ 'ansi-styles@~0.2.0', null ]
4026 verbose cache add name=undefined spec="ansi-styles@~0.2.0" args=["ansi-styles@~0.2.0",null]
4027 verbose parsed url { protocol: null,
4027 verbose parsed url slashes: null,
4027 verbose parsed url auth: null,
4027 verbose parsed url host: null,
4027 verbose parsed url port: null,
4027 verbose parsed url hostname: null,
4027 verbose parsed url hash: null,
4027 verbose parsed url search: null,
4027 verbose parsed url query: null,
4027 verbose parsed url pathname: 'ansi-styles@~0.2.0',
4027 verbose parsed url path: 'ansi-styles@~0.2.0',
4027 verbose parsed url href: 'ansi-styles@~0.2.0' }
4028 verbose cache add name="ansi-styles" spec="~0.2.0" args=["ansi-styles","~0.2.0"]
4029 verbose parsed url { protocol: null,
4029 verbose parsed url slashes: null,
4029 verbose parsed url auth: null,
4029 verbose parsed url host: null,
4029 verbose parsed url port: null,
4029 verbose parsed url hostname: null,
4029 verbose parsed url hash: null,
4029 verbose parsed url search: null,
4029 verbose parsed url query: null,
4029 verbose parsed url pathname: '~0.2.0',
4029 verbose parsed url path: '~0.2.0',
4029 verbose parsed url href: '~0.2.0' }
4030 verbose addNamed [ 'ansi-styles', '~0.2.0' ]
4031 verbose addNamed [ null, '>=0.2.0-0 <0.3.0-0' ]
4032 silly lockFile 847f9987-ansi-styles-0-2-0 ansi-styles@~0.2.0
4033 verbose lock ansi-styles@~0.2.0 /home/spike/.npm/847f9987-ansi-styles-0-2-0.lock
4034 silly addNameRange { name: 'has-color',
4034 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
4034 silly addNameRange hasData: false }
4035 silly addNameRange { name: 'ansi-styles',
4035 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
4035 silly addNameRange hasData: false }
4036 verbose url raw has-color
4037 verbose url resolving [ 'https://registry.npmjs.org/', './has-color' ]
4038 verbose url resolved https://registry.npmjs.org/has-color
4039 info trying registry request attempt 1 at 11:44:30
4040 verbose etag "72ZL2WOI1PC39PN3SGW6SDCN6"
4041 http GET https://registry.npmjs.org/has-color
4042 verbose url raw ansi-styles
4043 verbose url resolving [ 'https://registry.npmjs.org/', './ansi-styles' ]
4044 verbose url resolved https://registry.npmjs.org/ansi-styles
4045 info trying registry request attempt 1 at 11:44:30
4046 verbose etag "AEOYK2JSRTD248WNH6VPFMJXF"
4047 http GET https://registry.npmjs.org/ansi-styles
4048 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/52/8f8e1553e2b03aee7ab6eb9216b3ed89061784
4049 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/68/9c63b3432aaece15106f8b2162619f982ec370
4050 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/69/bc69fdce113f9c1566aec1392bcc79d10d454b
4051 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/6c/1354ad5764e71a3bf30650013f0f0e9a897450
4052 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/75/7a3f84cfbf1fc94ce0c67d2f016690eb495bb5
4053 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/7a/0419da6bb16bbccf5e07f9bcd1754108ed9d1a
4054 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/80/95211f85d5038d6f2ee248a134cf7e7d28e123
4055 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/83/0e1eb1a47c76ecfd3c1df4ab1485dc8188cf3c
4056 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/88/259581b83fd9081b94deebf2a7632590f09f83
4057 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/8c/ffccc175240ac0346bd2171a0d25d7c6a88c5f
4058 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/0d/af124cc7163788c501f382461e45bd1de8e7ab
4059 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/90/ed234fb0708235a733bcae0e5b90bd4fac5321
4060 silly lockFile b8b93663--stylish-node-modules-text-table tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table
4061 silly lockFile b8b93663--stylish-node-modules-text-table tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table
4062 silly lockFile 220a4922-npm-text-table-0-2-0-package-tgz tar:///home/spike/.npm/text-table/0.2.0/package.tgz
4063 silly lockFile 220a4922-npm-text-table-0-2-0-package-tgz tar:///home/spike/.npm/text-table/0.2.0/package.tgz
4064 info preinstall text-table@0.2.0
4065 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/92/afeeb69adc7fd744bb4d6556dc3d7204cb71fa
4066 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/97/17b8c32f1c6acfbe3db68df8856a6630e4772d
4067 verbose readDependencies using package.json deps
4068 verbose readDependencies using package.json deps
4069 silly resolved []
4070 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table
4071 info build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/text-table
4072 verbose linkStuff [ false,
4072 verbose linkStuff false,
4072 verbose linkStuff false,
4072 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules' ]
4073 info linkStuff text-table@0.2.0
4074 verbose linkBins text-table@0.2.0
4075 verbose linkMans text-table@0.2.0
4076 verbose rebuildBundles text-table@0.2.0
4077 info install text-table@0.2.0
4078 info postinstall text-table@0.2.0
4079 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/9c/7fa0117320c0c8b3f7d760143bad93c6e34b9d
4080 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/9e/1ea691c15d1fcbd4df08a43381e52c6b4b8f83
4081 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/a2/1a15efe0034e57f1455f55ca1cd7805e25adfd
4082 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/aa/77627e06564ada85565b7fee02d9c28047f35a
4083 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/bb/01907369ff7accc18d6ec5b17d231f4217ac2d
4084 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/be/9b0e2ca43b223ab14df61b868e95cb412c6faa
4085 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/bf/7794b69000bbaa6598c3f67cc70c6a51d6ca3d
4086 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/ca/dd0beb4df19711eb9ce432608504cc21beebf3
4087 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/d3/e127498b258d1827d03aa8980fc8db868352ad
4088 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/d7/bb417d109af63c5bcbd7f7484ddfa66f38af13
4089 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/ec/b67101368c505a6c23f1a1966d13c6aa66483f
4090 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/ee/947ec6a8a56f6c57d3fb48d10f8c104c66f4ce
4091 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/f2/4e11fa324ac703273a03f54c3d60d840e69e24
4092 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/f9/260e4e30eb5e9f7d08751c6348e90b505f8af0
4093 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/f9/3f2fb92626ffd5bb9a17b5e2b2642f2c70c014
4094 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/fb/18250b19f479c46a49a393a8f8f932ed083b55
4095 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/pack/pack-af6aba8bdcf0fc9c7b4a690e6e2976ed7bbb8521.idx
4096 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/objects/pack/pack-af6aba8bdcf0fc9c7b4a690e6e2976ed7bbb8521.pack
4097 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/packed-refs
4098 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/heads/master
4099 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/remotes/origin/HEAD
4100 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/remotes/origin/master
4101 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/tags/0.0.1
4102 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/refs/tags/0.0.2
4103 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/tortoisegit.data
4104 silly gunzTarPerm extractEntry test/assets/package-repo/git_repo/tortoisegit.index
4105 silly gunzTarPerm extractEntry test/assets/package-repo/test/file_reader.html
4106 silly gunzTarPerm extractEntry test/assets/package-repo/test/index.html
4107 silly gunzTarPerm extractEntry test/assets/package-zip-folder.zip
4108 silly gunzTarPerm extractEntry test/assets/package-zip.zip
4109 silly gunzTarPerm extractEntry test/assets/project/.npmignore
4110 silly gunzTarPerm extractEntry test/assets/project/bower.json
4111 silly gunzTarPerm extractEntry test/assets/project-complex-nest/bower.json
4112 silly gunzTarPerm extractEntry test/assets/project-dev-deps/bower.json
4113 silly gunzTarPerm extractEntry test/assets/project-nested/bower.json
4114 silly gunzTarPerm extractEntry test/assets/project-nested-conflict/bower.json
4115 silly gunzTarPerm extractEntry test/assets/project-new-deps/.npmignore
4116 silly gunzTarPerm extractEntry test/assets/project-new-deps/bower.json
4117 silly gunzTarPerm extractEntry test/assets/project-nonstandard-json/foocomponent.json
4118 silly gunzTarPerm extractEntry test/assets/project-old/component.json
4119 silly gunzTarPerm extractEntry test/assets/project-static/bower.json
4120 silly gunzTarPerm extractEntry test/assets/sprockets/.npmignore
4121 silly gunzTarPerm extractEntry test/assets/sprockets/Rakefile
4122 silly gunzTarPerm extractEntry test/assets/sprockets/assets/application.js
4123 silly gunzTarPerm extractEntry test/assets/sprockets/bower.json
4124 silly lockFile 4e30e0d0-nt-google-cdn-node-modules-bower tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
4125 silly lockFile 4e30e0d0-nt-google-cdn-node-modules-bower tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
4126 silly lockFile 1b2e6ea5-pike-npm-bower-0-9-2-package-tgz tar:///home/spike/.npm/bower/0.9.2/package.tgz
4127 silly lockFile 1b2e6ea5-pike-npm-bower-0-9-2-package-tgz tar:///home/spike/.npm/bower/0.9.2/package.tgz
4128 info preinstall bower@0.9.2
4129 verbose readDependencies using package.json deps
4130 verbose readDependencies using package.json deps
4131 verbose cache add [ 'abbrev@~1.0.4', null ]
4132 verbose cache add name=undefined spec="abbrev@~1.0.4" args=["abbrev@~1.0.4",null]
4133 verbose parsed url { protocol: null,
4133 verbose parsed url slashes: null,
4133 verbose parsed url auth: null,
4133 verbose parsed url host: null,
4133 verbose parsed url port: null,
4133 verbose parsed url hostname: null,
4133 verbose parsed url hash: null,
4133 verbose parsed url search: null,
4133 verbose parsed url query: null,
4133 verbose parsed url pathname: 'abbrev@~1.0.4',
4133 verbose parsed url path: 'abbrev@~1.0.4',
4133 verbose parsed url href: 'abbrev@~1.0.4' }
4134 verbose cache add name="abbrev" spec="~1.0.4" args=["abbrev","~1.0.4"]
4135 verbose parsed url { protocol: null,
4135 verbose parsed url slashes: null,
4135 verbose parsed url auth: null,
4135 verbose parsed url host: null,
4135 verbose parsed url port: null,
4135 verbose parsed url hostname: null,
4135 verbose parsed url hash: null,
4135 verbose parsed url search: null,
4135 verbose parsed url query: null,
4135 verbose parsed url pathname: '~1.0.4',
4135 verbose parsed url path: '~1.0.4',
4135 verbose parsed url href: '~1.0.4' }
4136 verbose addNamed [ 'abbrev', '~1.0.4' ]
4137 verbose addNamed [ null, '>=1.0.4-0 <1.1.0-0' ]
4138 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
4139 verbose lock abbrev@~1.0.4 /home/spike/.npm/efa0e9e0-abbrev-1-0-4.lock
4140 verbose cache add [ 'archy@~0.0.2', null ]
4141 verbose cache add name=undefined spec="archy@~0.0.2" args=["archy@~0.0.2",null]
4142 verbose parsed url { protocol: null,
4142 verbose parsed url slashes: null,
4142 verbose parsed url auth: null,
4142 verbose parsed url host: null,
4142 verbose parsed url port: null,
4142 verbose parsed url hostname: null,
4142 verbose parsed url hash: null,
4142 verbose parsed url search: null,
4142 verbose parsed url query: null,
4142 verbose parsed url pathname: 'archy@~0.0.2',
4142 verbose parsed url path: 'archy@~0.0.2',
4142 verbose parsed url href: 'archy@~0.0.2' }
4143 verbose cache add name="archy" spec="~0.0.2" args=["archy","~0.0.2"]
4144 verbose parsed url { protocol: null,
4144 verbose parsed url slashes: null,
4144 verbose parsed url auth: null,
4144 verbose parsed url host: null,
4144 verbose parsed url port: null,
4144 verbose parsed url hostname: null,
4144 verbose parsed url hash: null,
4144 verbose parsed url search: null,
4144 verbose parsed url query: null,
4144 verbose parsed url pathname: '~0.0.2',
4144 verbose parsed url path: '~0.0.2',
4144 verbose parsed url href: '~0.0.2' }
4145 verbose addNamed [ 'archy', '~0.0.2' ]
4146 verbose addNamed [ null, '>=0.0.2-0 <0.1.0-0' ]
4147 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
4148 verbose lock archy@~0.0.2 /home/spike/.npm/835d25e0-archy-0-0-2.lock
4149 verbose cache add [ 'async@~0.2.5', null ]
4150 verbose cache add name=undefined spec="async@~0.2.5" args=["async@~0.2.5",null]
4151 verbose parsed url { protocol: null,
4151 verbose parsed url slashes: null,
4151 verbose parsed url auth: null,
4151 verbose parsed url host: null,
4151 verbose parsed url port: null,
4151 verbose parsed url hostname: null,
4151 verbose parsed url hash: null,
4151 verbose parsed url search: null,
4151 verbose parsed url query: null,
4151 verbose parsed url pathname: 'async@~0.2.5',
4151 verbose parsed url path: 'async@~0.2.5',
4151 verbose parsed url href: 'async@~0.2.5' }
4152 verbose cache add name="async" spec="~0.2.5" args=["async","~0.2.5"]
4153 verbose parsed url { protocol: null,
4153 verbose parsed url slashes: null,
4153 verbose parsed url auth: null,
4153 verbose parsed url host: null,
4153 verbose parsed url port: null,
4153 verbose parsed url hostname: null,
4153 verbose parsed url hash: null,
4153 verbose parsed url search: null,
4153 verbose parsed url query: null,
4153 verbose parsed url pathname: '~0.2.5',
4153 verbose parsed url path: '~0.2.5',
4153 verbose parsed url href: '~0.2.5' }
4154 verbose addNamed [ 'async', '~0.2.5' ]
4155 verbose addNamed [ null, '>=0.2.5-0 <0.3.0-0' ]
4156 silly lockFile cf5596a4-async-0-2-5 async@~0.2.5
4157 verbose lock async@~0.2.5 /home/spike/.npm/cf5596a4-async-0-2-5.lock
4158 silly addNameRange { name: 'abbrev', range: '>=1.0.4-0 <1.1.0-0', hasData: false }
4159 silly addNameRange { name: 'archy', range: '>=0.0.2-0 <0.1.0-0', hasData: false }
4160 silly addNameRange { name: 'async', range: '>=0.2.5-0 <0.3.0-0', hasData: false }
4161 verbose url raw abbrev
4162 verbose url resolving [ 'https://registry.npmjs.org/', './abbrev' ]
4163 verbose url resolved https://registry.npmjs.org/abbrev
4164 info trying registry request attempt 1 at 11:44:30
4165 verbose etag "1A2R6SP5BL9S0252UX3EHXNP4"
4166 http GET https://registry.npmjs.org/abbrev
4167 verbose cache add [ 'fstream@~0.1.19', null ]
4168 verbose cache add name=undefined spec="fstream@~0.1.19" args=["fstream@~0.1.19",null]
4169 verbose parsed url { protocol: null,
4169 verbose parsed url slashes: null,
4169 verbose parsed url auth: null,
4169 verbose parsed url host: null,
4169 verbose parsed url port: null,
4169 verbose parsed url hostname: null,
4169 verbose parsed url hash: null,
4169 verbose parsed url search: null,
4169 verbose parsed url query: null,
4169 verbose parsed url pathname: 'fstream@~0.1.19',
4169 verbose parsed url path: 'fstream@~0.1.19',
4169 verbose parsed url href: 'fstream@~0.1.19' }
4170 verbose cache add name="fstream" spec="~0.1.19" args=["fstream","~0.1.19"]
4171 verbose parsed url { protocol: null,
4171 verbose parsed url slashes: null,
4171 verbose parsed url auth: null,
4171 verbose parsed url host: null,
4171 verbose parsed url port: null,
4171 verbose parsed url hostname: null,
4171 verbose parsed url hash: null,
4171 verbose parsed url search: null,
4171 verbose parsed url query: null,
4171 verbose parsed url pathname: '~0.1.19',
4171 verbose parsed url path: '~0.1.19',
4171 verbose parsed url href: '~0.1.19' }
4172 verbose addNamed [ 'fstream', '~0.1.19' ]
4173 verbose addNamed [ null, '>=0.1.19-0 <0.2.0-0' ]
4174 silly lockFile 41db2e12-fstream-0-1-19 fstream@~0.1.19
4175 verbose lock fstream@~0.1.19 /home/spike/.npm/41db2e12-fstream-0-1-19.lock
4176 verbose cache add [ 'colors@~0.6.0-1', null ]
4177 verbose cache add name=undefined spec="colors@~0.6.0-1" args=["colors@~0.6.0-1",null]
4178 verbose parsed url { protocol: null,
4178 verbose parsed url slashes: null,
4178 verbose parsed url auth: null,
4178 verbose parsed url host: null,
4178 verbose parsed url port: null,
4178 verbose parsed url hostname: null,
4178 verbose parsed url hash: null,
4178 verbose parsed url search: null,
4178 verbose parsed url query: null,
4178 verbose parsed url pathname: 'colors@~0.6.0-1',
4178 verbose parsed url path: 'colors@~0.6.0-1',
4178 verbose parsed url href: 'colors@~0.6.0-1' }
4179 verbose cache add name="colors" spec="~0.6.0-1" args=["colors","~0.6.0-1"]
4180 verbose parsed url { protocol: null,
4180 verbose parsed url slashes: null,
4180 verbose parsed url auth: null,
4180 verbose parsed url host: null,
4180 verbose parsed url port: null,
4180 verbose parsed url hostname: null,
4180 verbose parsed url hash: null,
4180 verbose parsed url search: null,
4180 verbose parsed url query: null,
4180 verbose parsed url pathname: '~0.6.0-1',
4180 verbose parsed url path: '~0.6.0-1',
4180 verbose parsed url href: '~0.6.0-1' }
4181 verbose addNamed [ 'colors', '~0.6.0-1' ]
4182 verbose addNamed [ null, '>=0.6.0-1 <0.7.0-0' ]
4183 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
4184 verbose lock colors@~0.6.0-1 /home/spike/.npm/f29bff6b-colors-0-6-0-1.lock
4185 verbose cache add [ 'glob@~3.1.14', null ]
4186 verbose cache add name=undefined spec="glob@~3.1.14" args=["glob@~3.1.14",null]
4187 verbose parsed url { protocol: null,
4187 verbose parsed url slashes: null,
4187 verbose parsed url auth: null,
4187 verbose parsed url host: null,
4187 verbose parsed url port: null,
4187 verbose parsed url hostname: null,
4187 verbose parsed url hash: null,
4187 verbose parsed url search: null,
4187 verbose parsed url query: null,
4187 verbose parsed url pathname: 'glob@~3.1.14',
4187 verbose parsed url path: 'glob@~3.1.14',
4187 verbose parsed url href: 'glob@~3.1.14' }
4188 verbose cache add name="glob" spec="~3.1.14" args=["glob","~3.1.14"]
4189 verbose parsed url { protocol: null,
4189 verbose parsed url slashes: null,
4189 verbose parsed url auth: null,
4189 verbose parsed url host: null,
4189 verbose parsed url port: null,
4189 verbose parsed url hostname: null,
4189 verbose parsed url hash: null,
4189 verbose parsed url search: null,
4189 verbose parsed url query: null,
4189 verbose parsed url pathname: '~3.1.14',
4189 verbose parsed url path: '~3.1.14',
4189 verbose parsed url href: '~3.1.14' }
4190 verbose addNamed [ 'glob', '~3.1.14' ]
4191 verbose addNamed [ null, '>=3.1.14-0 <3.2.0-0' ]
4192 silly lockFile 2d83dc71-glob-3-1-14 glob@~3.1.14
4193 verbose lock glob@~3.1.14 /home/spike/.npm/2d83dc71-glob-3-1-14.lock
4194 verbose url raw async
4195 verbose url resolving [ 'https://registry.npmjs.org/', './async' ]
4196 verbose url resolved https://registry.npmjs.org/async
4197 info trying registry request attempt 1 at 11:44:30
4198 verbose etag "6SZA38IP3YTXC2N3QXR6NZ7CH"
4199 http GET https://registry.npmjs.org/async
4200 silly addNameRange { name: 'fstream', range: '>=0.1.19-0 <0.2.0-0', hasData: false }
4201 verbose cache add [ 'hogan.js@~2.0.0', null ]
4202 verbose cache add name=undefined spec="hogan.js@~2.0.0" args=["hogan.js@~2.0.0",null]
4203 verbose parsed url { protocol: null,
4203 verbose parsed url slashes: null,
4203 verbose parsed url auth: null,
4203 verbose parsed url host: null,
4203 verbose parsed url port: null,
4203 verbose parsed url hostname: null,
4203 verbose parsed url hash: null,
4203 verbose parsed url search: null,
4203 verbose parsed url query: null,
4203 verbose parsed url pathname: 'hogan.js@~2.0.0',
4203 verbose parsed url path: 'hogan.js@~2.0.0',
4203 verbose parsed url href: 'hogan.js@~2.0.0' }
4204 verbose cache add name="hogan.js" spec="~2.0.0" args=["hogan.js","~2.0.0"]
4205 verbose parsed url { protocol: null,
4205 verbose parsed url slashes: null,
4205 verbose parsed url auth: null,
4205 verbose parsed url host: null,
4205 verbose parsed url port: null,
4205 verbose parsed url hostname: null,
4205 verbose parsed url hash: null,
4205 verbose parsed url search: null,
4205 verbose parsed url query: null,
4205 verbose parsed url pathname: '~2.0.0',
4205 verbose parsed url path: '~2.0.0',
4205 verbose parsed url href: '~2.0.0' }
4206 verbose addNamed [ 'hogan.js', '~2.0.0' ]
4207 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
4208 silly lockFile 09df9878-hogan-js-2-0-0 hogan.js@~2.0.0
4209 verbose lock hogan.js@~2.0.0 /home/spike/.npm/09df9878-hogan-js-2-0-0.lock
4210 verbose cache add [ 'lodash@~1.0.1', null ]
4211 verbose cache add name=undefined spec="lodash@~1.0.1" args=["lodash@~1.0.1",null]
4212 verbose parsed url { protocol: null,
4212 verbose parsed url slashes: null,
4212 verbose parsed url auth: null,
4212 verbose parsed url host: null,
4212 verbose parsed url port: null,
4212 verbose parsed url hostname: null,
4212 verbose parsed url hash: null,
4212 verbose parsed url search: null,
4212 verbose parsed url query: null,
4212 verbose parsed url pathname: 'lodash@~1.0.1',
4212 verbose parsed url path: 'lodash@~1.0.1',
4212 verbose parsed url href: 'lodash@~1.0.1' }
4213 verbose cache add name="lodash" spec="~1.0.1" args=["lodash","~1.0.1"]
4214 verbose parsed url { protocol: null,
4214 verbose parsed url slashes: null,
4214 verbose parsed url auth: null,
4214 verbose parsed url host: null,
4214 verbose parsed url port: null,
4214 verbose parsed url hostname: null,
4214 verbose parsed url hash: null,
4214 verbose parsed url search: null,
4214 verbose parsed url query: null,
4214 verbose parsed url pathname: '~1.0.1',
4214 verbose parsed url path: '~1.0.1',
4214 verbose parsed url href: '~1.0.1' }
4215 verbose addNamed [ 'lodash', '~1.0.1' ]
4216 verbose cache add [ 'mkdirp@~0.3.4', null ]
4217 verbose cache add name=undefined spec="mkdirp@~0.3.4" args=["mkdirp@~0.3.4",null]
4218 verbose parsed url { protocol: null,
4218 verbose parsed url slashes: null,
4218 verbose parsed url auth: null,
4218 verbose parsed url host: null,
4218 verbose parsed url port: null,
4218 verbose parsed url hostname: null,
4218 verbose parsed url hash: null,
4218 verbose parsed url search: null,
4218 verbose parsed url query: null,
4218 verbose parsed url pathname: 'mkdirp@~0.3.4',
4218 verbose parsed url path: 'mkdirp@~0.3.4',
4218 verbose parsed url href: 'mkdirp@~0.3.4' }
4219 verbose cache add name="mkdirp" spec="~0.3.4" args=["mkdirp","~0.3.4"]
4220 verbose parsed url { protocol: null,
4220 verbose parsed url slashes: null,
4220 verbose parsed url auth: null,
4220 verbose parsed url host: null,
4220 verbose parsed url port: null,
4220 verbose parsed url hostname: null,
4220 verbose parsed url hash: null,
4220 verbose parsed url search: null,
4220 verbose parsed url query: null,
4220 verbose parsed url pathname: '~0.3.4',
4220 verbose parsed url path: '~0.3.4',
4220 verbose parsed url href: '~0.3.4' }
4221 verbose addNamed [ 'mkdirp', '~0.3.4' ]
4222 verbose addNamed [ null, '>=0.3.4-0 <0.4.0-0' ]
4223 silly lockFile f185e6bf-mkdirp-0-3-4 mkdirp@~0.3.4
4224 verbose lock mkdirp@~0.3.4 /home/spike/.npm/f185e6bf-mkdirp-0-3-4.lock
4225 verbose cache add [ 'nopt@~2.0.0', null ]
4226 verbose cache add name=undefined spec="nopt@~2.0.0" args=["nopt@~2.0.0",null]
4227 verbose parsed url { protocol: null,
4227 verbose parsed url slashes: null,
4227 verbose parsed url auth: null,
4227 verbose parsed url host: null,
4227 verbose parsed url port: null,
4227 verbose parsed url hostname: null,
4227 verbose parsed url hash: null,
4227 verbose parsed url search: null,
4227 verbose parsed url query: null,
4227 verbose parsed url pathname: 'nopt@~2.0.0',
4227 verbose parsed url path: 'nopt@~2.0.0',
4227 verbose parsed url href: 'nopt@~2.0.0' }
4228 verbose cache add name="nopt" spec="~2.0.0" args=["nopt","~2.0.0"]
4229 verbose parsed url { protocol: null,
4229 verbose parsed url slashes: null,
4229 verbose parsed url auth: null,
4229 verbose parsed url host: null,
4229 verbose parsed url port: null,
4229 verbose parsed url hostname: null,
4229 verbose parsed url hash: null,
4229 verbose parsed url search: null,
4229 verbose parsed url query: null,
4229 verbose parsed url pathname: '~2.0.0',
4229 verbose parsed url path: '~2.0.0',
4229 verbose parsed url href: '~2.0.0' }
4230 verbose addNamed [ 'nopt', '~2.0.0' ]
4231 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
4232 silly lockFile 42399ddd-nopt-2-0-0 nopt@~2.0.0
4233 verbose lock nopt@~2.0.0 /home/spike/.npm/42399ddd-nopt-2-0-0.lock
4234 verbose cache add [ 'promptly@~0.1.0', null ]
4235 verbose cache add name=undefined spec="promptly@~0.1.0" args=["promptly@~0.1.0",null]
4236 verbose parsed url { protocol: null,
4236 verbose parsed url slashes: null,
4236 verbose parsed url auth: null,
4236 verbose parsed url host: null,
4236 verbose parsed url port: null,
4236 verbose parsed url hostname: null,
4236 verbose parsed url hash: null,
4236 verbose parsed url search: null,
4236 verbose parsed url query: null,
4236 verbose parsed url pathname: 'promptly@~0.1.0',
4236 verbose parsed url path: 'promptly@~0.1.0',
4236 verbose parsed url href: 'promptly@~0.1.0' }
4237 verbose cache add name="promptly" spec="~0.1.0" args=["promptly","~0.1.0"]
4238 verbose parsed url { protocol: null,
4238 verbose parsed url slashes: null,
4238 verbose parsed url auth: null,
4238 verbose parsed url host: null,
4238 verbose parsed url port: null,
4238 verbose parsed url hostname: null,
4238 verbose parsed url hash: null,
4238 verbose parsed url search: null,
4238 verbose parsed url query: null,
4238 verbose parsed url pathname: '~0.1.0',
4238 verbose parsed url path: '~0.1.0',
4238 verbose parsed url href: '~0.1.0' }
4239 verbose addNamed [ 'promptly', '~0.1.0' ]
4240 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
4241 silly lockFile 00921d95-promptly-0-1-0 promptly@~0.1.0
4242 verbose lock promptly@~0.1.0 /home/spike/.npm/00921d95-promptly-0-1-0.lock
4243 verbose cache add [ 'rc@~0.0.6', null ]
4244 verbose cache add name=undefined spec="rc@~0.0.6" args=["rc@~0.0.6",null]
4245 verbose parsed url { protocol: null,
4245 verbose parsed url slashes: null,
4245 verbose parsed url auth: null,
4245 verbose parsed url host: null,
4245 verbose parsed url port: null,
4245 verbose parsed url hostname: null,
4245 verbose parsed url hash: null,
4245 verbose parsed url search: null,
4245 verbose parsed url query: null,
4245 verbose parsed url pathname: 'rc@~0.0.6',
4245 verbose parsed url path: 'rc@~0.0.6',
4245 verbose parsed url href: 'rc@~0.0.6' }
4246 verbose cache add name="rc" spec="~0.0.6" args=["rc","~0.0.6"]
4247 verbose parsed url { protocol: null,
4247 verbose parsed url slashes: null,
4247 verbose parsed url auth: null,
4247 verbose parsed url host: null,
4247 verbose parsed url port: null,
4247 verbose parsed url hostname: null,
4247 verbose parsed url hash: null,
4247 verbose parsed url search: null,
4247 verbose parsed url query: null,
4247 verbose parsed url pathname: '~0.0.6',
4247 verbose parsed url path: '~0.0.6',
4247 verbose parsed url href: '~0.0.6' }
4248 verbose addNamed [ 'rc', '~0.0.6' ]
4249 verbose addNamed [ null, '>=0.0.6-0 <0.1.0-0' ]
4250 silly lockFile 35fe02d3-rc-0-0-6 rc@~0.0.6
4251 verbose lock rc@~0.0.6 /home/spike/.npm/35fe02d3-rc-0-0-6.lock
4252 verbose cache add [ 'read-package-json@~0.1.8', null ]
4253 verbose cache add name=undefined spec="read-package-json@~0.1.8" args=["read-package-json@~0.1.8",null]
4254 verbose parsed url { protocol: null,
4254 verbose parsed url slashes: null,
4254 verbose parsed url auth: null,
4254 verbose parsed url host: null,
4254 verbose parsed url port: null,
4254 verbose parsed url hostname: null,
4254 verbose parsed url hash: null,
4254 verbose parsed url search: null,
4254 verbose parsed url query: null,
4254 verbose parsed url pathname: 'read-package-json@~0.1.8',
4254 verbose parsed url path: 'read-package-json@~0.1.8',
4254 verbose parsed url href: 'read-package-json@~0.1.8' }
4255 verbose cache add name="read-package-json" spec="~0.1.8" args=["read-package-json","~0.1.8"]
4256 verbose parsed url { protocol: null,
4256 verbose parsed url slashes: null,
4256 verbose parsed url auth: null,
4256 verbose parsed url host: null,
4256 verbose parsed url port: null,
4256 verbose parsed url hostname: null,
4256 verbose parsed url hash: null,
4256 verbose parsed url search: null,
4256 verbose parsed url query: null,
4256 verbose parsed url pathname: '~0.1.8',
4256 verbose parsed url path: '~0.1.8',
4256 verbose parsed url href: '~0.1.8' }
4257 verbose addNamed [ 'read-package-json', '~0.1.8' ]
4258 verbose addNamed [ null, '>=0.1.8-0 <0.2.0-0' ]
4259 silly lockFile b3dc094e-read-package-json-0-1-8 read-package-json@~0.1.8
4260 verbose lock read-package-json@~0.1.8 /home/spike/.npm/b3dc094e-read-package-json-0-1-8.lock
4261 verbose cache add [ 'request@~2.11.4', null ]
4262 verbose cache add name=undefined spec="request@~2.11.4" args=["request@~2.11.4",null]
4263 verbose parsed url { protocol: null,
4263 verbose parsed url slashes: null,
4263 verbose parsed url auth: null,
4263 verbose parsed url host: null,
4263 verbose parsed url port: null,
4263 verbose parsed url hostname: null,
4263 verbose parsed url hash: null,
4263 verbose parsed url search: null,
4263 verbose parsed url query: null,
4263 verbose parsed url pathname: 'request@~2.11.4',
4263 verbose parsed url path: 'request@~2.11.4',
4263 verbose parsed url href: 'request@~2.11.4' }
4264 verbose cache add name="request" spec="~2.11.4" args=["request","~2.11.4"]
4265 verbose parsed url { protocol: null,
4265 verbose parsed url slashes: null,
4265 verbose parsed url auth: null,
4265 verbose parsed url host: null,
4265 verbose parsed url port: null,
4265 verbose parsed url hostname: null,
4265 verbose parsed url hash: null,
4265 verbose parsed url search: null,
4265 verbose parsed url query: null,
4265 verbose parsed url pathname: '~2.11.4',
4265 verbose parsed url path: '~2.11.4',
4265 verbose parsed url href: '~2.11.4' }
4266 verbose addNamed [ 'request', '~2.11.4' ]
4267 verbose addNamed [ null, '>=2.11.4-0 <2.12.0-0' ]
4268 silly lockFile c2e2f8c3-request-2-11-4 request@~2.11.4
4269 verbose lock request@~2.11.4 /home/spike/.npm/c2e2f8c3-request-2-11-4.lock
4270 verbose cache add [ 'rimraf@~2.0.3', null ]
4271 verbose cache add name=undefined spec="rimraf@~2.0.3" args=["rimraf@~2.0.3",null]
4272 verbose parsed url { protocol: null,
4272 verbose parsed url slashes: null,
4272 verbose parsed url auth: null,
4272 verbose parsed url host: null,
4272 verbose parsed url port: null,
4272 verbose parsed url hostname: null,
4272 verbose parsed url hash: null,
4272 verbose parsed url search: null,
4272 verbose parsed url query: null,
4272 verbose parsed url pathname: 'rimraf@~2.0.3',
4272 verbose parsed url path: 'rimraf@~2.0.3',
4272 verbose parsed url href: 'rimraf@~2.0.3' }
4273 verbose cache add name="rimraf" spec="~2.0.3" args=["rimraf","~2.0.3"]
4274 verbose parsed url { protocol: null,
4274 verbose parsed url slashes: null,
4274 verbose parsed url auth: null,
4274 verbose parsed url host: null,
4274 verbose parsed url port: null,
4274 verbose parsed url hostname: null,
4274 verbose parsed url hash: null,
4274 verbose parsed url search: null,
4274 verbose parsed url query: null,
4274 verbose parsed url pathname: '~2.0.3',
4274 verbose parsed url path: '~2.0.3',
4274 verbose parsed url href: '~2.0.3' }
4275 verbose addNamed [ 'rimraf', '~2.0.3' ]
4276 verbose cache add [ 'semver@~1.1.0', null ]
4277 verbose cache add name=undefined spec="semver@~1.1.0" args=["semver@~1.1.0",null]
4278 verbose parsed url { protocol: null,
4278 verbose parsed url slashes: null,
4278 verbose parsed url auth: null,
4278 verbose parsed url host: null,
4278 verbose parsed url port: null,
4278 verbose parsed url hostname: null,
4278 verbose parsed url hash: null,
4278 verbose parsed url search: null,
4278 verbose parsed url query: null,
4278 verbose parsed url pathname: 'semver@~1.1.0',
4278 verbose parsed url path: 'semver@~1.1.0',
4278 verbose parsed url href: 'semver@~1.1.0' }
4279 verbose cache add name="semver" spec="~1.1.0" args=["semver","~1.1.0"]
4280 verbose parsed url { protocol: null,
4280 verbose parsed url slashes: null,
4280 verbose parsed url auth: null,
4280 verbose parsed url host: null,
4280 verbose parsed url port: null,
4280 verbose parsed url hostname: null,
4280 verbose parsed url hash: null,
4280 verbose parsed url search: null,
4280 verbose parsed url query: null,
4280 verbose parsed url pathname: '~1.1.0',
4280 verbose parsed url path: '~1.1.0',
4280 verbose parsed url href: '~1.1.0' }
4281 verbose addNamed [ 'semver', '~1.1.0' ]
4282 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
4283 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
4284 verbose lock semver@~1.1.0 /home/spike/.npm/384d7ac7-semver-1-1-0.lock
4285 verbose cache add [ 'stable@~0.1.2', null ]
4286 verbose cache add name=undefined spec="stable@~0.1.2" args=["stable@~0.1.2",null]
4287 verbose parsed url { protocol: null,
4287 verbose parsed url slashes: null,
4287 verbose parsed url auth: null,
4287 verbose parsed url host: null,
4287 verbose parsed url port: null,
4287 verbose parsed url hostname: null,
4287 verbose parsed url hash: null,
4287 verbose parsed url search: null,
4287 verbose parsed url query: null,
4287 verbose parsed url pathname: 'stable@~0.1.2',
4287 verbose parsed url path: 'stable@~0.1.2',
4287 verbose parsed url href: 'stable@~0.1.2' }
4288 verbose cache add name="stable" spec="~0.1.2" args=["stable","~0.1.2"]
4289 verbose parsed url { protocol: null,
4289 verbose parsed url slashes: null,
4289 verbose parsed url auth: null,
4289 verbose parsed url host: null,
4289 verbose parsed url port: null,
4289 verbose parsed url hostname: null,
4289 verbose parsed url hash: null,
4289 verbose parsed url search: null,
4289 verbose parsed url query: null,
4289 verbose parsed url pathname: '~0.1.2',
4289 verbose parsed url path: '~0.1.2',
4289 verbose parsed url href: '~0.1.2' }
4290 verbose addNamed [ 'stable', '~0.1.2' ]
4291 verbose addNamed [ null, '>=0.1.2-0 <0.2.0-0' ]
4292 silly lockFile 248113cb-stable-0-1-2 stable@~0.1.2
4293 verbose lock stable@~0.1.2 /home/spike/.npm/248113cb-stable-0-1-2.lock
4294 verbose cache add [ 'tar@~0.1.13', null ]
4295 verbose cache add name=undefined spec="tar@~0.1.13" args=["tar@~0.1.13",null]
4296 verbose parsed url { protocol: null,
4296 verbose parsed url slashes: null,
4296 verbose parsed url auth: null,
4296 verbose parsed url host: null,
4296 verbose parsed url port: null,
4296 verbose parsed url hostname: null,
4296 verbose parsed url hash: null,
4296 verbose parsed url search: null,
4296 verbose parsed url query: null,
4296 verbose parsed url pathname: 'tar@~0.1.13',
4296 verbose parsed url path: 'tar@~0.1.13',
4296 verbose parsed url href: 'tar@~0.1.13' }
4297 verbose cache add name="tar" spec="~0.1.13" args=["tar","~0.1.13"]
4298 verbose parsed url { protocol: null,
4298 verbose parsed url slashes: null,
4298 verbose parsed url auth: null,
4298 verbose parsed url host: null,
4298 verbose parsed url port: null,
4298 verbose parsed url hostname: null,
4298 verbose parsed url hash: null,
4298 verbose parsed url search: null,
4298 verbose parsed url query: null,
4298 verbose parsed url pathname: '~0.1.13',
4298 verbose parsed url path: '~0.1.13',
4298 verbose parsed url href: '~0.1.13' }
4299 verbose addNamed [ 'tar', '~0.1.13' ]
4300 verbose addNamed [ null, '>=0.1.13-0 <0.2.0-0' ]
4301 silly lockFile e648d358-tar-0-1-13 tar@~0.1.13
4302 verbose lock tar@~0.1.13 /home/spike/.npm/e648d358-tar-0-1-13.lock
4303 verbose cache add [ 'tmp@~0.0.17', null ]
4304 verbose cache add name=undefined spec="tmp@~0.0.17" args=["tmp@~0.0.17",null]
4305 verbose parsed url { protocol: null,
4305 verbose parsed url slashes: null,
4305 verbose parsed url auth: null,
4305 verbose parsed url host: null,
4305 verbose parsed url port: null,
4305 verbose parsed url hostname: null,
4305 verbose parsed url hash: null,
4305 verbose parsed url search: null,
4305 verbose parsed url query: null,
4305 verbose parsed url pathname: 'tmp@~0.0.17',
4305 verbose parsed url path: 'tmp@~0.0.17',
4305 verbose parsed url href: 'tmp@~0.0.17' }
4306 verbose cache add name="tmp" spec="~0.0.17" args=["tmp","~0.0.17"]
4307 verbose parsed url { protocol: null,
4307 verbose parsed url slashes: null,
4307 verbose parsed url auth: null,
4307 verbose parsed url host: null,
4307 verbose parsed url port: null,
4307 verbose parsed url hostname: null,
4307 verbose parsed url hash: null,
4307 verbose parsed url search: null,
4307 verbose parsed url query: null,
4307 verbose parsed url pathname: '~0.0.17',
4307 verbose parsed url path: '~0.0.17',
4307 verbose parsed url href: '~0.0.17' }
4308 verbose addNamed [ 'tmp', '~0.0.17' ]
4309 verbose addNamed [ null, '>=0.0.17-0 <0.1.0-0' ]
4310 silly lockFile af2449f1-tmp-0-0-17 tmp@~0.0.17
4311 verbose lock tmp@~0.0.17 /home/spike/.npm/af2449f1-tmp-0-0-17.lock
4312 verbose cache add [ 'unzip@0.1.7', null ]
4313 verbose cache add name=undefined spec="unzip@0.1.7" args=["unzip@0.1.7",null]
4314 verbose parsed url { protocol: null,
4314 verbose parsed url slashes: null,
4314 verbose parsed url auth: null,
4314 verbose parsed url host: null,
4314 verbose parsed url port: null,
4314 verbose parsed url hostname: null,
4314 verbose parsed url hash: null,
4314 verbose parsed url search: null,
4314 verbose parsed url query: null,
4314 verbose parsed url pathname: 'unzip@0.1.7',
4314 verbose parsed url path: 'unzip@0.1.7',
4314 verbose parsed url href: 'unzip@0.1.7' }
4315 verbose cache add name="unzip" spec="0.1.7" args=["unzip","0.1.7"]
4316 verbose parsed url { protocol: null,
4316 verbose parsed url slashes: null,
4316 verbose parsed url auth: null,
4316 verbose parsed url host: null,
4316 verbose parsed url port: null,
4316 verbose parsed url hostname: null,
4316 verbose parsed url hash: null,
4316 verbose parsed url search: null,
4316 verbose parsed url query: null,
4316 verbose parsed url pathname: '0.1.7',
4316 verbose parsed url path: '0.1.7',
4316 verbose parsed url href: '0.1.7' }
4317 verbose addNamed [ 'unzip', '0.1.7' ]
4318 verbose addNamed [ '0.1.7', '0.1.7' ]
4319 silly lockFile d9f02e72-unzip-0-1-7 unzip@0.1.7
4320 verbose lock unzip@0.1.7 /home/spike/.npm/d9f02e72-unzip-0-1-7.lock
4321 verbose cache add [ 'update-notifier@~0.1.3', null ]
4322 verbose cache add name=undefined spec="update-notifier@~0.1.3" args=["update-notifier@~0.1.3",null]
4323 verbose parsed url { protocol: null,
4323 verbose parsed url slashes: null,
4323 verbose parsed url auth: null,
4323 verbose parsed url host: null,
4323 verbose parsed url port: null,
4323 verbose parsed url hostname: null,
4323 verbose parsed url hash: null,
4323 verbose parsed url search: null,
4323 verbose parsed url query: null,
4323 verbose parsed url pathname: 'update-notifier@~0.1.3',
4323 verbose parsed url path: 'update-notifier@~0.1.3',
4323 verbose parsed url href: 'update-notifier@~0.1.3' }
4324 verbose cache add name="update-notifier" spec="~0.1.3" args=["update-notifier","~0.1.3"]
4325 verbose parsed url { protocol: null,
4325 verbose parsed url slashes: null,
4325 verbose parsed url auth: null,
4325 verbose parsed url host: null,
4325 verbose parsed url port: null,
4325 verbose parsed url hostname: null,
4325 verbose parsed url hash: null,
4325 verbose parsed url search: null,
4325 verbose parsed url query: null,
4325 verbose parsed url pathname: '~0.1.3',
4325 verbose parsed url path: '~0.1.3',
4325 verbose parsed url href: '~0.1.3' }
4326 verbose addNamed [ 'update-notifier', '~0.1.3' ]
4327 verbose addNamed [ null, '>=0.1.3-0 <0.2.0-0' ]
4328 silly lockFile a5119d99-update-notifier-0-1-3 update-notifier@~0.1.3
4329 verbose lock update-notifier@~0.1.3 /home/spike/.npm/a5119d99-update-notifier-0-1-3.lock
4330 silly addNameRange { name: 'colors', range: '>=0.6.0-1 <0.7.0-0', hasData: false }
4331 silly addNameRange { name: 'glob', range: '>=3.1.14-0 <3.2.0-0', hasData: false }
4332 silly addNameRange { name: 'hogan.js', range: '>=2.0.0-0 <2.1.0-0', hasData: false }
4333 silly addNameRange { name: 'mkdirp', range: '>=0.3.4-0 <0.4.0-0', hasData: false }
4334 silly addNameRange { name: 'nopt', range: '>=2.0.0-0 <2.1.0-0', hasData: false }
4335 silly addNameRange { name: 'promptly', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
4336 silly addNameRange { name: 'rc', range: '>=0.0.6-0 <0.1.0-0', hasData: false }
4337 silly addNameRange { name: 'read-package-json',
4337 silly addNameRange range: '>=0.1.8-0 <0.2.0-0',
4337 silly addNameRange hasData: false }
4338 silly addNameRange { name: 'request',
4338 silly addNameRange range: '>=2.11.4-0 <2.12.0-0',
4338 silly addNameRange hasData: false }
4339 silly addNameRange { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
4340 silly addNameRange { name: 'stable', range: '>=0.1.2-0 <0.2.0-0', hasData: false }
4341 silly addNameRange { name: 'tar', range: '>=0.1.13-0 <0.2.0-0', hasData: false }
4342 silly addNameRange { name: 'tmp', range: '>=0.0.17-0 <0.1.0-0', hasData: false }
4343 silly addNameRange { name: 'update-notifier',
4343 silly addNameRange range: '>=0.1.3-0 <0.2.0-0',
4343 silly addNameRange hasData: false }
4344 verbose url raw archy
4345 verbose url resolving [ 'https://registry.npmjs.org/', './archy' ]
4346 verbose url resolved https://registry.npmjs.org/archy
4347 info trying registry request attempt 1 at 11:44:30
4348 verbose etag "867DQUZZNM40PUQBF21OSQVZ0"
4349 http GET https://registry.npmjs.org/archy
4350 verbose url raw fstream
4351 verbose url resolving [ 'https://registry.npmjs.org/', './fstream' ]
4352 verbose url resolved https://registry.npmjs.org/fstream
4353 info trying registry request attempt 1 at 11:44:30
4354 verbose etag "4PAJYM04YHRR9CLAUIH2N261V"
4355 http GET https://registry.npmjs.org/fstream
4356 verbose url raw colors
4357 verbose url resolving [ 'https://registry.npmjs.org/', './colors' ]
4358 verbose url resolved https://registry.npmjs.org/colors
4359 info trying registry request attempt 1 at 11:44:30
4360 verbose etag "6A8GBHDKZ62PGBI3M1NRGH6L7"
4361 http GET https://registry.npmjs.org/colors
4362 verbose url raw mkdirp
4363 verbose url resolving [ 'https://registry.npmjs.org/', './mkdirp' ]
4364 verbose url resolved https://registry.npmjs.org/mkdirp
4365 info trying registry request attempt 1 at 11:44:30
4366 verbose etag "3RS91FMPQ85XXI3EBHF4SIKOZ"
4367 http GET https://registry.npmjs.org/mkdirp
4368 verbose url raw glob
4369 verbose url resolving [ 'https://registry.npmjs.org/', './glob' ]
4370 verbose url resolved https://registry.npmjs.org/glob
4371 info trying registry request attempt 1 at 11:44:30
4372 verbose etag "B1JO7OQNPSICFIYFPFTZR9ASE"
4373 http GET https://registry.npmjs.org/glob
4374 verbose url raw nopt
4375 verbose url resolving [ 'https://registry.npmjs.org/', './nopt' ]
4376 verbose url resolved https://registry.npmjs.org/nopt
4377 info trying registry request attempt 1 at 11:44:30
4378 verbose etag "7ZWLQPPM56VM8XQ0VW9DU43K7"
4379 http GET https://registry.npmjs.org/nopt
4380 verbose url raw promptly
4381 verbose url resolving [ 'https://registry.npmjs.org/', './promptly' ]
4382 verbose url resolved https://registry.npmjs.org/promptly
4383 info trying registry request attempt 1 at 11:44:30
4384 verbose etag "6A4RSOE7FMK8P3KXS7DQK17XU"
4385 http GET https://registry.npmjs.org/promptly
4386 verbose url raw semver
4387 verbose url resolving [ 'https://registry.npmjs.org/', './semver' ]
4388 verbose url resolved https://registry.npmjs.org/semver
4389 info trying registry request attempt 1 at 11:44:30
4390 verbose etag "2YZHDULC16W0A4C1OJM44P25I"
4391 http GET https://registry.npmjs.org/semver
4392 verbose url raw tar
4393 verbose url resolving [ 'https://registry.npmjs.org/', './tar' ]
4394 verbose url resolved https://registry.npmjs.org/tar
4395 info trying registry request attempt 1 at 11:44:30
4396 verbose etag "3MM61I8LY97G51H65LC31BGAF"
4397 http GET https://registry.npmjs.org/tar
4398 verbose url raw tmp
4399 verbose url resolving [ 'https://registry.npmjs.org/', './tmp' ]
4400 verbose url resolved https://registry.npmjs.org/tmp
4401 info trying registry request attempt 1 at 11:44:30
4402 verbose etag "9DCK0BIFCYG9MVH5I3BGY34DT"
4403 http GET https://registry.npmjs.org/tmp
4404 verbose url raw request
4405 verbose url resolving [ 'https://registry.npmjs.org/', './request' ]
4406 verbose url resolved https://registry.npmjs.org/request
4407 info trying registry request attempt 1 at 11:44:30
4408 verbose etag "80WKAG7N9W84VX89SY65IEUDQ"
4409 http GET https://registry.npmjs.org/request
4410 verbose url raw update-notifier
4411 verbose url resolving [ 'https://registry.npmjs.org/', './update-notifier' ]
4412 verbose url resolved https://registry.npmjs.org/update-notifier
4413 info trying registry request attempt 1 at 11:44:30
4414 verbose etag "44POGZHWTNMQH683ASPC6NSHM"
4415 http GET https://registry.npmjs.org/update-notifier
4416 verbose url raw hogan.js
4417 verbose url resolving [ 'https://registry.npmjs.org/', './hogan.js' ]
4418 verbose url resolved https://registry.npmjs.org/hogan.js
4419 info trying registry request attempt 1 at 11:44:30
4420 verbose etag "DYCORUQ64EHETEQ641X7T84U9"
4421 http GET https://registry.npmjs.org/hogan.js
4422 verbose url raw rc
4423 verbose url resolving [ 'https://registry.npmjs.org/', './rc' ]
4424 verbose url resolved https://registry.npmjs.org/rc
4425 info trying registry request attempt 1 at 11:44:30
4426 verbose etag "23PRV37Q2GM068NCY4M4C354C"
4427 http GET https://registry.npmjs.org/rc
4428 verbose url raw unzip/0.1.7
4429 verbose url resolving [ 'https://registry.npmjs.org/', './unzip/0.1.7' ]
4430 verbose url resolved https://registry.npmjs.org/unzip/0.1.7
4431 info trying registry request attempt 1 at 11:44:30
4432 verbose etag "E6584NK23PN8TPSGIAYW6VLTW"
4433 http GET https://registry.npmjs.org/unzip/0.1.7
4434 verbose url raw stable
4435 verbose url resolving [ 'https://registry.npmjs.org/', './stable' ]
4436 verbose url resolved https://registry.npmjs.org/stable
4437 info trying registry request attempt 1 at 11:44:30
4438 verbose etag "EX66EI6UU6X9YGXB4JDRJV09Z"
4439 http GET https://registry.npmjs.org/stable
4440 verbose url raw read-package-json
4441 verbose url resolving [ 'https://registry.npmjs.org/', './read-package-json' ]
4442 verbose url resolved https://registry.npmjs.org/read-package-json
4443 info trying registry request attempt 1 at 11:44:30
4444 verbose etag "72N0PHRCLBLHC6YNX7NMMHO1D"
4445 http GET https://registry.npmjs.org/read-package-json
4446 http 200 https://registry.npmjs.org/lpad
4447 silly registry.get cb [ 200,
4447 silly registry.get { vary: 'Accept',
4447 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
4447 silly registry.get etag: '"6CMGWZ1ZI0QSBNEIRBHTWQILV"',
4447 silly registry.get date: 'Mon, 16 Dec 2013 10:44:30 GMT',
4447 silly registry.get 'content-type': 'application/json',
4447 silly registry.get 'content-length': '4268' } ]
4448 silly addNameRange number 2 { name: 'lpad', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
4449 silly addNameRange versions [ 'lpad', [ '0.1.0' ] ]
4450 verbose addNamed [ 'lpad', '0.1.0' ]
4451 verbose addNamed [ '0.1.0', '0.1.0' ]
4452 silly lockFile c3589278-lpad-0-1-0 lpad@0.1.0
4453 verbose lock lpad@0.1.0 /home/spike/.npm/c3589278-lpad-0-1-0.lock
4454 silly lockFile c3589278-lpad-0-1-0 lpad@0.1.0
4455 silly lockFile c3589278-lpad-0-1-0 lpad@0.1.0
4456 silly lockFile e072c835-lpad-0-1-0 lpad@~0.1.0
4457 silly lockFile e072c835-lpad-0-1-0 lpad@~0.1.0
4458 http 200 https://registry.npmjs.org/ms/-/ms-0.6.2.tgz
4459 http 200 https://registry.npmjs.org/optipng-bin
4460 silly registry.get cb [ 200,
4460 silly registry.get { vary: 'Accept',
4460 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
4460 silly registry.get etag: '"27JJ9H7P4HY9BYEYGR7ZEKYB7"',
4460 silly registry.get date: 'Mon, 16 Dec 2013 10:44:31 GMT',
4460 silly registry.get 'content-type': 'application/json',
4460 silly registry.get 'content-length': '27197' } ]
4461 silly addNameRange number 2 { name: 'optipng-bin',
4461 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
4461 silly addNameRange hasData: true }
4462 silly addNameRange versions [ 'optipng-bin',
4462 silly addNameRange [ '0.1.0',
4462 silly addNameRange '0.2.0',
4462 silly addNameRange '0.2.1',
4462 silly addNameRange '0.2.2',
4462 silly addNameRange '0.2.3',
4462 silly addNameRange '0.2.4',
4462 silly addNameRange '0.2.5',
4462 silly addNameRange '0.2.6',
4462 silly addNameRange '0.3.0',
4462 silly addNameRange '0.3.1' ] ]
4463 verbose addNamed [ 'optipng-bin', '0.3.1' ]
4464 verbose addNamed [ '0.3.1', '0.3.1' ]
4465 silly lockFile fb0a2585-optipng-bin-0-3-1 optipng-bin@0.3.1
4466 verbose lock optipng-bin@0.3.1 /home/spike/.npm/fb0a2585-optipng-bin-0-3-1.lock
4467 silly lockFile ef3bb5f1-ptipng-bin-optipng-bin-0-3-1-tgz https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz
4468 verbose lock https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz /home/spike/.npm/ef3bb5f1-ptipng-bin-optipng-bin-0-3-1-tgz.lock
4469 verbose addRemoteTarball [ 'https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz',
4469 verbose addRemoteTarball 'd3eee5ee9dfcc8d7ae2086fd8f9dcec084c6e79b' ]
4470 info retry fetch attempt 1 at 11:44:31
4471 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/tmp.tgz
4472 http GET https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz
4473 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz
4474 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package
4475 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package /home/spike/.npm/86e259f1-0495-0-31165669905021787-package.lock
4476 silly lockFile 6f5eec1e-0495-0-31165669905021787-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz
4477 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz /home/spike/.npm/6f5eec1e-0495-0-31165669905021787-tmp-tgz.lock
4478 silly gunzTarPerm modes [ '755', '644' ]
4479 silly gunzTarPerm extractEntry package.json
4480 silly gunzTarPerm extractEntry .npmignore
4481 silly gunzTarPerm extractEntry README.md
4482 silly gunzTarPerm extractEntry index.js
4483 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package
4484 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package
4485 silly lockFile 6f5eec1e-0495-0-31165669905021787-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz
4486 silly lockFile 6f5eec1e-0495-0-31165669905021787-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/tmp.tgz
4487 verbose tar pack [ '/home/spike/.npm/ms/0.6.2/package.tgz',
4487 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package' ]
4488 verbose tarball /home/spike/.npm/ms/0.6.2/package.tgz
4489 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package
4490 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package
4491 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package /home/spike/.npm/86e259f1-0495-0-31165669905021787-package.lock
4492 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4493 verbose lock tar:///home/spike/.npm/ms/0.6.2/package.tgz /home/spike/.npm/5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz.lock
4494 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package
4495 silly lockFile 86e259f1-0495-0-31165669905021787-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190670495-0.31165669905021787/package
4496 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4497 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4498 silly lockFile c2351323-home-spike-npm-ms-0-6-2-package /home/spike/.npm/ms/0.6.2/package
4499 verbose lock /home/spike/.npm/ms/0.6.2/package /home/spike/.npm/c2351323-home-spike-npm-ms-0-6-2-package.lock
4500 silly lockFile c2351323-home-spike-npm-ms-0-6-2-package /home/spike/.npm/ms/0.6.2/package
4501 silly lockFile c2351323-home-spike-npm-ms-0-6-2-package /home/spike/.npm/ms/0.6.2/package
4502 verbose tar unpack /home/spike/.npm/ms/0.6.2/package.tgz
4503 silly lockFile 7bae951b--home-spike-npm-ms-0-6-2-package tar:///home/spike/.npm/ms/0.6.2/package
4504 verbose lock tar:///home/spike/.npm/ms/0.6.2/package /home/spike/.npm/7bae951b--home-spike-npm-ms-0-6-2-package.lock
4505 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4506 verbose lock tar:///home/spike/.npm/ms/0.6.2/package.tgz /home/spike/.npm/5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz.lock
4507 silly gunzTarPerm modes [ '755', '644' ]
4508 silly gunzTarPerm extractEntry package.json
4509 silly gunzTarPerm extractEntry .npmignore
4510 silly gunzTarPerm extractEntry README.md
4511 silly gunzTarPerm extractEntry index.js
4512 silly lockFile 7bae951b--home-spike-npm-ms-0-6-2-package tar:///home/spike/.npm/ms/0.6.2/package
4513 silly lockFile 7bae951b--home-spike-npm-ms-0-6-2-package tar:///home/spike/.npm/ms/0.6.2/package
4514 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4515 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4516 verbose chmod /home/spike/.npm/ms/0.6.2/package.tgz 644
4517 verbose chown /home/spike/.npm/ms/0.6.2/package.tgz [ 1000, 1000 ]
4518 silly lockFile 7bcd2b3d-gistry-npmjs-org-ms-ms-0-6-2-tgz https://registry.npmjs.org/ms/-/ms-0.6.2.tgz
4519 silly lockFile 7bcd2b3d-gistry-npmjs-org-ms-ms-0-6-2-tgz https://registry.npmjs.org/ms/-/ms-0.6.2.tgz
4520 silly lockFile 549cc243-ms-0-6-2 ms@0.6.2
4521 silly lockFile 549cc243-ms-0-6-2 ms@0.6.2
4522 silly lockFile ca2beeee-ms-0-6-1 ms@~0.6.1
4523 silly lockFile ca2beeee-ms-0-6-1 ms@~0.6.1
4524 silly resolved [ { name: 'hooker',
4524 silly resolved description: 'Monkey-patch (hook) functions for debugging and stuff.',
4524 silly resolved version: '0.2.3',
4524 silly resolved homepage: 'http://github.com/cowboy/javascript-hooker',
4524 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
4524 silly resolved repository:
4524 silly resolved { type: 'git',
4524 silly resolved url: 'git://github.com/cowboy/javascript-hooker.git' },
4524 silly resolved bugs: { url: 'https://github.com/cowboy/javascript-hooker/issues' },
4524 silly resolved licenses: [ [Object] ],
4524 silly resolved dependencies: {},
4524 silly resolved devDependencies: { grunt: '~0.2.1' },
4524 silly resolved keywords: [ 'patch', 'hook', 'function', 'debug', 'aop' ],
4524 silly resolved engines: { node: '*' },
4524 silly resolved main: 'lib/hooker',
4524 silly resolved scripts: { test: 'grunt test' },
4524 silly resolved readme: '# JavaScript Hooker\n\nMonkey-patch (hook) functions for debugging and stuff.\n\n## Getting Started\n\nThis code should work just fine in Node.js:\n\nFirst, install the module with: `npm install hooker`\n\n```javascript\nvar hooker = require(\'hooker\');\nhooker.hook(Math, "max", function() {\n console.log(arguments.length + " arguments passed");\n});\nMath.max(5, 6, 7) // logs: "3 arguments passed", returns 7\n```\n\nOr in the browser:\n\n```html\n<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',
4524 silly resolved readmeFilename: 'README.md',
4524 silly resolved _id: 'hooker@0.2.3',
4524 silly resolved _from: 'hooker@~0.2.3' },
4524 silly resolved { name: 'chalk',
4524 silly resolved version: '0.3.0',
4524 silly resolved description: 'Terminal string styling done right',
4524 silly resolved keywords:
4524 silly resolved [ 'color',
4524 silly resolved 'colour',
4524 silly resolved 'colors',
4524 silly resolved 'terminal',
4524 silly resolved 'console',
4524 silly resolved 'cli',
4524 silly resolved 'string',
4524 silly resolved 'ansi',
4524 silly resolved 'styles',
4524 silly resolved 'tty',
4524 silly resolved 'formatting',
4524 silly resolved 'rgb',
4524 silly resolved '256',
4524 silly resolved 'shell',
4524 silly resolved 'xterm',
4524 silly resolved 'log',
4524 silly resolved 'logging',
4524 silly resolved 'command-line',
4524 silly resolved 'text' ],
4524 silly resolved homepage: 'https://github.com/sindresorhus/chalk',
4524 silly resolved bugs: { url: 'https://github.com/sindresorhus/chalk/issues' },
4524 silly resolved license: 'MIT',
4524 silly resolved author:
4524 silly resolved { name: 'Sindre Sorhus',
4524 silly resolved email: 'sindresorhus@gmail.com',
4524 silly resolved url: 'http://sindresorhus.com' },
4524 silly resolved files: [ 'chalk.js' ],
4524 silly resolved main: 'chalk',
4524 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/chalk.git' },
4524 silly resolved scripts: { test: 'mocha' },
4524 silly resolved dependencies: { 'has-color': '~0.1.0', 'ansi-styles': '~0.2.0' },
4524 silly resolved devDependencies: { mocha: '~1.12.0' },
4524 silly resolved engines: { node: '>=0.8.0' },
4524 silly resolved readme: '# chalk [![Build Status](https://secure.travis-ci.org/sindresorhus/chalk.png?branch=master)](http://travis-ci.org/sindresorhus/chalk)\n\n> Terminal string styling done right.\n\n[colors.js](https://github.com/Marak/colors.js) is currently the most popular string styling module, but it has serious deficiencies like extending String.prototype which causes all kinds of problems. Although there are other ones, they either do too much or not enough.\n\n**Chalk is a clean and focused alternative.**\n\n![screenshot](screenshot.png)\n\n\n## Why\n\n- **Doesn\'t extend String.prototype**\n- Expressive API\n- Clean and focused\n- Auto-detects color support\n- Actively maintained\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/chalk): `npm install --save chalk`\n\n\n## Example\n\nChalk comes with an easy to use composable API where you just chain the styles you want.\n\n```js\nvar chalk = require(\'chalk\');\n\n// style a string\nconsole.log(chalk.blue(\'Hello world!\'));\n\n// combine styled and normal strings\nconsole.log(chalk.blue(\'Hello\'), \'World\' + chalk.red(\'!\'));\n\n// compose multiple styles using the chainable API\nconsole.log(chalk.blue.bgRed.bold(\'Hello world!\'));\n\n// nest styles\nchalk.red(\'Hello\', chalk.underline.bgBlue(\'world\') + \'!\');\n\n// pass in multiple arguments\nconsole.log(chalk.blue(\'Hello\', \'World!\', \'Foo\', \'bar\', \'biz\', \'baz\')) \n```\n\nYou can easily define your own themes.\n\n```js\nvar chalk = require(\'chalk\');\nvar error = chalk.bold.red;\nconsole.log(error(\'Error!\'));\n```\n\n\n## API\n\n### chalk.\\<style>\\[.\\<style>...](string)\n\nChain [styles](#styles) and call the last one as a method with a string argument.\n\nMultiple arguments are also supported. Chalk will add a space between each one.\n\n### chalk.enabled\n\nColor support is automatically detected, but you can override it.\n\n### chalk.supportsColor\n\nDetect whether the terminal [supports color](https://github.com/sindresorhus/has-color).\n\nCan be overridden by the user with the flags `--color` and `--no-color`.\n\nUsed internally and handled for you, but exposed for convenience.\n\n### chalk.styles\n\nExposes the styles as [ANSI escape codes](https://github.com/sindresorhus/ansi-styles).\n\n```js\nvar chalk = require(\'chalk\');\n\nconsole.log(chalk.styles.red);\n//=> [\'\\x1b[31m\', \'\\x1b[39m\']\n\nconsole.log(chalk.styles.red[0] + \'Hello\' + chalk.styles.red[1]);\n// first item is the style escape code and second is the reset escape code\n```\n\n### chalk.stripColor(string)\n\nStrip color from a string.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
4524 silly resolved readmeFilename: 'readme.md',
4524 silly resolved _id: 'chalk@0.3.0',
4524 silly resolved _from: 'chalk@~0.3.0' },
4524 silly resolved { name: 'text-table',
4524 silly resolved version: '0.2.0',
4524 silly resolved description: 'borderless text tables with alignment',
4524 silly resolved main: 'index.js',
4524 silly resolved devDependencies: { tap: '~0.4.0', tape: '~1.0.2', 'cli-color': '~0.2.3' },
4524 silly resolved scripts: { test: 'tap test/*.js' },
4524 silly resolved testling: { files: 'test/*.js', browsers: [Object] },
4524 silly resolved repository: { type: 'git', url: 'git://github.com/substack/text-table.git' },
4524 silly resolved homepage: 'https://github.com/substack/text-table',
4524 silly resolved keywords: [ 'text', 'table', 'align', 'ascii', 'rows', 'tabular' ],
4524 silly resolved author:
4524 silly resolved { name: 'James Halliday',
4524 silly resolved email: 'mail@substack.net',
4524 silly resolved url: 'http://substack.net' },
4524 silly resolved license: 'MIT',
4524 silly resolved readme: '# text-table\n\ngenerate borderless text table strings suitable for printing to stdout\n\n[![build status](https://secure.travis-ci.org/substack/text-table.png)](http://travis-ci.org/substack/text-table)\n\n[![browser support](https://ci.testling.com/substack/text-table.png)](http://ci.testling.com/substack/text-table)\n\n# example\n\n## default align\n\n``` js\nvar table = require(\'text-table\');\nvar t = table([\n [ \'master\', \'0123456789abcdef\' ],\n [ \'staging\', \'fedcba9876543210\' ]\n]);\nconsole.log(t);\n```\n\n```\nmaster 0123456789abcdef\nstaging fedcba9876543210\n```\n\n## left-right align\n\n``` js\nvar table = require(\'text-table\');\nvar t = table([\n [ \'beep\', \'1024\' ],\n [ \'boop\', \'33450\' ],\n [ \'foo\', \'1006\' ],\n [ \'bar\', \'45\' ]\n], { align: [ \'l\', \'r\' ] });\nconsole.log(t);\n```\n\n```\nbeep 1024\nboop 33450\nfoo 1006\nbar 45\n```\n\n## dotted align\n\n``` js\nvar table = require(\'text-table\');\nvar t = table([\n [ \'beep\', \'1024\' ],\n [ \'boop\', \'334.212\' ],\n [ \'foo\', \'1006\' ],\n [ \'bar\', \'45.6\' ],\n [ \'baz\', \'123.\' ]\n], { align: [ \'l\', \'.\' ] });\nconsole.log(t);\n```\n\n```\nbeep 1024\nboop 334.212\nfoo 1006\nbar 45.6\nbaz 123.\n```\n\n## centered\n\n``` js\nvar table = require(\'text-table\');\nvar t = table([\n [ \'beep\', \'1024\', \'xyz\' ],\n [ \'boop\', \'3388450\', \'tuv\' ],\n [ \'foo\', \'10106\', \'qrstuv\' ],\n [ \'bar\', \'45\', \'lmno\' ]\n], { align: [ \'l\', \'c\', \'l\' ] });\nconsole.log(t);\n```\n\n```\nbeep 1024 xyz\nboop 3388450 tuv\nfoo 10106 qrstuv\nbar 45 lmno\n```\n\n# methods\n\n``` js\nvar table = require(\'text-table\')\n```\n\n## var s = table(rows, opts={})\n\nReturn a formatted table string `s` from an array of `rows` and some options\n`opts`.\n\n`rows` should be an array of arrays containing strings, numbers, or other\nprintable values.\n\noptions can be:\n\n* `opts.hsep` - separator to use between columns, default `\' \'`\n* `opts.align` - array of alignment types for each column, default `[\'l\',\'l\',...]`\n* `opts.stringLength` - callback function to use when calculating the string length\n\nalignment types are:\n\n* `\'l\'` - left\n* `\'r\'` - right\n* `\'c\'` - center\n* `\'.\'` - decimal\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install text-table\n```\n\n# Use with ANSI-colors\n\nSince the string length of ANSI color schemes does not equal the length\nJavaScript sees internally it is necessary to pass the a custom string length\ncalculator during the main function call.\n\nSee the `test/ansi-colors.js` file for an example.\n\n# license\n\nMIT\n',
4524 silly resolved readmeFilename: 'readme.markdown',
4524 silly resolved bugs: { url: 'https://github.com/substack/text-table/issues' },
4524 silly resolved _id: 'text-table@0.2.0',
4524 silly resolved _from: 'text-table@~0.2.0' },
4524 silly resolved { name: 'ms',
4524 silly resolved version: '0.6.2',
4524 silly resolved description: 'Tiny ms conversion utility',
4524 silly resolved repository: { type: 'git', url: 'git://github.com/guille/ms.js.git' },
4524 silly resolved main: './index',
4524 silly resolved devDependencies: { mocha: '*', 'expect.js': '*', serve: '*' },
4524 silly resolved component: { scripts: [Object] },
4524 silly resolved readme: '# ms.js: miliseconds conversion utility\n\n```js\nms(\'1d\') // 86400000\nms(\'10h\') // 36000000\nms(\'2h\') // 7200000\nms(\'1m\') // 60000\nms(\'5s\') // 5000\nms(\'100\') // 100\n```\n\n```js\nms(60000) // "1m"\nms(2 * 60000) // "2m"\nms(ms(\'10 hours\')) // "10h"\n```\n\n```js\nms(60000, { long: true }) // "1 minute"\nms(2 * 60000, { long: true }) // "2 minutes"\nms(ms(\'10 hours\', { long: true })) // "10 hours"\n```\n\n- Node/Browser compatible. Published as `ms` in NPM.\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `\'100\'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT',
4524 silly resolved readmeFilename: 'README.md',
4524 silly resolved bugs: { url: 'https://github.com/guille/ms.js/issues' },
4524 silly resolved homepage: 'https://github.com/guille/ms.js',
4524 silly resolved _id: 'ms@0.6.2',
4524 silly resolved dist: { shasum: 'f13296ecf600d296c9f2ff2b61f2f9eb12a69c79' },
4524 silly resolved _from: 'ms@~0.6.1',
4524 silly resolved _resolved: 'https://registry.npmjs.org/ms/-/ms-0.6.2.tgz' } ]
4525 info install hooker@0.2.3 into /home/spike/projects/meetups/angular-promises/node_modules/time-grunt
4526 info install chalk@0.3.0 into /home/spike/projects/meetups/angular-promises/node_modules/time-grunt
4527 info install text-table@0.2.0 into /home/spike/projects/meetups/angular-promises/node_modules/time-grunt
4528 info install ms@0.6.2 into /home/spike/projects/meetups/angular-promises/node_modules/time-grunt
4529 info installOne hooker@0.2.3
4530 info installOne chalk@0.3.0
4531 info installOne text-table@0.2.0
4532 info installOne ms@0.6.2
4533 info /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/hooker unbuild
4534 info /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk unbuild
4535 info /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/text-table unbuild
4536 info /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/ms unbuild
4537 verbose tar unpack /home/spike/.npm/hooker/0.2.3/package.tgz
4538 silly lockFile a740faa6-s-time-grunt-node-modules-hooker tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/hooker
4539 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/hooker /home/spike/.npm/a740faa6-s-time-grunt-node-modules-hooker.lock
4540 silly lockFile 2262c5a8-ike-npm-hooker-0-2-3-package-tgz tar:///home/spike/.npm/hooker/0.2.3/package.tgz
4541 verbose lock tar:///home/spike/.npm/hooker/0.2.3/package.tgz /home/spike/.npm/2262c5a8-ike-npm-hooker-0-2-3-package-tgz.lock
4542 verbose tar unpack /home/spike/.npm/chalk/0.3.0/package.tgz
4543 silly lockFile cf4ea9ba-es-time-grunt-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk
4544 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk /home/spike/.npm/cf4ea9ba-es-time-grunt-node-modules-chalk.lock
4545 silly lockFile fd94620e-pike-npm-chalk-0-3-0-package-tgz tar:///home/spike/.npm/chalk/0.3.0/package.tgz
4546 verbose lock tar:///home/spike/.npm/chalk/0.3.0/package.tgz /home/spike/.npm/fd94620e-pike-npm-chalk-0-3-0-package-tgz.lock
4547 verbose tar unpack /home/spike/.npm/text-table/0.2.0/package.tgz
4548 silly lockFile edb2e7e0-me-grunt-node-modules-text-table tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/text-table
4549 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/text-table /home/spike/.npm/edb2e7e0-me-grunt-node-modules-text-table.lock
4550 silly lockFile 220a4922-npm-text-table-0-2-0-package-tgz tar:///home/spike/.npm/text-table/0.2.0/package.tgz
4551 verbose lock tar:///home/spike/.npm/text-table/0.2.0/package.tgz /home/spike/.npm/220a4922-npm-text-table-0-2-0-package-tgz.lock
4552 verbose tar unpack /home/spike/.npm/ms/0.6.2/package.tgz
4553 silly lockFile cdeb2eb5-dules-time-grunt-node-modules-ms tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/ms
4554 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/ms /home/spike/.npm/cdeb2eb5-dules-time-grunt-node-modules-ms.lock
4555 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4556 verbose lock tar:///home/spike/.npm/ms/0.6.2/package.tgz /home/spike/.npm/5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz.lock
4557 silly gunzTarPerm modes [ '755', '644' ]
4558 silly gunzTarPerm modes [ '755', '644' ]
4559 silly gunzTarPerm modes [ '755', '644' ]
4560 silly gunzTarPerm modes [ '755', '644' ]
4561 silly gunzTarPerm extractEntry package.json
4562 silly gunzTarPerm extractEntry package.json
4563 silly gunzTarPerm extractEntry package.json
4564 silly gunzTarPerm extractEntry chalk.js
4565 silly gunzTarPerm extractEntry readme.md
4566 silly gunzTarPerm extractEntry LICENSE
4567 silly gunzTarPerm extractEntry index.js
4568 silly gunzTarPerm extractEntry .npmignore
4569 silly gunzTarPerm extractEntry README.md
4570 silly gunzTarPerm extractEntry package.json
4571 silly gunzTarPerm extractEntry README.md
4572 silly gunzTarPerm extractEntry child.js
4573 silly gunzTarPerm extractEntry index.js
4574 silly gunzTarPerm extractEntry .travis.yml
4575 silly gunzTarPerm extractEntry example/align.js
4576 silly gunzTarPerm extractEntry grunt.js
4577 silly gunzTarPerm extractEntry parent.js
4578 silly gunzTarPerm extractEntry example/center.js
4579 silly gunzTarPerm extractEntry example/dotalign.js
4580 silly gunzTarPerm extractEntry example/doubledot.js
4581 silly gunzTarPerm extractEntry example/table.js
4582 silly gunzTarPerm extractEntry LICENSE-MIT
4583 silly gunzTarPerm extractEntry dist/ba-hooker.js
4584 silly gunzTarPerm extractEntry dist/ba-hooker.min.js
4585 silly gunzTarPerm extractEntry lib/hooker.js
4586 silly gunzTarPerm extractEntry test/hooker_test.js
4587 silly lockFile cf4ea9ba-es-time-grunt-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk
4588 silly lockFile cf4ea9ba-es-time-grunt-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk
4589 silly lockFile fd94620e-pike-npm-chalk-0-3-0-package-tgz tar:///home/spike/.npm/chalk/0.3.0/package.tgz
4590 silly lockFile fd94620e-pike-npm-chalk-0-3-0-package-tgz tar:///home/spike/.npm/chalk/0.3.0/package.tgz
4591 silly gunzTarPerm extractEntry readme.markdown
4592 silly gunzTarPerm extractEntry test/align.js
4593 silly gunzTarPerm extractEntry test/ansi-colors.js
4594 silly gunzTarPerm extractEntry test/center.js
4595 silly gunzTarPerm extractEntry test/dotalign.js
4596 silly gunzTarPerm extractEntry test/doubledot.js
4597 silly gunzTarPerm extractEntry test/table.js
4598 silly lockFile cdeb2eb5-dules-time-grunt-node-modules-ms tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/ms
4599 silly lockFile cdeb2eb5-dules-time-grunt-node-modules-ms tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/ms
4600 info preinstall chalk@0.3.0
4601 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4602 silly lockFile 5d7c2cf1-e-spike-npm-ms-0-6-2-package-tgz tar:///home/spike/.npm/ms/0.6.2/package.tgz
4603 verbose readDependencies using package.json deps
4604 verbose readDependencies using package.json deps
4605 info preinstall ms@0.6.2
4606 verbose cache add [ 'has-color@~0.1.0', null ]
4607 verbose cache add name=undefined spec="has-color@~0.1.0" args=["has-color@~0.1.0",null]
4608 verbose parsed url { protocol: null,
4608 verbose parsed url slashes: null,
4608 verbose parsed url auth: null,
4608 verbose parsed url host: null,
4608 verbose parsed url port: null,
4608 verbose parsed url hostname: null,
4608 verbose parsed url hash: null,
4608 verbose parsed url search: null,
4608 verbose parsed url query: null,
4608 verbose parsed url pathname: 'has-color@~0.1.0',
4608 verbose parsed url path: 'has-color@~0.1.0',
4608 verbose parsed url href: 'has-color@~0.1.0' }
4609 verbose cache add name="has-color" spec="~0.1.0" args=["has-color","~0.1.0"]
4610 verbose parsed url { protocol: null,
4610 verbose parsed url slashes: null,
4610 verbose parsed url auth: null,
4610 verbose parsed url host: null,
4610 verbose parsed url port: null,
4610 verbose parsed url hostname: null,
4610 verbose parsed url hash: null,
4610 verbose parsed url search: null,
4610 verbose parsed url query: null,
4610 verbose parsed url pathname: '~0.1.0',
4610 verbose parsed url path: '~0.1.0',
4610 verbose parsed url href: '~0.1.0' }
4611 verbose addNamed [ 'has-color', '~0.1.0' ]
4612 verbose cache add [ 'ansi-styles@~0.2.0', null ]
4613 verbose cache add name=undefined spec="ansi-styles@~0.2.0" args=["ansi-styles@~0.2.0",null]
4614 verbose parsed url { protocol: null,
4614 verbose parsed url slashes: null,
4614 verbose parsed url auth: null,
4614 verbose parsed url host: null,
4614 verbose parsed url port: null,
4614 verbose parsed url hostname: null,
4614 verbose parsed url hash: null,
4614 verbose parsed url search: null,
4614 verbose parsed url query: null,
4614 verbose parsed url pathname: 'ansi-styles@~0.2.0',
4614 verbose parsed url path: 'ansi-styles@~0.2.0',
4614 verbose parsed url href: 'ansi-styles@~0.2.0' }
4615 verbose cache add name="ansi-styles" spec="~0.2.0" args=["ansi-styles","~0.2.0"]
4616 verbose parsed url { protocol: null,
4616 verbose parsed url slashes: null,
4616 verbose parsed url auth: null,
4616 verbose parsed url host: null,
4616 verbose parsed url port: null,
4616 verbose parsed url hostname: null,
4616 verbose parsed url hash: null,
4616 verbose parsed url search: null,
4616 verbose parsed url query: null,
4616 verbose parsed url pathname: '~0.2.0',
4616 verbose parsed url path: '~0.2.0',
4616 verbose parsed url href: '~0.2.0' }
4617 verbose addNamed [ 'ansi-styles', '~0.2.0' ]
4618 verbose readDependencies using package.json deps
4619 verbose readDependencies using package.json deps
4620 silly resolved []
4621 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/ms
4622 info build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/ms
4623 verbose linkStuff [ false,
4623 verbose linkStuff false,
4623 verbose linkStuff false,
4623 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules' ]
4624 info linkStuff ms@0.6.2
4625 verbose linkBins ms@0.6.2
4626 verbose linkMans ms@0.6.2
4627 verbose rebuildBundles ms@0.6.2
4628 info install ms@0.6.2
4629 info postinstall ms@0.6.2
4630 silly lockFile edb2e7e0-me-grunt-node-modules-text-table tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/text-table
4631 silly lockFile edb2e7e0-me-grunt-node-modules-text-table tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/text-table
4632 silly lockFile 220a4922-npm-text-table-0-2-0-package-tgz tar:///home/spike/.npm/text-table/0.2.0/package.tgz
4633 silly lockFile 220a4922-npm-text-table-0-2-0-package-tgz tar:///home/spike/.npm/text-table/0.2.0/package.tgz
4634 info preinstall text-table@0.2.0
4635 verbose readDependencies using package.json deps
4636 verbose readDependencies using package.json deps
4637 silly resolved []
4638 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/text-table
4639 info build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/text-table
4640 verbose linkStuff [ false,
4640 verbose linkStuff false,
4640 verbose linkStuff false,
4640 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules' ]
4641 info linkStuff text-table@0.2.0
4642 verbose linkBins text-table@0.2.0
4643 verbose linkMans text-table@0.2.0
4644 verbose rebuildBundles text-table@0.2.0
4645 info install text-table@0.2.0
4646 info postinstall text-table@0.2.0
4647 silly lockFile a740faa6-s-time-grunt-node-modules-hooker tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/hooker
4648 silly lockFile a740faa6-s-time-grunt-node-modules-hooker tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/hooker
4649 silly lockFile 2262c5a8-ike-npm-hooker-0-2-3-package-tgz tar:///home/spike/.npm/hooker/0.2.3/package.tgz
4650 silly lockFile 2262c5a8-ike-npm-hooker-0-2-3-package-tgz tar:///home/spike/.npm/hooker/0.2.3/package.tgz
4651 info preinstall hooker@0.2.3
4652 verbose readDependencies using package.json deps
4653 verbose readDependencies using package.json deps
4654 silly resolved []
4655 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/hooker
4656 info build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/hooker
4657 verbose linkStuff [ false,
4657 verbose linkStuff false,
4657 verbose linkStuff false,
4657 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules' ]
4658 info linkStuff hooker@0.2.3
4659 verbose linkBins hooker@0.2.3
4660 verbose linkMans hooker@0.2.3
4661 verbose rebuildBundles hooker@0.2.3
4662 info install hooker@0.2.3
4663 info postinstall hooker@0.2.3
4664 http 200 https://registry.npmjs.org/filesize
4665 silly registry.get cb [ 200,
4665 silly registry.get { vary: 'Accept',
4665 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4665 silly registry.get etag: '"33LX8U4JDMMNMNHKQKE5VFHMH"',
4665 silly registry.get date: 'Mon, 16 Dec 2013 10:44:30 GMT',
4665 silly registry.get 'content-type': 'application/json',
4665 silly registry.get 'content-length': '66935' } ]
4666 silly addNameRange number 2 { name: 'filesize',
4666 silly addNameRange range: '>=1.10.0-0 <1.11.0-0',
4666 silly addNameRange hasData: true }
4667 silly addNameRange versions [ 'filesize',
4667 silly addNameRange [ '1.6.0',
4667 silly addNameRange '1.6.1',
4667 silly addNameRange '1.6.2',
4667 silly addNameRange '1.6.3',
4667 silly addNameRange '1.6.4',
4667 silly addNameRange '1.6.5',
4667 silly addNameRange '1.6.6',
4667 silly addNameRange '1.6.7',
4667 silly addNameRange '1.7.0',
4667 silly addNameRange '1.7.1',
4667 silly addNameRange '1.7.2',
4667 silly addNameRange '1.7.3',
4667 silly addNameRange '1.7.4',
4667 silly addNameRange '1.7.5',
4667 silly addNameRange '1.7.6',
4667 silly addNameRange '1.7.7',
4667 silly addNameRange '1.7.8',
4667 silly addNameRange '1.7.9',
4667 silly addNameRange '1.8.0',
4667 silly addNameRange '1.9.0',
4667 silly addNameRange '1.9.1',
4667 silly addNameRange '1.9.2',
4667 silly addNameRange '1.9.3',
4667 silly addNameRange '1.9.4',
4667 silly addNameRange '1.9.5',
4667 silly addNameRange '1.9.6',
4667 silly addNameRange '1.9.7',
4667 silly addNameRange '1.10.0',
4667 silly addNameRange '2.0.0' ] ]
4668 verbose addNamed [ 'filesize', '1.10.0' ]
4669 verbose addNamed [ '1.10.0', '1.10.0' ]
4670 silly lockFile 2f05b5c3-filesize-1-10-0 filesize@1.10.0
4671 verbose lock filesize@1.10.0 /home/spike/.npm/2f05b5c3-filesize-1-10-0.lock
4672 silly lockFile 2f05b5c3-filesize-1-10-0 filesize@1.10.0
4673 silly lockFile 2f05b5c3-filesize-1-10-0 filesize@1.10.0
4674 silly lockFile 63ad3fa4-filesize-1-10-0 filesize@~1.10.0
4675 silly lockFile 63ad3fa4-filesize-1-10-0 filesize@~1.10.0
4676 http 304 https://registry.npmjs.org/chalk
4677 silly registry.get cb [ 304,
4677 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4677 silly registry.get etag: '"DE9DQ8BEX4AHGSC87AQDFPO4J"',
4677 silly registry.get date: 'Mon, 16 Dec 2013 10:44:31 GMT',
4677 silly registry.get 'content-length': '0' } ]
4678 verbose etag chalk from cache
4679 silly addNameRange number 2 { name: 'chalk', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
4680 silly addNameRange versions [ 'chalk',
4680 silly addNameRange [ '0.1.0', '0.1.1', '0.2.0', '0.2.1', '0.3.0', '0.4.0' ] ]
4681 verbose addNamed [ 'chalk', '0.2.1' ]
4682 verbose addNamed [ '0.2.1', '0.2.1' ]
4683 silly lockFile 19eadf37-chalk-0-2-1 chalk@0.2.1
4684 verbose lock chalk@0.2.1 /home/spike/.npm/19eadf37-chalk-0-2-1.lock
4685 silly lockFile 19eadf37-chalk-0-2-1 chalk@0.2.1
4686 silly lockFile 19eadf37-chalk-0-2-1 chalk@0.2.1
4687 silly lockFile 7487f3fa-chalk-0-2-0 chalk@~0.2.0
4688 silly lockFile 7487f3fa-chalk-0-2-0 chalk@~0.2.0
4689 http 304 https://registry.npmjs.org/async
4690 silly registry.get cb [ 304,
4690 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
4690 silly registry.get etag: '"6SZA38IP3YTXC2N3QXR6NZ7CH"',
4690 silly registry.get date: 'Mon, 16 Dec 2013 10:44:30 GMT',
4690 silly registry.get 'content-length': '0' } ]
4691 verbose etag async from cache
4692 silly addNameRange number 2 { name: 'async', range: '>=0.2.9-0 <0.3.0-0', hasData: true }
4693 silly addNameRange versions [ 'async',
4693 silly addNameRange [ '0.1.0',
4693 silly addNameRange '0.1.1',
4693 silly addNameRange '0.1.2',
4693 silly addNameRange '0.1.3',
4693 silly addNameRange '0.1.4',
4693 silly addNameRange '0.1.5',
4693 silly addNameRange '0.1.6',
4693 silly addNameRange '0.1.7',
4693 silly addNameRange '0.1.8',
4693 silly addNameRange '0.1.9',
4693 silly addNameRange '0.1.10',
4693 silly addNameRange '0.1.11',
4693 silly addNameRange '0.1.12',
4693 silly addNameRange '0.1.13',
4693 silly addNameRange '0.1.14',
4693 silly addNameRange '0.1.15',
4693 silly addNameRange '0.1.16',
4693 silly addNameRange '0.1.17',
4693 silly addNameRange '0.1.18',
4693 silly addNameRange '0.1.19',
4693 silly addNameRange '0.1.20',
4693 silly addNameRange '0.1.21',
4693 silly addNameRange '0.1.22',
4693 silly addNameRange '0.2.0',
4693 silly addNameRange '0.2.1',
4693 silly addNameRange '0.2.2',
4693 silly addNameRange '0.2.3',
4693 silly addNameRange '0.2.4',
4693 silly addNameRange '0.2.5',
4693 silly addNameRange '0.2.6',
4693 silly addNameRange '0.2.7',
4693 silly addNameRange '0.2.8',
4693 silly addNameRange '0.2.9' ] ]
4694 verbose addNamed [ 'async', '0.2.9' ]
4695 verbose addNamed [ '0.2.9', '0.2.9' ]
4696 silly lockFile be62480b-async-0-2-9 async@0.2.9
4697 verbose lock async@0.2.9 /home/spike/.npm/be62480b-async-0-2-9.lock
4698 silly lockFile be62480b-async-0-2-9 async@0.2.9
4699 silly lockFile be62480b-async-0-2-9 async@0.2.9
4700 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
4701 silly lockFile 5d51c871-async-0-2-9 async@~0.2.9
4702 silly resolved [ { name: 'lpad',
4702 silly resolved version: '0.1.0',
4702 silly resolved description: 'Left pad each line in a string or stdout/stderr',
4702 silly resolved keywords: [ 'pad', 'indent', 'cli', 'format', 'string' ],
4702 silly resolved homepage: 'https://github.com/sindresorhus/lpad',
4702 silly resolved bugs: { url: 'https://github.com/sindresorhus/lpad/issues' },
4702 silly resolved author:
4702 silly resolved { name: 'Sindre Sorhus',
4702 silly resolved email: 'sindresorhus@gmail.com',
4702 silly resolved url: 'http://sindresorhus.com' },
4702 silly resolved main: 'lpad.js',
4702 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/lpad.git' },
4702 silly resolved scripts: { test: 'mocha test-*.js' },
4702 silly resolved devDependencies: { mocha: '~1.8.2' },
4702 silly resolved engines: { node: '>=0.8.0' },
4702 silly resolved licenses: [ [Object] ],
4702 silly resolved readme: '# lpad [![Build Status](https://secure.travis-ci.org/sindresorhus/lpad.png?branch=master)](http://travis-ci.org/sindresorhus/lpad)\n\nLeft pad each line in a string or stdout/stderr.\n\nThe stdout/stderr padding is especially useful in CLI tools when you don\'t directly control the output.\n\n\n![screenshot](screenshot.png)\n\n\n## Getting started\n\nInstall: `npm install lpad`\n\n\n## Documentation\n\n\n### lpad(string, pad)\n\nPads each line in a string with the supplied pad string.\n\n#### Example\n\n```js\nvar lpad = require(\'lpad\');\nvar str = \'foo\\nbar\';\n\nconsole.log(str);\n/*\nfoo\nbar\n*/\n\nconsole.log(lpad(str, \' \'));\n/*\n foo\n bar\n*/\n```\n\n### lpad.stdout(pad)\n\nPads each line of `process.stdout` with the supplied pad string until the method is called again with no arguments.\n\n#### Example\n\n```js\nvar lpad = require(\'lpad\');\nvar str = \'foo\\nbar\';\n\nlpad.stdout(\' \'); // start padding\n\nconsole.log(str);\n/*\n foo\n bar\n*/\n\nlpad.stdout(); // end padding\n\nconsole.log(str);\n/*\nfoo\nbar\n*/\n```\n\n### lpad.stderr(pad)\n\nPads each line of `process.stderr` with the supplied pad string until the method is called again with no arguments.\n\n\n## License\n\n[MIT License](http://en.wikipedia.org/wiki/MIT_License)\n(c) [Sindre Sorhus](http://sindresorhus.com)\n',
4702 silly resolved readmeFilename: 'readme.md',
4702 silly resolved _id: 'lpad@0.1.0',
4702 silly resolved _from: 'lpad@~0.1.0' },
4702 silly resolved { name: 'async',
4702 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
4702 silly resolved main: './lib/async',
4702 silly resolved author: { name: 'Caolan McMahon' },
4702 silly resolved version: '0.2.9',
4702 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
4702 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
4702 silly resolved licenses: [ [Object] ],
4702 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
4702 silly resolved jam: { main: 'lib/async.js', include: [Object] },
4702 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
4702 silly resolved readme: '# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n\nasync.parallel([\n function(){ ... },\n function(){ ... }\n], callback);\n\nasync.series([\n function(){ ... },\n function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn\'t working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n squareExponent: 2,\n square: function(number, callback){ \n var result = Math.pow(number, this.squareExponent);\n setTimeout(function(){\n callback(null, result);\n }, 200);\n }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n // result is [NaN, NaN, NaN]\n // This fails because the `this.squareExponent` expression in the square\n // function is not evaluated in the context of AsyncSquaringLibrary, and is\n // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n // result is [1, 4, 9]\n // With the help of bind we can attach a context to the iterator before\n // passing it to async. Now the square function will be executed in its \n // \'home\' AsyncSquaringLibrary context and the value of `this.squareExponent`\n // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it\'s been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type="text/javascript" src="async.js"></script>\n<script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [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* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name="forEach" />\n<a name="each" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="forEachSeries" />\n<a name="eachSeries" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name="forEachLimit" />\n<a name="eachLimit" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="map" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="mapSeries" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name="mapLimit" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it\'s probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name="reduceRight" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name="detectSeries" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name="sortBy" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy([\'file1\',\'file2\',\'file3\'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n<a name="some" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name="every" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name="concat" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat([\'dir1\',\'dir2\',\'dir3\'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, \'one\');\n },\n function(callback){\n // do some more stuff ...\n callback(null, \'two\');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to [\'one\', \'two\']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, \'one\');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, \'two\');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal [\'one\',\'two\'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of "limit" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first "limit" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name="whilst" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n<a name="doWhilst" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name="until" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name="doUntil" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name="forever" />\n### forever(fn, callback)\n\nCalls the asynchronous function \'fn\' repeatedly, in series, indefinitely.\nIf an error is passed to fn\'s callback then \'callback\' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task\'s callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n], function (err, result) {\n // result now equals \'done\' \n});\n```\n\n---------------------------------------\n<a name="compose" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n<a name="applyEach" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], \'bucket\', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n<a name="applyEachSeries" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name="queue" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task\'s callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log(\'all items have been processed\');\n}\n\n// add some items to the queue\n\nq.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\nq.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n```\n\n---------------------------------------\n\n<a name="cargo" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i<tasks.length; i++){\n console.log(\'hello \' + tasks[i].name);\n }\n callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\ncargo.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\ncargo.push({name: \'baz\'}, function (err) {\n console.log(\'finished processing baz\');\n});\n```\n\n---------------------------------------\n\n<a name="auto" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, \'data.txt\', \'utf-8\');\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile(\'data.txt\', \'utf-8\', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile(\'data.txt\', \'utf-8\', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function\'s execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: [\'get_data\', \'make_folder\', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: [\'write_file\', function(callback, results){\n // once the file is written let\'s email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let\'s email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It\'s also possible to\n\'peek\' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n]);\n\nnode> var iterator2 = iterator();\n\'one\'\nnode> var iterator3 = iterator2();\n\'two\'\nnode> iterator3();\n\'three\'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n\'three\'\n```\n\n---------------------------------------\n\n<a name="apply" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, \'testfile1\', \'test1\'),\n async.apply(fs.writeFile, \'testfile2\', \'test2\'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n }\n]);\n```\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, \'one\');\nnode> fn(\'two\', \'three\');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name="nextTick" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two\']\n});\ncall_order.push(\'one\')\n```\n\n<a name="times" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: \'user\' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n<a name="timesSeries" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name="memoize" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn(\'some name\', function () {\n // callback\n});\n```\n\n<a name="unmemoize" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name="log" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, \'world\');\n\'hello world\'\n```\n\n---------------------------------------\n\n<a name="dir" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, \'world\');\n{hello: \'world\'}\n```\n\n---------------------------------------\n\n<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
4702 silly resolved readmeFilename: 'README.md',
4702 silly resolved homepage: 'https://github.com/caolan/async',
4702 silly resolved _id: 'async@0.2.9',
4702 silly resolved _from: 'async@~0.2.9' } ]
4703 info install lpad@0.1.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent
4704 info install async@0.2.9 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent
4705 info installOne lpad@0.1.0
4706 info installOne async@0.2.9
4707 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/lpad unbuild
4708 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/async unbuild
4709 verbose tar unpack /home/spike/.npm/lpad/0.1.0/package.tgz
4710 silly lockFile 72890d3a-unt-concurrent-node-modules-lpad tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/lpad
4711 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/lpad /home/spike/.npm/72890d3a-unt-concurrent-node-modules-lpad.lock
4712 silly lockFile 1e6d63cb-spike-npm-lpad-0-1-0-package-tgz tar:///home/spike/.npm/lpad/0.1.0/package.tgz
4713 verbose lock tar:///home/spike/.npm/lpad/0.1.0/package.tgz /home/spike/.npm/1e6d63cb-spike-npm-lpad-0-1-0-package-tgz.lock
4714 verbose tar unpack /home/spike/.npm/async/0.2.9/package.tgz
4715 silly lockFile f69ed09d-nt-concurrent-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/async
4716 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/async /home/spike/.npm/f69ed09d-nt-concurrent-node-modules-async.lock
4717 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
4718 verbose lock tar:///home/spike/.npm/async/0.2.9/package.tgz /home/spike/.npm/f759bea7-pike-npm-async-0-2-9-package-tgz.lock
4719 silly gunzTarPerm modes [ '755', '644' ]
4720 silly gunzTarPerm modes [ '755', '644' ]
4721 silly gunzTarPerm extractEntry package.json
4722 silly gunzTarPerm extractEntry package.json
4723 silly gunzTarPerm extractEntry lpad.js
4724 silly gunzTarPerm extractEntry readme.md
4725 silly gunzTarPerm extractEntry README.md
4726 silly gunzTarPerm extractEntry LICENSE
4727 silly gunzTarPerm extractEntry component.json
4728 silly gunzTarPerm extractEntry lib/async.js
4729 silly lockFile 72890d3a-unt-concurrent-node-modules-lpad tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/lpad
4730 silly lockFile 72890d3a-unt-concurrent-node-modules-lpad tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/lpad
4731 silly lockFile 1e6d63cb-spike-npm-lpad-0-1-0-package-tgz tar:///home/spike/.npm/lpad/0.1.0/package.tgz
4732 silly lockFile 1e6d63cb-spike-npm-lpad-0-1-0-package-tgz tar:///home/spike/.npm/lpad/0.1.0/package.tgz
4733 info preinstall lpad@0.1.0
4734 verbose readDependencies using package.json deps
4735 verbose readDependencies using package.json deps
4736 silly resolved []
4737 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/lpad
4738 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/lpad
4739 verbose linkStuff [ false,
4739 verbose linkStuff false,
4739 verbose linkStuff false,
4739 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules' ]
4740 info linkStuff lpad@0.1.0
4741 verbose linkBins lpad@0.1.0
4742 verbose linkMans lpad@0.1.0
4743 verbose rebuildBundles lpad@0.1.0
4744 info install lpad@0.1.0
4745 info postinstall lpad@0.1.0
4746 silly lockFile f69ed09d-nt-concurrent-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/async
4747 silly lockFile f69ed09d-nt-concurrent-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/async
4748 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
4749 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
4750 info preinstall async@0.2.9
4751 verbose readDependencies using package.json deps
4752 verbose readDependencies using package.json deps
4753 silly resolved []
4754 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/async
4755 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules/async
4756 verbose linkStuff [ false,
4756 verbose linkStuff false,
4756 verbose linkStuff false,
4756 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent/node_modules' ]
4757 info linkStuff async@0.2.9
4758 verbose linkBins async@0.2.9
4759 verbose linkMans async@0.2.9
4760 verbose rebuildBundles async@0.2.9
4761 info install async@0.2.9
4762 info postinstall async@0.2.9
4763 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent
4764 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-concurrent
4765 verbose linkStuff [ false,
4765 verbose linkStuff false,
4765 verbose linkStuff false,
4765 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
4766 info linkStuff grunt-concurrent@0.4.2
4767 verbose linkBins grunt-concurrent@0.4.2
4768 verbose linkMans grunt-concurrent@0.4.2
4769 verbose rebuildBundles grunt-concurrent@0.4.2
4770 verbose rebuildBundles [ 'async', 'lpad' ]
4771 info install grunt-concurrent@0.4.2
4772 info postinstall grunt-concurrent@0.4.2
4773 http 200 https://registry.npmjs.org/filesize
4774 silly registry.get cb [ 200,
4774 silly registry.get { vary: 'Accept',
4774 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4774 silly registry.get etag: '"33LX8U4JDMMNMNHKQKE5VFHMH"',
4774 silly registry.get date: 'Mon, 16 Dec 2013 10:44:30 GMT',
4774 silly registry.get 'content-type': 'application/json',
4774 silly registry.get 'content-length': '66935' } ]
4775 silly addNameRange number 2 { name: 'filesize', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
4776 silly addNameRange versions [ 'filesize',
4776 silly addNameRange [ '1.6.0',
4776 silly addNameRange '1.6.1',
4776 silly addNameRange '1.6.2',
4776 silly addNameRange '1.6.3',
4776 silly addNameRange '1.6.4',
4776 silly addNameRange '1.6.5',
4776 silly addNameRange '1.6.6',
4776 silly addNameRange '1.6.7',
4776 silly addNameRange '1.7.0',
4776 silly addNameRange '1.7.1',
4776 silly addNameRange '1.7.2',
4776 silly addNameRange '1.7.3',
4776 silly addNameRange '1.7.4',
4776 silly addNameRange '1.7.5',
4776 silly addNameRange '1.7.6',
4776 silly addNameRange '1.7.7',
4776 silly addNameRange '1.7.8',
4776 silly addNameRange '1.7.9',
4776 silly addNameRange '1.8.0',
4776 silly addNameRange '1.9.0',
4776 silly addNameRange '1.9.1',
4776 silly addNameRange '1.9.2',
4776 silly addNameRange '1.9.3',
4776 silly addNameRange '1.9.4',
4776 silly addNameRange '1.9.5',
4776 silly addNameRange '1.9.6',
4776 silly addNameRange '1.9.7',
4776 silly addNameRange '1.10.0',
4776 silly addNameRange '2.0.0' ] ]
4777 verbose addNamed [ 'filesize', '2.0.0' ]
4778 verbose addNamed [ '2.0.0', '2.0.0' ]
4779 silly lockFile 6a7b6ee7-filesize-2-0-0 filesize@2.0.0
4780 verbose lock filesize@2.0.0 /home/spike/.npm/6a7b6ee7-filesize-2-0-0.lock
4781 silly lockFile 9a1134d1--org-filesize-filesize-2-0-0-tgz https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz
4782 verbose lock https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz /home/spike/.npm/9a1134d1--org-filesize-filesize-2-0-0-tgz.lock
4783 verbose addRemoteTarball [ 'https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz',
4783 verbose addRemoteTarball '4b60c9ee7cc8810f750d312b2d395692bb1a7077' ]
4784 info retry fetch attempt 1 at 11:44:32
4785 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/tmp.tgz
4786 http GET https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz
4787 http 200 https://registry.npmjs.org/pngquant-bin
4788 silly registry.get cb [ 200,
4788 silly registry.get { vary: 'Accept',
4788 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4788 silly registry.get etag: '"2RGDVLBTKAQJGITHEZG8F6M0G"',
4788 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
4788 silly registry.get 'content-type': 'application/json',
4788 silly registry.get 'content-length': '20065' } ]
4789 silly addNameRange number 2 { name: 'pngquant-bin',
4789 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
4789 silly addNameRange hasData: true }
4790 silly addNameRange versions [ 'pngquant-bin',
4790 silly addNameRange [ '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5' ] ]
4791 verbose addNamed [ 'pngquant-bin', '0.1.5' ]
4792 verbose addNamed [ '0.1.5', '0.1.5' ]
4793 silly lockFile 60f49643-pngquant-bin-0-1-5 pngquant-bin@0.1.5
4794 verbose lock pngquant-bin@0.1.5 /home/spike/.npm/60f49643-pngquant-bin-0-1-5.lock
4795 silly lockFile a41b6c21-quant-bin-pngquant-bin-0-1-5-tgz https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz
4796 verbose lock https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz /home/spike/.npm/a41b6c21-quant-bin-pngquant-bin-0-1-5-tgz.lock
4797 verbose addRemoteTarball [ 'https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz',
4797 verbose addRemoteTarball '2a6ddfa43de542bcefd4145cc861b16d9a943443' ]
4798 info retry fetch attempt 1 at 11:44:32
4799 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/tmp.tgz
4800 http GET https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz
4801 http 304 https://registry.npmjs.org/async
4802 silly registry.get cb [ 304,
4802 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4802 silly registry.get etag: '"6SZA38IP3YTXC2N3QXR6NZ7CH"',
4802 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
4802 silly registry.get 'content-length': '0' } ]
4803 verbose etag async from cache
4804 silly addNameRange number 2 { name: 'async', range: '>=0.2.0-0 <0.3.0-0', hasData: true }
4805 silly addNameRange versions [ 'async',
4805 silly addNameRange [ '0.1.0',
4805 silly addNameRange '0.1.1',
4805 silly addNameRange '0.1.2',
4805 silly addNameRange '0.1.3',
4805 silly addNameRange '0.1.4',
4805 silly addNameRange '0.1.5',
4805 silly addNameRange '0.1.6',
4805 silly addNameRange '0.1.7',
4805 silly addNameRange '0.1.8',
4805 silly addNameRange '0.1.9',
4805 silly addNameRange '0.1.10',
4805 silly addNameRange '0.1.11',
4805 silly addNameRange '0.1.12',
4805 silly addNameRange '0.1.13',
4805 silly addNameRange '0.1.14',
4805 silly addNameRange '0.1.15',
4805 silly addNameRange '0.1.16',
4805 silly addNameRange '0.1.17',
4805 silly addNameRange '0.1.18',
4805 silly addNameRange '0.1.19',
4805 silly addNameRange '0.1.20',
4805 silly addNameRange '0.1.21',
4805 silly addNameRange '0.1.22',
4805 silly addNameRange '0.2.0',
4805 silly addNameRange '0.2.1',
4805 silly addNameRange '0.2.2',
4805 silly addNameRange '0.2.3',
4805 silly addNameRange '0.2.4',
4805 silly addNameRange '0.2.5',
4805 silly addNameRange '0.2.6',
4805 silly addNameRange '0.2.7',
4805 silly addNameRange '0.2.8',
4805 silly addNameRange '0.2.9' ] ]
4806 verbose addNamed [ 'async', '0.2.9' ]
4807 verbose addNamed [ '0.2.9', '0.2.9' ]
4808 silly lockFile be62480b-async-0-2-9 async@0.2.9
4809 verbose lock async@0.2.9 /home/spike/.npm/be62480b-async-0-2-9.lock
4810 silly lockFile be62480b-async-0-2-9 async@0.2.9
4811 silly lockFile be62480b-async-0-2-9 async@0.2.9
4812 silly lockFile 43ce4d75-async-0-2-0 async@~0.2.0
4813 silly lockFile 43ce4d75-async-0-2-0 async@~0.2.0
4814 http 200 https://registry.npmjs.org/gifsicle
4815 silly registry.get cb [ 200,
4815 silly registry.get { vary: 'Accept',
4815 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
4815 silly registry.get etag: '"BSKOWO24A4RTXZEC6TAKHB3JB"',
4815 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
4815 silly registry.get 'content-type': 'application/json',
4815 silly registry.get 'content-length': '17593' } ]
4816 silly addNameRange number 2 { name: 'gifsicle', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
4817 silly addNameRange versions [ 'gifsicle', [ '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4' ] ]
4818 verbose addNamed [ 'gifsicle', '0.1.4' ]
4819 verbose addNamed [ '0.1.4', '0.1.4' ]
4820 silly lockFile 872fccd2-gifsicle-0-1-4 gifsicle@0.1.4
4821 verbose lock gifsicle@0.1.4 /home/spike/.npm/872fccd2-gifsicle-0-1-4.lock
4822 silly lockFile ddbbd9b9--org-gifsicle-gifsicle-0-1-4-tgz https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz
4823 verbose lock https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz /home/spike/.npm/ddbbd9b9--org-gifsicle-gifsicle-0-1-4-tgz.lock
4824 verbose addRemoteTarball [ 'https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz',
4824 verbose addRemoteTarball 'c592c8625fc0ae05f88ceaa8e67ce20351236d3c' ]
4825 info retry fetch attempt 1 at 11:44:32
4826 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/tmp.tgz
4827 http GET https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz
4828 http 304 https://registry.npmjs.org/dargs
4829 silly registry.get cb [ 304,
4829 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
4829 silly registry.get etag: '"8LXJ7HG1PONA2CQZGESBK3OFU"',
4829 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
4829 silly registry.get 'content-length': '0' } ]
4830 verbose etag dargs from cache
4831 silly addNameRange number 2 { name: 'dargs', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
4832 silly addNameRange versions [ 'dargs', [ '0.1.0' ] ]
4833 verbose addNamed [ 'dargs', '0.1.0' ]
4834 verbose addNamed [ '0.1.0', '0.1.0' ]
4835 silly lockFile 23bfdef0-dargs-0-1-0 dargs@0.1.0
4836 verbose lock dargs@0.1.0 /home/spike/.npm/23bfdef0-dargs-0-1-0.lock
4837 silly lockFile 23bfdef0-dargs-0-1-0 dargs@0.1.0
4838 silly lockFile 23bfdef0-dargs-0-1-0 dargs@0.1.0
4839 silly lockFile 2622171b-dargs-0-1-0 dargs@~0.1.0
4840 silly lockFile 2622171b-dargs-0-1-0 dargs@~0.1.0
4841 http 200 https://registry.npmjs.org/tmp/0.0.21
4842 silly registry.get cb [ 200,
4842 silly registry.get { vary: 'Accept',
4842 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4842 silly registry.get etag: '"9DCK0BIFCYG9MVH5I3BGY34DT"',
4842 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
4842 silly registry.get 'content-type': 'application/json',
4842 silly registry.get 'content-length': '5440' } ]
4843 silly lockFile 292a2f12-try-npmjs-org-tmp-tmp-0-0-21-tgz https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz
4844 verbose lock https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz /home/spike/.npm/292a2f12-try-npmjs-org-tmp-tmp-0-0-21-tgz.lock
4845 verbose addRemoteTarball [ 'https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz',
4845 verbose addRemoteTarball '6d263fede6570dc4d4510ffcc2efc640223b1153' ]
4846 info retry fetch attempt 1 at 11:44:32
4847 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/tmp.tgz
4848 http GET https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz
4849 http 200 https://registry.npmjs.org/jpegtran-bin
4850 silly registry.get cb [ 200,
4850 silly registry.get { vary: 'Accept',
4850 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
4850 silly registry.get etag: '"9VU7WMKIHT9FJSUL4M5RY2EAT"',
4850 silly registry.get date: 'Mon, 16 Dec 2013 10:44:31 GMT',
4850 silly registry.get 'content-type': 'application/json',
4850 silly registry.get 'content-length': '37023' } ]
4851 silly addNameRange number 2 { name: 'jpegtran-bin',
4851 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
4851 silly addNameRange hasData: true }
4852 silly addNameRange versions [ 'jpegtran-bin',
4852 silly addNameRange [ '0.1.0',
4852 silly addNameRange '0.1.2',
4852 silly addNameRange '0.1.3',
4852 silly addNameRange '0.1.4',
4852 silly addNameRange '0.1.5',
4852 silly addNameRange '0.1.6',
4852 silly addNameRange '0.1.7',
4852 silly addNameRange '0.2.0',
4852 silly addNameRange '0.2.1',
4852 silly addNameRange '0.2.2' ] ]
4853 verbose addNamed [ 'jpegtran-bin', '0.2.2' ]
4854 verbose addNamed [ '0.2.2', '0.2.2' ]
4855 silly lockFile 3c267b55-jpegtran-bin-0-2-2 jpegtran-bin@0.2.2
4856 verbose lock jpegtran-bin@0.2.2 /home/spike/.npm/3c267b55-jpegtran-bin-0-2-2.lock
4857 silly lockFile 21efdbb9-gtran-bin-jpegtran-bin-0-2-2-tgz https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz
4858 verbose lock https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz /home/spike/.npm/21efdbb9-gtran-bin-jpegtran-bin-0-2-2-tgz.lock
4859 verbose addRemoteTarball [ 'https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz',
4859 verbose addRemoteTarball '28822fab5babbdabd188b8e43d02676d4ab7c43b' ]
4860 info retry fetch attempt 1 at 11:44:32
4861 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/tmp.tgz
4862 http GET https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz
4863 http 200 https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz
4864 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/tmp.tgz
4865 silly lockFile 8cb4a34c-1529-0-15064548491500318-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package
4866 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package /home/spike/.npm/8cb4a34c-1529-0-15064548491500318-package.lock
4867 silly lockFile 23d04203-1529-0-15064548491500318-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/tmp.tgz
4868 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/tmp.tgz /home/spike/.npm/23d04203-1529-0-15064548491500318-tmp-tgz.lock
4869 silly gunzTarPerm modes [ '755', '644' ]
4870 silly gunzTarPerm extractEntry package.json
4871 silly gunzTarPerm extractEntry bin/optipng.js
4872 silly gunzTarPerm extractEntry lib/check.js
4873 silly gunzTarPerm extractEntry lib/optipng.js
4874 silly gunzTarPerm extractEntry readme.md
4875 silly lockFile 8cb4a34c-1529-0-15064548491500318-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package
4876 silly lockFile 8cb4a34c-1529-0-15064548491500318-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package
4877 silly lockFile 23d04203-1529-0-15064548491500318-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/tmp.tgz
4878 silly lockFile 23d04203-1529-0-15064548491500318-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/tmp.tgz
4879 verbose tar pack [ '/home/spike/.npm/optipng-bin/0.3.1/package.tgz',
4879 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package' ]
4880 verbose tarball /home/spike/.npm/optipng-bin/0.3.1/package.tgz
4881 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package
4882 silly lockFile 8cb4a34c-1529-0-15064548491500318-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package
4883 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package /home/spike/.npm/8cb4a34c-1529-0-15064548491500318-package.lock
4884 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
4885 verbose lock tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz /home/spike/.npm/bafc2b70-pm-optipng-bin-0-3-1-package-tgz.lock
4886 silly lockFile 8cb4a34c-1529-0-15064548491500318-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package
4887 silly lockFile 8cb4a34c-1529-0-15064548491500318-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190671529-0.15064548491500318/package
4888 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
4889 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
4890 silly lockFile a1e7507d-ke-npm-optipng-bin-0-3-1-package /home/spike/.npm/optipng-bin/0.3.1/package
4891 verbose lock /home/spike/.npm/optipng-bin/0.3.1/package /home/spike/.npm/a1e7507d-ke-npm-optipng-bin-0-3-1-package.lock
4892 silly lockFile a1e7507d-ke-npm-optipng-bin-0-3-1-package /home/spike/.npm/optipng-bin/0.3.1/package
4893 silly lockFile a1e7507d-ke-npm-optipng-bin-0-3-1-package /home/spike/.npm/optipng-bin/0.3.1/package
4894 verbose tar unpack /home/spike/.npm/optipng-bin/0.3.1/package.tgz
4895 silly lockFile 372638e5-ke-npm-optipng-bin-0-3-1-package tar:///home/spike/.npm/optipng-bin/0.3.1/package
4896 verbose lock tar:///home/spike/.npm/optipng-bin/0.3.1/package /home/spike/.npm/372638e5-ke-npm-optipng-bin-0-3-1-package.lock
4897 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
4898 verbose lock tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz /home/spike/.npm/bafc2b70-pm-optipng-bin-0-3-1-package-tgz.lock
4899 silly gunzTarPerm modes [ '755', '644' ]
4900 silly gunzTarPerm extractEntry package.json
4901 silly gunzTarPerm extractEntry bin/optipng.js
4902 silly gunzTarPerm extractEntry lib/check.js
4903 silly gunzTarPerm extractEntry lib/optipng.js
4904 silly gunzTarPerm extractEntry readme.md
4905 silly lockFile 372638e5-ke-npm-optipng-bin-0-3-1-package tar:///home/spike/.npm/optipng-bin/0.3.1/package
4906 silly lockFile 372638e5-ke-npm-optipng-bin-0-3-1-package tar:///home/spike/.npm/optipng-bin/0.3.1/package
4907 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
4908 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
4909 verbose chmod /home/spike/.npm/optipng-bin/0.3.1/package.tgz 644
4910 verbose chown /home/spike/.npm/optipng-bin/0.3.1/package.tgz [ 1000, 1000 ]
4911 silly lockFile ef3bb5f1-ptipng-bin-optipng-bin-0-3-1-tgz https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz
4912 silly lockFile ef3bb5f1-ptipng-bin-optipng-bin-0-3-1-tgz https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz
4913 silly lockFile fb0a2585-optipng-bin-0-3-1 optipng-bin@0.3.1
4914 silly lockFile fb0a2585-optipng-bin-0-3-1 optipng-bin@0.3.1
4915 silly lockFile f9376a62-optipng-bin-0-3-0 optipng-bin@~0.3.0
4916 silly lockFile f9376a62-optipng-bin-0-3-0 optipng-bin@~0.3.0
4917 http 200 https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz
4918 http 200 https://registry.npmjs.org/html-minifier
4919 silly registry.get cb [ 200,
4919 silly registry.get { vary: 'Accept',
4919 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4919 silly registry.get etag: '"562JGYBDPL4INRY5AURTJAGRB"',
4919 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
4919 silly registry.get 'content-type': 'application/json',
4919 silly registry.get 'content-length': '13056' } ]
4920 silly addNameRange number 2 { name: 'html-minifier',
4920 silly addNameRange range: '>=0.5.0-0 <0.6.0-0',
4920 silly addNameRange hasData: true }
4921 silly addNameRange versions [ 'html-minifier',
4921 silly addNameRange [ '0.4.3', '0.4.4', '0.4.5', '0.5.0', '0.5.1', '0.5.2', '0.5.4' ] ]
4922 verbose addNamed [ 'html-minifier', '0.5.4' ]
4923 verbose addNamed [ '0.5.4', '0.5.4' ]
4924 silly lockFile 11723c91-html-minifier-0-5-4 html-minifier@0.5.4
4925 verbose lock html-minifier@0.5.4 /home/spike/.npm/11723c91-html-minifier-0-5-4.lock
4926 silly lockFile 11723c91-html-minifier-0-5-4 html-minifier@0.5.4
4927 silly lockFile 11723c91-html-minifier-0-5-4 html-minifier@0.5.4
4928 silly lockFile 7e76ab6a-html-minifier-0-5-0 html-minifier@~0.5.0
4929 silly lockFile 7e76ab6a-html-minifier-0-5-0 html-minifier@~0.5.0
4930 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/tmp.tgz
4931 silly lockFile 7666a870-2845-0-09054198837839067-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package
4932 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package /home/spike/.npm/7666a870-2845-0-09054198837839067-package.lock
4933 silly lockFile 485b4b7f-2845-0-09054198837839067-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/tmp.tgz
4934 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/tmp.tgz /home/spike/.npm/485b4b7f-2845-0-09054198837839067-tmp-tgz.lock
4935 silly gunzTarPerm modes [ '755', '644' ]
4936 silly gunzTarPerm extractEntry package.json
4937 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
4938 silly gunzTarPerm extractEntry bin/jpegtran.js
4939 silly gunzTarPerm modified mode [ 'bin/jpegtran.js', 438, 420 ]
4940 silly gunzTarPerm extractEntry lib/check.js
4941 silly gunzTarPerm modified mode [ 'lib/check.js', 438, 420 ]
4942 silly gunzTarPerm extractEntry lib/jpegtran.js
4943 silly gunzTarPerm modified mode [ 'lib/jpegtran.js', 438, 420 ]
4944 silly gunzTarPerm extractEntry readme.md
4945 silly gunzTarPerm modified mode [ 'readme.md', 438, 420 ]
4946 silly gunzTarPerm extractEntry test/test-build.js
4947 silly gunzTarPerm modified mode [ 'test/test-build.js', 438, 420 ]
4948 silly gunzTarPerm extractEntry test/test-path.js
4949 silly gunzTarPerm modified mode [ 'test/test-path.js', 438, 420 ]
4950 silly gunzTarPerm extractEntry test/fixtures/test.jpg
4951 silly gunzTarPerm modified mode [ 'test/fixtures/test.jpg', 438, 420 ]
4952 silly lockFile 7666a870-2845-0-09054198837839067-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package
4953 silly lockFile 7666a870-2845-0-09054198837839067-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package
4954 silly lockFile 485b4b7f-2845-0-09054198837839067-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/tmp.tgz
4955 silly lockFile 485b4b7f-2845-0-09054198837839067-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/tmp.tgz
4956 verbose tar pack [ '/home/spike/.npm/jpegtran-bin/0.2.2/package.tgz',
4956 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package' ]
4957 verbose tarball /home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4958 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package
4959 silly lockFile 7666a870-2845-0-09054198837839067-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package
4960 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package /home/spike/.npm/7666a870-2845-0-09054198837839067-package.lock
4961 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4962 verbose lock tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz /home/spike/.npm/12d7a567-m-jpegtran-bin-0-2-2-package-tgz.lock
4963 silly lockFile 7666a870-2845-0-09054198837839067-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package
4964 silly lockFile 7666a870-2845-0-09054198837839067-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672845-0.09054198837839067/package
4965 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4966 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4967 silly lockFile c6734d40-e-npm-jpegtran-bin-0-2-2-package /home/spike/.npm/jpegtran-bin/0.2.2/package
4968 verbose lock /home/spike/.npm/jpegtran-bin/0.2.2/package /home/spike/.npm/c6734d40-e-npm-jpegtran-bin-0-2-2-package.lock
4969 silly lockFile c6734d40-e-npm-jpegtran-bin-0-2-2-package /home/spike/.npm/jpegtran-bin/0.2.2/package
4970 silly lockFile c6734d40-e-npm-jpegtran-bin-0-2-2-package /home/spike/.npm/jpegtran-bin/0.2.2/package
4971 verbose tar unpack /home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4972 silly lockFile 5638f42f-e-npm-jpegtran-bin-0-2-2-package tar:///home/spike/.npm/jpegtran-bin/0.2.2/package
4973 verbose lock tar:///home/spike/.npm/jpegtran-bin/0.2.2/package /home/spike/.npm/5638f42f-e-npm-jpegtran-bin-0-2-2-package.lock
4974 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4975 verbose lock tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz /home/spike/.npm/12d7a567-m-jpegtran-bin-0-2-2-package-tgz.lock
4976 silly gunzTarPerm modes [ '755', '644' ]
4977 silly gunzTarPerm extractEntry package.json
4978 silly gunzTarPerm extractEntry bin/jpegtran.js
4979 silly gunzTarPerm extractEntry lib/check.js
4980 silly gunzTarPerm extractEntry lib/jpegtran.js
4981 silly gunzTarPerm extractEntry readme.md
4982 silly gunzTarPerm extractEntry test/test-build.js
4983 silly gunzTarPerm extractEntry test/test-path.js
4984 silly gunzTarPerm extractEntry test/fixtures/test.jpg
4985 silly lockFile 5638f42f-e-npm-jpegtran-bin-0-2-2-package tar:///home/spike/.npm/jpegtran-bin/0.2.2/package
4986 silly lockFile 5638f42f-e-npm-jpegtran-bin-0-2-2-package tar:///home/spike/.npm/jpegtran-bin/0.2.2/package
4987 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4988 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
4989 verbose chmod /home/spike/.npm/jpegtran-bin/0.2.2/package.tgz 644
4990 verbose chown /home/spike/.npm/jpegtran-bin/0.2.2/package.tgz [ 1000, 1000 ]
4991 silly lockFile 21efdbb9-gtran-bin-jpegtran-bin-0-2-2-tgz https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz
4992 silly lockFile 21efdbb9-gtran-bin-jpegtran-bin-0-2-2-tgz https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz
4993 silly lockFile 3c267b55-jpegtran-bin-0-2-2 jpegtran-bin@0.2.2
4994 silly lockFile 3c267b55-jpegtran-bin-0-2-2 jpegtran-bin@0.2.2
4995 silly lockFile c8e149e4-jpegtran-bin-0-2-0 jpegtran-bin@~0.2.0
4996 silly lockFile c8e149e4-jpegtran-bin-0-2-0 jpegtran-bin@~0.2.0
4997 http 304 https://registry.npmjs.org/rimraf
4998 silly registry.get cb [ 304,
4998 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
4998 silly registry.get etag: '"3V5RTC86Q9GNOIZ4HOF0WGDZ2"',
4998 silly registry.get date: 'Mon, 16 Dec 2013 10:44:33 GMT',
4998 silly registry.get 'content-length': '0' } ]
4999 verbose etag rimraf from cache
5000 silly addNameRange number 2 { name: 'rimraf', range: '>=2.2.1-0 <2.3.0-0', hasData: true }
5001 silly addNameRange versions [ 'rimraf',
5001 silly addNameRange [ '1.0.0',
5001 silly addNameRange '1.0.1',
5001 silly addNameRange '1.0.2',
5001 silly addNameRange '1.0.4',
5001 silly addNameRange '1.0.5',
5001 silly addNameRange '1.0.6',
5001 silly addNameRange '1.0.7',
5001 silly addNameRange '1.0.8',
5001 silly addNameRange '1.0.9',
5001 silly addNameRange '2.0.0',
5001 silly addNameRange '2.0.1',
5001 silly addNameRange '2.0.2',
5001 silly addNameRange '2.0.3',
5001 silly addNameRange '2.1.0',
5001 silly addNameRange '2.1.1',
5001 silly addNameRange '2.1.2',
5001 silly addNameRange '2.1.3',
5001 silly addNameRange '2.1.4',
5001 silly addNameRange '2.2.0',
5001 silly addNameRange '2.2.1',
5001 silly addNameRange '2.2.2',
5001 silly addNameRange '2.2.3',
5001 silly addNameRange '2.2.4',
5001 silly addNameRange '2.2.5' ] ]
5002 verbose addNamed [ 'rimraf', '2.2.5' ]
5003 verbose addNamed [ '2.2.5', '2.2.5' ]
5004 silly lockFile 26564256-rimraf-2-2-5 rimraf@2.2.5
5005 verbose lock rimraf@2.2.5 /home/spike/.npm/26564256-rimraf-2-2-5.lock
5006 silly lockFile 26564256-rimraf-2-2-5 rimraf@2.2.5
5007 silly lockFile 26564256-rimraf-2-2-5 rimraf@2.2.5
5008 silly lockFile 2b539b12-rimraf-2-2-1 rimraf@~2.2.1
5009 silly lockFile 2b539b12-rimraf-2-2-1 rimraf@~2.2.1
5010 silly resolved [ { name: 'rimraf',
5010 silly resolved version: '2.2.5',
5010 silly resolved main: 'rimraf.js',
5010 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
5010 silly resolved author:
5010 silly resolved { name: 'Isaac Z. Schlueter',
5010 silly resolved email: 'i@izs.me',
5010 silly resolved url: 'http://blog.izs.me/' },
5010 silly resolved license:
5010 silly resolved { type: 'MIT',
5010 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
5010 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
5010 silly resolved scripts: { test: 'cd test && bash run.sh' },
5010 silly resolved bin: { rimraf: './bin.js' },
5010 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
5010 silly resolved readme: '`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn\'t exist, rimraf will return\n successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that\'s not so good. Use\nthe async API. It\'s better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n',
5010 silly resolved readmeFilename: 'README.md',
5010 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
5010 silly resolved homepage: 'https://github.com/isaacs/rimraf',
5010 silly resolved _id: 'rimraf@2.2.5',
5010 silly resolved _from: 'rimraf@~2.2.1' } ]
5011 info install rimraf@2.2.5 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean
5012 info installOne rimraf@2.2.5
5013 http 200 https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz
5014 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/rimraf unbuild
5015 verbose tar unpack /home/spike/.npm/rimraf/2.2.5/package.tgz
5016 silly lockFile 4cbbd686-ontrib-clean-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/rimraf
5017 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/rimraf /home/spike/.npm/4cbbd686-ontrib-clean-node-modules-rimraf.lock
5018 silly lockFile eb5c3643-ike-npm-rimraf-2-2-5-package-tgz tar:///home/spike/.npm/rimraf/2.2.5/package.tgz
5019 verbose lock tar:///home/spike/.npm/rimraf/2.2.5/package.tgz /home/spike/.npm/eb5c3643-ike-npm-rimraf-2-2-5-package-tgz.lock
5020 silly gunzTarPerm modes [ '755', '644' ]
5021 silly gunzTarPerm extractEntry package.json
5022 silly gunzTarPerm extractEntry README.md
5023 silly gunzTarPerm extractEntry LICENSE
5024 silly gunzTarPerm extractEntry bin.js
5025 silly gunzTarPerm extractEntry rimraf.js
5026 silly gunzTarPerm extractEntry AUTHORS
5027 silly gunzTarPerm extractEntry test/test-async.js
5028 silly gunzTarPerm extractEntry test/test-sync.js
5029 silly gunzTarPerm extractEntry test/run.sh
5030 silly gunzTarPerm extractEntry test/setup.sh
5031 silly lockFile 4cbbd686-ontrib-clean-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/rimraf
5032 silly lockFile 4cbbd686-ontrib-clean-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/rimraf
5033 silly lockFile eb5c3643-ike-npm-rimraf-2-2-5-package-tgz tar:///home/spike/.npm/rimraf/2.2.5/package.tgz
5034 silly lockFile eb5c3643-ike-npm-rimraf-2-2-5-package-tgz tar:///home/spike/.npm/rimraf/2.2.5/package.tgz
5035 info preinstall rimraf@2.2.5
5036 verbose readDependencies using package.json deps
5037 verbose readDependencies using package.json deps
5038 silly resolved []
5039 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/rimraf
5040 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/rimraf
5041 verbose linkStuff [ false,
5041 verbose linkStuff false,
5041 verbose linkStuff false,
5041 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules' ]
5042 info linkStuff rimraf@2.2.5
5043 verbose linkBins rimraf@2.2.5
5044 verbose link bins [ { rimraf: './bin.js' },
5044 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean/node_modules/.bin',
5044 verbose link bins false ]
5045 verbose linkMans rimraf@2.2.5
5046 verbose rebuildBundles rimraf@2.2.5
5047 info install rimraf@2.2.5
5048 info postinstall rimraf@2.2.5
5049 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean
5050 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-clean
5051 verbose linkStuff [ false,
5051 verbose linkStuff false,
5051 verbose linkStuff false,
5051 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
5052 info linkStuff grunt-contrib-clean@0.5.0
5053 verbose linkBins grunt-contrib-clean@0.5.0
5054 verbose linkMans grunt-contrib-clean@0.5.0
5055 verbose rebuildBundles grunt-contrib-clean@0.5.0
5056 verbose rebuildBundles [ '.bin', 'rimraf' ]
5057 info install grunt-contrib-clean@0.5.0
5058 info postinstall grunt-contrib-clean@0.5.0
5059 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/tmp.tgz
5060 silly lockFile 52d4f186-72409-0-6952259163372219-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package
5061 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package /home/spike/.npm/52d4f186-72409-0-6952259163372219-package.lock
5062 silly lockFile 2ad304ee-72409-0-6952259163372219-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/tmp.tgz
5063 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/tmp.tgz /home/spike/.npm/2ad304ee-72409-0-6952259163372219-tmp-tgz.lock
5064 silly gunzTarPerm modes [ '755', '644' ]
5065 silly gunzTarPerm extractEntry package.json
5066 silly gunzTarPerm extractEntry .npmignore
5067 silly gunzTarPerm extractEntry README.md
5068 silly gunzTarPerm extractEntry LICENSE
5069 silly gunzTarPerm extractEntry lib/filesize.js
5070 http 304 https://registry.npmjs.org/open/0.0.4
5071 silly registry.get cb [ 304,
5071 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
5071 silly registry.get etag: '"96656L82U7T8GO41LKVWJTQ7G"',
5071 silly registry.get date: 'Mon, 16 Dec 2013 10:44:33 GMT',
5071 silly registry.get 'content-length': '0' } ]
5072 verbose etag open/0.0.4 from cache
5073 silly lockFile 52d4f186-72409-0-6952259163372219-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package
5074 silly lockFile 52d4f186-72409-0-6952259163372219-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package
5075 silly lockFile 2ad304ee-72409-0-6952259163372219-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/tmp.tgz
5076 silly lockFile 2ad304ee-72409-0-6952259163372219-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/tmp.tgz
5077 verbose tar pack [ '/home/spike/.npm/filesize/2.0.0/package.tgz',
5077 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package' ]
5078 verbose tarball /home/spike/.npm/filesize/2.0.0/package.tgz
5079 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package
5080 silly lockFile 52d4f186-72409-0-6952259163372219-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package
5081 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package /home/spike/.npm/52d4f186-72409-0-6952259163372219-package.lock
5082 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5083 verbose lock tar:///home/spike/.npm/filesize/2.0.0/package.tgz /home/spike/.npm/16a8b4e8-e-npm-filesize-2-0-0-package-tgz.lock
5084 silly lockFile 03f97a6d-open-0-0-4 open@0.0.4
5085 silly lockFile 03f97a6d-open-0-0-4 open@0.0.4
5086 silly lockFile 52d4f186-72409-0-6952259163372219-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package
5087 silly lockFile 52d4f186-72409-0-6952259163372219-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672409-0.6952259163372219/package
5088 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5089 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5090 silly lockFile 6752a3a8-spike-npm-filesize-2-0-0-package /home/spike/.npm/filesize/2.0.0/package
5091 verbose lock /home/spike/.npm/filesize/2.0.0/package /home/spike/.npm/6752a3a8-spike-npm-filesize-2-0-0-package.lock
5092 silly lockFile 6752a3a8-spike-npm-filesize-2-0-0-package /home/spike/.npm/filesize/2.0.0/package
5093 silly lockFile 6752a3a8-spike-npm-filesize-2-0-0-package /home/spike/.npm/filesize/2.0.0/package
5094 verbose tar unpack /home/spike/.npm/filesize/2.0.0/package.tgz
5095 silly lockFile b6c8de7c-spike-npm-filesize-2-0-0-package tar:///home/spike/.npm/filesize/2.0.0/package
5096 verbose lock tar:///home/spike/.npm/filesize/2.0.0/package /home/spike/.npm/b6c8de7c-spike-npm-filesize-2-0-0-package.lock
5097 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5098 verbose lock tar:///home/spike/.npm/filesize/2.0.0/package.tgz /home/spike/.npm/16a8b4e8-e-npm-filesize-2-0-0-package-tgz.lock
5099 silly gunzTarPerm modes [ '755', '644' ]
5100 silly gunzTarPerm extractEntry package.json
5101 silly gunzTarPerm extractEntry .npmignore
5102 silly gunzTarPerm extractEntry README.md
5103 silly gunzTarPerm extractEntry LICENSE
5104 silly gunzTarPerm extractEntry lib/filesize.js
5105 silly lockFile b6c8de7c-spike-npm-filesize-2-0-0-package tar:///home/spike/.npm/filesize/2.0.0/package
5106 silly lockFile b6c8de7c-spike-npm-filesize-2-0-0-package tar:///home/spike/.npm/filesize/2.0.0/package
5107 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5108 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5109 verbose chmod /home/spike/.npm/filesize/2.0.0/package.tgz 644
5110 verbose chown /home/spike/.npm/filesize/2.0.0/package.tgz [ 1000, 1000 ]
5111 silly lockFile 9a1134d1--org-filesize-filesize-2-0-0-tgz https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz
5112 silly lockFile 9a1134d1--org-filesize-filesize-2-0-0-tgz https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz
5113 silly lockFile 6a7b6ee7-filesize-2-0-0 filesize@2.0.0
5114 silly lockFile 6a7b6ee7-filesize-2-0-0 filesize@2.0.0
5115 silly lockFile cf53219d-filesize-2-0-0 filesize@~2.0.0
5116 silly lockFile cf53219d-filesize-2-0-0 filesize@~2.0.0
5117 http 200 https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz
5118 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/tmp.tgz
5119 silly lockFile 940f5f25-576-0-007603650912642479-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package
5120 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package /home/spike/.npm/940f5f25-576-0-007603650912642479-package.lock
5121 silly lockFile 453ee204-576-0-007603650912642479-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/tmp.tgz
5122 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/tmp.tgz /home/spike/.npm/453ee204-576-0-007603650912642479-tmp-tgz.lock
5123 silly gunzTarPerm modes [ '755', '644' ]
5124 silly gunzTarPerm extractEntry package.json
5125 silly gunzTarPerm extractEntry bin/gifsicle.js
5126 silly gunzTarPerm extractEntry lib/check.js
5127 silly gunzTarPerm extractEntry lib/gifsicle.js
5128 silly gunzTarPerm extractEntry readme.md
5129 silly lockFile 940f5f25-576-0-007603650912642479-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package
5130 silly lockFile 940f5f25-576-0-007603650912642479-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package
5131 silly lockFile 453ee204-576-0-007603650912642479-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/tmp.tgz
5132 silly lockFile 453ee204-576-0-007603650912642479-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/tmp.tgz
5133 verbose tar pack [ '/home/spike/.npm/gifsicle/0.1.4/package.tgz',
5133 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package' ]
5134 verbose tarball /home/spike/.npm/gifsicle/0.1.4/package.tgz
5135 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package
5136 silly lockFile 940f5f25-576-0-007603650912642479-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package
5137 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package /home/spike/.npm/940f5f25-576-0-007603650912642479-package.lock
5138 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5139 verbose lock tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz /home/spike/.npm/3bd31049-e-npm-gifsicle-0-1-4-package-tgz.lock
5140 silly lockFile 940f5f25-576-0-007603650912642479-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package
5141 silly lockFile 940f5f25-576-0-007603650912642479-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672576-0.007603650912642479/package
5142 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5143 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5144 silly lockFile 890fa5b5-spike-npm-gifsicle-0-1-4-package /home/spike/.npm/gifsicle/0.1.4/package
5145 verbose lock /home/spike/.npm/gifsicle/0.1.4/package /home/spike/.npm/890fa5b5-spike-npm-gifsicle-0-1-4-package.lock
5146 silly lockFile 890fa5b5-spike-npm-gifsicle-0-1-4-package /home/spike/.npm/gifsicle/0.1.4/package
5147 silly lockFile 890fa5b5-spike-npm-gifsicle-0-1-4-package /home/spike/.npm/gifsicle/0.1.4/package
5148 verbose tar unpack /home/spike/.npm/gifsicle/0.1.4/package.tgz
5149 silly lockFile 56445d89-spike-npm-gifsicle-0-1-4-package tar:///home/spike/.npm/gifsicle/0.1.4/package
5150 verbose lock tar:///home/spike/.npm/gifsicle/0.1.4/package /home/spike/.npm/56445d89-spike-npm-gifsicle-0-1-4-package.lock
5151 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5152 verbose lock tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz /home/spike/.npm/3bd31049-e-npm-gifsicle-0-1-4-package-tgz.lock
5153 silly gunzTarPerm modes [ '755', '644' ]
5154 silly gunzTarPerm extractEntry package.json
5155 silly gunzTarPerm extractEntry bin/gifsicle.js
5156 silly gunzTarPerm extractEntry lib/check.js
5157 silly gunzTarPerm extractEntry lib/gifsicle.js
5158 silly gunzTarPerm extractEntry readme.md
5159 silly lockFile 56445d89-spike-npm-gifsicle-0-1-4-package tar:///home/spike/.npm/gifsicle/0.1.4/package
5160 silly lockFile 56445d89-spike-npm-gifsicle-0-1-4-package tar:///home/spike/.npm/gifsicle/0.1.4/package
5161 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5162 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5163 verbose chmod /home/spike/.npm/gifsicle/0.1.4/package.tgz 644
5164 verbose chown /home/spike/.npm/gifsicle/0.1.4/package.tgz [ 1000, 1000 ]
5165 silly lockFile ddbbd9b9--org-gifsicle-gifsicle-0-1-4-tgz https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz
5166 silly lockFile ddbbd9b9--org-gifsicle-gifsicle-0-1-4-tgz https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz
5167 silly lockFile 872fccd2-gifsicle-0-1-4 gifsicle@0.1.4
5168 silly lockFile 872fccd2-gifsicle-0-1-4 gifsicle@0.1.4
5169 silly lockFile 4c513529-gifsicle-0-1-0 gifsicle@~0.1.0
5170 silly lockFile 4c513529-gifsicle-0-1-0 gifsicle@~0.1.0
5171 http 200 https://registry.npmjs.org/grunt-lib-contrib
5172 silly registry.get cb [ 200,
5172 silly registry.get { vary: 'Accept',
5172 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
5172 silly registry.get etag: '"CN79PDDBSQYTDP6QRQISOU9MM"',
5172 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
5172 silly registry.get 'content-type': 'application/json',
5172 silly registry.get 'content-length': '31639' } ]
5173 silly addNameRange number 2 { name: 'grunt-lib-contrib',
5173 silly addNameRange range: '>=0.6.1-0 <0.7.0-0',
5173 silly addNameRange hasData: true }
5174 silly addNameRange versions [ 'grunt-lib-contrib',
5174 silly addNameRange [ '0.3.0',
5174 silly addNameRange '0.3.1',
5174 silly addNameRange '0.4.0',
5174 silly addNameRange '0.5.1',
5174 silly addNameRange '0.5.2',
5174 silly addNameRange '0.5.3',
5174 silly addNameRange '0.6.0',
5174 silly addNameRange '0.6.1' ] ]
5175 verbose addNamed [ 'grunt-lib-contrib', '0.6.1' ]
5176 verbose addNamed [ '0.6.1', '0.6.1' ]
5177 silly lockFile 0ef65a81-grunt-lib-contrib-0-6-1 grunt-lib-contrib@0.6.1
5178 verbose lock grunt-lib-contrib@0.6.1 /home/spike/.npm/0ef65a81-grunt-lib-contrib-0-6-1.lock
5179 silly lockFile 0ef65a81-grunt-lib-contrib-0-6-1 grunt-lib-contrib@0.6.1
5180 silly lockFile 0ef65a81-grunt-lib-contrib-0-6-1 grunt-lib-contrib@0.6.1
5181 silly lockFile a97902f4-grunt-lib-contrib-0-6-1 grunt-lib-contrib@~0.6.1
5182 silly lockFile a97902f4-grunt-lib-contrib-0-6-1 grunt-lib-contrib@~0.6.1
5183 silly resolved [ { name: 'html-minifier',
5183 silly resolved description: 'HTML minifier with lint-like capabilities.',
5183 silly resolved version: '0.5.4',
5183 silly resolved keywords: [ 'html', 'minifier', 'lint' ],
5183 silly resolved url: 'http://github.com/kangax/html-minifier',
5183 silly resolved maintainers: [ [Object] ],
5183 silly resolved contributors: [ [Object], [Object] ],
5183 silly resolved licenses: [ [Object] ],
5183 silly resolved repository: { type: 'git', url: 'git://github.com/kangax/html-minifier' },
5183 silly resolved engines: { node: '>=0.4.8' },
5183 silly resolved directories: { src: './src' },
5183 silly resolved scripts: { test: 'jshint src/htmlminifier.js src/htmllint.js && cat src/htmlparser.js src/htmlminifier.js src/htmllint.js > dist/all.js && node test.js' },
5183 silly resolved devDependencies: { qunit: '0.5.x', jshint: '1.1.x', 'uglify-js': '2.2.x' },
5183 silly resolved main: './dist/all.js',
5183 silly resolved readme: '[HTMLMinifier](http://kangax.github.com/html-minifier/) is a Javascript-based HTML minifier (duh), with lint-like capabilities.\n\nSee [corresponding blog post](http://perfectionkills.com/experimenting-with-html-minifier/) for all the gory details of [how it works](http://perfectionkills.com/experimenting-with-html-minifier/#how_it_works), [description of each option](http://perfectionkills.com/experimenting-with-html-minifier/#options), [testing results](http://perfectionkills.com/experimenting-with-html-minifier/#field_testing) and [conclusions](http://perfectionkills.com/experimenting-with-html-minifier/#cost_and_benefits).\n\n[Test suite is available online](http://kangax.github.com/html-minifier/tests/index.html).\n\nInstalling with [npm](https://github.com/isaacs/npm):\n\n npm install html-minifier\n\nBuilding distribution:\n\n > cat src/htmlparser.js src/htmlminifier.js src/htmllint.js > dist/all.js\n\nTesting locally:\n\n > npm test\n',
5183 silly resolved readmeFilename: 'README.md',
5183 silly resolved bugs: { url: 'https://github.com/kangax/html-minifier/issues' },
5183 silly resolved homepage: 'https://github.com/kangax/html-minifier',
5183 silly resolved _id: 'html-minifier@0.5.4',
5183 silly resolved _from: 'html-minifier@~0.5.0' },
5183 silly resolved { name: 'grunt-lib-contrib',
5183 silly resolved description: 'Common functionality shared across grunt-contrib tasks.',
5183 silly resolved version: '0.6.1',
5183 silly resolved homepage: 'http://github.com/gruntjs/grunt-lib-contrib',
5183 silly resolved author: { name: 'Grunt Team', url: 'http://gruntjs.com/' },
5183 silly resolved repository:
5183 silly resolved { type: 'git',
5183 silly resolved url: 'git://github.com/gruntjs/grunt-lib-contrib.git' },
5183 silly resolved bugs: { url: 'https://github.com/gruntjs/grunt-lib-contrib/issues' },
5183 silly resolved licenses: [ [Object] ],
5183 silly resolved engines: { node: '>= 0.8.0' },
5183 silly resolved scripts: { test: 'grunt test' },
5183 silly resolved devDependencies:
5183 silly resolved { 'grunt-contrib-jshint': '~0.1.1',
5183 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
5183 silly resolved grunt: '~0.4.0' },
5183 silly resolved main: 'lib/contrib',
5183 silly resolved dependencies: { 'zlib-browserify': '0.0.1' },
5183 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
5183 silly resolved readme: '# grunt-lib-contrib [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-lib-contrib.png?branch=master)](http://travis-ci.org/gruntjs/grunt-lib-contrib)\n\n> Common functionality shared across grunt-contrib tasks.\n\nThe purpose of grunt-lib-contrib is to explore solutions to common problems task writers encounter, and to ease the upgrade path for contrib tasks.\n\n**These APIs should be considered highly unstable. Depend on them at your own risk!**\n\n_Over time, some of the functionality provided here may be incorporated directly into grunt for mainstream use. Until then, you may require `grunt-lib-contrib` as a dependency in your projects, but be very careful to specify an exact version number instead of a range, as backwards-incompatible changes are likely to be introduced._\n\n### Helper Functions\n\n#### getNamespaceDeclaration(ns)\n\nThis helper is used to build JS namespace declarations.\n\n#### optsToArgs(options)\n\nConvert an object to an array of CLI arguments, which can be used with `child_process.spawn()`.\n\n```js\n// Example\n{\n fooBar: \'a\', // [\'--foo-bar\', \'a\']\n fooBar: 1, // [\'--foo-bar\', \'1\']\n fooBar: true, // [\'--foo-bar\']\n fooBar: false, //\n fooBar: [\'a\', \'b\'] // [\'--foo-bar\', \'a\', \'--foo-bar\', \'b\']\n}\n```\n\n#### stripPath(pth, strip)\n\nStrip a path from a path. normalize both paths for best results.\n\n#### minMaxInfo(min, max, report)\n\nHelper for logging compressed, uncompressed and gzipped sizes of strings.\n\n#### report\nChoices: `false`, `\'min\'`, `\'gzip\'`\nDefault: `false`\n\nEither do not report anything, report only minification result, or report minification and gzip results.\n\n**Important** Including `\'gzip\'` results can make this task 5-10x slower depending on the size of the file.\n\n\n```js\nvar max = grunt.file.read(\'max.js\');\nvar min = minify(max);\nminMaxInfo(min, max, \'gzip\');\n```\n\nWould print:\n\n```\nOriginal: 495 bytes.\nMinified: 396 bytes.\nGzipped: 36 bytes.\n```\n\n--\n\n*Lib submitted by [Tyler Kellen](https://goingslowly.com/).*',
5183 silly resolved readmeFilename: 'README.md',
5183 silly resolved _id: 'grunt-lib-contrib@0.6.1',
5183 silly resolved _from: 'grunt-lib-contrib@~0.6.1' } ]
5184 info install html-minifier@0.5.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin
5185 info install grunt-lib-contrib@0.6.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin
5186 info installOne html-minifier@0.5.4
5187 info installOne grunt-lib-contrib@0.6.1
5188 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/html-minifier unbuild
5189 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib unbuild
5190 verbose tar unpack /home/spike/.npm/html-minifier/0.5.4/package.tgz
5191 silly lockFile ac23cc10-mlmin-node-modules-html-minifier tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/html-minifier
5192 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/html-minifier /home/spike/.npm/ac23cc10-mlmin-node-modules-html-minifier.lock
5193 silly lockFile bbf35e1e--html-minifier-0-5-4-package-tgz tar:///home/spike/.npm/html-minifier/0.5.4/package.tgz
5194 verbose lock tar:///home/spike/.npm/html-minifier/0.5.4/package.tgz /home/spike/.npm/bbf35e1e--html-minifier-0-5-4-package-tgz.lock
5195 verbose tar unpack /home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
5196 silly lockFile 37051f8a-n-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib
5197 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib /home/spike/.npm/37051f8a-n-node-modules-grunt-lib-contrib.lock
5198 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
5199 verbose lock tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz /home/spike/.npm/b3fc8f97-nt-lib-contrib-0-6-1-package-tgz.lock
5200 silly gunzTarPerm modes [ '755', '644' ]
5201 silly gunzTarPerm modes [ '755', '644' ]
5202 silly gunzTarPerm extractEntry package.json
5203 silly gunzTarPerm extractEntry package.json
5204 silly gunzTarPerm extractEntry .npmignore
5205 silly gunzTarPerm extractEntry README.md
5206 silly gunzTarPerm extractEntry .npmignore
5207 silly gunzTarPerm extractEntry README.md
5208 silly gunzTarPerm extractEntry Gruntfile.js
5209 silly gunzTarPerm extractEntry AUTHORS
5210 silly gunzTarPerm extractEntry LICENSE
5211 silly gunzTarPerm extractEntry .jshintrc
5212 silly gunzTarPerm extractEntry CHANGELOG
5213 silly gunzTarPerm extractEntry .jshintrc
5214 silly gunzTarPerm extractEntry dist/all.js
5215 silly gunzTarPerm extractEntry src/htmllint.js
5216 silly gunzTarPerm extractEntry src/htmlminifier.js
5217 silly gunzTarPerm extractEntry src/htmlparser.js
5218 silly gunzTarPerm extractEntry LICENSE-MIT
5219 silly gunzTarPerm extractEntry .gitattributes
5220 silly gunzTarPerm extractEntry lib/contrib.js
5221 silly gunzTarPerm extractEntry .travis.yml
5222 silly gunzTarPerm extractEntry test/lib_test.js
5223 silly lockFile 37051f8a-n-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib
5224 silly lockFile 37051f8a-n-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib
5225 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
5226 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
5227 info preinstall grunt-lib-contrib@0.6.1
5228 verbose readDependencies using package.json deps
5229 verbose readDependencies using package.json deps
5230 verbose cache add [ 'zlib-browserify@0.0.1', null ]
5231 verbose cache add name=undefined spec="zlib-browserify@0.0.1" args=["zlib-browserify@0.0.1",null]
5232 verbose parsed url { protocol: null,
5232 verbose parsed url slashes: null,
5232 verbose parsed url auth: null,
5232 verbose parsed url host: null,
5232 verbose parsed url port: null,
5232 verbose parsed url hostname: null,
5232 verbose parsed url hash: null,
5232 verbose parsed url search: null,
5232 verbose parsed url query: null,
5232 verbose parsed url pathname: 'zlib-browserify@0.0.1',
5232 verbose parsed url path: 'zlib-browserify@0.0.1',
5232 verbose parsed url href: 'zlib-browserify@0.0.1' }
5233 verbose cache add name="zlib-browserify" spec="0.0.1" args=["zlib-browserify","0.0.1"]
5234 verbose parsed url { protocol: null,
5234 verbose parsed url slashes: null,
5234 verbose parsed url auth: null,
5234 verbose parsed url host: null,
5234 verbose parsed url port: null,
5234 verbose parsed url hostname: null,
5234 verbose parsed url hash: null,
5234 verbose parsed url search: null,
5234 verbose parsed url query: null,
5234 verbose parsed url pathname: '0.0.1',
5234 verbose parsed url path: '0.0.1',
5234 verbose parsed url href: '0.0.1' }
5235 verbose addNamed [ 'zlib-browserify', '0.0.1' ]
5236 verbose addNamed [ '0.0.1', '0.0.1' ]
5237 silly lockFile 84e77944-zlib-browserify-0-0-1 zlib-browserify@0.0.1
5238 verbose lock zlib-browserify@0.0.1 /home/spike/.npm/84e77944-zlib-browserify-0-0-1.lock
5239 verbose url raw zlib-browserify/0.0.1
5240 verbose url resolving [ 'https://registry.npmjs.org/', './zlib-browserify/0.0.1' ]
5241 verbose url resolved https://registry.npmjs.org/zlib-browserify/0.0.1
5242 info trying registry request attempt 1 at 11:44:33
5243 verbose etag "GY58R7QRINTUX67GBI8TKMWV"
5244 http GET https://registry.npmjs.org/zlib-browserify/0.0.1
5245 silly lockFile ac23cc10-mlmin-node-modules-html-minifier tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/html-minifier
5246 silly lockFile ac23cc10-mlmin-node-modules-html-minifier tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/html-minifier
5247 silly lockFile bbf35e1e--html-minifier-0-5-4-package-tgz tar:///home/spike/.npm/html-minifier/0.5.4/package.tgz
5248 silly lockFile bbf35e1e--html-minifier-0-5-4-package-tgz tar:///home/spike/.npm/html-minifier/0.5.4/package.tgz
5249 info preinstall html-minifier@0.5.4
5250 verbose readDependencies using package.json deps
5251 verbose readDependencies using package.json deps
5252 silly resolved []
5253 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/html-minifier
5254 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/html-minifier
5255 verbose linkStuff [ false,
5255 verbose linkStuff false,
5255 verbose linkStuff false,
5255 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules' ]
5256 info linkStuff html-minifier@0.5.4
5257 verbose linkBins html-minifier@0.5.4
5258 verbose linkMans html-minifier@0.5.4
5259 verbose rebuildBundles html-minifier@0.5.4
5260 info install html-minifier@0.5.4
5261 info postinstall html-minifier@0.5.4
5262 http 200 https://registry.npmjs.org/connect-livereload
5263 silly registry.get cb [ 200,
5263 silly registry.get { vary: 'Accept',
5263 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
5263 silly registry.get etag: '"E2LT1UMU8A6GFYS8X2BRIKSU7"',
5263 silly registry.get date: 'Mon, 16 Dec 2013 10:44:33 GMT',
5263 silly registry.get 'content-type': 'application/json',
5263 silly registry.get 'content-length': '33246' } ]
5264 silly addNameRange number 2 { name: 'connect-livereload',
5264 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
5264 silly addNameRange hasData: true }
5265 silly addNameRange versions [ 'connect-livereload',
5265 silly addNameRange [ '0.0.2',
5265 silly addNameRange '0.0.3',
5265 silly addNameRange '0.1.0',
5265 silly addNameRange '0.1.1',
5265 silly addNameRange '0.1.2',
5265 silly addNameRange '0.1.3',
5265 silly addNameRange '0.1.4',
5265 silly addNameRange '0.2.0',
5265 silly addNameRange '0.3.0',
5265 silly addNameRange '0.3.1' ] ]
5266 verbose addNamed [ 'connect-livereload', '0.2.0' ]
5267 verbose addNamed [ '0.2.0', '0.2.0' ]
5268 silly lockFile 34a70f1d-connect-livereload-0-2-0 connect-livereload@0.2.0
5269 verbose lock connect-livereload@0.2.0 /home/spike/.npm/34a70f1d-connect-livereload-0-2-0.lock
5270 silly lockFile 34a70f1d-connect-livereload-0-2-0 connect-livereload@0.2.0
5271 silly lockFile 34a70f1d-connect-livereload-0-2-0 connect-livereload@0.2.0
5272 silly lockFile 78f564f0-connect-livereload-0-2-0 connect-livereload@~0.2.0
5273 silly lockFile 78f564f0-connect-livereload-0-2-0 connect-livereload@~0.2.0
5274 http 304 https://registry.npmjs.org/debug
5275 silly registry.get cb [ 304,
5275 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
5275 silly registry.get etag: '"6DRWHTWW7STZY5U5Q0NZX2DF0"',
5275 silly registry.get date: 'Mon, 16 Dec 2013 10:44:34 GMT',
5275 silly registry.get 'content-length': '0' } ]
5276 verbose etag debug from cache
5277 silly addNameRange number 2 { name: 'debug', range: '>=0.7.2-0 <0.8.0-0', hasData: true }
5278 silly addNameRange versions [ 'debug',
5278 silly addNameRange [ '0.0.1',
5278 silly addNameRange '0.1.0',
5278 silly addNameRange '0.2.0',
5278 silly addNameRange '0.3.0',
5278 silly addNameRange '0.4.0',
5278 silly addNameRange '0.4.1',
5278 silly addNameRange '0.5.0',
5278 silly addNameRange '0.6.0',
5278 silly addNameRange '0.7.0',
5278 silly addNameRange '0.7.1',
5278 silly addNameRange '0.7.2',
5278 silly addNameRange '0.7.3',
5278 silly addNameRange '0.7.4' ] ]
5279 verbose addNamed [ 'debug', '0.7.4' ]
5280 verbose addNamed [ '0.7.4', '0.7.4' ]
5281 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
5282 verbose lock debug@0.7.4 /home/spike/.npm/16160008-debug-0-7-4.lock
5283 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
5284 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
5285 silly lockFile d0156cbb-debug-0-7-2 debug@~0.7.2
5286 silly lockFile d0156cbb-debug-0-7-2 debug@~0.7.2
5287 http 200 https://registry.npmjs.org/ngmin
5288 silly registry.get cb [ 200,
5288 silly registry.get { vary: 'Accept',
5288 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
5288 silly registry.get etag: '"58BZBI43A7APZE4JNBEW4GWB9"',
5288 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
5288 silly registry.get 'content-type': 'application/json',
5288 silly registry.get 'content-length': '73279' } ]
5289 silly addNameRange number 2 { name: 'ngmin', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
5290 silly addNameRange versions [ 'ngmin',
5290 silly addNameRange [ '0.0.1',
5290 silly addNameRange '0.0.2',
5290 silly addNameRange '0.0.3',
5290 silly addNameRange '0.0.4',
5290 silly addNameRange '0.2.0',
5290 silly addNameRange '0.3.0',
5290 silly addNameRange '0.3.1',
5290 silly addNameRange '0.3.2',
5290 silly addNameRange '0.3.3',
5290 silly addNameRange '0.3.4',
5290 silly addNameRange '0.3.5',
5290 silly addNameRange '0.3.6',
5290 silly addNameRange '0.3.7',
5290 silly addNameRange '0.3.8',
5290 silly addNameRange '0.4.0' ] ]
5291 verbose addNamed [ 'ngmin', '0.4.0' ]
5292 verbose addNamed [ '0.4.0', '0.4.0' ]
5293 silly lockFile 88e35816-ngmin-0-4-0 ngmin@0.4.0
5294 verbose lock ngmin@0.4.0 /home/spike/.npm/88e35816-ngmin-0-4-0.lock
5295 silly lockFile 88e35816-ngmin-0-4-0 ngmin@0.4.0
5296 silly lockFile 88e35816-ngmin-0-4-0 ngmin@0.4.0
5297 silly lockFile 29dc7218-ngmin-0-4-0 ngmin@~0.4.0
5298 silly lockFile 29dc7218-ngmin-0-4-0 ngmin@~0.4.0
5299 silly resolved [ { name: 'ngmin',
5299 silly resolved description: 'AngularJS Minifier',
5299 silly resolved version: '0.4.0',
5299 silly resolved author: { name: 'Brian Ford' },
5299 silly resolved license: 'MIT',
5299 silly resolved main: 'main.js',
5299 silly resolved dependencies:
5299 silly resolved { astral: '~0.1.0',
5299 silly resolved 'astral-angular-annotate': '~0.0.1',
5299 silly resolved escodegen: '~0.0.15',
5299 silly resolved esprima: '~1.0.2',
5299 silly resolved commander: '~1.1.1',
5299 silly resolved clone: '~0.1.6' },
5299 silly resolved devDependencies: { should: '~1.2.1', mocha: '~1.5.0' },
5299 silly resolved keywords: [ 'angularjs', 'minifier' ],
5299 silly resolved repository: { type: 'git', url: 'git://github.com/btford/ngmin' },
5299 silly resolved bin: { ngmin: './bin/ngmin' },
5299 silly resolved scripts: { test: 'mocha' },
5299 silly resolved readme: '# ngmin\n[![Build Status](https://travis-ci.org/btford/ngmin.png?branch=master)](https://travis-ci.org/btford/ngmin)\n\nngmin is an AngularJS application pre-minifier. The goal is ultimately to use this alongside yeoman and grunt to make developing and building Angular apps fast, easy, and fun.\n\n## tl;dr\nTurns this\n\n```\nangular.module(\'whatever\').controller(\'MyCtrl\', function ($scope, $http) { ... });\n```\n\ninto\n\n```\nangular.module(\'whatever\').controller(\'MyCtrl\', [\'$scope\', \'$http\', function ($scope, $http) { ... }]);\n```\n\nso that minifiers can handle AngularJS\'s DI annotations and you can save a few keystrokes.\n\n## Installation\nInstall via npm:\n```bash\nnpm install -g ngmin\n```\n\n## Grunt Task\n`ngmin` is available as a [Grunt](http://gruntjs.com/) task as [`grunt-ngmin`](https://github.com/btford/grunt-ngmin).\n\n## Rails (Asset Pipeline)\n\n`ngmin` is available for Rails via [`ngmin-rails`](http://rubygems.org/gems/ngmin-rails).\n\n## CLI Usage\n\nIdeally, you should concat all of your files, then run `ngmin` once on the concatenated file.\n\n```bash\nngmin somefile.js somefile.annotate.js\n```\n\nFrom here, the annotated file(s) to a minifier.\n\n`ngmin` also accepts stdio. The following is the same as above:\n\n```bash\nngmin < somefile.js > somefile.annotate.js\n```\n\n## Conventions\n`ngmin` does not currently attempt to be fully generalized, and might not work if you\'re too clever. If you follow these conventions, which are the same as what the AngularJS Yeoman generator defaults, you should be fine.\n\n### Module Declaration\n\n```javascript\n// like this\nangular.module(\'myModuleName\', [\'dependOnThisModule\']);\n```\n\n### Controller Declaration\n\n```javascript\n// like this\nangular.module(\'myModuleName\').controller(\'MyCtrl\', function ($scope) {\n // ...\n});\n```\n\n### Service Declaration\nThis should work for all injectable APIs.\n\n```javascript\n// like this\nangular.module(\'myModuleName\').service(\'myService\', function ($scope) {\n // ...\n});\n```\n\n### Chaining\nYou can methods like this, and `ngmin` should still work fine:\n\n```javascript\n// like this\nangular.module(\'myModuleName\').\n service(\'myFirstService\', function ($scope) {\n // ...\n }).\n service(\'mySecondService\', function ($scope) {\n // ...\n });\n```\n\nThis works with all injectable APIs.\n\n### References\nThis is not the preferred way of dealing with modules, and thus support for it isn\'t completely comprehensive. Something like this will work:\n```javascript\nvar myMod = angular.module(\'myMod\', []);\nmyMod.service(\'myService\', function ($scope) {\n // ...\n});\n```\n\nBut something like this will probably fail spectacularly:\n```javascript\nvar myMod = angular.module(\'myMod\', []);\nvar mod1, mod2, mod3;\nmod1 = myMod;\nmod3 = (function () {\n return mod2 = mod1;\n}());\nmod3.service(\'myService\', function ($scope) {\n // ...\n});\n```\n\nPlease don\'t write code like the second example. :)\n\n## Conceptual Overview\nAngularJS\'s DI system inspects function parameters to determine what to inject:\n```javascript\n// angular knows to inject "myService" based on the parameter in "myFactory"\nsomeModule.factory(\'myFactory\', function (myService) {\n // ...\n});\n```\nAngularJS does this for `Module#controller`, `Module#service`, `Module#factory`, etc. Check out the [developer guide on DI](http://docs.angularjs.org/guide/di) for more info.\n\nJavaScript minifiers rename function parameters. The code above, when minified, might look like this:\n```javascript\n// the "myService" parameter has been renamed to "a" to save precious bytes\nsomeModule.factory(\'myFactory\', function (a) {\n // ...\n});\n```\n\nTo overcome this, AngularJS has a "minifier-safe inline" notation (see [Inline Annotation](http://docs.angularjs.org/guide/di) in the docs) that annotates `angular.controller`, `angular.service`, `angular.factory` with an array of dependencies\' names as strings:\n```javascript\n// angular knows to inject "myService" based on the parameter in "myFactory"\nsomeModule.factory(\'myFactory\', [\'myService\', function (myService) {\n // ...\n}]);\n```\n\nSo with this notation, when minified, still includes the correct dependency names even if the function arguments are re-written:\n```javascript\nsomeModule.factory(\'myFactory\', [\'myService\', function (a) {\n // minified variable "a" will represent "myService"\n // ...\n}]);\n```\n\nWriting the "minifier-safe" version by hand is kind of annoying because you have to keep both the array of dependency names and function parameters in sync.\n',
5299 silly resolved readmeFilename: 'README.md',
5299 silly resolved bugs: { url: 'https://github.com/btford/ngmin/issues' },
5299 silly resolved homepage: 'https://github.com/btford/ngmin',
5299 silly resolved _id: 'ngmin@0.4.0',
5299 silly resolved _from: 'ngmin@~0.4.0' } ]
5300 info install ngmin@0.4.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin
5301 info installOne ngmin@0.4.0
5302 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin unbuild
5303 verbose tar unpack /home/spike/.npm/ngmin/0.4.0/package.tgz
5304 silly lockFile cd1006b6-s-grunt-ngmin-node-modules-ngmin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
5305 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin /home/spike/.npm/cd1006b6-s-grunt-ngmin-node-modules-ngmin.lock
5306 silly lockFile 9580e8dc-pike-npm-ngmin-0-4-0-package-tgz tar:///home/spike/.npm/ngmin/0.4.0/package.tgz
5307 verbose lock tar:///home/spike/.npm/ngmin/0.4.0/package.tgz /home/spike/.npm/9580e8dc-pike-npm-ngmin-0-4-0-package-tgz.lock
5308 silly gunzTarPerm modes [ '755', '644' ]
5309 silly gunzTarPerm extractEntry package.json
5310 silly gunzTarPerm extractEntry README.md
5311 silly gunzTarPerm extractEntry main.js
5312 silly gunzTarPerm extractEntry .travis.yml
5313 silly gunzTarPerm extractEntry bin/ngmin
5314 silly gunzTarPerm extractEntry test/chain.js
5315 silly gunzTarPerm extractEntry test/directive.js
5316 silly gunzTarPerm extractEntry test/loader.js
5317 silly gunzTarPerm extractEntry test/reference.js
5318 silly gunzTarPerm extractEntry test/simple.js
5319 silly gunzTarPerm extractEntry test/util.js
5320 http 304 https://registry.npmjs.org/lodash
5321 silly registry.get cb [ 304,
5321 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
5321 silly registry.get etag: '"5HHGKIDWZB2G25HTOQTC7BAR5"',
5321 silly registry.get date: 'Mon, 16 Dec 2013 10:44:34 GMT',
5321 silly registry.get 'content-length': '0' } ]
5322 verbose etag lodash from cache
5323 silly addNameRange number 2 { name: 'lodash', range: '>=1.0.1-0 <1.1.0-0', hasData: true }
5324 silly addNameRange versions [ 'lodash',
5324 silly addNameRange [ '0.1.0',
5324 silly addNameRange '0.2.0',
5324 silly addNameRange '0.2.1',
5324 silly addNameRange '0.2.2',
5324 silly addNameRange '0.3.0',
5324 silly addNameRange '0.3.1',
5324 silly addNameRange '0.3.2',
5324 silly addNameRange '0.4.0',
5324 silly addNameRange '0.4.1',
5324 silly addNameRange '0.4.2',
5324 silly addNameRange '0.5.0-rc.1',
5324 silly addNameRange '0.5.0',
5324 silly addNameRange '0.5.1',
5324 silly addNameRange '0.5.2',
5324 silly addNameRange '0.6.0',
5324 silly addNameRange '0.6.1',
5324 silly addNameRange '0.7.0',
5324 silly addNameRange '0.8.0',
5324 silly addNameRange '0.8.1',
5324 silly addNameRange '0.8.2',
5324 silly addNameRange '0.9.0',
5324 silly addNameRange '0.9.1',
5324 silly addNameRange '0.9.2',
5324 silly addNameRange '0.10.0',
5324 silly addNameRange '1.0.0-rc.1',
5324 silly addNameRange '1.0.0-rc.2',
5324 silly addNameRange '1.0.0-rc.3',
5324 silly addNameRange '1.0.0',
5324 silly addNameRange '1.0.1',
5324 silly addNameRange '1.1.0',
5324 silly addNameRange '1.1.1',
5324 silly addNameRange '1.2.0',
5324 silly addNameRange '1.2.1',
5324 silly addNameRange '1.3.0',
5324 silly addNameRange '1.3.1',
5324 silly addNameRange '2.0.0',
5324 silly addNameRange '2.1.0',
5324 silly addNameRange '2.2.0',
5324 silly addNameRange '2.2.1',
5324 silly addNameRange '2.3.0',
5324 silly addNameRange '2.4.0',
5324 silly addNameRange '2.4.1' ] ]
5325 verbose addNamed [ 'lodash', '1.0.1' ]
5326 verbose addNamed [ '1.0.1', '1.0.1' ]
5327 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
5328 verbose lock lodash@1.0.1 /home/spike/.npm/e2e1e8db-lodash-1-0-1.lock
5329 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
5330 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
5331 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
5332 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
5333 silly resolved [ { name: 'debug',
5333 silly resolved version: '0.7.4',
5333 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
5333 silly resolved description: 'small debugging utility',
5333 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
5333 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
5333 silly resolved dependencies: {},
5333 silly resolved devDependencies: { mocha: '*' },
5333 silly resolved main: 'lib/debug.js',
5333 silly resolved browser: './debug.js',
5333 silly resolved engines: { node: '*' },
5333 silly resolved files: [ 'lib/debug.js', 'debug.js', 'index.js' ],
5333 silly resolved component: { scripts: [Object] },
5333 silly resolved readme: '# debug\n\n tiny node.js debugging utility modelled after node core\'s debugging technique.\n\n## Installation\n\n```\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you\'re used to work fine. A unique color is selected per-function for visibility.\n \nExample _app.js_:\n\n```js\nvar debug = require(\'debug\')(\'http\')\n , http = require(\'http\')\n , name = \'My App\';\n\n// fake app\n\ndebug(\'booting %s\', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + \' \' + req.url);\n res.end(\'hello\\n\');\n}).listen(3000, function(){\n debug(\'listening\');\n});\n\n// fake worker of some kind\n\nrequire(\'./worker\');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require(\'debug\')(\'worker\');\n\nsetInterval(function(){\n debug(\'doing some work\');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_\n \n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n \n## Conventions\n\n If you\'re using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". \n\n## Wildcards\n\n The "*" character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=* -connect:*` would include all debuggers except those starting with "connect:".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable(\'worker:*\')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. \n\n```js\na = debug(\'worker:a\');\nb = debug(\'worker:b\');\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1000);\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1200);\n```\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',
5333 silly resolved readmeFilename: 'Readme.md',
5333 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
5333 silly resolved homepage: 'https://github.com/visionmedia/debug',
5333 silly resolved _id: 'debug@0.7.4',
5333 silly resolved _from: 'debug@~0.7.2' },
5333 silly resolved { name: 'lodash',
5333 silly resolved version: '1.0.1',
5333 silly resolved description: 'An alternative to Underscore.js, delivering consistency, customization, performance, and extra features.',
5333 silly resolved homepage: 'http://lodash.com',
5333 silly resolved main: './dist/lodash',
5333 silly resolved keywords:
5333 silly resolved [ 'browser',
5333 silly resolved 'client',
5333 silly resolved 'functional',
5333 silly resolved 'performance',
5333 silly resolved 'server',
5333 silly resolved 'speed',
5333 silly resolved 'util' ],
5333 silly resolved licenses: [ [Object] ],
5333 silly resolved author:
5333 silly resolved { name: 'John-David Dalton',
5333 silly resolved email: 'john.david.dalton@gmail.com',
5333 silly resolved url: 'http://allyoucanleet.com/' },
5333 silly resolved bugs: { url: 'https://github.com/bestiejs/lodash/issues' },
5333 silly resolved repository: { type: 'git', url: 'https://github.com/bestiejs/lodash.git' },
5333 silly resolved bin: { lodash: './build.js' },
5333 silly resolved directories: { doc: './doc', test: './test' },
5333 silly resolved engines: [ 'node', 'rhino' ],
5333 silly resolved jam: { main: './lodash.js' },
5333 silly resolved scripts:
5333 silly resolved { build: 'node ./build.js',
5333 silly resolved test: 'node ./test/test.js ./dist/lodash.js && node ./test/test.js ./dist/lodash.min.js && node ./test/test-build.js' },
5333 silly resolved readme: '# Lo-Dash <sup>v1.0.1</sup>\n[![build status](https://secure.travis-ci.org/bestiejs/lodash.png)](http://travis-ci.org/bestiejs/lodash)\n\nAn alternative to Underscore.js, delivering consistency, [customization](https://github.com/bestiejs/lodash#custom-builds), [performance](http://lodash.com/benchmarks), and [extra features](https://github.com/bestiejs/lodash#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/bestiejs/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/bestiejs/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1s 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](https://github.com/bestiejs/lodash#custom-builds) with only the features you need\n\n## Dive in\n\nWeve 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/bestiejs/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-Dashs origin and why its a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dashs 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 objects own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an objects 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## Custom builds\n\nCustom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need.\nTo top it off, we handle all method dependency and alias mapping for you.\n\n * Backbone builds, with only methods required by Backbone, may be created using the `backbone` modifier argument.\n```bash\nlodash backbone\n```\n\n * CSP builds, supporting default [Content Security Policy](https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html) restrictions, may be created using the `csp` modifier argument.\n The `csp` modifier is an alais of the `mobile` modifier. Lo-Dash may be used in Chrome extensions by using either the `csp`, `mobile`, or `underscore` build and using precompiled templates, or loading Lo-Dash in a [sandbox](http://developer.chrome.com/stable/extensions/sandboxingEval.html).\n```bash\nlodash csp\n```\n\n * Legacy builds, tailored for older environments without [ES5 support](http://es5.github.com/), may be created using the `legacy` modifier argument.\n```bash\nlodash legacy\n```\n\n * Modern builds, tailored for newer environments with ES5 support, may be created using the `modern` modifier argument.\n```bash\nlodash modern\n```\n\n * Mobile builds, without method compilation and most bug fixes for old browsers, may be created using the `mobile` modifier argument.\n```bash\nlodash mobile\n```\n\n * Strict builds, with `_.bindAll`, `_.defaults`, and `_.extend` in [strict mode](http://es5.github.com/#C), may be created using the `strict` modifier argument.\n```bash\nlodash strict\n```\n\n * Underscore builds, tailored for projects already using Underscore, may be created using the `underscore` modifier argument.\n```bash\nlodash underscore\n```\n\nCustom builds may be created using the following commands:\n\n * Use the `category` argument to pass comma separated categories of methods to include in the build.<br>\n Valid categories (case-insensitive) are *“arrays”*, *“chaining”*, *“collections”*, *“functions”*, *“objects”*, and *“utilities”*.\n```bash\nlodash category=collections,functions\nlodash category="collections, functions"\n```\n\n * Use the `exports` argument to pass comma separated names of ways to export the `LoDash` function.<br>\n Valid exports are *“amd”*, *“commonjs”*, *“global”*, *“node”*, and *“none”*.\n```bash\nlodash exports=amd,commonjs,node\nlodash exports="amd, commonjs, node"\n```\n\n * Use the `iife` argument to specify code to replace the immediately-invoked function expression that wraps Lo-Dash.\n```bash\nlodash iife="!function(window,undefined){%output%}(this)"\n```\n\n * Use the `include` argument to pass comma separated method/category names to include in the build.\n```bash\nlodash include=each,filter,map\nlodash include="each, filter, map"\n```\n\n * Use the `minus` argument to pass comma separated method/category names to remove from those included in the build.\n```bash\nlodash underscore minus=result,shuffle\nlodash underscore minus="result, shuffle"\n```\n\n * Use the `plus` argument to pass comma separated method/category names to add to those included in the build.\n```bash\nlodash backbone plus=random,template\nlodash backbone plus="random, template"\n```\n\n * Use the `template` argument to pass the file path pattern used to match template files to precompile.\n```bash\nlodash template="./*.jst"\n```\n\n * Use the `settings` argument to pass the template settings used when precompiling templates.\n```bash\nlodash settings="{interpolate:/\\{\\{([\\s\\S]+?)\\}\\}/g}"\n```\n\n * Use the `moduleId` argument to specify the AMD module ID of Lo-Dash, which defaults to “lodash”, used by precompiled templates.\n```bash\nlodash moduleId="underscore"\n```\n\nAll arguments, except `legacy` with `csp`, `mobile`, `modern`, or `underscore`, may be combined.<br>\nUnless specified by `-o` or `--output`, all files created are saved to the current working directory.\n\nThe following options are also supported:\n\n * `-c`, `--stdout` ......... Write output to standard output\n * `-d`, `--debug` ........... Write only the non-minified development output\n * `-h`, `--help` ............. Display help information\n * `-m`, `--minify` ......... Write only the minified production output\n * `-o`, `--output` ......... Write output to a given path/filename\n * `-p`, `--source-map` .. Generate a source map for the minified output, using an optional source map URL\n * `-s`, `--silent` ......... Skip status updates normally logged to the console\n * `-V`, `--version` ....... Output current version of Lo-Dash\n\nThe `lodash` command-line utility is available when Lo-Dash is installed as a global package (i.e. `npm install -g lodash`).\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 projects 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/bestiejs/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the 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* [John-David Dalton](http://allyoucanleet.com/)\n [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter")\n\n## Contributors\n\n* [Kit Cambridge](http://kitcambridge.github.com/)\n [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter")\n* [Mathias Bynens](http://mathiasbynens.be/)\n [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter")\n',
5333 silly resolved readmeFilename: 'README.md',
5333 silly resolved _id: 'lodash@1.0.1',
5333 silly resolved _from: 'lodash@~1.0.1' } ]
5334 info install debug@0.7.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin
5335 info install lodash@1.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin
5336 info installOne debug@0.7.4
5337 info installOne lodash@1.0.1
5338 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/debug unbuild
5339 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/lodash unbuild
5340 verbose tar unpack /home/spike/.npm/debug/0.7.4/package.tgz
5341 silly lockFile 9bf5a28f--grunt-usemin-node-modules-debug tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/debug
5342 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/debug /home/spike/.npm/9bf5a28f--grunt-usemin-node-modules-debug.lock
5343 silly lockFile 4a3c682e-pike-npm-debug-0-7-4-package-tgz tar:///home/spike/.npm/debug/0.7.4/package.tgz
5344 verbose lock tar:///home/spike/.npm/debug/0.7.4/package.tgz /home/spike/.npm/4a3c682e-pike-npm-debug-0-7-4-package-tgz.lock
5345 verbose tar unpack /home/spike/.npm/lodash/1.0.1/package.tgz
5346 silly lockFile 047bacb7-grunt-usemin-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/lodash
5347 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/lodash /home/spike/.npm/047bacb7-grunt-usemin-node-modules-lodash.lock
5348 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
5349 verbose lock tar:///home/spike/.npm/lodash/1.0.1/package.tgz /home/spike/.npm/807a5ae3-ike-npm-lodash-1-0-1-package-tgz.lock
5350 silly gunzTarPerm modes [ '755', '644' ]
5351 silly gunzTarPerm modes [ '755', '644' ]
5352 silly gunzTarPerm extractEntry package.json
5353 silly gunzTarPerm extractEntry package.json
5354 silly gunzTarPerm extractEntry debug.js
5355 silly gunzTarPerm extractEntry index.js
5356 silly gunzTarPerm extractEntry README.md
5357 silly gunzTarPerm extractEntry index.js
5358 silly gunzTarPerm extractEntry Readme.md
5359 silly gunzTarPerm extractEntry lib/debug.js
5360 silly lockFile cd1006b6-s-grunt-ngmin-node-modules-ngmin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
5361 silly lockFile cd1006b6-s-grunt-ngmin-node-modules-ngmin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
5362 silly gunzTarPerm extractEntry build.js
5363 silly lockFile 9580e8dc-pike-npm-ngmin-0-4-0-package-tgz tar:///home/spike/.npm/ngmin/0.4.0/package.tgz
5364 silly lockFile 9580e8dc-pike-npm-ngmin-0-4-0-package-tgz tar:///home/spike/.npm/ngmin/0.4.0/package.tgz
5365 info preinstall ngmin@0.4.0
5366 verbose readDependencies using package.json deps
5367 verbose readDependencies using package.json deps
5368 silly gunzTarPerm extractEntry lodash.js
5369 verbose cache add [ 'escodegen@~0.0.15', null ]
5370 verbose cache add name=undefined spec="escodegen@~0.0.15" args=["escodegen@~0.0.15",null]
5371 verbose parsed url { protocol: null,
5371 verbose parsed url slashes: null,
5371 verbose parsed url auth: null,
5371 verbose parsed url host: null,
5371 verbose parsed url port: null,
5371 verbose parsed url hostname: null,
5371 verbose parsed url hash: null,
5371 verbose parsed url search: null,
5371 verbose parsed url query: null,
5371 verbose parsed url pathname: 'escodegen@~0.0.15',
5371 verbose parsed url path: 'escodegen@~0.0.15',
5371 verbose parsed url href: 'escodegen@~0.0.15' }
5372 verbose cache add name="escodegen" spec="~0.0.15" args=["escodegen","~0.0.15"]
5373 verbose parsed url { protocol: null,
5373 verbose parsed url slashes: null,
5373 verbose parsed url auth: null,
5373 verbose parsed url host: null,
5373 verbose parsed url port: null,
5373 verbose parsed url hostname: null,
5373 verbose parsed url hash: null,
5373 verbose parsed url search: null,
5373 verbose parsed url query: null,
5373 verbose parsed url pathname: '~0.0.15',
5373 verbose parsed url path: '~0.0.15',
5373 verbose parsed url href: '~0.0.15' }
5374 verbose addNamed [ 'escodegen', '~0.0.15' ]
5375 verbose addNamed [ null, '>=0.0.15-0 <0.1.0-0' ]
5376 silly lockFile cbc3c76c-escodegen-0-0-15 escodegen@~0.0.15
5377 verbose lock escodegen@~0.0.15 /home/spike/.npm/cbc3c76c-escodegen-0-0-15.lock
5378 silly gunzTarPerm extractEntry doc/README.md
5379 verbose cache add [ 'commander@~1.1.1', null ]
5380 verbose cache add name=undefined spec="commander@~1.1.1" args=["commander@~1.1.1",null]
5381 verbose parsed url { protocol: null,
5381 verbose parsed url slashes: null,
5381 verbose parsed url auth: null,
5381 verbose parsed url host: null,
5381 verbose parsed url port: null,
5381 verbose parsed url hostname: null,
5381 verbose parsed url hash: null,
5381 verbose parsed url search: null,
5381 verbose parsed url query: null,
5381 verbose parsed url pathname: 'commander@~1.1.1',
5381 verbose parsed url path: 'commander@~1.1.1',
5381 verbose parsed url href: 'commander@~1.1.1' }
5382 verbose cache add name="commander" spec="~1.1.1" args=["commander","~1.1.1"]
5383 verbose parsed url { protocol: null,
5383 verbose parsed url slashes: null,
5383 verbose parsed url auth: null,
5383 verbose parsed url host: null,
5383 verbose parsed url port: null,
5383 verbose parsed url hostname: null,
5383 verbose parsed url hash: null,
5383 verbose parsed url search: null,
5383 verbose parsed url query: null,
5383 verbose parsed url pathname: '~1.1.1',
5383 verbose parsed url path: '~1.1.1',
5383 verbose parsed url href: '~1.1.1' }
5384 verbose addNamed [ 'commander', '~1.1.1' ]
5385 verbose addNamed [ null, '>=1.1.1-0 <1.2.0-0' ]
5386 silly lockFile f812655f-commander-1-1-1 commander@~1.1.1
5387 verbose lock commander@~1.1.1 /home/spike/.npm/f812655f-commander-1-1-1.lock
5388 verbose cache add [ 'esprima@~1.0.2', null ]
5389 verbose cache add name=undefined spec="esprima@~1.0.2" args=["esprima@~1.0.2",null]
5390 verbose parsed url { protocol: null,
5390 verbose parsed url slashes: null,
5390 verbose parsed url auth: null,
5390 verbose parsed url host: null,
5390 verbose parsed url port: null,
5390 verbose parsed url hostname: null,
5390 verbose parsed url hash: null,
5390 verbose parsed url search: null,
5390 verbose parsed url query: null,
5390 verbose parsed url pathname: 'esprima@~1.0.2',
5390 verbose parsed url path: 'esprima@~1.0.2',
5390 verbose parsed url href: 'esprima@~1.0.2' }
5391 verbose cache add name="esprima" spec="~1.0.2" args=["esprima","~1.0.2"]
5392 verbose parsed url { protocol: null,
5392 verbose parsed url slashes: null,
5392 verbose parsed url auth: null,
5392 verbose parsed url host: null,
5392 verbose parsed url port: null,
5392 verbose parsed url hostname: null,
5392 verbose parsed url hash: null,
5392 verbose parsed url search: null,
5392 verbose parsed url query: null,
5392 verbose parsed url pathname: '~1.0.2',
5392 verbose parsed url path: '~1.0.2',
5392 verbose parsed url href: '~1.0.2' }
5393 verbose addNamed [ 'esprima', '~1.0.2' ]
5394 verbose addNamed [ null, '>=1.0.2-0 <1.1.0-0' ]
5395 silly lockFile de249c7a-esprima-1-0-2 esprima@~1.0.2
5396 verbose lock esprima@~1.0.2 /home/spike/.npm/de249c7a-esprima-1-0-2.lock
5397 verbose cache add [ 'clone@~0.1.6', null ]
5398 verbose cache add name=undefined spec="clone@~0.1.6" args=["clone@~0.1.6",null]
5399 verbose parsed url { protocol: null,
5399 verbose parsed url slashes: null,
5399 verbose parsed url auth: null,
5399 verbose parsed url host: null,
5399 verbose parsed url port: null,
5399 verbose parsed url hostname: null,
5399 verbose parsed url hash: null,
5399 verbose parsed url search: null,
5399 verbose parsed url query: null,
5399 verbose parsed url pathname: 'clone@~0.1.6',
5399 verbose parsed url path: 'clone@~0.1.6',
5399 verbose parsed url href: 'clone@~0.1.6' }
5400 verbose cache add name="clone" spec="~0.1.6" args=["clone","~0.1.6"]
5401 verbose parsed url { protocol: null,
5401 verbose parsed url slashes: null,
5401 verbose parsed url auth: null,
5401 verbose parsed url host: null,
5401 verbose parsed url port: null,
5401 verbose parsed url hostname: null,
5401 verbose parsed url hash: null,
5401 verbose parsed url search: null,
5401 verbose parsed url query: null,
5401 verbose parsed url pathname: '~0.1.6',
5401 verbose parsed url path: '~0.1.6',
5401 verbose parsed url href: '~0.1.6' }
5402 verbose addNamed [ 'clone', '~0.1.6' ]
5403 verbose addNamed [ null, '>=0.1.6-0 <0.2.0-0' ]
5404 silly lockFile de9ce9f0-clone-0-1-6 clone@~0.1.6
5405 verbose lock clone@~0.1.6 /home/spike/.npm/de9ce9f0-clone-0-1-6.lock
5406 silly addNameRange { name: 'escodegen',
5406 silly addNameRange range: '>=0.0.15-0 <0.1.0-0',
5406 silly addNameRange hasData: false }
5407 silly addNameRange { name: 'commander',
5407 silly addNameRange range: '>=1.1.1-0 <1.2.0-0',
5407 silly addNameRange hasData: false }
5408 silly addNameRange { name: 'esprima', range: '>=1.0.2-0 <1.1.0-0', hasData: false }
5409 silly addNameRange { name: 'clone', range: '>=0.1.6-0 <0.2.0-0', hasData: false }
5410 verbose cache add [ 'astral@~0.1.0', null ]
5411 verbose cache add name=undefined spec="astral@~0.1.0" args=["astral@~0.1.0",null]
5412 verbose parsed url { protocol: null,
5412 verbose parsed url slashes: null,
5412 verbose parsed url auth: null,
5412 verbose parsed url host: null,
5412 verbose parsed url port: null,
5412 verbose parsed url hostname: null,
5412 verbose parsed url hash: null,
5412 verbose parsed url search: null,
5412 verbose parsed url query: null,
5412 verbose parsed url pathname: 'astral@~0.1.0',
5412 verbose parsed url path: 'astral@~0.1.0',
5412 verbose parsed url href: 'astral@~0.1.0' }
5413 verbose cache add name="astral" spec="~0.1.0" args=["astral","~0.1.0"]
5414 verbose parsed url { protocol: null,
5414 verbose parsed url slashes: null,
5414 verbose parsed url auth: null,
5414 verbose parsed url host: null,
5414 verbose parsed url port: null,
5414 verbose parsed url hostname: null,
5414 verbose parsed url hash: null,
5414 verbose parsed url search: null,
5414 verbose parsed url query: null,
5414 verbose parsed url pathname: '~0.1.0',
5414 verbose parsed url path: '~0.1.0',
5414 verbose parsed url href: '~0.1.0' }
5415 verbose addNamed [ 'astral', '~0.1.0' ]
5416 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
5417 silly lockFile 8a786c2e-astral-0-1-0 astral@~0.1.0
5418 verbose lock astral@~0.1.0 /home/spike/.npm/8a786c2e-astral-0-1-0.lock
5419 silly gunzTarPerm extractEntry build/minify.js
5420 silly addNameRange { name: 'astral', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
5421 verbose cache add [ 'astral-angular-annotate@~0.0.1', null ]
5422 verbose cache add name=undefined spec="astral-angular-annotate@~0.0.1" args=["astral-angular-annotate@~0.0.1",null]
5423 verbose parsed url { protocol: null,
5423 verbose parsed url slashes: null,
5423 verbose parsed url auth: null,
5423 verbose parsed url host: null,
5423 verbose parsed url port: null,
5423 verbose parsed url hostname: null,
5423 verbose parsed url hash: null,
5423 verbose parsed url search: null,
5423 verbose parsed url query: null,
5423 verbose parsed url pathname: 'astral-angular-annotate@~0.0.1',
5423 verbose parsed url path: 'astral-angular-annotate@~0.0.1',
5423 verbose parsed url href: 'astral-angular-annotate@~0.0.1' }
5424 verbose cache add name="astral-angular-annotate" spec="~0.0.1" args=["astral-angular-annotate","~0.0.1"]
5425 verbose parsed url { protocol: null,
5425 verbose parsed url slashes: null,
5425 verbose parsed url auth: null,
5425 verbose parsed url host: null,
5425 verbose parsed url port: null,
5425 verbose parsed url hostname: null,
5425 verbose parsed url hash: null,
5425 verbose parsed url search: null,
5425 verbose parsed url query: null,
5425 verbose parsed url pathname: '~0.0.1',
5425 verbose parsed url path: '~0.0.1',
5425 verbose parsed url href: '~0.0.1' }
5426 verbose addNamed [ 'astral-angular-annotate', '~0.0.1' ]
5427 verbose addNamed [ null, '>=0.0.1-0 <0.1.0-0' ]
5428 silly lockFile 255d5822-astral-angular-annotate-0-0-1 astral-angular-annotate@~0.0.1
5429 verbose lock astral-angular-annotate@~0.0.1 /home/spike/.npm/255d5822-astral-angular-annotate-0-0-1.lock
5430 verbose url raw esprima
5431 verbose url resolving [ 'https://registry.npmjs.org/', './esprima' ]
5432 verbose url resolved https://registry.npmjs.org/esprima
5433 info trying registry request attempt 1 at 11:44:34
5434 verbose etag "6B69DHUWLCB00ZJRRIW4V26YG"
5435 http GET https://registry.npmjs.org/esprima
5436 verbose url raw escodegen
5437 verbose url resolving [ 'https://registry.npmjs.org/', './escodegen' ]
5438 verbose url resolved https://registry.npmjs.org/escodegen
5439 info trying registry request attempt 1 at 11:44:34
5440 verbose etag "A5Y8MD5MYBSKGFLH8DF693778"
5441 http GET https://registry.npmjs.org/escodegen
5442 verbose url raw commander
5443 verbose url resolving [ 'https://registry.npmjs.org/', './commander' ]
5444 verbose url resolved https://registry.npmjs.org/commander
5445 info trying registry request attempt 1 at 11:44:34
5446 verbose etag "27IZG02YYKQFVTUPHC3CC5OQ5"
5447 http GET https://registry.npmjs.org/commander
5448 silly addNameRange { name: 'astral-angular-annotate',
5448 silly addNameRange range: '>=0.0.1-0 <0.1.0-0',
5448 silly addNameRange hasData: false }
5449 verbose url raw clone
5450 verbose url resolving [ 'https://registry.npmjs.org/', './clone' ]
5451 verbose url resolved https://registry.npmjs.org/clone
5452 info trying registry request attempt 1 at 11:44:34
5453 verbose etag "AYATEBK9C47OHSW53KP7DDAV0"
5454 http GET https://registry.npmjs.org/clone
5455 verbose url raw astral
5456 verbose url resolving [ 'https://registry.npmjs.org/', './astral' ]
5457 verbose url resolved https://registry.npmjs.org/astral
5458 info trying registry request attempt 1 at 11:44:34
5459 verbose etag "28MJ3HYNRUSLO7XW9XXKWS2DH"
5460 http GET https://registry.npmjs.org/astral
5461 verbose url raw astral-angular-annotate
5462 verbose url resolving [ 'https://registry.npmjs.org/', './astral-angular-annotate' ]
5463 verbose url resolved https://registry.npmjs.org/astral-angular-annotate
5464 info trying registry request attempt 1 at 11:44:34
5465 verbose etag "8VHPS2V6JZQACKT8MDV7LRGGN"
5466 http GET https://registry.npmjs.org/astral-angular-annotate
5467 silly lockFile 9bf5a28f--grunt-usemin-node-modules-debug tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/debug
5468 silly lockFile 9bf5a28f--grunt-usemin-node-modules-debug tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/debug
5469 silly lockFile 4a3c682e-pike-npm-debug-0-7-4-package-tgz tar:///home/spike/.npm/debug/0.7.4/package.tgz
5470 silly lockFile 4a3c682e-pike-npm-debug-0-7-4-package-tgz tar:///home/spike/.npm/debug/0.7.4/package.tgz
5471 info preinstall debug@0.7.4
5472 verbose readDependencies using package.json deps
5473 verbose readDependencies using package.json deps
5474 silly resolved []
5475 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/debug
5476 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/debug
5477 verbose linkStuff [ false,
5477 verbose linkStuff false,
5477 verbose linkStuff false,
5477 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules' ]
5478 info linkStuff debug@0.7.4
5479 verbose linkBins debug@0.7.4
5480 verbose linkMans debug@0.7.4
5481 verbose rebuildBundles debug@0.7.4
5482 info install debug@0.7.4
5483 info postinstall debug@0.7.4
5484 silly gunzTarPerm extractEntry build/post-compile.js
5485 silly gunzTarPerm extractEntry build/pre-compile.js
5486 silly gunzTarPerm extractEntry LICENSE.txt
5487 silly gunzTarPerm extractEntry dist/lodash.compat.js
5488 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
5489 silly gunzTarPerm extractEntry dist/lodash.js
5490 silly gunzTarPerm extractEntry dist/lodash.min.js
5491 silly gunzTarPerm extractEntry dist/lodash.underscore.js
5492 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
5493 silly gunzTarPerm extractEntry perf/perf.js
5494 silly gunzTarPerm extractEntry test/test-build.js
5495 silly gunzTarPerm extractEntry test/test.js
5496 silly gunzTarPerm extractEntry test/template/a.jst
5497 silly gunzTarPerm extractEntry test/template/b.jst
5498 silly gunzTarPerm extractEntry test/template/c.jst
5499 silly gunzTarPerm extractEntry test/template/d.tpl
5500 silly gunzTarPerm extractEntry vendor/benchmark.js/README.md
5501 silly gunzTarPerm extractEntry vendor/benchmark.js/benchmark.js
5502 silly gunzTarPerm extractEntry vendor/benchmark.js/LICENSE.txt
5503 silly gunzTarPerm extractEntry vendor/platform.js/README.md
5504 silly gunzTarPerm extractEntry vendor/platform.js/platform.js
5505 silly gunzTarPerm extractEntry vendor/platform.js/LICENSE.txt
5506 silly gunzTarPerm extractEntry vendor/qunit/README.md
5507 silly gunzTarPerm extractEntry vendor/qunit/qunit/qunit.js
5508 silly gunzTarPerm extractEntry vendor/qunit-clib/README.md
5509 silly gunzTarPerm extractEntry vendor/qunit-clib/qunit-clib.js
5510 silly gunzTarPerm extractEntry vendor/qunit-clib/LICENSE.txt
5511 silly gunzTarPerm extractEntry vendor/tar/README.md
5512 silly gunzTarPerm extractEntry vendor/tar/tar.js
5513 silly gunzTarPerm extractEntry vendor/tar/lib/buffer-entry.js
5514 silly gunzTarPerm extractEntry vendor/tar/lib/entry-writer.js
5515 silly gunzTarPerm extractEntry vendor/tar/lib/entry.js
5516 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header-writer.js
5517 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header.js
5518 silly gunzTarPerm extractEntry vendor/tar/lib/extract.js
5519 silly gunzTarPerm extractEntry vendor/tar/lib/global-header-writer.js
5520 silly gunzTarPerm extractEntry vendor/tar/lib/header.js
5521 silly gunzTarPerm extractEntry vendor/tar/lib/pack.js
5522 silly gunzTarPerm extractEntry vendor/tar/lib/parse.js
5523 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/README.md
5524 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/LICENCE
5525 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/block-stream.js
5526 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/README.md
5527 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/LICENCE
5528 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/fstream.js
5529 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/abstract.js
5530 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-writer.js
5531 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-reader.js
5532 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-writer.js
5533 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/get-type.js
5534 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-reader.js
5535 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-writer.js
5536 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-reader.js
5537 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-writer.js
5538 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/reader.js
5539 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/socket-reader.js
5540 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/collect.js
5541 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/writer.js
5542 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-reader.js
5543 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/README.md
5544 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/LICENSE
5545 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/graceful-fs.js
5546 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/README.md
5547 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/inherits.js
5548 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/LICENSE
5549 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/index.js
5550 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/README.markdown
5551 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/README.md
5552 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/LICENSE
5553 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/rimraf.js
5554 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/AUTHORS
5555 silly gunzTarPerm extractEntry vendor/underscore/README.md
5556 silly gunzTarPerm extractEntry vendor/underscore/LICENSE
5557 silly gunzTarPerm extractEntry vendor/underscore/underscore.js
5558 silly lockFile 047bacb7-grunt-usemin-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/lodash
5559 silly lockFile 047bacb7-grunt-usemin-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/lodash
5560 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
5561 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
5562 info preinstall lodash@1.0.1
5563 verbose readDependencies using package.json deps
5564 verbose readDependencies using package.json deps
5565 silly resolved []
5566 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/lodash
5567 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/lodash
5568 verbose linkStuff [ false,
5568 verbose linkStuff false,
5568 verbose linkStuff false,
5568 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules' ]
5569 info linkStuff lodash@1.0.1
5570 verbose linkBins lodash@1.0.1
5571 verbose link bins [ { lodash: './build.js' },
5571 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin/node_modules/.bin',
5571 verbose link bins false ]
5572 verbose linkMans lodash@1.0.1
5573 verbose rebuildBundles lodash@1.0.1
5574 info install lodash@1.0.1
5575 info postinstall lodash@1.0.1
5576 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin
5577 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-usemin
5578 verbose linkStuff [ false,
5578 verbose linkStuff false,
5578 verbose linkStuff false,
5578 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
5579 info linkStuff grunt-usemin@2.0.2
5580 verbose linkBins grunt-usemin@2.0.2
5581 verbose linkMans grunt-usemin@2.0.2
5582 verbose rebuildBundles grunt-usemin@2.0.2
5583 verbose rebuildBundles [ '.bin', 'debug', 'lodash' ]
5584 info install grunt-usemin@2.0.2
5585 info postinstall grunt-usemin@2.0.2
5586 http 200 https://registry.npmjs.org/grunt-lib-contrib
5587 silly registry.get cb [ 200,
5587 silly registry.get { vary: 'Accept',
5587 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
5587 silly registry.get etag: '"CN79PDDBSQYTDP6QRQISOU9MM"',
5587 silly registry.get date: 'Mon, 16 Dec 2013 10:44:34 GMT',
5587 silly registry.get 'content-type': 'application/json',
5587 silly registry.get 'content-length': '31639' } ]
5588 silly addNameRange number 2 { name: 'grunt-lib-contrib',
5588 silly addNameRange range: '>=0.6.0-0 <0.7.0-0',
5588 silly addNameRange hasData: true }
5589 silly addNameRange versions [ 'grunt-lib-contrib',
5589 silly addNameRange [ '0.3.0',
5589 silly addNameRange '0.3.1',
5589 silly addNameRange '0.4.0',
5589 silly addNameRange '0.5.1',
5589 silly addNameRange '0.5.2',
5589 silly addNameRange '0.5.3',
5589 silly addNameRange '0.6.0',
5589 silly addNameRange '0.6.1' ] ]
5590 verbose addNamed [ 'grunt-lib-contrib', '0.6.1' ]
5591 verbose addNamed [ '0.6.1', '0.6.1' ]
5592 silly lockFile 0ef65a81-grunt-lib-contrib-0-6-1 grunt-lib-contrib@0.6.1
5593 verbose lock grunt-lib-contrib@0.6.1 /home/spike/.npm/0ef65a81-grunt-lib-contrib-0-6-1.lock
5594 silly lockFile 0ef65a81-grunt-lib-contrib-0-6-1 grunt-lib-contrib@0.6.1
5595 silly lockFile 0ef65a81-grunt-lib-contrib-0-6-1 grunt-lib-contrib@0.6.1
5596 silly lockFile 572493f7-grunt-lib-contrib-0-6-0 grunt-lib-contrib@~0.6.0
5597 silly lockFile 572493f7-grunt-lib-contrib-0-6-0 grunt-lib-contrib@~0.6.0
5598 http 200 https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz
5599 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/tmp.tgz
5600 silly lockFile 051032bd-2414-0-31501330924220383-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package
5601 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package /home/spike/.npm/051032bd-2414-0-31501330924220383-package.lock
5602 silly lockFile 363291b3-2414-0-31501330924220383-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/tmp.tgz
5603 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/tmp.tgz /home/spike/.npm/363291b3-2414-0-31501330924220383-tmp-tgz.lock
5604 silly gunzTarPerm modes [ '755', '644' ]
5605 silly gunzTarPerm extractEntry package.json
5606 silly gunzTarPerm extractEntry bin/pngquant.js
5607 silly gunzTarPerm extractEntry lib/check.js
5608 silly gunzTarPerm extractEntry lib/pngquant.js
5609 silly gunzTarPerm extractEntry readme.md
5610 silly lockFile 051032bd-2414-0-31501330924220383-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package
5611 silly lockFile 051032bd-2414-0-31501330924220383-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package
5612 silly lockFile 363291b3-2414-0-31501330924220383-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/tmp.tgz
5613 silly lockFile 363291b3-2414-0-31501330924220383-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/tmp.tgz
5614 verbose tar pack [ '/home/spike/.npm/pngquant-bin/0.1.5/package.tgz',
5614 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package' ]
5615 verbose tarball /home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5616 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package
5617 silly lockFile 051032bd-2414-0-31501330924220383-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package
5618 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package /home/spike/.npm/051032bd-2414-0-31501330924220383-package.lock
5619 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5620 verbose lock tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz /home/spike/.npm/c35e0bbf-m-pngquant-bin-0-1-5-package-tgz.lock
5621 silly lockFile 051032bd-2414-0-31501330924220383-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package
5622 silly lockFile 051032bd-2414-0-31501330924220383-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672414-0.31501330924220383/package
5623 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5624 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5625 silly lockFile f893912f-e-npm-pngquant-bin-0-1-5-package /home/spike/.npm/pngquant-bin/0.1.5/package
5626 verbose lock /home/spike/.npm/pngquant-bin/0.1.5/package /home/spike/.npm/f893912f-e-npm-pngquant-bin-0-1-5-package.lock
5627 silly lockFile f893912f-e-npm-pngquant-bin-0-1-5-package /home/spike/.npm/pngquant-bin/0.1.5/package
5628 silly lockFile f893912f-e-npm-pngquant-bin-0-1-5-package /home/spike/.npm/pngquant-bin/0.1.5/package
5629 verbose tar unpack /home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5630 silly lockFile ee45342a-e-npm-pngquant-bin-0-1-5-package tar:///home/spike/.npm/pngquant-bin/0.1.5/package
5631 verbose lock tar:///home/spike/.npm/pngquant-bin/0.1.5/package /home/spike/.npm/ee45342a-e-npm-pngquant-bin-0-1-5-package.lock
5632 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5633 verbose lock tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz /home/spike/.npm/c35e0bbf-m-pngquant-bin-0-1-5-package-tgz.lock
5634 silly gunzTarPerm modes [ '755', '644' ]
5635 silly gunzTarPerm extractEntry package.json
5636 silly gunzTarPerm extractEntry bin/pngquant.js
5637 silly gunzTarPerm extractEntry lib/check.js
5638 silly gunzTarPerm extractEntry lib/pngquant.js
5639 silly gunzTarPerm extractEntry readme.md
5640 silly lockFile ee45342a-e-npm-pngquant-bin-0-1-5-package tar:///home/spike/.npm/pngquant-bin/0.1.5/package
5641 silly lockFile ee45342a-e-npm-pngquant-bin-0-1-5-package tar:///home/spike/.npm/pngquant-bin/0.1.5/package
5642 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5643 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5644 verbose chmod /home/spike/.npm/pngquant-bin/0.1.5/package.tgz 644
5645 verbose chown /home/spike/.npm/pngquant-bin/0.1.5/package.tgz [ 1000, 1000 ]
5646 silly lockFile a41b6c21-quant-bin-pngquant-bin-0-1-5-tgz https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz
5647 silly lockFile a41b6c21-quant-bin-pngquant-bin-0-1-5-tgz https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz
5648 silly lockFile 60f49643-pngquant-bin-0-1-5 pngquant-bin@0.1.5
5649 silly lockFile 60f49643-pngquant-bin-0-1-5 pngquant-bin@0.1.5
5650 silly lockFile b67fe8f9-pngquant-bin-0-1-0 pngquant-bin@~0.1.0
5651 silly lockFile b67fe8f9-pngquant-bin-0-1-0 pngquant-bin@~0.1.0
5652 silly resolved [ { name: 'filesize',
5652 silly resolved description: 'JavaScript library to generate a human readable String describing the file size',
5652 silly resolved version: '1.10.0',
5652 silly resolved homepage: 'http://filesizejs.com',
5652 silly resolved author:
5652 silly resolved { name: 'Jason Mulligan',
5652 silly resolved email: 'jason.mulligan@avoidwork.com' },
5652 silly resolved repository:
5652 silly resolved { type: 'git',
5652 silly resolved url: 'git://github.com/avoidwork/filesize.js.git' },
5652 silly resolved bugs: { url: 'https://github.com/avoidwork/filesize.js/issues' },
5652 silly resolved licenses: [ [Object] ],
5652 silly resolved main: 'lib/filesize',
5652 silly resolved engines: { node: '>= 0.4.0' },
5652 silly resolved scripts: { test: 'grunt test' },
5652 silly resolved devDependencies:
5652 silly resolved { grunt: '~0.4.1',
5652 silly resolved 'grunt-cli': '~0.1.6',
5652 silly resolved 'grunt-exec': '~0.4',
5652 silly resolved 'grunt-sed': '~0.1',
5652 silly resolved 'grunt-contrib-concat': '~0.1.3',
5652 silly resolved 'grunt-contrib-jshint': '~0.1',
5652 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
5652 silly resolved 'grunt-contrib-watch': '~0.2' },
5652 silly resolved keywords: [ 'file', 'filesize', 'size', 'readable', 'file system' ],
5652 silly resolved readme: '[![build status](https://secure.travis-ci.org/avoidwork/filesize.js.png)](http://travis-ci.org/avoidwork/filesize.js)\n# filesize.js\n\nfilesize.js provides a simple way to get a human readable file size string from a number (float or integer) or string. An optional second parameter is the decimal place to round to (default is 2), or _true_ which triggers Unix style output. An optional third parameter lets you disable `bit` sizes, e.g. "kb".\n\n## Examples\n\n1.10.0 switched to base 10, all previous versions use base 2.\n\n```javascript\nfilesize(500); // "4.00 Kb"\nfilesize(500, true); // "4.0k"\nfilesize(1500); // "1.50 KB"\nfilesize("1500000000"); // "1.50 GB"\nfilesize("1500000000", 0); // "2GB"\nfilesize(1212312421412412); // "1.21 PB PB"\nfilesize(1212312421412412, true); // "1.1P" - shorthand output, similar to "ls -h"\nfilesize(265318, 2, false) // "265.32 kB" - disabled `bit` sizes with third argument\n```\n\n## How can I load filesize.js?\n\nfilesize.js supports AMD loaders (require.js, curl.js, etc.), node.js & npm (npm install filesize), or using a script tag.\n\n## Support\n\nIf you\'re having problems with using the project, use the support forum at CodersClan.\n\n<a href="http://codersclan.net/forum/index.php?repo_id=11"><img src="http://www.codersclan.net/graphics/getSupport_blue_big.png" width="160"></a>\n\n## License\n\nfilesize.js is licensed under BSD-3 https://raw.github.com/avoidwork/filesize.js/master/LICENSE\n\n## Copyright\n\nCopyright (c) 2013, Jason Mulligan <jason.mulligan@avoidwork.com>\n',
5652 silly resolved readmeFilename: 'README.md',
5652 silly resolved _id: 'filesize@1.10.0',
5652 silly resolved _from: 'filesize@~1.10.0' },
5652 silly resolved { name: 'chalk',
5652 silly resolved version: '0.2.1',
5652 silly resolved description: 'Terminal string styling done right',
5652 silly resolved keywords:
5652 silly resolved [ 'color',
5652 silly resolved 'colour',
5652 silly resolved 'colors',
5652 silly resolved 'terminal',
5652 silly resolved 'console',
5652 silly resolved 'cli',
5652 silly resolved 'string',
5652 silly resolved 'ansi',
5652 silly resolved 'styles',
5652 silly resolved 'tty',
5652 silly resolved 'formatting',
5652 silly resolved 'rgb',
5652 silly resolved '256',
5652 silly resolved 'shell',
5652 silly resolved 'xterm',
5652 silly resolved 'log',
5652 silly resolved 'logging',
5652 silly resolved 'command-line',
5652 silly resolved 'text' ],
5652 silly resolved homepage: 'https://github.com/sindresorhus/chalk',
5652 silly resolved bugs: { url: 'https://github.com/sindresorhus/chalk/issues' },
5652 silly resolved license: 'MIT',
5652 silly resolved author:
5652 silly resolved { name: 'Sindre Sorhus',
5652 silly resolved email: 'sindresorhus@gmail.com',
5652 silly resolved url: 'http://sindresorhus.com' },
5652 silly resolved files: [ 'chalk.js' ],
5652 silly resolved main: 'chalk',
5652 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/chalk.git' },
5652 silly resolved scripts: { test: 'mocha' },
5652 silly resolved dependencies: { 'has-color': '~0.1.0', 'ansi-styles': '~0.2.0' },
5652 silly resolved devDependencies: { mocha: '~1.12.0' },
5652 silly resolved engines: { node: '>=0.8.0' },
5652 silly resolved readme: '# chalk [![Build Status](https://secure.travis-ci.org/sindresorhus/chalk.png?branch=master)](http://travis-ci.org/sindresorhus/chalk)\n\n> Terminal string styling done right.\n\n[colors.js](https://github.com/Marak/colors.js) is currently the most popular string styling module, but it has serious deficiencies like extending String.prototype which causes all kinds of problems. Although there are other ones, they either do too much or not enough.\n\n**Chalk is a clean and focused alternative.**\n\n![screenshot](screenshot.png)\n\n\n## Why\n\n- **Doesn\'t extend String.prototype**\n- Expressive API\n- Clean and focused\n- Auto-detects color support\n- Actively maintained\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/chalk): `npm install --save chalk`\n\n\n## Example\n\nChalk comes with an easy to use composable API where you just chain the styles you want.\n\n```js\nvar chalk = require(\'chalk\');\n\n// style a string\nconsole.log(chalk.blue(\'Hello world!\'));\n\n// combine styled and normal strings\nconsole.log(chalk.blue(\'Hello\') + \'World\' + chalk.red(\'!\'));\n\n// compose multiple styles using the chainable API\nconsole.log(chalk.blue.bgRed.bold(\'Hello world!\'));\n\n// nest styles\nchalk.red(\'Hello\' + chalk.underline.bgBlue(\'world\') + \'!\');\n```\n\nYou can easily define your own themes.\n\n```js\nvar chalk = require(\'chalk\');\nvar error = chalk.bold.red;\nconsole.log(error(\'Error!\'));\n```\n\n\n## API\n\n### chalk.\\<style>\\[.\\<style>...](string)\n\nChain [styles](#styles) and call the last one as a method with a string argument.\n\n\n### chalk.enabled\n\nColor support is automatically detected, but you can override it.\n\n### chalk.supportsColor\n\nDetect whether the terminal [supports color](https://github.com/sindresorhus/has-color).\n\nCan be overridden by the user with the flags `--color` and `--no-color`.\n\nUsed internally and handled for you, but exposed for convenience.\n\n### chalk.styles\n\nExposes the styles as [ANSI escape codes](https://github.com/sindresorhus/ansi-styles).\n\n```js\nvar chalk = require(\'chalk\');\n\nconsole.log(chalk.styles.red);\n//=> [\'\\x1b[31m\', \'\\x1b[39m\']\n\nconsole.log(chalk.styles.red[0] + \'Hello\' + chalk.styles.red[1]);\n// first item is the style escape code and second is the reset escape code\n```\n\n### chalk.stripColor(string)\n\nStrip color from a string.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
5652 silly resolved readmeFilename: 'readme.md',
5652 silly resolved _id: 'chalk@0.2.1',
5652 silly resolved _from: 'chalk@~0.2.0' },
5652 silly resolved { name: 'optipng-bin',
5652 silly resolved version: '0.3.1',
5652 silly resolved description: 'OptiPNG wrapper that makes it seamlessly available as a local dependency on OS X, Linux, FreeBSD and Windows',
5652 silly resolved keywords: [ 'png', 'compress', 'minify', 'optimize', 'img', 'image' ],
5652 silly resolved homepage: 'https://github.com/yeoman/node-optipng-bin',
5652 silly resolved bugs: { url: 'https://github.com/yeoman/node-optipng-bin/issues' },
5652 silly resolved author:
5652 silly resolved { name: 'Sindre Sorhus',
5652 silly resolved email: 'sindresorhus@gmail.com',
5652 silly resolved url: 'http://sindresorhus.com' },
5652 silly resolved maintainers: [ [Object], [Object] ],
5652 silly resolved main: 'lib/optipng',
5652 silly resolved bin: { optipng: 'bin/optipng.js' },
5652 silly resolved repository:
5652 silly resolved { type: 'git',
5652 silly resolved url: 'git://github.com/yeoman/node-optipng-bin.git' },
5652 silly resolved scripts: { test: 'mocha', postinstall: 'node lib/check.js' },
5652 silly resolved engines: { node: '>=0.8.0' },
5652 silly resolved licenses: [ [Object] ],
5652 silly resolved dependencies: { 'bin-wrapper': '~0.1.3', chalk: '~0.2.0' },
5652 silly resolved devDependencies: { mocha: '~1.13.0' },
5652 silly resolved files: [ 'bin', 'lib' ],
5652 silly resolved readme: '# node-optipng-bin [![Build Status](https://secure.travis-ci.org/yeoman/node-optipng-bin.png?branch=master)](http://travis-ci.org/yeoman/node-optipng-bin)\n\n[OptiPNG](http://optipng.sourceforge.net) 0.7.4 Node.js wrapper that makes it seamlessly available as a local dependency on OS X, Linux, FreeBSD, Solaris and Windows.\n\n> OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information.\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/optipng-bin): `npm install --save optipng-bin`\n\n\n## Example usage\n\n```js\nvar execFile = require(\'child_process\').execFile;\nvar optipngPath = require(\'optipng-bin\').path;\n\nexecFile(optipngPath, [\'-v\'], function(err, stdout, stderr) {\n console.log(\'OptiPNG version:\', stdout.match(/\\d\\.\\d\\.\\d/)[0]);\n});\n```\n\nCan also be run directly from `./node_modules/.bin/optipng`.\n\n\n## License\n\nEverything excluding the binaries licensed under the [BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google.\n\nOptiPNG licensed under the [zlib license](http://optipng.sourceforge.net/license.txt) and copyright Cosmin Truta and the Contributing Authors.\n',
5652 silly resolved readmeFilename: 'readme.md',
5652 silly resolved _id: 'optipng-bin@0.3.1',
5652 silly resolved dist: { shasum: '8cdaf72576c8dd60cb714e9ca35a55ece04b7cf8' },
5652 silly resolved _from: 'optipng-bin@~0.3.0',
5652 silly resolved _resolved: 'https://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.1.tgz' },
5652 silly resolved { name: 'jpegtran-bin',
5652 silly resolved version: '0.2.2',
5652 silly resolved description: 'jpegtran (part of libjpeg-turbo) wrapper that makes it seamlessly available as a local dependency on OS X, Linux, FreeBSD, Solaris and Windows. Most commonly used to losslessly minify JPEG images.',
5652 silly resolved keywords: [ 'jpeg', 'jpg', 'img', 'image', 'compress', 'minify', 'optimize' ],
5652 silly resolved homepage: 'https://github.com/yeoman/node-jpegtran-bin',
5652 silly resolved bugs: { url: 'https://github.com/yeoman/node-jpegtran-bin/issues' },
5652 silly resolved license: 'BSD',
5652 silly resolved author:
5652 silly resolved { name: 'Sindre Sorhus',
5652 silly resolved email: 'sindresorhus@gmail.com',
5652 silly resolved url: 'http://sindresorhus.com' },
5652 silly resolved maintainers: [ [Object], [Object] ],
5652 silly resolved main: 'lib/jpegtran',
5652 silly resolved bin: { jpegtran: 'bin/jpegtran.js' },
5652 silly resolved repository:
5652 silly resolved { type: 'git',
5652 silly resolved url: 'git://github.com/yeoman/node-jpegtran-bin.git' },
5652 silly resolved scripts: { test: 'mocha', postinstall: 'node lib/check.js' },
5652 silly resolved engines: { node: '>=0.8.0' },
5652 silly resolved dependencies: { 'bin-wrapper': '~0.1.3', chalk: '~0.2.0' },
5652 silly resolved devDependencies: { mocha: '~1.13.0' },
5652 silly resolved files: [ 'bin', 'lib', 'test' ],
5652 silly resolved readme: '# node-jpegtran-bin [![Build Status](https://secure.travis-ci.org/yeoman/node-jpegtran-bin.png?branch=master)](http://travis-ci.org/yeoman/node-jpegtran-bin)\r\n\r\njpegtran 1.3 (part of [libjpeg-turbo](http://libjpeg-turbo.virtualgl.org/)) Node.js wrapper that makes it seamlessly available as a local dependency on OS X, Linux, FreeBSD, Solaris and Windows. Most commonly used to losslessly minify JPEG images.\r\n\r\n> libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression on x86, x86-64, and ARM systems. On such systems, libjpeg-turbo is generally 2-4x as fast as the unmodified version of libjpeg, all else being equal.\r\n\r\n\r\n## Install\r\n\r\n- Install with [npm](https://npmjs.org/package/jpegtran-bin): `npm install --save jpegtran-bin`\r\n\r\n\r\n## Example usage\r\n\r\n```js\r\nvar execFile = require(\'child_process\').execFile;\r\nvar jpegtranPath = require(\'jpegtran-bin\').path;\r\n\r\nexecFile(jpegtranPath, [\'-outfile\', \'output.jpg\', \'input.jpg\'], function() {\r\n console.log(\'Image minified\');\r\n});\r\n```\r\n\r\nCan also be run directly from `./node_modules/.bin/jpegtran`.\r\n\r\n\r\n## Dev\r\n\r\nNote to self on how to update the binaries.\r\n\r\n### OS X and Linux\r\n\r\n- Run `npm install` to build the binary.\r\n\r\nThe `nasm` (Netwide Assember) package is required to build the binary on Ubuntu.\r\n\r\n### Windows\r\n\r\n- Download the [Windows files 32/64-bit](http://sourceforge.net/projects/libjpeg-turbo/files/) (GCC compiled) on a Windows machine\r\n- Run the downloaded file to extract\r\n- Go to the `bin` folder at the destination and copy `jpegtran.exe` and `libjpeg-62.dll`\r\n\r\n\r\n## License\r\n\r\nEverything excluding the binaries licensed under the [BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google.\r\n\r\nlibjpeg-turbo licensed under the BSD license and copyright dcommander.\r\n',
5652 silly resolved readmeFilename: 'readme.md',
5652 silly resolved _id: 'jpegtran-bin@0.2.2',
5652 silly resolved dist: { shasum: '9b9cc190f72e3809aff185f36d672e36b12e31dc' },
5652 silly resolved _from: 'jpegtran-bin@~0.2.0',
5652 silly resolved _resolved: 'https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.2.tgz' },
5652 silly resolved { name: 'gifsicle',
5652 silly resolved version: '0.1.4',
5652 silly resolved description: 'gifsicle wrapper that makes it seamlessly available as a local dependency on OS X, Linux and Windows',
5652 silly resolved keywords: [ 'gif', 'img', 'image', 'compress', 'minify', 'optimize' ],
5652 silly resolved homepage: 'https://github.com/yeoman/node-gifsicle',
5652 silly resolved bugs: { url: 'https://github.com/yeoman/node-gifsicle/issues' },
5652 silly resolved author:
5652 silly resolved { name: 'Kevin Martensson',
5652 silly resolved email: 'kevinmartensson@gmail.com',
5652 silly resolved url: 'http://kevinmartensson.com' },
5652 silly resolved license: 'BSD',
5652 silly resolved repository:
5652 silly resolved { type: 'git',
5652 silly resolved url: 'git://github.com/yeoman/node-gifsicle.git' },
5652 silly resolved main: 'lib/gifsicle',
5652 silly resolved bin: { gifsicle: 'bin/gifsicle.js' },
5652 silly resolved scripts: { test: 'mocha', postinstall: 'node lib/check.js' },
5652 silly resolved dependencies: { 'bin-wrapper': '~0.1.3', chalk: '~0.2.0' },
5652 silly resolved devDependencies: { mocha: '~1.13.0' },
5652 silly resolved engines: { node: '>=0.8.0' },
5652 silly resolved files: [ 'bin', 'lib' ],
5652 silly resolved readme: '# node-gifsicle [![Build Status](https://secure.travis-ci.org/yeoman/node-gifsicle.png?branch=master)](http://travis-ci.org/yeoman/node-gifsicle)\n\n[gifsicle](http://www.lcdf.org/gifsicle/) 1.71 Node.js wrapper that makes it seamlessly available as a local dependency on OS X, Linux and Windows.\n\n> gifsicle manipulates GIF image files in many different ways. Depending on command line options, it can merge several GIFs into a GIF animation; explode an animation into its component frames; change individual frames in an animation; turn interlacing on and off; add transparency and much more.\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/gifsicle): `npm install --save gifsicle`\n\n\n## Example usage\n\n```js\nvar execFile = require(\'child_process\').execFile;\nvar gifsiclePath = require(\'gifsicle\').path;\n\nexecFile(gifsiclePath, [\'-o\', \'output.gif\', \'input.gif\'], function() {\n\tconsole.log(\'Image minified\');\n});\n```\n\nCan also be run directly from `./node_modules/.bin/gifsicle`.\n\n\n## Dev\n\nNote to self on how to update the binaries.\n\n### OS X\n\nRun `npm install` on a OS X 10.7 machine to build the binary.\n\n### Linux\n\nRun `npm install` to build the binary.\n\n### Windows\n\n- Download the [Windows files 32/64-bit](http://www.lcdf.org/gifsicle/) on a Windows machine.\n- Run the downloaded file to extract.\n- Go to the `bin` folder at the destination and copy `gifsicle.exe`.\n\n\n## License\n\nEverything excluding the binaries licensed under the [BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google.\n\ngifsicle licensed under the GNU General Public License, Version 2.\n',
5652 silly resolved readmeFilename: 'readme.md',
5652 silly resolved _id: 'gifsicle@0.1.4',
5652 silly resolved dist: { shasum: '48fb26259e5451a2441dce5b2102c9cd3ce80566' },
5652 silly resolved _from: 'gifsicle@~0.1.0',
5652 silly resolved _resolved: 'https://registry.npmjs.org/gifsicle/-/gifsicle-0.1.4.tgz' },
5652 silly resolved { name: 'pngquant-bin',
5652 silly resolved version: '0.1.5',
5652 silly resolved description: 'pngquant wrapper that makes it seamlessly available as a local dependency on OS X, Linux and Windows',
5652 silly resolved keywords: [ 'png', 'img', 'image', 'compress', 'minify', 'optimize' ],
5652 silly resolved homepage: 'https://github.com/sindresorhus/node-pngquant-bin',
5652 silly resolved bugs: { url: 'https://github.com/sindresorhus/node-pngquant-bin/issues' },
5652 silly resolved license: 'MIT',
5652 silly resolved author:
5652 silly resolved { name: 'Sindre Sorhus',
5652 silly resolved email: 'sindresorhus@gmail.com',
5652 silly resolved url: 'http://sindresorhus.com' },
5652 silly resolved contributors: [ [Object] ],
5652 silly resolved files: [ 'bin', 'lib' ],
5652 silly resolved main: 'lib/pngquant',
5652 silly resolved bin: { pngquant: 'bin/pngquant.js' },
5652 silly resolved repository:
5652 silly resolved { type: 'git',
5652 silly resolved url: 'git://github.com/sindresorhus/node-pngquant-bin.git' },
5652 silly resolved scripts: { test: 'mocha', postinstall: 'node lib/check.js' },
5652 silly resolved dependencies: { 'bin-wrapper': '~0.1.3', chalk: '~0.2.0' },
5652 silly resolved devDependencies: { mocha: '~1.13.0' },
5652 silly resolved engines: { node: '>=0.8.0' },
5652 silly resolved readme: '# node-pngquant-bin [![Build Status](https://secure.travis-ci.org/sindresorhus/node-pngquant-bin.png?branch=master)](http://travis-ci.org/sindresorhus/node-pngquant-bin)\n\n[pngquant](http://pngquant.org) 1.8.4 Node.js wrapper that makes it seamlessly available as a local dependency on OS X, Linux and Windows.\n\n> pngquant is a command-line utility for converting 24/32-bit PNG images to paletted (8-bit) PNGs. The conversion reduces file sizes significantly (often as much as 70%) and preserves full alpha transparency.\n\n\n## Install\n\n- Install with [npm](https://npmjs.org/package/pngquant-bin): `npm install --save pngquant-bin`\n\n\n## Example usage\n\n```js\nvar execFile = require(\'child_process\').execFile;\nvar binPath = require(\'pngquant-bin\').path;\n\nexecFile(binPath, [\'input.png\'], function() {\n\tconsole.log(\'Image minified\');\n});\n```\n\nCan also be run directly from `./node_modules/.bin/pngquant`.\n\n\n## Dev\n\nNote to self on how to update the binaries.\n\n### OS X\n\n- Run `npm install` on a OS X 10.7 machine to build the binary.\n\n### Linux\n\n- Install dependencies by running `sudo apt-get install build-essential libpng-dev zlib1g-dev`.\n- Run `npm install` to build the binary.\n\n### Windows\n\n- Download the [Windows binary](http://pngquant.org/pngquant-windows.zip) and put it in `vendor/win/`.\n\n\n## License\n\nEverything except binaries: MIT License • © [Sindre Sorhus](http://sindresorhus.com)\n\ngifsicle licensed under the GNU General Public License, Version 2.\n',
5652 silly resolved readmeFilename: 'readme.md',
5652 silly resolved _id: 'pngquant-bin@0.1.5',
5652 silly resolved dist: { shasum: '4ca62ea6fd7c18d26f79b605025e3595a35ba2e5' },
5652 silly resolved _from: 'pngquant-bin@~0.1.0',
5652 silly resolved _resolved: 'https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.1.5.tgz' } ]
5653 info install filesize@1.10.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin
5654 info install chalk@0.2.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin
5655 info install optipng-bin@0.3.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin
5656 info install jpegtran-bin@0.2.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin
5657 info install gifsicle@0.1.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin
5658 info install pngquant-bin@0.1.5 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin
5659 info installOne filesize@1.10.0
5660 info installOne chalk@0.2.1
5661 info installOne optipng-bin@0.3.1
5662 info installOne jpegtran-bin@0.2.2
5663 info installOne gifsicle@0.1.4
5664 info installOne pngquant-bin@0.1.5
5665 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/filesize unbuild
5666 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk unbuild
5667 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin unbuild
5668 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin unbuild
5669 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle unbuild
5670 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin unbuild
5671 verbose tar unpack /home/spike/.npm/filesize/1.10.0/package.tgz
5672 silly lockFile 4916bb2c-b-imagemin-node-modules-filesize tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/filesize
5673 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/filesize /home/spike/.npm/4916bb2c-b-imagemin-node-modules-filesize.lock
5674 silly lockFile 84f0d56a--npm-filesize-1-10-0-package-tgz tar:///home/spike/.npm/filesize/1.10.0/package.tgz
5675 verbose lock tar:///home/spike/.npm/filesize/1.10.0/package.tgz /home/spike/.npm/84f0d56a--npm-filesize-1-10-0-package-tgz.lock
5676 verbose tar unpack /home/spike/.npm/chalk/0.2.1/package.tgz
5677 silly lockFile 376d4533-trib-imagemin-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk
5678 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk /home/spike/.npm/376d4533-trib-imagemin-node-modules-chalk.lock
5679 silly lockFile 54de923f-pike-npm-chalk-0-2-1-package-tgz tar:///home/spike/.npm/chalk/0.2.1/package.tgz
5680 verbose lock tar:///home/spike/.npm/chalk/0.2.1/package.tgz /home/spike/.npm/54de923f-pike-npm-chalk-0-2-1-package-tgz.lock
5681 verbose tar unpack /home/spike/.npm/optipng-bin/0.3.1/package.tgz
5682 silly lockFile eb296350-magemin-node-modules-optipng-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin
5683 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin /home/spike/.npm/eb296350-magemin-node-modules-optipng-bin.lock
5684 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
5685 verbose lock tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz /home/spike/.npm/bafc2b70-pm-optipng-bin-0-3-1-package-tgz.lock
5686 verbose tar unpack /home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
5687 silly lockFile 234349c8-agemin-node-modules-jpegtran-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin
5688 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin /home/spike/.npm/234349c8-agemin-node-modules-jpegtran-bin.lock
5689 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
5690 verbose lock tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz /home/spike/.npm/12d7a567-m-jpegtran-bin-0-2-2-package-tgz.lock
5691 verbose tar unpack /home/spike/.npm/gifsicle/0.1.4/package.tgz
5692 silly lockFile d3a6e9de-b-imagemin-node-modules-gifsicle tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle
5693 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle /home/spike/.npm/d3a6e9de-b-imagemin-node-modules-gifsicle.lock
5694 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5695 verbose lock tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz /home/spike/.npm/3bd31049-e-npm-gifsicle-0-1-4-package-tgz.lock
5696 verbose tar unpack /home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5697 silly lockFile 8c2d3aa7-agemin-node-modules-pngquant-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin
5698 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin /home/spike/.npm/8c2d3aa7-agemin-node-modules-pngquant-bin.lock
5699 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5700 verbose lock tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz /home/spike/.npm/c35e0bbf-m-pngquant-bin-0-1-5-package-tgz.lock
5701 silly gunzTarPerm modes [ '755', '644' ]
5702 silly gunzTarPerm modes [ '755', '644' ]
5703 silly gunzTarPerm modes [ '755', '644' ]
5704 silly gunzTarPerm modes [ '755', '644' ]
5705 silly gunzTarPerm modes [ '755', '644' ]
5706 silly gunzTarPerm modes [ '755', '644' ]
5707 silly gunzTarPerm extractEntry package.json
5708 silly gunzTarPerm extractEntry package.json
5709 silly gunzTarPerm extractEntry package.json
5710 silly gunzTarPerm extractEntry package.json
5711 silly gunzTarPerm extractEntry package.json
5712 silly gunzTarPerm extractEntry package.json
5713 silly gunzTarPerm extractEntry .npmignore
5714 silly gunzTarPerm extractEntry README.md
5715 silly gunzTarPerm extractEntry chalk.js
5716 silly gunzTarPerm extractEntry readme.md
5717 silly gunzTarPerm extractEntry bin/optipng.js
5718 silly gunzTarPerm extractEntry lib/check.js
5719 silly gunzTarPerm extractEntry bin/jpegtran.js
5720 silly gunzTarPerm extractEntry lib/check.js
5721 silly gunzTarPerm extractEntry bin/gifsicle.js
5722 silly gunzTarPerm extractEntry lib/check.js
5723 silly gunzTarPerm extractEntry bin/pngquant.js
5724 silly gunzTarPerm extractEntry lib/check.js
5725 silly gunzTarPerm extractEntry LICENSE
5726 silly gunzTarPerm extractEntry lib/filesize.js
5727 silly gunzTarPerm extractEntry lib/gifsicle.js
5728 silly gunzTarPerm extractEntry readme.md
5729 silly gunzTarPerm extractEntry lib/optipng.js
5730 silly gunzTarPerm extractEntry readme.md
5731 silly gunzTarPerm extractEntry lib/jpegtran.js
5732 silly gunzTarPerm extractEntry readme.md
5733 silly gunzTarPerm extractEntry lib/pngquant.js
5734 silly gunzTarPerm extractEntry readme.md
5735 silly gunzTarPerm extractEntry test/test-build.js
5736 silly gunzTarPerm extractEntry test/test-path.js
5737 silly gunzTarPerm extractEntry test/fixtures/test.jpg
5738 silly lockFile 376d4533-trib-imagemin-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk
5739 silly lockFile 376d4533-trib-imagemin-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk
5740 silly lockFile 54de923f-pike-npm-chalk-0-2-1-package-tgz tar:///home/spike/.npm/chalk/0.2.1/package.tgz
5741 silly lockFile 54de923f-pike-npm-chalk-0-2-1-package-tgz tar:///home/spike/.npm/chalk/0.2.1/package.tgz
5742 info preinstall chalk@0.2.1
5743 verbose readDependencies using package.json deps
5744 verbose readDependencies using package.json deps
5745 verbose cache add [ 'has-color@~0.1.0', null ]
5746 verbose cache add name=undefined spec="has-color@~0.1.0" args=["has-color@~0.1.0",null]
5747 verbose parsed url { protocol: null,
5747 verbose parsed url slashes: null,
5747 verbose parsed url auth: null,
5747 verbose parsed url host: null,
5747 verbose parsed url port: null,
5747 verbose parsed url hostname: null,
5747 verbose parsed url hash: null,
5747 verbose parsed url search: null,
5747 verbose parsed url query: null,
5747 verbose parsed url pathname: 'has-color@~0.1.0',
5747 verbose parsed url path: 'has-color@~0.1.0',
5747 verbose parsed url href: 'has-color@~0.1.0' }
5748 verbose cache add name="has-color" spec="~0.1.0" args=["has-color","~0.1.0"]
5749 verbose parsed url { protocol: null,
5749 verbose parsed url slashes: null,
5749 verbose parsed url auth: null,
5749 verbose parsed url host: null,
5749 verbose parsed url port: null,
5749 verbose parsed url hostname: null,
5749 verbose parsed url hash: null,
5749 verbose parsed url search: null,
5749 verbose parsed url query: null,
5749 verbose parsed url pathname: '~0.1.0',
5749 verbose parsed url path: '~0.1.0',
5749 verbose parsed url href: '~0.1.0' }
5750 verbose addNamed [ 'has-color', '~0.1.0' ]
5751 verbose cache add [ 'ansi-styles@~0.2.0', null ]
5752 verbose cache add name=undefined spec="ansi-styles@~0.2.0" args=["ansi-styles@~0.2.0",null]
5753 verbose parsed url { protocol: null,
5753 verbose parsed url slashes: null,
5753 verbose parsed url auth: null,
5753 verbose parsed url host: null,
5753 verbose parsed url port: null,
5753 verbose parsed url hostname: null,
5753 verbose parsed url hash: null,
5753 verbose parsed url search: null,
5753 verbose parsed url query: null,
5753 verbose parsed url pathname: 'ansi-styles@~0.2.0',
5753 verbose parsed url path: 'ansi-styles@~0.2.0',
5753 verbose parsed url href: 'ansi-styles@~0.2.0' }
5754 verbose cache add name="ansi-styles" spec="~0.2.0" args=["ansi-styles","~0.2.0"]
5755 verbose parsed url { protocol: null,
5755 verbose parsed url slashes: null,
5755 verbose parsed url auth: null,
5755 verbose parsed url host: null,
5755 verbose parsed url port: null,
5755 verbose parsed url hostname: null,
5755 verbose parsed url hash: null,
5755 verbose parsed url search: null,
5755 verbose parsed url query: null,
5755 verbose parsed url pathname: '~0.2.0',
5755 verbose parsed url path: '~0.2.0',
5755 verbose parsed url href: '~0.2.0' }
5756 verbose addNamed [ 'ansi-styles', '~0.2.0' ]
5757 silly lockFile eb296350-magemin-node-modules-optipng-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin
5758 silly lockFile eb296350-magemin-node-modules-optipng-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin
5759 silly lockFile 8c2d3aa7-agemin-node-modules-pngquant-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin
5760 silly lockFile 8c2d3aa7-agemin-node-modules-pngquant-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin
5761 silly lockFile d3a6e9de-b-imagemin-node-modules-gifsicle tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle
5762 silly lockFile d3a6e9de-b-imagemin-node-modules-gifsicle tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle
5763 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
5764 silly lockFile bafc2b70-pm-optipng-bin-0-3-1-package-tgz tar:///home/spike/.npm/optipng-bin/0.3.1/package.tgz
5765 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5766 silly lockFile c35e0bbf-m-pngquant-bin-0-1-5-package-tgz tar:///home/spike/.npm/pngquant-bin/0.1.5/package.tgz
5767 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5768 silly lockFile 3bd31049-e-npm-gifsicle-0-1-4-package-tgz tar:///home/spike/.npm/gifsicle/0.1.4/package.tgz
5769 silly lockFile 4916bb2c-b-imagemin-node-modules-filesize tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/filesize
5770 silly lockFile 4916bb2c-b-imagemin-node-modules-filesize tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/filesize
5771 silly lockFile 84f0d56a--npm-filesize-1-10-0-package-tgz tar:///home/spike/.npm/filesize/1.10.0/package.tgz
5772 silly lockFile 84f0d56a--npm-filesize-1-10-0-package-tgz tar:///home/spike/.npm/filesize/1.10.0/package.tgz
5773 info preinstall optipng-bin@0.3.1
5774 info preinstall pngquant-bin@0.1.5
5775 info preinstall gifsicle@0.1.4
5776 verbose readDependencies using package.json deps
5777 verbose readDependencies using package.json deps
5778 info preinstall filesize@1.10.0
5779 verbose readDependencies using package.json deps
5780 verbose readDependencies using package.json deps
5781 verbose readDependencies using package.json deps
5782 verbose readDependencies using package.json deps
5783 verbose readDependencies using package.json deps
5784 verbose readDependencies using package.json deps
5785 silly resolved []
5786 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/filesize
5787 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/filesize
5788 verbose linkStuff [ false,
5788 verbose linkStuff false,
5788 verbose linkStuff false,
5788 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules' ]
5789 info linkStuff filesize@1.10.0
5790 verbose linkBins filesize@1.10.0
5791 verbose linkMans filesize@1.10.0
5792 verbose rebuildBundles filesize@1.10.0
5793 info install filesize@1.10.0
5794 verbose cache add [ 'bin-wrapper@~0.1.3', null ]
5795 verbose cache add name=undefined spec="bin-wrapper@~0.1.3" args=["bin-wrapper@~0.1.3",null]
5796 verbose parsed url { protocol: null,
5796 verbose parsed url slashes: null,
5796 verbose parsed url auth: null,
5796 verbose parsed url host: null,
5796 verbose parsed url port: null,
5796 verbose parsed url hostname: null,
5796 verbose parsed url hash: null,
5796 verbose parsed url search: null,
5796 verbose parsed url query: null,
5796 verbose parsed url pathname: 'bin-wrapper@~0.1.3',
5796 verbose parsed url path: 'bin-wrapper@~0.1.3',
5796 verbose parsed url href: 'bin-wrapper@~0.1.3' }
5797 verbose cache add name="bin-wrapper" spec="~0.1.3" args=["bin-wrapper","~0.1.3"]
5798 verbose parsed url { protocol: null,
5798 verbose parsed url slashes: null,
5798 verbose parsed url auth: null,
5798 verbose parsed url host: null,
5798 verbose parsed url port: null,
5798 verbose parsed url hostname: null,
5798 verbose parsed url hash: null,
5798 verbose parsed url search: null,
5798 verbose parsed url query: null,
5798 verbose parsed url pathname: '~0.1.3',
5798 verbose parsed url path: '~0.1.3',
5798 verbose parsed url href: '~0.1.3' }
5799 verbose addNamed [ 'bin-wrapper', '~0.1.3' ]
5800 verbose addNamed [ null, '>=0.1.3-0 <0.2.0-0' ]
5801 silly lockFile b8a6567d-bin-wrapper-0-1-3 bin-wrapper@~0.1.3
5802 verbose lock bin-wrapper@~0.1.3 /home/spike/.npm/b8a6567d-bin-wrapper-0-1-3.lock
5803 verbose cache add [ 'bin-wrapper@~0.1.3', null ]
5804 verbose cache add name=undefined spec="bin-wrapper@~0.1.3" args=["bin-wrapper@~0.1.3",null]
5805 verbose parsed url { protocol: null,
5805 verbose parsed url slashes: null,
5805 verbose parsed url auth: null,
5805 verbose parsed url host: null,
5805 verbose parsed url port: null,
5805 verbose parsed url hostname: null,
5805 verbose parsed url hash: null,
5805 verbose parsed url search: null,
5805 verbose parsed url query: null,
5805 verbose parsed url pathname: 'bin-wrapper@~0.1.3',
5805 verbose parsed url path: 'bin-wrapper@~0.1.3',
5805 verbose parsed url href: 'bin-wrapper@~0.1.3' }
5806 verbose cache add name="bin-wrapper" spec="~0.1.3" args=["bin-wrapper","~0.1.3"]
5807 verbose parsed url { protocol: null,
5807 verbose parsed url slashes: null,
5807 verbose parsed url auth: null,
5807 verbose parsed url host: null,
5807 verbose parsed url port: null,
5807 verbose parsed url hostname: null,
5807 verbose parsed url hash: null,
5807 verbose parsed url search: null,
5807 verbose parsed url query: null,
5807 verbose parsed url pathname: '~0.1.3',
5807 verbose parsed url path: '~0.1.3',
5807 verbose parsed url href: '~0.1.3' }
5808 verbose addNamed [ 'bin-wrapper', '~0.1.3' ]
5809 verbose cache add [ 'bin-wrapper@~0.1.3', null ]
5810 verbose cache add name=undefined spec="bin-wrapper@~0.1.3" args=["bin-wrapper@~0.1.3",null]
5811 verbose parsed url { protocol: null,
5811 verbose parsed url slashes: null,
5811 verbose parsed url auth: null,
5811 verbose parsed url host: null,
5811 verbose parsed url port: null,
5811 verbose parsed url hostname: null,
5811 verbose parsed url hash: null,
5811 verbose parsed url search: null,
5811 verbose parsed url query: null,
5811 verbose parsed url pathname: 'bin-wrapper@~0.1.3',
5811 verbose parsed url path: 'bin-wrapper@~0.1.3',
5811 verbose parsed url href: 'bin-wrapper@~0.1.3' }
5812 verbose cache add name="bin-wrapper" spec="~0.1.3" args=["bin-wrapper","~0.1.3"]
5813 verbose parsed url { protocol: null,
5813 verbose parsed url slashes: null,
5813 verbose parsed url auth: null,
5813 verbose parsed url host: null,
5813 verbose parsed url port: null,
5813 verbose parsed url hostname: null,
5813 verbose parsed url hash: null,
5813 verbose parsed url search: null,
5813 verbose parsed url query: null,
5813 verbose parsed url pathname: '~0.1.3',
5813 verbose parsed url path: '~0.1.3',
5813 verbose parsed url href: '~0.1.3' }
5814 verbose addNamed [ 'bin-wrapper', '~0.1.3' ]
5815 info postinstall filesize@1.10.0
5816 silly addNameRange { name: 'bin-wrapper',
5816 silly addNameRange range: '>=0.1.3-0 <0.2.0-0',
5816 silly addNameRange hasData: false }
5817 verbose url raw bin-wrapper
5818 verbose url resolving [ 'https://registry.npmjs.org/', './bin-wrapper' ]
5819 verbose url resolved https://registry.npmjs.org/bin-wrapper
5820 info trying registry request attempt 1 at 11:44:38
5821 http GET https://registry.npmjs.org/bin-wrapper
5822 silly lockFile 234349c8-agemin-node-modules-jpegtran-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin
5823 silly lockFile 234349c8-agemin-node-modules-jpegtran-bin tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin
5824 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
5825 silly lockFile 12d7a567-m-jpegtran-bin-0-2-2-package-tgz tar:///home/spike/.npm/jpegtran-bin/0.2.2/package.tgz
5826 info preinstall jpegtran-bin@0.2.2
5827 verbose readDependencies using package.json deps
5828 verbose readDependencies using package.json deps
5829 verbose cache add [ 'bin-wrapper@~0.1.3', null ]
5830 verbose cache add name=undefined spec="bin-wrapper@~0.1.3" args=["bin-wrapper@~0.1.3",null]
5831 verbose parsed url { protocol: null,
5831 verbose parsed url slashes: null,
5831 verbose parsed url auth: null,
5831 verbose parsed url host: null,
5831 verbose parsed url port: null,
5831 verbose parsed url hostname: null,
5831 verbose parsed url hash: null,
5831 verbose parsed url search: null,
5831 verbose parsed url query: null,
5831 verbose parsed url pathname: 'bin-wrapper@~0.1.3',
5831 verbose parsed url path: 'bin-wrapper@~0.1.3',
5831 verbose parsed url href: 'bin-wrapper@~0.1.3' }
5832 verbose cache add name="bin-wrapper" spec="~0.1.3" args=["bin-wrapper","~0.1.3"]
5833 verbose parsed url { protocol: null,
5833 verbose parsed url slashes: null,
5833 verbose parsed url auth: null,
5833 verbose parsed url host: null,
5833 verbose parsed url port: null,
5833 verbose parsed url hostname: null,
5833 verbose parsed url hash: null,
5833 verbose parsed url search: null,
5833 verbose parsed url query: null,
5833 verbose parsed url pathname: '~0.1.3',
5833 verbose parsed url path: '~0.1.3',
5833 verbose parsed url href: '~0.1.3' }
5834 verbose addNamed [ 'bin-wrapper', '~0.1.3' ]
5835 http 200 https://registry.npmjs.org/svgo
5836 silly registry.get cb [ 200,
5836 silly registry.get { vary: 'Accept',
5836 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
5836 silly registry.get etag: '"3RAPFNUQJY90NBP7EAYARJQRG"',
5836 silly registry.get date: 'Mon, 16 Dec 2013 10:44:30 GMT',
5836 silly registry.get 'content-type': 'application/json',
5836 silly registry.get 'content-length': '276575' } ]
5837 silly addNameRange number 2 { name: 'svgo', range: '>=0.3.1-0 <0.4.0-0', hasData: true }
5838 silly addNameRange versions [ 'svgo',
5838 silly addNameRange [ '0.0.1',
5838 silly addNameRange '0.0.1-2',
5838 silly addNameRange '0.0.1-3',
5838 silly addNameRange '0.0.2',
5838 silly addNameRange '0.0.3',
5838 silly addNameRange '0.0.4',
5838 silly addNameRange '0.0.5',
5838 silly addNameRange '0.0.5-1',
5838 silly addNameRange '0.0.6',
5838 silly addNameRange '0.0.7',
5838 silly addNameRange '0.0.7-1',
5838 silly addNameRange '0.0.8',
5838 silly addNameRange '0.0.9',
5838 silly addNameRange '0.0.9-1',
5838 silly addNameRange '0.1.0',
5838 silly addNameRange '0.1.1',
5838 silly addNameRange '0.1.2',
5838 silly addNameRange '0.1.3',
5838 silly addNameRange '0.1.4',
5838 silly addNameRange '0.1.5',
5838 silly addNameRange '0.1.6',
5838 silly addNameRange '0.1.7',
5838 silly addNameRange '0.1.8',
5838 silly addNameRange '0.1.9',
5838 silly addNameRange '0.1.9-1',
5838 silly addNameRange '0.2.0',
5838 silly addNameRange '0.2.1',
5838 silly addNameRange '0.2.2',
5838 silly addNameRange '0.2.3',
5838 silly addNameRange '0.2.4',
5838 silly addNameRange '0.3.0',
5838 silly addNameRange '0.3.1',
5838 silly addNameRange '0.3.2',
5838 silly addNameRange '0.3.3',
5838 silly addNameRange '0.3.4',
5838 silly addNameRange '0.3.5',
5838 silly addNameRange '0.3.6',
5838 silly addNameRange '0.3.7',
5838 silly addNameRange '0.4.0',
5838 silly addNameRange '0.4.1' ] ]
5839 verbose addNamed [ 'svgo', '0.3.7' ]
5840 verbose addNamed [ '0.3.7', '0.3.7' ]
5841 silly lockFile da8e8b1e-svgo-0-3-7 svgo@0.3.7
5842 verbose lock svgo@0.3.7 /home/spike/.npm/da8e8b1e-svgo-0-3-7.lock
5843 silly lockFile da8e8b1e-svgo-0-3-7 svgo@0.3.7
5844 silly lockFile da8e8b1e-svgo-0-3-7 svgo@0.3.7
5845 silly lockFile d4628723-svgo-0-3-1 svgo@~0.3.1
5846 silly lockFile d4628723-svgo-0-3-1 svgo@~0.3.1
5847 silly resolved [ { name: 'chalk',
5847 silly resolved version: '0.3.0',
5847 silly resolved description: 'Terminal string styling done right',
5847 silly resolved keywords:
5847 silly resolved [ 'color',
5847 silly resolved 'colour',
5847 silly resolved 'colors',
5847 silly resolved 'terminal',
5847 silly resolved 'console',
5847 silly resolved 'cli',
5847 silly resolved 'string',
5847 silly resolved 'ansi',
5847 silly resolved 'styles',
5847 silly resolved 'tty',
5847 silly resolved 'formatting',
5847 silly resolved 'rgb',
5847 silly resolved '256',
5847 silly resolved 'shell',
5847 silly resolved 'xterm',
5847 silly resolved 'log',
5847 silly resolved 'logging',
5847 silly resolved 'command-line',
5847 silly resolved 'text' ],
5847 silly resolved homepage: 'https://github.com/sindresorhus/chalk',
5847 silly resolved bugs: { url: 'https://github.com/sindresorhus/chalk/issues' },
5847 silly resolved license: 'MIT',
5847 silly resolved author:
5847 silly resolved { name: 'Sindre Sorhus',
5847 silly resolved email: 'sindresorhus@gmail.com',
5847 silly resolved url: 'http://sindresorhus.com' },
5847 silly resolved files: [ 'chalk.js' ],
5847 silly resolved main: 'chalk',
5847 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/chalk.git' },
5847 silly resolved scripts: { test: 'mocha' },
5847 silly resolved dependencies: { 'has-color': '~0.1.0', 'ansi-styles': '~0.2.0' },
5847 silly resolved devDependencies: { mocha: '~1.12.0' },
5847 silly resolved engines: { node: '>=0.8.0' },
5847 silly resolved readme: '# chalk [![Build Status](https://secure.travis-ci.org/sindresorhus/chalk.png?branch=master)](http://travis-ci.org/sindresorhus/chalk)\n\n> Terminal string styling done right.\n\n[colors.js](https://github.com/Marak/colors.js) is currently the most popular string styling module, but it has serious deficiencies like extending String.prototype which causes all kinds of problems. Although there are other ones, they either do too much or not enough.\n\n**Chalk is a clean and focused alternative.**\n\n![screenshot](screenshot.png)\n\n\n## Why\n\n- **Doesn\'t extend String.prototype**\n- Expressive API\n- Clean and focused\n- Auto-detects color support\n- Actively maintained\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/chalk): `npm install --save chalk`\n\n\n## Example\n\nChalk comes with an easy to use composable API where you just chain the styles you want.\n\n```js\nvar chalk = require(\'chalk\');\n\n// style a string\nconsole.log(chalk.blue(\'Hello world!\'));\n\n// combine styled and normal strings\nconsole.log(chalk.blue(\'Hello\'), \'World\' + chalk.red(\'!\'));\n\n// compose multiple styles using the chainable API\nconsole.log(chalk.blue.bgRed.bold(\'Hello world!\'));\n\n// nest styles\nchalk.red(\'Hello\', chalk.underline.bgBlue(\'world\') + \'!\');\n\n// pass in multiple arguments\nconsole.log(chalk.blue(\'Hello\', \'World!\', \'Foo\', \'bar\', \'biz\', \'baz\')) \n```\n\nYou can easily define your own themes.\n\n```js\nvar chalk = require(\'chalk\');\nvar error = chalk.bold.red;\nconsole.log(error(\'Error!\'));\n```\n\n\n## API\n\n### chalk.\\<style>\\[.\\<style>...](string)\n\nChain [styles](#styles) and call the last one as a method with a string argument.\n\nMultiple arguments are also supported. Chalk will add a space between each one.\n\n### chalk.enabled\n\nColor support is automatically detected, but you can override it.\n\n### chalk.supportsColor\n\nDetect whether the terminal [supports color](https://github.com/sindresorhus/has-color).\n\nCan be overridden by the user with the flags `--color` and `--no-color`.\n\nUsed internally and handled for you, but exposed for convenience.\n\n### chalk.styles\n\nExposes the styles as [ANSI escape codes](https://github.com/sindresorhus/ansi-styles).\n\n```js\nvar chalk = require(\'chalk\');\n\nconsole.log(chalk.styles.red);\n//=> [\'\\x1b[31m\', \'\\x1b[39m\']\n\nconsole.log(chalk.styles.red[0] + \'Hello\' + chalk.styles.red[1]);\n// first item is the style escape code and second is the reset escape code\n```\n\n### chalk.stripColor(string)\n\nStrip color from a string.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
5847 silly resolved readmeFilename: 'readme.md',
5847 silly resolved _id: 'chalk@0.3.0',
5847 silly resolved _from: 'chalk@~0.3.0' },
5847 silly resolved { name: 'filesize',
5847 silly resolved description: 'JavaScript library to generate a human readable String describing the file size',
5847 silly resolved version: '2.0.0',
5847 silly resolved homepage: 'http://filesizejs.com',
5847 silly resolved author:
5847 silly resolved { name: 'Jason Mulligan',
5847 silly resolved email: 'jason.mulligan@avoidwork.com' },
5847 silly resolved repository:
5847 silly resolved { type: 'git',
5847 silly resolved url: 'git://github.com/avoidwork/filesize.js.git' },
5847 silly resolved bugs: { url: 'https://github.com/avoidwork/filesize.js/issues' },
5847 silly resolved licenses: [ [Object] ],
5847 silly resolved main: 'lib/filesize',
5847 silly resolved engines: { node: '>= 0.4.0' },
5847 silly resolved scripts: { test: 'grunt test' },
5847 silly resolved devDependencies:
5847 silly resolved { grunt: '~0.4.1',
5847 silly resolved 'grunt-cli': '~0.1.6',
5847 silly resolved 'grunt-exec': '~0.4',
5847 silly resolved 'grunt-sed': '~0.1',
5847 silly resolved 'grunt-contrib-concat': '~0.1.3',
5847 silly resolved 'grunt-contrib-jshint': '~0.1',
5847 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
5847 silly resolved 'grunt-contrib-watch': '~0.2' },
5847 silly resolved keywords: [ 'file', 'filesize', 'size', 'readable', 'file system' ],
5847 silly resolved readme: '[![build status](https://secure.travis-ci.org/avoidwork/filesize.js.png)](http://travis-ci.org/avoidwork/filesize.js)\n# filesize.js\n\nfilesize.js provides a simple way to get a human readable file size string from a number (float or integer) or string.\n\n## Optional settings\n\n`filesize()` accepts an optional descriptor Object as a second argument, so you can customize the output.\n\n### bits\n_***(boolean)***_ Enables `bit` sizes, default is `false`\n\n### unix\n_***(boolean)***_ Enables unix style human readable output, e.g `ls -lh`, default is `false`\n\n### base\n_***(number)***_ Number base, default is `10`\n\n### round\n_***(number)***_ Decimal place, default is `2`\n\n### spacer\n_***(string)***_ Character between the `result` and `suffix`, default is `" "`\n\n## Examples\n\n```javascript\nfilesize(500); // "500 B"\nfilesize(500, {bits: true}); // "4.00 kb"\nfilesize(265318); // "265.32 kB"\nfilesize(265318, {base: 2}); // "259.10 kB"\nfilesize(265318, {base: 2, round: 1}); // "259.1 kB"\n```\n\n## How can I load filesize.js?\n\nfilesize.js supports AMD loaders (require.js, curl.js, etc.), node.js & npm (npm install filesize), or using a script tag.\n\n## Support\n\nIf you\'re having problems, use the support forum at CodersClan.\n\n<a href="http://codersclan.net/forum/index.php?repo_id=11"><img src="http://www.codersclan.net/graphics/getSupport_blue_big.png" width="160"></a>\n\n## License\nCopyright (c) 2013 Jason Mulligan \nLicensed under the BSD-3 license.\n',
5847 silly resolved readmeFilename: 'README.md',
5847 silly resolved _id: 'filesize@2.0.0',
5847 silly resolved dist: { shasum: '525d0a98fcb1ca0ca9d9555e456cfc1a33f7c43a' },
5847 silly resolved _from: 'filesize@~2.0.0',
5847 silly resolved _resolved: 'https://registry.npmjs.org/filesize/-/filesize-2.0.0.tgz' },
5847 silly resolved { name: 'svgo',
5847 silly resolved version: '0.3.7',
5847 silly resolved description: 'Nodejs-based tool for optimizing SVG vector graphics files',
5847 silly resolved keywords: [ 'svgo', 'svg', 'optimize', 'minify' ],
5847 silly resolved homepage: 'http://svg.github.com/svgo/',
5847 silly resolved bugs:
5847 silly resolved { url: 'https://github.com/svg/svgo/issues',
5847 silly resolved email: 'kir@soulshine.in' },
5847 silly resolved author:
5847 silly resolved { name: 'Kir Belevich',
5847 silly resolved email: 'kir@soulshine.in',
5847 silly resolved url: 'https://github.com/deepsweet' },
5847 silly resolved contributors: [ [Object] ],
5847 silly resolved repository: { type: 'git', url: 'git://github.com/svg/svgo.git' },
5847 silly resolved main: './lib/svgo.js',
5847 silly resolved bin: { svgo: './bin/svgo' },
5847 silly resolved directories: { bin: './bin', lib: './lib', example: './examples' },
5847 silly resolved scripts: { test: 'make test' },
5847 silly resolved dependencies:
5847 silly resolved { sax: '~0.5.0',
5847 silly resolved coa: '~0.3.7',
5847 silly resolved 'js-yaml': '',
5847 silly resolved colors: '~0.6.0',
5847 silly resolved 'whet.extend': '' },
5847 silly resolved devDependencies:
5847 silly resolved { mocha: '~1.9.0',
5847 silly resolved should: '~1.2.0',
5847 silly resolved istanbul: '~0.1.0',
5847 silly resolved 'mocha-istanbul': '',
5847 silly resolved coveralls: '' },
5847 silly resolved engines: { node: '>=0.6.0' },
5847 silly resolved licenses: [ [Object] ],
5847 silly resolved readme: '**english** | [русский](https://github.com/svg/svgo/blob/master/README.ru.md)\n- - -\n\n<img src="http://soulshine.in/svgo.svg" width="200" height="200" alt="logo"/>\n\n## SVGO [![NPM version](https://badge.fury.io/js/svgo.png)](https://npmjs.org/package/svgo) [![Dependency Status](https://gemnasium.com/svg/svgo.png)](https://gemnasium.com/svg/svgo) [![Build Status](https://secure.travis-ci.org/svg/svgo.png)](https://travis-ci.org/svg/svgo) [![Coverage Status](https://coveralls.io/repos/svg/svgo/badge.png?branch=master)](https://coveralls.io/r/svg/svgo)\n\n**SVG O**ptimizer is a Nodejs-based tool for optimizing SVG vector graphics files.\n![](https://mc.yandex.ru/watch/18431326)\n\n## Why?\n\nSVG files, especially exported from various editors, usually contains a lot of redundant and useless information such as editor metadata, comments, hidden elements, default or non-optimal values and other stuff that can be safely removed or converted without affecting SVG rendering result.\n\n## What it can do\n\nSVGO has a plugin-based architecture, so almost every optimization is a separate plugin.\n\nToday we have:\n\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupAttrs.js) ] cleanup attributes from newlines, trailing and repeating spaces\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeDoctype.js) ] remove doctype declaration\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeXMLProcInst.js) ] remove XML processing instructions\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeComments.js) ] remove comments\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeMetadata.js) ] remove `<metadata>`\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeEditorsNSData.js) ] remove editors namespaces, elements and attributes\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeEmptyAttrs.js) ] remove empty attributes\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeHiddenElems.js) ] remove hidden elements\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeEmptyText.js) ] remove empty Text elements\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeEmptyContainers.js) ] remove empty Container elements\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeViewBox.js) ] remove `viewBox` attribute when possible\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupEnableBackground.js) ] remove or cleanup `enable-background` attribute when possible\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertStyleToAttrs.js) ] convert styles into attributes\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertColors.js) ] convert colors (from `rgb()` to `#rrggbb`, from `#rrggbb` to `#rgb`)\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertPathData.js) ] convert Path data to relative, convert one segment to another, trim useless delimiters and much more\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/convertTransform.js) ] collapse multiple transforms into one, convert matrices to the short aliases and much more\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeUnknownsAndDefaults.js) ] remove unknown elements content and attributes, remove attrs with default values\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeNonInheritableGroupAttrs.js) ] remove non-inheritable group\'s "presentation" attributes\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeUnusedNS.js) ] remove unused namespaces declaration\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupIDs.js) ] remove unused and minify used IDs\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/cleanupNumericValues.js) ] round numeric values to the fixed precision, remove default \'px\' units\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/moveElemsAttrsToGroup.js) ] move elements attributes to the existing group wrapper\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/moveGroupAttrsToElems.js) ] move some group attributes to the content elements\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/collapseGroups.js) ] collapse useless groups\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/removeRasterImages.js) ] remove raster images (disabled by default)\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/mergePaths.js) ] merge multiple Paths into one\n* [ [>](https://github.com/svg/svgo/blob/master/plugins/transformsWithOnePath.js) ] apply transforms, crop by real width, center vertical alignment and resize SVG with one Path inside\n\nWant to know how it works and how to write your own plugin? [Of course you want to](https://github.com/svg/svgo/blob/master/docs/how-it-works/en.md).\n\n\n## How to use\n\n```sh\n$ [sudo] npm install -g svgo\n```\n\n```\nUsage:\n svgo [OPTIONS] [ARGS]\n\nOptions:\n -h, --help : Help\n -v, --version : Version\n -i INPUT, --input=INPUT : Input file, "-" for STDIN\n -s STRING, --string=STRING : Input SVG data string\n -f FOLDER, --folder=FOLDER : Input folder, optimize and rewrite all *.svg files\n -o OUTPUT, --output=OUTPUT : Output file (by default the same as the input), "-" for STDOUT\n --config=CONFIG : Config file to extend or replace default\n --disable=DISABLE : Disable plugin by name\n --enable=ENABLE : Enable plugin by name\n --datauri=DATAURI : Output as Data URI string (base64, URI encoded or unencoded)\n --pretty : Make SVG pretty printed\n\nArguments:\n INPUT : Alias to --input\n OUTPUT : Alias to --output\n```\n\n* with files:\n\n $ svgo test.svg\n\n or:\n\n $ svgo test.svg test.min.svg\n\n* with STDIN / STDOUT:\n\n $ cat test.svg | svgo -i - -o - > test.min.svg\n\n* with folder\n\n $ svgo -f ../path/to/folder/with/svg/files\n\n* with strings:\n\n $ svgo -s \'<svg version="1.1">test</svg>\' -o test.min.svg\n\n or even with Data URI base64:\n\n $ svgo -s \'data:image/svg+xml;base64,…\' -o test.min.svg\n\n* with SVGZ:\n\n from `.svgz` to `.svg`:\n\n $ gunzip -c test.svgz | svgo -i - -o test.min.svg\n\n from `.svg` to `.svgz`:\n\n $ svgo test.svg -o - | gzip -cfq9 > test.svgz\n\n* with GUI [svgo-gui](https://github.com/svg/svgo-gui)\n* as a Nodejs module [examples](https://github.com/svg/svgo/tree/master/examples)\n* as a Grunt task [grunt-svgmin](https://github.com/sindresorhus/grunt-svgmin)\n* as an OSX Folder Action [svgo-osx-folder-action](https://github.com/svg/svgo-osx-folder-action)\n\n## TODO\n\n* [v0.3.x](https://github.com/svg/svgo/issues?milestone=7&state=open)\n\n\n## License and copyrights\n\nThis software is released under the terms of the [MIT license](https://github.com/svg/svgo/blob/master/LICENSE).\n\nLogo by [Yegor Bolshakov](http://xizzzy.ru/).\n',
5847 silly resolved readmeFilename: 'README.md',
5847 silly resolved _id: 'svgo@0.3.7',
5847 silly resolved _from: 'svgo@~0.3.1' } ]
5848 info install chalk@0.3.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin
5849 info install filesize@2.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin
5850 info install svgo@0.3.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin
5851 info installOne chalk@0.3.0
5852 info installOne filesize@2.0.0
5853 info installOne svgo@0.3.7
5854 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk unbuild
5855 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/filesize unbuild
5856 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo unbuild
5857 verbose tar unpack /home/spike/.npm/chalk/0.3.0/package.tgz
5858 silly lockFile ba2f7073--grunt-svgmin-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk
5859 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk /home/spike/.npm/ba2f7073--grunt-svgmin-node-modules-chalk.lock
5860 silly lockFile fd94620e-pike-npm-chalk-0-3-0-package-tgz tar:///home/spike/.npm/chalk/0.3.0/package.tgz
5861 verbose lock tar:///home/spike/.npm/chalk/0.3.0/package.tgz /home/spike/.npm/fd94620e-pike-npm-chalk-0-3-0-package-tgz.lock
5862 verbose tar unpack /home/spike/.npm/filesize/2.0.0/package.tgz
5863 silly lockFile 7b37f3d6-unt-svgmin-node-modules-filesize tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/filesize
5864 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/filesize /home/spike/.npm/7b37f3d6-unt-svgmin-node-modules-filesize.lock
5865 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5866 verbose lock tar:///home/spike/.npm/filesize/2.0.0/package.tgz /home/spike/.npm/16a8b4e8-e-npm-filesize-2-0-0-package-tgz.lock
5867 verbose tar unpack /home/spike/.npm/svgo/0.3.7/package.tgz
5868 silly lockFile 64227141-s-grunt-svgmin-node-modules-svgo tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
5869 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo /home/spike/.npm/64227141-s-grunt-svgmin-node-modules-svgo.lock
5870 silly lockFile 39a3af1b-spike-npm-svgo-0-3-7-package-tgz tar:///home/spike/.npm/svgo/0.3.7/package.tgz
5871 verbose lock tar:///home/spike/.npm/svgo/0.3.7/package.tgz /home/spike/.npm/39a3af1b-spike-npm-svgo-0-3-7-package-tgz.lock
5872 silly gunzTarPerm modes [ '755', '644' ]
5873 silly gunzTarPerm modes [ '755', '644' ]
5874 silly gunzTarPerm modes [ '755', '644' ]
5875 silly gunzTarPerm extractEntry package.json
5876 silly gunzTarPerm extractEntry package.json
5877 silly gunzTarPerm extractEntry chalk.js
5878 silly gunzTarPerm extractEntry readme.md
5879 silly gunzTarPerm extractEntry package.json
5880 silly gunzTarPerm extractEntry .npmignore
5881 silly gunzTarPerm extractEntry README.md
5882 silly gunzTarPerm extractEntry .npmignore
5883 silly gunzTarPerm extractEntry README.md
5884 silly gunzTarPerm extractEntry LICENSE
5885 silly gunzTarPerm extractEntry lib/filesize.js
5886 silly gunzTarPerm extractEntry LICENSE
5887 silly gunzTarPerm extractEntry CHANGELOG.md
5888 silly gunzTarPerm extractEntry lib-cov/svgo.js
5889 silly lockFile ba2f7073--grunt-svgmin-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk
5890 silly lockFile ba2f7073--grunt-svgmin-node-modules-chalk tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk
5891 silly lockFile fd94620e-pike-npm-chalk-0-3-0-package-tgz tar:///home/spike/.npm/chalk/0.3.0/package.tgz
5892 silly lockFile fd94620e-pike-npm-chalk-0-3-0-package-tgz tar:///home/spike/.npm/chalk/0.3.0/package.tgz
5893 silly gunzTarPerm extractEntry lib-cov/svgo/config.js
5894 silly gunzTarPerm extractEntry lib-cov/svgo/plugins.js
5895 info preinstall chalk@0.3.0
5896 verbose readDependencies using package.json deps
5897 verbose readDependencies using package.json deps
5898 silly gunzTarPerm extractEntry lib-cov/svgo/svg2js.js
5899 silly gunzTarPerm extractEntry lib-cov/svgo/coa.js
5900 verbose cache add [ 'has-color@~0.1.0', null ]
5901 verbose cache add name=undefined spec="has-color@~0.1.0" args=["has-color@~0.1.0",null]
5902 verbose parsed url { protocol: null,
5902 verbose parsed url slashes: null,
5902 verbose parsed url auth: null,
5902 verbose parsed url host: null,
5902 verbose parsed url port: null,
5902 verbose parsed url hostname: null,
5902 verbose parsed url hash: null,
5902 verbose parsed url search: null,
5902 verbose parsed url query: null,
5902 verbose parsed url pathname: 'has-color@~0.1.0',
5902 verbose parsed url path: 'has-color@~0.1.0',
5902 verbose parsed url href: 'has-color@~0.1.0' }
5903 verbose cache add name="has-color" spec="~0.1.0" args=["has-color","~0.1.0"]
5904 verbose parsed url { protocol: null,
5904 verbose parsed url slashes: null,
5904 verbose parsed url auth: null,
5904 verbose parsed url host: null,
5904 verbose parsed url port: null,
5904 verbose parsed url hostname: null,
5904 verbose parsed url hash: null,
5904 verbose parsed url search: null,
5904 verbose parsed url query: null,
5904 verbose parsed url pathname: '~0.1.0',
5904 verbose parsed url path: '~0.1.0',
5904 verbose parsed url href: '~0.1.0' }
5905 verbose addNamed [ 'has-color', '~0.1.0' ]
5906 verbose cache add [ 'ansi-styles@~0.2.0', null ]
5907 verbose cache add name=undefined spec="ansi-styles@~0.2.0" args=["ansi-styles@~0.2.0",null]
5908 verbose parsed url { protocol: null,
5908 verbose parsed url slashes: null,
5908 verbose parsed url auth: null,
5908 verbose parsed url host: null,
5908 verbose parsed url port: null,
5908 verbose parsed url hostname: null,
5908 verbose parsed url hash: null,
5908 verbose parsed url search: null,
5908 verbose parsed url query: null,
5908 verbose parsed url pathname: 'ansi-styles@~0.2.0',
5908 verbose parsed url path: 'ansi-styles@~0.2.0',
5908 verbose parsed url href: 'ansi-styles@~0.2.0' }
5909 verbose cache add name="ansi-styles" spec="~0.2.0" args=["ansi-styles","~0.2.0"]
5910 verbose parsed url { protocol: null,
5910 verbose parsed url slashes: null,
5910 verbose parsed url auth: null,
5910 verbose parsed url host: null,
5910 verbose parsed url port: null,
5910 verbose parsed url hostname: null,
5910 verbose parsed url hash: null,
5910 verbose parsed url search: null,
5910 verbose parsed url query: null,
5910 verbose parsed url pathname: '~0.2.0',
5910 verbose parsed url path: '~0.2.0',
5910 verbose parsed url href: '~0.2.0' }
5911 verbose addNamed [ 'ansi-styles', '~0.2.0' ]
5912 silly lockFile 7b37f3d6-unt-svgmin-node-modules-filesize tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/filesize
5913 silly lockFile 7b37f3d6-unt-svgmin-node-modules-filesize tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/filesize
5914 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5915 silly lockFile 16a8b4e8-e-npm-filesize-2-0-0-package-tgz tar:///home/spike/.npm/filesize/2.0.0/package.tgz
5916 info preinstall filesize@2.0.0
5917 verbose readDependencies using package.json deps
5918 verbose readDependencies using package.json deps
5919 silly resolved []
5920 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/filesize
5921 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/filesize
5922 verbose linkStuff [ false,
5922 verbose linkStuff false,
5922 verbose linkStuff false,
5922 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules' ]
5923 info linkStuff filesize@2.0.0
5924 verbose linkBins filesize@2.0.0
5925 verbose linkMans filesize@2.0.0
5926 verbose rebuildBundles filesize@2.0.0
5927 info install filesize@2.0.0
5928 info postinstall filesize@2.0.0
5929 silly gunzTarPerm extractEntry lib-cov/svgo/jsAPI.js
5930 silly gunzTarPerm extractEntry lib-cov/svgo/tools.js
5931 silly gunzTarPerm extractEntry lib-cov/svgo/js2svg.js
5932 silly gunzTarPerm extractEntry Makefile
5933 silly gunzTarPerm extractEntry lcov.info
5934 silly gunzTarPerm extractEntry .svgo.yml
5935 silly gunzTarPerm extractEntry plugins/removeHiddenElems.js
5936 silly gunzTarPerm extractEntry plugins/removeDoctype.js
5937 silly gunzTarPerm extractEntry plugins/moveElemsAttrsToGroup.js
5938 silly gunzTarPerm extractEntry plugins/cleanupEnableBackground.js
5939 silly gunzTarPerm extractEntry plugins/removeEditorsNSData.js
5940 silly gunzTarPerm extractEntry plugins/_collections.js
5941 silly gunzTarPerm extractEntry plugins/_path.js
5942 silly gunzTarPerm extractEntry plugins/convertPathData.js
5943 silly gunzTarPerm extractEntry plugins/moveGroupAttrsToElems.js
5944 silly gunzTarPerm extractEntry plugins/removeEmptyContainers.js
5945 silly gunzTarPerm extractEntry plugins/mergePaths.js
5946 silly gunzTarPerm extractEntry plugins/collapseGroups.js
5947 silly gunzTarPerm extractEntry plugins/removeEmptyText.js
5948 silly gunzTarPerm extractEntry plugins/removeViewBox.js
5949 silly gunzTarPerm extractEntry plugins/removeMetadata.js
5950 silly gunzTarPerm extractEntry plugins/removeUnknownsAndDefaults.js
5951 silly gunzTarPerm extractEntry plugins/removeEmptyAttrs.js
5952 silly gunzTarPerm extractEntry plugins/removeUnusedNS.js
5953 silly gunzTarPerm extractEntry plugins/_transforms.js
5954 silly gunzTarPerm extractEntry plugins/convertColors.js
5955 silly gunzTarPerm extractEntry plugins/removeNonInheritableGroupAttrs.js
5956 silly gunzTarPerm extractEntry plugins/removeComments.js
5957 silly gunzTarPerm extractEntry plugins/removeXMLProcInst.js
5958 silly gunzTarPerm extractEntry plugins/transformsWithOnePath.js
5959 silly gunzTarPerm extractEntry plugins/convertTransform.js
5960 silly gunzTarPerm extractEntry plugins/convertStyleToAttrs.js
5961 silly gunzTarPerm extractEntry plugins/removeUselessStrokeAndFill.js
5962 silly gunzTarPerm extractEntry plugins/removeRasterImages.js
5963 silly gunzTarPerm extractEntry plugins/cleanupNumericValues.js
5964 silly gunzTarPerm extractEntry plugins/sortAttrs.js
5965 silly gunzTarPerm extractEntry plugins/cleanupAttrs.js
5966 silly gunzTarPerm extractEntry plugins/cleanupIDs.js
5967 silly gunzTarPerm extractEntry README.ru.md
5968 silly gunzTarPerm extractEntry lib/svgo.js
5969 silly gunzTarPerm extractEntry lib/svgo/config.js
5970 silly gunzTarPerm extractEntry lib/svgo/plugins.js
5971 silly gunzTarPerm extractEntry lib/svgo/svg2js.js
5972 silly gunzTarPerm extractEntry lib/svgo/coa.js
5973 silly gunzTarPerm extractEntry lib/svgo/jsAPI.js
5974 silly gunzTarPerm extractEntry lib/svgo/tools.js
5975 silly gunzTarPerm extractEntry lib/svgo/js2svg.js
5976 silly gunzTarPerm extractEntry bin/svgo
5977 silly lockFile 64227141-s-grunt-svgmin-node-modules-svgo tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
5978 silly lockFile 64227141-s-grunt-svgmin-node-modules-svgo tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
5979 silly lockFile 39a3af1b-spike-npm-svgo-0-3-7-package-tgz tar:///home/spike/.npm/svgo/0.3.7/package.tgz
5980 silly lockFile 39a3af1b-spike-npm-svgo-0-3-7-package-tgz tar:///home/spike/.npm/svgo/0.3.7/package.tgz
5981 http 200 https://registry.npmjs.org/jshint
5982 silly registry.get cb [ 200,
5982 silly registry.get { vary: 'Accept',
5982 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
5982 silly registry.get etag: '"4NK6OROVDPKEE7YN3J26KPOOJ"',
5982 silly registry.get date: 'Mon, 16 Dec 2013 10:44:34 GMT',
5982 silly registry.get 'content-type': 'application/json',
5982 silly registry.get 'content-length': '176406' } ]
5983 info preinstall svgo@0.3.7
5984 verbose readDependencies using package.json deps
5985 verbose readDependencies using package.json deps
5986 silly addNameRange number 2 { name: 'jshint', range: '>=2.3.0-0 <2.4.0-0', hasData: true }
5987 silly addNameRange versions [ 'jshint',
5987 silly addNameRange [ '0.1.8',
5987 silly addNameRange '0.1.9',
5987 silly addNameRange '0.2.0',
5987 silly addNameRange '0.2.1',
5987 silly addNameRange '0.2.2',
5987 silly addNameRange '0.2.3',
5987 silly addNameRange '0.3.0',
5987 silly addNameRange '0.3.1',
5987 silly addNameRange '0.4.0',
5987 silly addNameRange '0.5.0',
5987 silly addNameRange '0.5.1',
5987 silly addNameRange '0.5.2',
5987 silly addNameRange '0.5.3',
5987 silly addNameRange '0.5.4',
5987 silly addNameRange '0.5.5',
5987 silly addNameRange '0.5.6',
5987 silly addNameRange '0.5.7',
5987 silly addNameRange '0.5.8',
5987 silly addNameRange '0.5.9',
5987 silly addNameRange '0.6.0',
5987 silly addNameRange '0.6.1',
5987 silly addNameRange '0.6.2',
5987 silly addNameRange '0.6.3',
5987 silly addNameRange '0.7.0',
5987 silly addNameRange '0.7.1',
5987 silly addNameRange '0.7.2',
5987 silly addNameRange '0.7.3',
5987 silly addNameRange '0.8.0',
5987 silly addNameRange '0.8.1',
5987 silly addNameRange '0.8.2',
5987 silly addNameRange '0.9.0',
5987 silly addNameRange '0.9.1',
5987 silly addNameRange '1.0.0',
5987 silly addNameRange '1.1.0',
5987 silly addNameRange '2.0.0',
5987 silly addNameRange '2.0.1',
5987 silly addNameRange '2.1.0',
5987 silly addNameRange '2.1.1',
5987 silly addNameRange '2.1.2',
5987 silly addNameRange '2.1.3',
5987 silly addNameRange '2.1.4',
5987 silly addNameRange '2.1.5',
5987 silly addNameRange '2.1.6',
5987 silly addNameRange '2.1.7',
5987 silly addNameRange '2.1.8',
5987 silly addNameRange '2.1.9',
5987 silly addNameRange '2.1.10',
5987 silly addNameRange '2.1.11',
5987 silly addNameRange '2.2.0',
5987 silly addNameRange '2.3.0' ] ]
5988 verbose addNamed [ 'jshint', '2.3.0' ]
5989 verbose addNamed [ '2.3.0', '2.3.0' ]
5990 silly lockFile 8841ddaf-jshint-2-3-0 jshint@2.3.0
5991 verbose lock jshint@2.3.0 /home/spike/.npm/8841ddaf-jshint-2-3-0.lock
5992 verbose cache add [ 'sax@~0.5.0', null ]
5993 verbose cache add name=undefined spec="sax@~0.5.0" args=["sax@~0.5.0",null]
5994 verbose parsed url { protocol: null,
5994 verbose parsed url slashes: null,
5994 verbose parsed url auth: null,
5994 verbose parsed url host: null,
5994 verbose parsed url port: null,
5994 verbose parsed url hostname: null,
5994 verbose parsed url hash: null,
5994 verbose parsed url search: null,
5994 verbose parsed url query: null,
5994 verbose parsed url pathname: 'sax@~0.5.0',
5994 verbose parsed url path: 'sax@~0.5.0',
5994 verbose parsed url href: 'sax@~0.5.0' }
5995 verbose cache add name="sax" spec="~0.5.0" args=["sax","~0.5.0"]
5996 verbose parsed url { protocol: null,
5996 verbose parsed url slashes: null,
5996 verbose parsed url auth: null,
5996 verbose parsed url host: null,
5996 verbose parsed url port: null,
5996 verbose parsed url hostname: null,
5996 verbose parsed url hash: null,
5996 verbose parsed url search: null,
5996 verbose parsed url query: null,
5996 verbose parsed url pathname: '~0.5.0',
5996 verbose parsed url path: '~0.5.0',
5996 verbose parsed url href: '~0.5.0' }
5997 verbose addNamed [ 'sax', '~0.5.0' ]
5998 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ]
5999 silly lockFile b2f813d5-sax-0-5-0 sax@~0.5.0
6000 verbose lock sax@~0.5.0 /home/spike/.npm/b2f813d5-sax-0-5-0.lock
6001 verbose cache add [ 'coa@~0.3.7', null ]
6002 verbose cache add name=undefined spec="coa@~0.3.7" args=["coa@~0.3.7",null]
6003 verbose parsed url { protocol: null,
6003 verbose parsed url slashes: null,
6003 verbose parsed url auth: null,
6003 verbose parsed url host: null,
6003 verbose parsed url port: null,
6003 verbose parsed url hostname: null,
6003 verbose parsed url hash: null,
6003 verbose parsed url search: null,
6003 verbose parsed url query: null,
6003 verbose parsed url pathname: 'coa@~0.3.7',
6003 verbose parsed url path: 'coa@~0.3.7',
6003 verbose parsed url href: 'coa@~0.3.7' }
6004 verbose cache add name="coa" spec="~0.3.7" args=["coa","~0.3.7"]
6005 verbose parsed url { protocol: null,
6005 verbose parsed url slashes: null,
6005 verbose parsed url auth: null,
6005 verbose parsed url host: null,
6005 verbose parsed url port: null,
6005 verbose parsed url hostname: null,
6005 verbose parsed url hash: null,
6005 verbose parsed url search: null,
6005 verbose parsed url query: null,
6005 verbose parsed url pathname: '~0.3.7',
6005 verbose parsed url path: '~0.3.7',
6005 verbose parsed url href: '~0.3.7' }
6006 verbose addNamed [ 'coa', '~0.3.7' ]
6007 verbose addNamed [ null, '>=0.3.7-0 <0.4.0-0' ]
6008 silly lockFile 1c44f139-coa-0-3-7 coa@~0.3.7
6009 verbose lock coa@~0.3.7 /home/spike/.npm/1c44f139-coa-0-3-7.lock
6010 verbose cache add [ 'js-yaml@', null ]
6011 verbose cache add name=undefined spec="js-yaml@" args=["js-yaml@",null]
6012 verbose parsed url { protocol: null,
6012 verbose parsed url slashes: null,
6012 verbose parsed url auth: null,
6012 verbose parsed url host: null,
6012 verbose parsed url port: null,
6012 verbose parsed url hostname: null,
6012 verbose parsed url hash: null,
6012 verbose parsed url search: null,
6012 verbose parsed url query: null,
6012 verbose parsed url pathname: 'js-yaml@',
6012 verbose parsed url path: 'js-yaml@',
6012 verbose parsed url href: 'js-yaml@' }
6013 verbose cache add name="js-yaml" spec="" args=["js-yaml",""]
6014 verbose parsed url { protocol: null,
6014 verbose parsed url slashes: null,
6014 verbose parsed url auth: null,
6014 verbose parsed url host: null,
6014 verbose parsed url port: null,
6014 verbose parsed url hostname: null,
6014 verbose parsed url hash: null,
6014 verbose parsed url search: null,
6014 verbose parsed url query: null,
6014 verbose parsed url pathname: null,
6014 verbose parsed url path: null,
6014 verbose parsed url href: '' }
6015 verbose addNamed [ 'js-yaml', '' ]
6016 verbose addNamed [ null, '*' ]
6017 silly lockFile 84650e8c-js-yaml js-yaml@
6018 verbose lock js-yaml@ /home/spike/.npm/84650e8c-js-yaml.lock
6019 silly addNameRange { name: 'sax', range: '>=0.5.0-0 <0.6.0-0', hasData: false }
6020 verbose cache add [ 'colors@~0.6.0', null ]
6021 verbose cache add name=undefined spec="colors@~0.6.0" args=["colors@~0.6.0",null]
6022 verbose parsed url { protocol: null,
6022 verbose parsed url slashes: null,
6022 verbose parsed url auth: null,
6022 verbose parsed url host: null,
6022 verbose parsed url port: null,
6022 verbose parsed url hostname: null,
6022 verbose parsed url hash: null,
6022 verbose parsed url search: null,
6022 verbose parsed url query: null,
6022 verbose parsed url pathname: 'colors@~0.6.0',
6022 verbose parsed url path: 'colors@~0.6.0',
6022 verbose parsed url href: 'colors@~0.6.0' }
6023 verbose cache add name="colors" spec="~0.6.0" args=["colors","~0.6.0"]
6024 verbose parsed url { protocol: null,
6024 verbose parsed url slashes: null,
6024 verbose parsed url auth: null,
6024 verbose parsed url host: null,
6024 verbose parsed url port: null,
6024 verbose parsed url hostname: null,
6024 verbose parsed url hash: null,
6024 verbose parsed url search: null,
6024 verbose parsed url query: null,
6024 verbose parsed url pathname: '~0.6.0',
6024 verbose parsed url path: '~0.6.0',
6024 verbose parsed url href: '~0.6.0' }
6025 verbose addNamed [ 'colors', '~0.6.0' ]
6026 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
6027 silly lockFile 87ce7fc7-colors-0-6-0 colors@~0.6.0
6028 verbose lock colors@~0.6.0 /home/spike/.npm/87ce7fc7-colors-0-6-0.lock
6029 silly addNameRange { name: 'coa', range: '>=0.3.7-0 <0.4.0-0', hasData: false }
6030 silly addNameRange { name: 'js-yaml', range: '*', hasData: false }
6031 verbose cache add [ 'whet.extend@', null ]
6032 verbose cache add name=undefined spec="whet.extend@" args=["whet.extend@",null]
6033 verbose parsed url { protocol: null,
6033 verbose parsed url slashes: null,
6033 verbose parsed url auth: null,
6033 verbose parsed url host: null,
6033 verbose parsed url port: null,
6033 verbose parsed url hostname: null,
6033 verbose parsed url hash: null,
6033 verbose parsed url search: null,
6033 verbose parsed url query: null,
6033 verbose parsed url pathname: 'whet.extend@',
6033 verbose parsed url path: 'whet.extend@',
6033 verbose parsed url href: 'whet.extend@' }
6034 verbose cache add name="whet.extend" spec="" args=["whet.extend",""]
6035 verbose parsed url { protocol: null,
6035 verbose parsed url slashes: null,
6035 verbose parsed url auth: null,
6035 verbose parsed url host: null,
6035 verbose parsed url port: null,
6035 verbose parsed url hostname: null,
6035 verbose parsed url hash: null,
6035 verbose parsed url search: null,
6035 verbose parsed url query: null,
6035 verbose parsed url pathname: null,
6035 verbose parsed url path: null,
6035 verbose parsed url href: '' }
6036 verbose addNamed [ 'whet.extend', '' ]
6037 verbose addNamed [ null, '*' ]
6038 silly lockFile 596e473e-whet-extend whet.extend@
6039 verbose lock whet.extend@ /home/spike/.npm/596e473e-whet-extend.lock
6040 silly addNameRange { name: 'colors', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
6041 silly addNameRange { name: 'whet.extend', range: '*', hasData: false }
6042 verbose url raw js-yaml
6043 verbose url resolving [ 'https://registry.npmjs.org/', './js-yaml' ]
6044 verbose url resolved https://registry.npmjs.org/js-yaml
6045 info trying registry request attempt 1 at 11:44:38
6046 verbose etag "90WSAAY245R9NKQACV7GEI0N6"
6047 http GET https://registry.npmjs.org/js-yaml
6048 verbose url raw coa
6049 verbose url resolving [ 'https://registry.npmjs.org/', './coa' ]
6050 verbose url resolved https://registry.npmjs.org/coa
6051 info trying registry request attempt 1 at 11:44:38
6052 verbose etag "3YS133AUS3RQWAC2NXP56JRB0"
6053 http GET https://registry.npmjs.org/coa
6054 verbose url raw colors
6055 verbose url resolving [ 'https://registry.npmjs.org/', './colors' ]
6056 verbose url resolved https://registry.npmjs.org/colors
6057 info trying registry request attempt 1 at 11:44:38
6058 verbose etag "6A8GBHDKZ62PGBI3M1NRGH6L7"
6059 http GET https://registry.npmjs.org/colors
6060 verbose url raw sax
6061 verbose url resolving [ 'https://registry.npmjs.org/', './sax' ]
6062 verbose url resolved https://registry.npmjs.org/sax
6063 info trying registry request attempt 1 at 11:44:38
6064 verbose etag "9W59AMFC8TJ05JMY7JINFNY51"
6065 http GET https://registry.npmjs.org/sax
6066 verbose url raw whet.extend
6067 verbose url resolving [ 'https://registry.npmjs.org/', './whet.extend' ]
6068 verbose url resolved https://registry.npmjs.org/whet.extend
6069 info trying registry request attempt 1 at 11:44:38
6070 verbose etag "7Q6PYYM8ZX6KVP8QTFJUBEEVV"
6071 http GET https://registry.npmjs.org/whet.extend
6072 silly lockFile 8841ddaf-jshint-2-3-0 jshint@2.3.0
6073 silly lockFile 8841ddaf-jshint-2-3-0 jshint@2.3.0
6074 silly lockFile 465622b3-jshint-2-3-0 jshint@~2.3.0
6075 silly lockFile 465622b3-jshint-2-3-0 jshint@~2.3.0
6076 silly resolved [ { name: 'jshint',
6076 silly resolved version: '2.3.0',
6076 silly resolved homepage: 'http://jshint.com/',
6076 silly resolved description: 'Static analysis tool for JavaScript',
6076 silly resolved author:
6076 silly resolved { name: 'Anton Kovalyov',
6076 silly resolved email: 'anton@kovalyov.net',
6076 silly resolved url: 'http://anton.kovalyov.net/' },
6076 silly resolved repository: { type: 'git', url: 'https://github.com/jshint/jshint.git' },
6076 silly resolved bugs: { url: 'https://github.com/jshint/jshint/issues' },
6076 silly resolved bin: { jshint: './bin/jshint' },
6076 silly resolved scripts:
6076 silly resolved { data: 'node scripts/generate-identifier-data',
6076 silly resolved build: 'node bin/build',
6076 silly resolved test: 'nodeunit tests tests/regression tests/unit',
6076 silly resolved pretest: 'jshint src' },
6076 silly resolved main: './src/jshint.js',
6076 silly resolved dependencies:
6076 silly resolved { shelljs: '0.1.x',
6076 silly resolved underscore: '1.4.x',
6076 silly resolved cli: '0.4.x',
6076 silly resolved minimatch: '0.x.x',
6076 silly resolved 'console-browserify': '0.1.x' },
6076 silly resolved devDependencies:
6076 silly resolved { jshint: '2.3.x',
6076 silly resolved shelljs: '0.1.x',
6076 silly resolved browserify: '2.12.x',
6076 silly resolved coveraje: '0.2.x',
6076 silly resolved nodeunit: '0.8.x',
6076 silly resolved sinon: '1.7.x',
6076 silly resolved 'unicode-6.3.0': '0.1.x',
6076 silly resolved regenerate: '0.5.x' },
6076 silly resolved jshintConfig:
6076 silly resolved { boss: true,
6076 silly resolved node: true,
6076 silly resolved strict: true,
6076 silly resolved white: true,
6076 silly resolved smarttabs: true,
6076 silly resolved maxlen: 100,
6076 silly resolved newcap: false,
6076 silly resolved undef: true,
6076 silly resolved unused: true,
6076 silly resolved onecase: true,
6076 silly resolved indent: 2 },
6076 silly resolved licenses: [ [Object] ],
6076 silly resolved preferGlobal: true,
6076 silly resolved files: [ 'bin', 'src', 'data' ],
6076 silly resolved readme: 'JSHint, A Static Code Analysis Tool for JavaScript\n--------------------------------------------------\n\n\\[ [Use it online](http://jshint.com/) • [About](http://jshint.com/about/) • \n[Docs](http://jshint.com/docs/) • [FAQ](http://jshint.com/docs/faq) • \n[Install](http://jshint.com/install/) • [Hack](http://jshint.com/hack/) • \n[Blog](http://jshint.com/blog/) • [Twitter](https://twitter.com/jshint/) \\]\n\n[![Build Status](https://travis-ci.org/jshint/jshint.png?branch=master)](https://travis-ci.org/jshint/jshint)\n[![NPM version](https://badge.fury.io/js/jshint.png)](http://badge.fury.io/js/jshint)\n\nJSHint is a community-driven tool to detect errors and potential problems\nin JavaScript code and to enforce your teams coding conventions. It is\nvery flexible so you can easily adjust it to your particular coding guidelines\nand the environment you expect your code to execute in.\n\n#### JSHint 2.x versus JSHint 3\n\nThere\'s an effort going on to release the next major version of JSHint. All\ndevelopment in the `master` branch is for the version 3.0. Current stable\nversion is in the `2.x` branch. Keep that in mind when submitting pull requests.\n\nAlso, before reporting a bug or thinking about hacking on JSHint, read this:\n[JSHint 3 plans](http://www.jshint.com/blog/jshint-3-plans/). TL;DR: we\'re\nmoving away from style checks within JSHint so no new features around\nstyle checks will be accepted. Bug fixes are fine for the `2.x` branch.\n\n#### Reporting a bug\n\nTo report a bug simply create a\n[new GitHub Issue](https://github.com/jshint/jshint/issues/new) and describe\nyour problem or suggestion. We welcome all kind of feedback regarding\nJSHint including but not limited to:\n\n * When JSHint doesn\'t work as expected\n * When JSHint complains about valid JavaScript code that works in all browsers\n * When you simply want a new option or feature\n\nBefore reporting a bug look around to see if there are any open or closed tickets\nthat cover your issue. And remember the wisdom: pull request > bug report > tweet.\n\n\n#### License\n\nJSHint is distributed under the MIT License. One file and one file only\n(src/stable/jshint.js) is distributed under the slightly modified MIT License.\n\n\n#### Thank you!\n\nWe really appreciate all kind of feedback and contributions. Thanks for using and supporting JSHint!\n',
6076 silly resolved readmeFilename: 'README.md',
6076 silly resolved _id: 'jshint@2.3.0',
6076 silly resolved _from: 'jshint@~2.3.0' } ]
6077 info install jshint@2.3.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-jshint
6078 info installOne jshint@2.3.0
6079 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-jshint/node_modules/jshint unbuild
6080 verbose tar unpack /home/spike/.npm/jshint/2.3.0/package.tgz
6081 silly lockFile a5a592df-ntrib-jshint-node-modules-jshint tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-jshint/node_modules/jshint
6082 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-jshint/node_modules/jshint /home/spike/.npm/a5a592df-ntrib-jshint-node-modules-jshint.lock
6083 silly lockFile 482a7b08-ike-npm-jshint-2-3-0-package-tgz tar:///home/spike/.npm/jshint/2.3.0/package.tgz
6084 verbose lock tar:///home/spike/.npm/jshint/2.3.0/package.tgz /home/spike/.npm/482a7b08-ike-npm-jshint-2-3-0-package-tgz.lock
6085 silly gunzTarPerm modes [ '755', '644' ]
6086 silly gunzTarPerm extractEntry package.json
6087 silly gunzTarPerm extractEntry README.md
6088 silly gunzTarPerm extractEntry bin/apply
6089 silly gunzTarPerm extractEntry bin/build
6090 silly gunzTarPerm extractEntry bin/changelog
6091 silly gunzTarPerm extractEntry bin/jshint
6092 silly gunzTarPerm extractEntry bin/land
6093 silly gunzTarPerm extractEntry data/ascii-identifier-data.js
6094 silly gunzTarPerm extractEntry data/non-ascii-identifier-part-only.js
6095 silly gunzTarPerm extractEntry data/non-ascii-identifier-start.js
6096 silly gunzTarPerm extractEntry src/cli.js
6097 silly gunzTarPerm extractEntry src/jshint.js
6098 silly gunzTarPerm extractEntry src/lex.js
6099 http 304 https://registry.npmjs.org/async
6100 silly registry.get cb [ 304,
6100 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6100 silly registry.get etag: '"6SZA38IP3YTXC2N3QXR6NZ7CH"',
6100 silly registry.get date: 'Mon, 16 Dec 2013 10:44:38 GMT',
6100 silly registry.get 'content-length': '0' } ]
6101 verbose etag async from cache
6102 silly gunzTarPerm extractEntry src/messages.js
6103 silly addNameRange number 2 { name: 'async', range: '>=0.1.22-0 <0.2.0-0', hasData: true }
6104 silly addNameRange versions [ 'async',
6104 silly addNameRange [ '0.1.0',
6104 silly addNameRange '0.1.1',
6104 silly addNameRange '0.1.2',
6104 silly addNameRange '0.1.3',
6104 silly addNameRange '0.1.4',
6104 silly addNameRange '0.1.5',
6104 silly addNameRange '0.1.6',
6104 silly addNameRange '0.1.7',
6104 silly addNameRange '0.1.8',
6104 silly addNameRange '0.1.9',
6104 silly addNameRange '0.1.10',
6104 silly addNameRange '0.1.11',
6104 silly addNameRange '0.1.12',
6104 silly addNameRange '0.1.13',
6104 silly addNameRange '0.1.14',
6104 silly addNameRange '0.1.15',
6104 silly addNameRange '0.1.16',
6104 silly addNameRange '0.1.17',
6104 silly addNameRange '0.1.18',
6104 silly addNameRange '0.1.19',
6104 silly addNameRange '0.1.20',
6104 silly addNameRange '0.1.21',
6104 silly addNameRange '0.1.22',
6104 silly addNameRange '0.2.0',
6104 silly addNameRange '0.2.1',
6104 silly addNameRange '0.2.2',
6104 silly addNameRange '0.2.3',
6104 silly addNameRange '0.2.4',
6104 silly addNameRange '0.2.5',
6104 silly addNameRange '0.2.6',
6104 silly addNameRange '0.2.7',
6104 silly addNameRange '0.2.8',
6104 silly addNameRange '0.2.9' ] ]
6105 verbose addNamed [ 'async', '0.1.22' ]
6106 verbose addNamed [ '0.1.22', '0.1.22' ]
6107 silly lockFile 09d21715-async-0-1-22 async@0.1.22
6108 verbose lock async@0.1.22 /home/spike/.npm/09d21715-async-0-1-22.lock
6109 silly lockFile 09d21715-async-0-1-22 async@0.1.22
6110 silly lockFile 09d21715-async-0-1-22 async@0.1.22
6111 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
6112 silly lockFile 3af71045-async-0-1-22 async@~0.1.22
6113 silly gunzTarPerm extractEntry src/reg.js
6114 silly gunzTarPerm extractEntry src/state.js
6115 silly gunzTarPerm extractEntry src/style.js
6116 silly gunzTarPerm extractEntry src/vars.js
6117 silly gunzTarPerm extractEntry src/platforms/rhino.js
6118 silly gunzTarPerm extractEntry src/reporters/checkstyle.js
6119 silly gunzTarPerm extractEntry src/reporters/default.js
6120 silly gunzTarPerm extractEntry src/reporters/jslint_xml.js
6121 silly gunzTarPerm extractEntry src/reporters/non_error.js
6122 silly lockFile a5a592df-ntrib-jshint-node-modules-jshint tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-jshint/node_modules/jshint
6123 silly lockFile a5a592df-ntrib-jshint-node-modules-jshint tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-jshint/node_modules/jshint
6124 silly lockFile 482a7b08-ike-npm-jshint-2-3-0-package-tgz tar:///home/spike/.npm/jshint/2.3.0/package.tgz
6125 silly lockFile 482a7b08-ike-npm-jshint-2-3-0-package-tgz tar:///home/spike/.npm/jshint/2.3.0/package.tgz
6126 info preinstall jshint@2.3.0
6127 verbose readDependencies using package.json deps
6128 verbose readDependencies using package.json deps
6129 verbose cache add [ 'shelljs@0.1.x', null ]
6130 verbose cache add name=undefined spec="shelljs@0.1.x" args=["shelljs@0.1.x",null]
6131 verbose parsed url { protocol: null,
6131 verbose parsed url slashes: null,
6131 verbose parsed url auth: null,
6131 verbose parsed url host: null,
6131 verbose parsed url port: null,
6131 verbose parsed url hostname: null,
6131 verbose parsed url hash: null,
6131 verbose parsed url search: null,
6131 verbose parsed url query: null,
6131 verbose parsed url pathname: 'shelljs@0.1.x',
6131 verbose parsed url path: 'shelljs@0.1.x',
6131 verbose parsed url href: 'shelljs@0.1.x' }
6132 verbose cache add name="shelljs" spec="0.1.x" args=["shelljs","0.1.x"]
6133 verbose parsed url { protocol: null,
6133 verbose parsed url slashes: null,
6133 verbose parsed url auth: null,
6133 verbose parsed url host: null,
6133 verbose parsed url port: null,
6133 verbose parsed url hostname: null,
6133 verbose parsed url hash: null,
6133 verbose parsed url search: null,
6133 verbose parsed url query: null,
6133 verbose parsed url pathname: '0.1.x',
6133 verbose parsed url path: '0.1.x',
6133 verbose parsed url href: '0.1.x' }
6134 verbose addNamed [ 'shelljs', '0.1.x' ]
6135 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
6136 silly lockFile cc65d7ed-shelljs-0-1-x shelljs@0.1.x
6137 verbose lock shelljs@0.1.x /home/spike/.npm/cc65d7ed-shelljs-0-1-x.lock
6138 verbose cache add [ 'underscore@1.4.x', null ]
6139 verbose cache add name=undefined spec="underscore@1.4.x" args=["underscore@1.4.x",null]
6140 verbose parsed url { protocol: null,
6140 verbose parsed url slashes: null,
6140 verbose parsed url auth: null,
6140 verbose parsed url host: null,
6140 verbose parsed url port: null,
6140 verbose parsed url hostname: null,
6140 verbose parsed url hash: null,
6140 verbose parsed url search: null,
6140 verbose parsed url query: null,
6140 verbose parsed url pathname: 'underscore@1.4.x',
6140 verbose parsed url path: 'underscore@1.4.x',
6140 verbose parsed url href: 'underscore@1.4.x' }
6141 verbose cache add name="underscore" spec="1.4.x" args=["underscore","1.4.x"]
6142 verbose parsed url { protocol: null,
6142 verbose parsed url slashes: null,
6142 verbose parsed url auth: null,
6142 verbose parsed url host: null,
6142 verbose parsed url port: null,
6142 verbose parsed url hostname: null,
6142 verbose parsed url hash: null,
6142 verbose parsed url search: null,
6142 verbose parsed url query: null,
6142 verbose parsed url pathname: '1.4.x',
6142 verbose parsed url path: '1.4.x',
6142 verbose parsed url href: '1.4.x' }
6143 verbose addNamed [ 'underscore', '1.4.x' ]
6144 verbose addNamed [ null, '>=1.4.0-0 <1.5.0-0' ]
6145 silly lockFile 53dcd9dd-underscore-1-4-x underscore@1.4.x
6146 verbose lock underscore@1.4.x /home/spike/.npm/53dcd9dd-underscore-1-4-x.lock
6147 verbose cache add [ 'cli@0.4.x', null ]
6148 verbose cache add name=undefined spec="cli@0.4.x" args=["cli@0.4.x",null]
6149 verbose parsed url { protocol: null,
6149 verbose parsed url slashes: null,
6149 verbose parsed url auth: null,
6149 verbose parsed url host: null,
6149 verbose parsed url port: null,
6149 verbose parsed url hostname: null,
6149 verbose parsed url hash: null,
6149 verbose parsed url search: null,
6149 verbose parsed url query: null,
6149 verbose parsed url pathname: 'cli@0.4.x',
6149 verbose parsed url path: 'cli@0.4.x',
6149 verbose parsed url href: 'cli@0.4.x' }
6150 verbose cache add name="cli" spec="0.4.x" args=["cli","0.4.x"]
6151 verbose parsed url { protocol: null,
6151 verbose parsed url slashes: null,
6151 verbose parsed url auth: null,
6151 verbose parsed url host: null,
6151 verbose parsed url port: null,
6151 verbose parsed url hostname: null,
6151 verbose parsed url hash: null,
6151 verbose parsed url search: null,
6151 verbose parsed url query: null,
6151 verbose parsed url pathname: '0.4.x',
6151 verbose parsed url path: '0.4.x',
6151 verbose parsed url href: '0.4.x' }
6152 verbose addNamed [ 'cli', '0.4.x' ]
6153 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
6154 silly lockFile c9212ae8-cli-0-4-x cli@0.4.x
6155 verbose lock cli@0.4.x /home/spike/.npm/c9212ae8-cli-0-4-x.lock
6156 silly addNameRange { name: 'shelljs', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
6157 silly addNameRange { name: 'underscore',
6157 silly addNameRange range: '>=1.4.0-0 <1.5.0-0',
6157 silly addNameRange hasData: false }
6158 silly addNameRange { name: 'cli', range: '>=0.4.0-0 <0.5.0-0', hasData: false }
6159 verbose cache add [ 'minimatch@0.x.x', null ]
6160 verbose cache add name=undefined spec="minimatch@0.x.x" args=["minimatch@0.x.x",null]
6161 verbose parsed url { protocol: null,
6161 verbose parsed url slashes: null,
6161 verbose parsed url auth: null,
6161 verbose parsed url host: null,
6161 verbose parsed url port: null,
6161 verbose parsed url hostname: null,
6161 verbose parsed url hash: null,
6161 verbose parsed url search: null,
6161 verbose parsed url query: null,
6161 verbose parsed url pathname: 'minimatch@0.x.x',
6161 verbose parsed url path: 'minimatch@0.x.x',
6161 verbose parsed url href: 'minimatch@0.x.x' }
6162 verbose cache add name="minimatch" spec="0.x.x" args=["minimatch","0.x.x"]
6163 verbose parsed url { protocol: null,
6163 verbose parsed url slashes: null,
6163 verbose parsed url auth: null,
6163 verbose parsed url host: null,
6163 verbose parsed url port: null,
6163 verbose parsed url hostname: null,
6163 verbose parsed url hash: null,
6163 verbose parsed url search: null,
6163 verbose parsed url query: null,
6163 verbose parsed url pathname: '0.x.x',
6163 verbose parsed url path: '0.x.x',
6163 verbose parsed url href: '0.x.x' }
6164 verbose addNamed [ 'minimatch', '0.x.x' ]
6165 verbose addNamed [ null, '>=0.0.0-0 <1.0.0-0' ]
6166 silly lockFile 38c78372-minimatch-0-x-x minimatch@0.x.x
6167 verbose lock minimatch@0.x.x /home/spike/.npm/38c78372-minimatch-0-x-x.lock
6168 silly addNameRange { name: 'minimatch',
6168 silly addNameRange range: '>=0.0.0-0 <1.0.0-0',
6168 silly addNameRange hasData: false }
6169 verbose url raw underscore
6170 verbose url resolving [ 'https://registry.npmjs.org/', './underscore' ]
6171 verbose url resolved https://registry.npmjs.org/underscore
6172 info trying registry request attempt 1 at 11:44:39
6173 verbose etag "1ORROIGBAG4C8L0BXAJ9F507C"
6174 http GET https://registry.npmjs.org/underscore
6175 verbose cache add [ 'console-browserify@0.1.x', null ]
6176 verbose cache add name=undefined spec="console-browserify@0.1.x" args=["console-browserify@0.1.x",null]
6177 verbose parsed url { protocol: null,
6177 verbose parsed url slashes: null,
6177 verbose parsed url auth: null,
6177 verbose parsed url host: null,
6177 verbose parsed url port: null,
6177 verbose parsed url hostname: null,
6177 verbose parsed url hash: null,
6177 verbose parsed url search: null,
6177 verbose parsed url query: null,
6177 verbose parsed url pathname: 'console-browserify@0.1.x',
6177 verbose parsed url path: 'console-browserify@0.1.x',
6177 verbose parsed url href: 'console-browserify@0.1.x' }
6178 verbose cache add name="console-browserify" spec="0.1.x" args=["console-browserify","0.1.x"]
6179 verbose parsed url { protocol: null,
6179 verbose parsed url slashes: null,
6179 verbose parsed url auth: null,
6179 verbose parsed url host: null,
6179 verbose parsed url port: null,
6179 verbose parsed url hostname: null,
6179 verbose parsed url hash: null,
6179 verbose parsed url search: null,
6179 verbose parsed url query: null,
6179 verbose parsed url pathname: '0.1.x',
6179 verbose parsed url path: '0.1.x',
6179 verbose parsed url href: '0.1.x' }
6180 verbose addNamed [ 'console-browserify', '0.1.x' ]
6181 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
6182 silly lockFile e69eec4c-console-browserify-0-1-x console-browserify@0.1.x
6183 verbose lock console-browserify@0.1.x /home/spike/.npm/e69eec4c-console-browserify-0-1-x.lock
6184 verbose url raw shelljs
6185 verbose url resolving [ 'https://registry.npmjs.org/', './shelljs' ]
6186 verbose url resolved https://registry.npmjs.org/shelljs
6187 info trying registry request attempt 1 at 11:44:39
6188 verbose etag "50FWBGTIOK6RD4Q5LU2Y86NB6"
6189 http GET https://registry.npmjs.org/shelljs
6190 silly addNameRange { name: 'console-browserify',
6190 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
6190 silly addNameRange hasData: false }
6191 verbose url raw minimatch
6192 verbose url resolving [ 'https://registry.npmjs.org/', './minimatch' ]
6193 verbose url resolved https://registry.npmjs.org/minimatch
6194 info trying registry request attempt 1 at 11:44:39
6195 verbose etag "64XOX37UTQ30T56XVE341LIFE"
6196 http GET https://registry.npmjs.org/minimatch
6197 verbose url raw cli
6198 verbose url resolving [ 'https://registry.npmjs.org/', './cli' ]
6199 verbose url resolved https://registry.npmjs.org/cli
6200 info trying registry request attempt 1 at 11:44:39
6201 verbose etag "22PZAKGQ2TRANTUMT2LYDK4ZS"
6202 http GET https://registry.npmjs.org/cli
6203 verbose url raw console-browserify
6204 verbose url resolving [ 'https://registry.npmjs.org/', './console-browserify' ]
6205 verbose url resolved https://registry.npmjs.org/console-browserify
6206 info trying registry request attempt 1 at 11:44:39
6207 verbose etag "A6FUTX76X8Y0BIXTD4F10KYVN"
6208 http GET https://registry.npmjs.org/console-browserify
6209 http 304 https://registry.npmjs.org/glob
6210 silly registry.get cb [ 304,
6210 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6210 silly registry.get etag: '"B1JO7OQNPSICFIYFPFTZR9ASE"',
6210 silly registry.get date: 'Mon, 16 Dec 2013 10:44:39 GMT',
6210 silly registry.get 'content-length': '0' } ]
6211 verbose etag glob from cache
6212 silly addNameRange number 2 { name: 'glob', range: '>=3.1.21-0 <3.2.0-0', hasData: true }
6213 silly addNameRange versions [ 'glob',
6213 silly addNameRange [ '1.1.0',
6213 silly addNameRange '2.0.9',
6213 silly addNameRange '2.0.8',
6213 silly addNameRange '2.0.7',
6213 silly addNameRange '2.1.0',
6213 silly addNameRange '3.0.0',
6213 silly addNameRange '3.0.1',
6213 silly addNameRange '3.1.0',
6213 silly addNameRange '3.1.1',
6213 silly addNameRange '3.1.2',
6213 silly addNameRange '3.1.3',
6213 silly addNameRange '3.1.4',
6213 silly addNameRange '3.1.5',
6213 silly addNameRange '3.1.6',
6213 silly addNameRange '3.1.7',
6213 silly addNameRange '3.1.9',
6213 silly addNameRange '3.1.10',
6213 silly addNameRange '3.1.11',
6213 silly addNameRange '3.1.12',
6213 silly addNameRange '3.1.13',
6213 silly addNameRange '3.1.14',
6213 silly addNameRange '3.1.15',
6213 silly addNameRange '3.1.16',
6213 silly addNameRange '3.1.17',
6213 silly addNameRange '3.1.18',
6213 silly addNameRange '3.1.19',
6213 silly addNameRange '3.1.20',
6213 silly addNameRange '3.1.21',
6213 silly addNameRange '3.2.0',
6213 silly addNameRange '3.2.1',
6213 silly addNameRange '3.2.3',
6213 silly addNameRange '3.2.4',
6213 silly addNameRange '3.2.5',
6213 silly addNameRange '3.2.6',
6213 silly addNameRange '3.2.7' ] ]
6214 verbose addNamed [ 'glob', '3.1.21' ]
6215 verbose addNamed [ '3.1.21', '3.1.21' ]
6216 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
6217 verbose lock glob@3.1.21 /home/spike/.npm/ab465912-glob-3-1-21.lock
6218 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
6219 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
6220 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
6221 silly lockFile b5074ddc-glob-3-1-21 glob@~3.1.21
6222 silly resolved [ { name: 'lodash',
6222 silly resolved version: '1.0.1',
6222 silly resolved description: 'An alternative to Underscore.js, delivering consistency, customization, performance, and extra features.',
6222 silly resolved homepage: 'http://lodash.com',
6222 silly resolved main: './dist/lodash',
6222 silly resolved keywords:
6222 silly resolved [ 'browser',
6222 silly resolved 'client',
6222 silly resolved 'functional',
6222 silly resolved 'performance',
6222 silly resolved 'server',
6222 silly resolved 'speed',
6222 silly resolved 'util' ],
6222 silly resolved licenses: [ [Object] ],
6222 silly resolved author:
6222 silly resolved { name: 'John-David Dalton',
6222 silly resolved email: 'john.david.dalton@gmail.com',
6222 silly resolved url: 'http://allyoucanleet.com/' },
6222 silly resolved bugs: { url: 'https://github.com/bestiejs/lodash/issues' },
6222 silly resolved repository: { type: 'git', url: 'https://github.com/bestiejs/lodash.git' },
6222 silly resolved bin: { lodash: './build.js' },
6222 silly resolved directories: { doc: './doc', test: './test' },
6222 silly resolved engines: [ 'node', 'rhino' ],
6222 silly resolved jam: { main: './lodash.js' },
6222 silly resolved scripts:
6222 silly resolved { build: 'node ./build.js',
6222 silly resolved test: 'node ./test/test.js ./dist/lodash.js && node ./test/test.js ./dist/lodash.min.js && node ./test/test-build.js' },
6222 silly resolved readme: '# Lo-Dash <sup>v1.0.1</sup>\n[![build status](https://secure.travis-ci.org/bestiejs/lodash.png)](http://travis-ci.org/bestiejs/lodash)\n\nAn alternative to Underscore.js, delivering consistency, [customization](https://github.com/bestiejs/lodash#custom-builds), [performance](http://lodash.com/benchmarks), and [extra features](https://github.com/bestiejs/lodash#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/bestiejs/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/bestiejs/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1s 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](https://github.com/bestiejs/lodash#custom-builds) with only the features you need\n\n## Dive in\n\nWeve 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/bestiejs/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-Dashs origin and why its a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dashs 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 objects own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an objects 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## Custom builds\n\nCustom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need.\nTo top it off, we handle all method dependency and alias mapping for you.\n\n * Backbone builds, with only methods required by Backbone, may be created using the `backbone` modifier argument.\n```bash\nlodash backbone\n```\n\n * CSP builds, supporting default [Content Security Policy](https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html) restrictions, may be created using the `csp` modifier argument.\n The `csp` modifier is an alais of the `mobile` modifier. Lo-Dash may be used in Chrome extensions by using either the `csp`, `mobile`, or `underscore` build and using precompiled templates, or loading Lo-Dash in a [sandbox](http://developer.chrome.com/stable/extensions/sandboxingEval.html).\n```bash\nlodash csp\n```\n\n * Legacy builds, tailored for older environments without [ES5 support](http://es5.github.com/), may be created using the `legacy` modifier argument.\n```bash\nlodash legacy\n```\n\n * Modern builds, tailored for newer environments with ES5 support, may be created using the `modern` modifier argument.\n```bash\nlodash modern\n```\n\n * Mobile builds, without method compilation and most bug fixes for old browsers, may be created using the `mobile` modifier argument.\n```bash\nlodash mobile\n```\n\n * Strict builds, with `_.bindAll`, `_.defaults`, and `_.extend` in [strict mode](http://es5.github.com/#C), may be created using the `strict` modifier argument.\n```bash\nlodash strict\n```\n\n * Underscore builds, tailored for projects already using Underscore, may be created using the `underscore` modifier argument.\n```bash\nlodash underscore\n```\n\nCustom builds may be created using the following commands:\n\n * Use the `category` argument to pass comma separated categories of methods to include in the build.<br>\n Valid categories (case-insensitive) are *“arrays”*, *“chaining”*, *“collections”*, *“functions”*, *“objects”*, and *“utilities”*.\n```bash\nlodash category=collections,functions\nlodash category="collections, functions"\n```\n\n * Use the `exports` argument to pass comma separated names of ways to export the `LoDash` function.<br>\n Valid exports are *“amd”*, *“commonjs”*, *“global”*, *“node”*, and *“none”*.\n```bash\nlodash exports=amd,commonjs,node\nlodash exports="amd, commonjs, node"\n```\n\n * Use the `iife` argument to specify code to replace the immediately-invoked function expression that wraps Lo-Dash.\n```bash\nlodash iife="!function(window,undefined){%output%}(this)"\n```\n\n * Use the `include` argument to pass comma separated method/category names to include in the build.\n```bash\nlodash include=each,filter,map\nlodash include="each, filter, map"\n```\n\n * Use the `minus` argument to pass comma separated method/category names to remove from those included in the build.\n```bash\nlodash underscore minus=result,shuffle\nlodash underscore minus="result, shuffle"\n```\n\n * Use the `plus` argument to pass comma separated method/category names to add to those included in the build.\n```bash\nlodash backbone plus=random,template\nlodash backbone plus="random, template"\n```\n\n * Use the `template` argument to pass the file path pattern used to match template files to precompile.\n```bash\nlodash template="./*.jst"\n```\n\n * Use the `settings` argument to pass the template settings used when precompiling templates.\n```bash\nlodash settings="{interpolate:/\\{\\{([\\s\\S]+?)\\}\\}/g}"\n```\n\n * Use the `moduleId` argument to specify the AMD module ID of Lo-Dash, which defaults to “lodash”, used by precompiled templates.\n```bash\nlodash moduleId="underscore"\n```\n\nAll arguments, except `legacy` with `csp`, `mobile`, `modern`, or `underscore`, may be combined.<br>\nUnless specified by `-o` or `--output`, all files created are saved to the current working directory.\n\nThe following options are also supported:\n\n * `-c`, `--stdout` ......... Write output to standard output\n * `-d`, `--debug` ........... Write only the non-minified development output\n * `-h`, `--help` ............. Display help information\n * `-m`, `--minify` ......... Write only the minified production output\n * `-o`, `--output` ......... Write output to a given path/filename\n * `-p`, `--source-map` .. Generate a source map for the minified output, using an optional source map URL\n * `-s`, `--silent` ......... Skip status updates normally logged to the console\n * `-V`, `--version` ....... Output current version of Lo-Dash\n\nThe `lodash` command-line utility is available when Lo-Dash is installed as a global package (i.e. `npm install -g lodash`).\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 projects 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/bestiejs/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the 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* [John-David Dalton](http://allyoucanleet.com/)\n [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter")\n\n## Contributors\n\n* [Kit Cambridge](http://kitcambridge.github.com/)\n [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter")\n* [Mathias Bynens](http://mathiasbynens.be/)\n [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter")\n',
6222 silly resolved readmeFilename: 'README.md',
6222 silly resolved _id: 'lodash@1.0.1',
6222 silly resolved _from: 'lodash@~1.0.1' },
6222 silly resolved { author:
6222 silly resolved { name: 'Isaac Z. Schlueter',
6222 silly resolved email: 'i@izs.me',
6222 silly resolved url: 'http://blog.izs.me/' },
6222 silly resolved name: 'glob',
6222 silly resolved description: 'a little globber',
6222 silly resolved version: '3.1.21',
6222 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
6222 silly resolved main: 'glob.js',
6222 silly resolved engines: { node: '*' },
6222 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
6222 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
6222 silly resolved scripts: { test: 'tap test/*.js' },
6222 silly resolved license: 'BSD',
6222 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',
6222 silly resolved readmeFilename: 'README.md',
6222 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
6222 silly resolved homepage: 'https://github.com/isaacs/node-glob',
6222 silly resolved _id: 'glob@3.1.21',
6222 silly resolved _from: 'glob@~3.1.21' } ]
6223 info install lodash@1.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync
6224 info install glob@3.1.21 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync
6225 info installOne lodash@1.0.1
6226 info installOne glob@3.1.21
6227 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/lodash unbuild
6228 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob unbuild
6229 verbose tar unpack /home/spike/.npm/lodash/1.0.1/package.tgz
6230 silly lockFile e9b081c0--findup-sync-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/lodash
6231 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/lodash /home/spike/.npm/e9b081c0--findup-sync-node-modules-lodash.lock
6232 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
6233 verbose lock tar:///home/spike/.npm/lodash/1.0.1/package.tgz /home/spike/.npm/807a5ae3-ike-npm-lodash-1-0-1-package-tgz.lock
6234 verbose tar unpack /home/spike/.npm/glob/3.1.21/package.tgz
6235 silly lockFile ef289566-es-findup-sync-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob
6236 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob /home/spike/.npm/ef289566-es-findup-sync-node-modules-glob.lock
6237 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
6238 verbose lock tar:///home/spike/.npm/glob/3.1.21/package.tgz /home/spike/.npm/14998653-pike-npm-glob-3-1-21-package-tgz.lock
6239 silly gunzTarPerm modes [ '755', '644' ]
6240 silly gunzTarPerm modes [ '755', '644' ]
6241 silly gunzTarPerm extractEntry package.json
6242 silly gunzTarPerm extractEntry package.json
6243 silly gunzTarPerm extractEntry README.md
6244 silly gunzTarPerm extractEntry index.js
6245 silly gunzTarPerm extractEntry .npmignore
6246 silly gunzTarPerm extractEntry README.md
6247 silly gunzTarPerm extractEntry build.js
6248 silly gunzTarPerm extractEntry LICENSE
6249 silly gunzTarPerm extractEntry glob.js
6250 silly gunzTarPerm extractEntry .travis.yml
6251 silly gunzTarPerm extractEntry lodash.js
6252 silly gunzTarPerm extractEntry doc/README.md
6253 silly gunzTarPerm extractEntry examples/g.js
6254 silly gunzTarPerm extractEntry examples/usr-local.js
6255 silly gunzTarPerm extractEntry build/minify.js
6256 silly gunzTarPerm extractEntry test/00-setup.js
6257 silly gunzTarPerm extractEntry test/bash-comparison.js
6258 silly gunzTarPerm extractEntry test/cwd-test.js
6259 silly gunzTarPerm extractEntry test/mark.js
6260 silly gunzTarPerm extractEntry test/nocase-nomagic.js
6261 silly gunzTarPerm extractEntry test/pause-resume.js
6262 silly gunzTarPerm extractEntry test/root-nomount.js
6263 silly gunzTarPerm extractEntry test/root.js
6264 silly gunzTarPerm extractEntry test/zz-cleanup.js
6265 silly gunzTarPerm extractEntry test/bash-results.json
6266 silly gunzTarPerm extractEntry build/post-compile.js
6267 silly gunzTarPerm extractEntry build/pre-compile.js
6268 silly lockFile ef289566-es-findup-sync-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob
6269 silly lockFile ef289566-es-findup-sync-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob
6270 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
6271 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
6272 info preinstall glob@3.1.21
6273 verbose readDependencies using package.json deps
6274 verbose readDependencies using package.json deps
6275 verbose cache add [ 'minimatch@~0.2.11', null ]
6276 verbose cache add name=undefined spec="minimatch@~0.2.11" args=["minimatch@~0.2.11",null]
6277 verbose parsed url { protocol: null,
6277 verbose parsed url slashes: null,
6277 verbose parsed url auth: null,
6277 verbose parsed url host: null,
6277 verbose parsed url port: null,
6277 verbose parsed url hostname: null,
6277 verbose parsed url hash: null,
6277 verbose parsed url search: null,
6277 verbose parsed url query: null,
6277 verbose parsed url pathname: 'minimatch@~0.2.11',
6277 verbose parsed url path: 'minimatch@~0.2.11',
6277 verbose parsed url href: 'minimatch@~0.2.11' }
6278 verbose cache add name="minimatch" spec="~0.2.11" args=["minimatch","~0.2.11"]
6279 verbose parsed url { protocol: null,
6279 verbose parsed url slashes: null,
6279 verbose parsed url auth: null,
6279 verbose parsed url host: null,
6279 verbose parsed url port: null,
6279 verbose parsed url hostname: null,
6279 verbose parsed url hash: null,
6279 verbose parsed url search: null,
6279 verbose parsed url query: null,
6279 verbose parsed url pathname: '~0.2.11',
6279 verbose parsed url path: '~0.2.11',
6279 verbose parsed url href: '~0.2.11' }
6280 verbose addNamed [ 'minimatch', '~0.2.11' ]
6281 verbose cache add [ 'graceful-fs@~1.2.0', null ]
6282 verbose cache add name=undefined spec="graceful-fs@~1.2.0" args=["graceful-fs@~1.2.0",null]
6283 verbose parsed url { protocol: null,
6283 verbose parsed url slashes: null,
6283 verbose parsed url auth: null,
6283 verbose parsed url host: null,
6283 verbose parsed url port: null,
6283 verbose parsed url hostname: null,
6283 verbose parsed url hash: null,
6283 verbose parsed url search: null,
6283 verbose parsed url query: null,
6283 verbose parsed url pathname: 'graceful-fs@~1.2.0',
6283 verbose parsed url path: 'graceful-fs@~1.2.0',
6283 verbose parsed url href: 'graceful-fs@~1.2.0' }
6284 verbose cache add name="graceful-fs" spec="~1.2.0" args=["graceful-fs","~1.2.0"]
6285 verbose parsed url { protocol: null,
6285 verbose parsed url slashes: null,
6285 verbose parsed url auth: null,
6285 verbose parsed url host: null,
6285 verbose parsed url port: null,
6285 verbose parsed url hostname: null,
6285 verbose parsed url hash: null,
6285 verbose parsed url search: null,
6285 verbose parsed url query: null,
6285 verbose parsed url pathname: '~1.2.0',
6285 verbose parsed url path: '~1.2.0',
6285 verbose parsed url href: '~1.2.0' }
6286 verbose addNamed [ 'graceful-fs', '~1.2.0' ]
6287 verbose addNamed [ null, '>=1.2.0-0 <1.3.0-0' ]
6288 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
6289 verbose lock graceful-fs@~1.2.0 /home/spike/.npm/9c0bb906-graceful-fs-1-2-0.lock
6290 silly addNameRange { name: 'graceful-fs',
6290 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
6290 silly addNameRange hasData: false }
6291 verbose cache add [ 'inherits@1', null ]
6292 verbose cache add name=undefined spec="inherits@1" args=["inherits@1",null]
6293 verbose parsed url { protocol: null,
6293 verbose parsed url slashes: null,
6293 verbose parsed url auth: null,
6293 verbose parsed url host: null,
6293 verbose parsed url port: null,
6293 verbose parsed url hostname: null,
6293 verbose parsed url hash: null,
6293 verbose parsed url search: null,
6293 verbose parsed url query: null,
6293 verbose parsed url pathname: 'inherits@1',
6293 verbose parsed url path: 'inherits@1',
6293 verbose parsed url href: 'inherits@1' }
6294 verbose cache add name="inherits" spec="1" args=["inherits","1"]
6295 verbose parsed url { protocol: null,
6295 verbose parsed url slashes: null,
6295 verbose parsed url auth: null,
6295 verbose parsed url host: null,
6295 verbose parsed url port: null,
6295 verbose parsed url hostname: null,
6295 verbose parsed url hash: null,
6295 verbose parsed url search: null,
6295 verbose parsed url query: null,
6295 verbose parsed url pathname: '1',
6295 verbose parsed url path: '1',
6295 verbose parsed url href: '1' }
6296 verbose addNamed [ 'inherits', '1' ]
6297 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
6298 silly lockFile 4bca46d0-inherits-1 inherits@1
6299 verbose lock inherits@1 /home/spike/.npm/4bca46d0-inherits-1.lock
6300 verbose url raw graceful-fs
6301 verbose url resolving [ 'https://registry.npmjs.org/', './graceful-fs' ]
6302 verbose url resolved https://registry.npmjs.org/graceful-fs
6303 info trying registry request attempt 1 at 11:44:39
6304 verbose etag "73QVR94NLELWB7CWCR6K3IJJY"
6305 http GET https://registry.npmjs.org/graceful-fs
6306 silly addNameRange { name: 'inherits', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
6307 verbose url raw inherits
6308 verbose url resolving [ 'https://registry.npmjs.org/', './inherits' ]
6309 verbose url resolved https://registry.npmjs.org/inherits
6310 info trying registry request attempt 1 at 11:44:39
6311 verbose etag "6RM1RRLSSACJ8ZJXSF6A9JDAR"
6312 http GET https://registry.npmjs.org/inherits
6313 silly gunzTarPerm extractEntry LICENSE.txt
6314 silly gunzTarPerm extractEntry dist/lodash.compat.js
6315 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
6316 silly gunzTarPerm extractEntry dist/lodash.js
6317 silly gunzTarPerm extractEntry dist/lodash.min.js
6318 silly gunzTarPerm extractEntry dist/lodash.underscore.js
6319 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
6320 silly gunzTarPerm extractEntry perf/perf.js
6321 silly gunzTarPerm extractEntry test/test-build.js
6322 silly gunzTarPerm extractEntry test/test.js
6323 silly gunzTarPerm extractEntry test/template/a.jst
6324 silly gunzTarPerm extractEntry test/template/b.jst
6325 silly gunzTarPerm extractEntry test/template/c.jst
6326 silly gunzTarPerm extractEntry test/template/d.tpl
6327 silly gunzTarPerm extractEntry vendor/benchmark.js/README.md
6328 silly gunzTarPerm extractEntry vendor/benchmark.js/benchmark.js
6329 silly gunzTarPerm extractEntry vendor/benchmark.js/LICENSE.txt
6330 silly gunzTarPerm extractEntry vendor/platform.js/README.md
6331 silly gunzTarPerm extractEntry vendor/platform.js/platform.js
6332 silly gunzTarPerm extractEntry vendor/platform.js/LICENSE.txt
6333 silly gunzTarPerm extractEntry vendor/qunit/README.md
6334 silly gunzTarPerm extractEntry vendor/qunit/qunit/qunit.js
6335 silly gunzTarPerm extractEntry vendor/qunit-clib/README.md
6336 silly gunzTarPerm extractEntry vendor/qunit-clib/qunit-clib.js
6337 silly gunzTarPerm extractEntry vendor/qunit-clib/LICENSE.txt
6338 silly gunzTarPerm extractEntry vendor/tar/README.md
6339 silly gunzTarPerm extractEntry vendor/tar/tar.js
6340 silly gunzTarPerm extractEntry vendor/tar/lib/buffer-entry.js
6341 silly gunzTarPerm extractEntry vendor/tar/lib/entry-writer.js
6342 silly gunzTarPerm extractEntry vendor/tar/lib/entry.js
6343 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header-writer.js
6344 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header.js
6345 silly gunzTarPerm extractEntry vendor/tar/lib/extract.js
6346 silly gunzTarPerm extractEntry vendor/tar/lib/global-header-writer.js
6347 silly gunzTarPerm extractEntry vendor/tar/lib/header.js
6348 silly gunzTarPerm extractEntry vendor/tar/lib/pack.js
6349 silly gunzTarPerm extractEntry vendor/tar/lib/parse.js
6350 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/README.md
6351 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/LICENCE
6352 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/block-stream.js
6353 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/README.md
6354 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/LICENCE
6355 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/fstream.js
6356 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/abstract.js
6357 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-writer.js
6358 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-reader.js
6359 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-writer.js
6360 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/get-type.js
6361 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-reader.js
6362 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-writer.js
6363 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-reader.js
6364 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-writer.js
6365 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/reader.js
6366 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/socket-reader.js
6367 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/collect.js
6368 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/writer.js
6369 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-reader.js
6370 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/README.md
6371 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/LICENSE
6372 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/graceful-fs.js
6373 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/README.md
6374 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/inherits.js
6375 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/LICENSE
6376 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/index.js
6377 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/README.markdown
6378 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/README.md
6379 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/LICENSE
6380 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/rimraf.js
6381 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/AUTHORS
6382 silly gunzTarPerm extractEntry vendor/underscore/README.md
6383 silly gunzTarPerm extractEntry vendor/underscore/LICENSE
6384 silly gunzTarPerm extractEntry vendor/underscore/underscore.js
6385 silly lockFile e9b081c0--findup-sync-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/lodash
6386 silly lockFile e9b081c0--findup-sync-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/lodash
6387 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
6388 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
6389 info preinstall lodash@1.0.1
6390 verbose readDependencies using package.json deps
6391 verbose readDependencies using package.json deps
6392 silly resolved []
6393 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/lodash
6394 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/lodash
6395 verbose linkStuff [ false,
6395 verbose linkStuff false,
6395 verbose linkStuff false,
6395 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules' ]
6396 info linkStuff lodash@1.0.1
6397 verbose linkBins lodash@1.0.1
6398 verbose link bins [ { lodash: './build.js' },
6398 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/.bin',
6398 verbose link bins false ]
6399 verbose linkMans lodash@1.0.1
6400 verbose rebuildBundles lodash@1.0.1
6401 info install lodash@1.0.1
6402 info postinstall lodash@1.0.1
6403 http 200 https://registry.npmjs.org/colors
6404 silly registry.get cb [ 200,
6404 silly registry.get { vary: 'Accept',
6404 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6404 silly registry.get etag: '"8QPVO2Y1B0G10I8ROG4XD7FFS"',
6404 silly registry.get date: 'Mon, 16 Dec 2013 10:44:39 GMT',
6404 silly registry.get 'content-type': 'application/json',
6404 silly registry.get 'content-length': '9618' } ]
6405 silly addNameRange number 2 { name: 'colors', range: '>=0.6.2-0 <0.7.0-0', hasData: true }
6406 silly addNameRange versions [ 'colors',
6406 silly addNameRange [ '0.3.0', '0.5.0', '0.5.1', '0.6.0', '0.6.0-1', '0.6.1', '0.6.2' ] ]
6407 verbose addNamed [ 'colors', '0.6.2' ]
6408 verbose addNamed [ '0.6.2', '0.6.2' ]
6409 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
6410 verbose lock colors@0.6.2 /home/spike/.npm/1ce149d5-colors-0-6-2.lock
6411 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
6412 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
6413 silly lockFile f2380b4d-colors-0-6-2 colors@~0.6.2
6414 silly lockFile f2380b4d-colors-0-6-2 colors@~0.6.2
6415 http 304 https://registry.npmjs.org/iconv-lite
6416 silly registry.get cb [ 304,
6416 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6416 silly registry.get etag: '"AMRAQDFA9EDR0OHP7TPDL6CD"',
6416 silly registry.get date: 'Mon, 16 Dec 2013 10:44:39 GMT',
6416 silly registry.get 'content-length': '0' } ]
6417 verbose etag iconv-lite from cache
6418 silly addNameRange number 2 { name: 'iconv-lite',
6418 silly addNameRange range: '>=0.2.11-0 <0.3.0-0',
6418 silly addNameRange hasData: true }
6419 silly addNameRange versions [ 'iconv-lite',
6419 silly addNameRange [ '0.1.0',
6419 silly addNameRange '0.1.1',
6419 silly addNameRange '0.1.2',
6419 silly addNameRange '0.1.3',
6419 silly addNameRange '0.1.4',
6419 silly addNameRange '0.2.0',
6419 silly addNameRange '0.2.1',
6419 silly addNameRange '0.2.3',
6419 silly addNameRange '0.2.4',
6419 silly addNameRange '0.2.5',
6419 silly addNameRange '0.2.6',
6419 silly addNameRange '0.2.7',
6419 silly addNameRange '0.2.8',
6419 silly addNameRange '0.2.9',
6419 silly addNameRange '0.2.10',
6419 silly addNameRange '0.2.11' ] ]
6420 verbose addNamed [ 'iconv-lite', '0.2.11' ]
6421 verbose addNamed [ '0.2.11', '0.2.11' ]
6422 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
6423 verbose lock iconv-lite@0.2.11 /home/spike/.npm/5d877021-iconv-lite-0-2-11.lock
6424 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
6425 silly lockFile 5d877021-iconv-lite-0-2-11 iconv-lite@0.2.11
6426 silly lockFile 92090105-iconv-lite-0-2-11 iconv-lite@~0.2.11
6427 silly lockFile 92090105-iconv-lite-0-2-11 iconv-lite@~0.2.11
6428 http 304 https://registry.npmjs.org/minimatch
6429 silly registry.get cb [ 304,
6429 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6429 silly registry.get etag: '"64XOX37UTQ30T56XVE341LIFE"',
6429 silly registry.get date: 'Mon, 16 Dec 2013 10:44:40 GMT',
6429 silly registry.get 'content-length': '0' } ]
6430 verbose etag minimatch from cache
6431 silly addNameRange number 2 { name: 'minimatch',
6431 silly addNameRange range: '>=0.2.12-0 <0.3.0-0',
6431 silly addNameRange hasData: true }
6432 silly addNameRange versions [ 'minimatch',
6432 silly addNameRange [ '0.0.1',
6432 silly addNameRange '0.0.2',
6432 silly addNameRange '0.0.4',
6432 silly addNameRange '0.0.5',
6432 silly addNameRange '0.1.1',
6432 silly addNameRange '0.1.2',
6432 silly addNameRange '0.1.3',
6432 silly addNameRange '0.1.4',
6432 silly addNameRange '0.1.5',
6432 silly addNameRange '0.2.0',
6432 silly addNameRange '0.2.2',
6432 silly addNameRange '0.2.3',
6432 silly addNameRange '0.2.4',
6432 silly addNameRange '0.2.5',
6432 silly addNameRange '0.2.6',
6432 silly addNameRange '0.2.7',
6432 silly addNameRange '0.2.8',
6432 silly addNameRange '0.2.9',
6432 silly addNameRange '0.2.10',
6432 silly addNameRange '0.2.11',
6432 silly addNameRange '0.2.12',
6432 silly addNameRange '0.2.13' ] ]
6433 verbose addNamed [ 'minimatch', '0.2.13' ]
6434 verbose addNamed [ '0.2.13', '0.2.13' ]
6435 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
6436 verbose lock minimatch@0.2.13 /home/spike/.npm/1a041349-minimatch-0-2-13.lock
6437 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
6438 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
6439 silly lockFile 89ce5cca-minimatch-0-2-12 minimatch@~0.2.12
6440 silly lockFile 89ce5cca-minimatch-0-2-12 minimatch@~0.2.12
6441 http 200 https://registry.npmjs.org/exit
6442 silly registry.get cb [ 200,
6442 silly registry.get { vary: 'Accept',
6442 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6442 silly registry.get etag: '"F35KS5RLNHV1VJBRS81QWR8YF"',
6442 silly registry.get date: 'Mon, 16 Dec 2013 10:44:40 GMT',
6442 silly registry.get 'content-type': 'application/json',
6442 silly registry.get 'content-length': '14080' } ]
6443 silly addNameRange number 2 { name: 'exit', range: '>=0.1.1-0 <0.2.0-0', hasData: true }
6444 silly addNameRange versions [ 'exit', [ '0.1.0', '0.1.1', '0.1.2' ] ]
6445 verbose addNamed [ 'exit', '0.1.2' ]
6446 verbose addNamed [ '0.1.2', '0.1.2' ]
6447 silly lockFile 7dd65db3-exit-0-1-2 exit@0.1.2
6448 verbose lock exit@0.1.2 /home/spike/.npm/7dd65db3-exit-0-1-2.lock
6449 silly lockFile 26c4995b-ry-npmjs-org-exit-exit-0-1-2-tgz https://registry.npmjs.org/exit/-/exit-0.1.2.tgz
6450 verbose lock https://registry.npmjs.org/exit/-/exit-0.1.2.tgz /home/spike/.npm/26c4995b-ry-npmjs-org-exit-exit-0-1-2-tgz.lock
6451 verbose addRemoteTarball [ 'https://registry.npmjs.org/exit/-/exit-0.1.2.tgz',
6451 verbose addRemoteTarball '0632638f8d877cc82107d30a0fff1a17cba1cd0c' ]
6452 info retry fetch attempt 1 at 11:44:40
6453 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/tmp.tgz
6454 http GET https://registry.npmjs.org/exit/-/exit-0.1.2.tgz
6455 http 200 https://registry.npmjs.org/coffee-script
6456 silly registry.get cb [ 200,
6456 silly registry.get { vary: 'Accept',
6456 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
6456 silly registry.get etag: '"155W60TWHO27XK7B4P5QEN30J"',
6456 silly registry.get date: 'Mon, 16 Dec 2013 10:44:39 GMT',
6456 silly registry.get 'content-type': 'application/json',
6456 silly registry.get 'content-length': '41407' } ]
6457 silly addNameRange number 2 { name: 'coffee-script',
6457 silly addNameRange range: '>=1.3.3-0 <1.4.0-0',
6457 silly addNameRange hasData: true }
6458 silly addNameRange versions [ 'coffee-script',
6458 silly addNameRange [ '0.7.0',
6458 silly addNameRange '0.7.1',
6458 silly addNameRange '0.7.2',
6458 silly addNameRange '0.9.0',
6458 silly addNameRange '0.9.1',
6458 silly addNameRange '0.9.2',
6458 silly addNameRange '0.9.3',
6458 silly addNameRange '0.9.4',
6458 silly addNameRange '0.9.5',
6458 silly addNameRange '0.9.6',
6458 silly addNameRange '1.0.0',
6458 silly addNameRange '1.0.1',
6458 silly addNameRange '1.1.0',
6458 silly addNameRange '1.1.1',
6458 silly addNameRange '1.1.2',
6458 silly addNameRange '1.1.3',
6458 silly addNameRange '1.2.0',
6458 silly addNameRange '1.3.0',
6458 silly addNameRange '1.3.1',
6458 silly addNameRange '1.3.2',
6458 silly addNameRange '1.3.3',
6458 silly addNameRange '1.4.0',
6458 silly addNameRange '1.5.0',
6458 silly addNameRange '1.6.0',
6458 silly addNameRange '1.6.1',
6458 silly addNameRange '1.6.2',
6458 silly addNameRange '1.6.3' ] ]
6459 verbose addNamed [ 'coffee-script', '1.3.3' ]
6460 verbose addNamed [ '1.3.3', '1.3.3' ]
6461 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
6462 verbose lock coffee-script@1.3.3 /home/spike/.npm/022c8436-coffee-script-1-3-3.lock
6463 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
6464 silly lockFile 022c8436-coffee-script-1-3-3 coffee-script@1.3.3
6465 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
6466 silly lockFile f72bb580-coffee-script-1-3-3 coffee-script@~1.3.3
6467 http 200 https://registry.npmjs.org/getobject
6468 silly registry.get cb [ 200,
6468 silly registry.get { vary: 'Accept',
6468 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6468 silly registry.get etag: '"A88G5F5BA62VY2RM5V7B9PUKR"',
6468 silly registry.get date: 'Mon, 16 Dec 2013 10:44:40 GMT',
6468 silly registry.get 'content-type': 'application/json',
6468 silly registry.get 'content-length': '3109' } ]
6469 silly addNameRange number 2 { name: 'getobject', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
6470 silly addNameRange versions [ 'getobject', [ '0.1.0' ] ]
6471 verbose addNamed [ 'getobject', '0.1.0' ]
6472 verbose addNamed [ '0.1.0', '0.1.0' ]
6473 silly lockFile c44ec3ff-getobject-0-1-0 getobject@0.1.0
6474 verbose lock getobject@0.1.0 /home/spike/.npm/c44ec3ff-getobject-0-1-0.lock
6475 silly lockFile ffaebdea-rg-getobject-getobject-0-1-0-tgz https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz
6476 verbose lock https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz /home/spike/.npm/ffaebdea-rg-getobject-getobject-0-1-0-tgz.lock
6477 verbose addRemoteTarball [ 'https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz',
6477 verbose addRemoteTarball '047a449789fa160d018f5486ed91320b6ec7885c' ]
6478 info retry fetch attempt 1 at 11:44:41
6479 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/tmp.tgz
6480 http GET https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz
6481 http 200 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
6482 silly registry.get cb [ 200,
6482 silly registry.get { vary: 'Accept',
6482 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6482 silly registry.get etag: '"9EO1TTI9WY5WU8A5JVJ2464XZ"',
6482 silly registry.get date: 'Mon, 16 Dec 2013 10:44:41 GMT',
6482 silly registry.get 'content-type': 'application/json',
6482 silly registry.get 'content-length': '821' } ]
6483 silly lockFile 8242891e-ormat-dateformat-1-0-2-1-2-3-tgz https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
6484 verbose lock https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz /home/spike/.npm/8242891e-ormat-dateformat-1-0-2-1-2-3-tgz.lock
6485 verbose addRemoteTarball [ 'https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz',
6485 verbose addRemoteTarball 'b0220c02de98617433b72851cf47de3df2cdbee9' ]
6486 info retry fetch attempt 1 at 11:44:41
6487 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/tmp.tgz
6488 http GET https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
6489 http 304 https://registry.npmjs.org/nopt
6490 silly registry.get cb [ 304,
6490 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6490 silly registry.get etag: '"7ZWLQPPM56VM8XQ0VW9DU43K7"',
6490 silly registry.get date: 'Mon, 16 Dec 2013 10:44:41 GMT',
6490 silly registry.get 'content-length': '0' } ]
6491 verbose etag nopt from cache
6492 silly addNameRange number 2 { name: 'nopt', range: '>=1.0.10-0 <1.1.0-0', hasData: true }
6493 silly addNameRange versions [ 'nopt',
6493 silly addNameRange [ '1.0.0',
6493 silly addNameRange '1.0.1',
6493 silly addNameRange '1.0.2',
6493 silly addNameRange '1.0.3',
6493 silly addNameRange '1.0.4',
6493 silly addNameRange '1.0.5',
6493 silly addNameRange '1.0.6',
6493 silly addNameRange '1.0.7',
6493 silly addNameRange '1.0.8',
6493 silly addNameRange '1.0.9',
6493 silly addNameRange '1.0.10',
6493 silly addNameRange '2.0.0',
6493 silly addNameRange '2.1.0',
6493 silly addNameRange '2.1.1',
6493 silly addNameRange '2.1.2' ] ]
6494 verbose addNamed [ 'nopt', '1.0.10' ]
6495 verbose addNamed [ '1.0.10', '1.0.10' ]
6496 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
6497 verbose lock nopt@1.0.10 /home/spike/.npm/1be903a1-nopt-1-0-10.lock
6498 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
6499 silly lockFile 1be903a1-nopt-1-0-10 nopt@1.0.10
6500 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
6501 silly lockFile 79f78dba-nopt-1-0-10 nopt@~1.0.10
6502 http 304 https://registry.npmjs.org/rimraf
6503 silly registry.get cb [ 304,
6503 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6503 silly registry.get etag: '"3V5RTC86Q9GNOIZ4HOF0WGDZ2"',
6503 silly registry.get date: 'Mon, 16 Dec 2013 10:44:41 GMT',
6503 silly registry.get 'content-length': '0' } ]
6504 verbose etag rimraf from cache
6505 silly addNameRange number 2 { name: 'rimraf', range: '>=2.0.3-0 <2.1.0-0', hasData: true }
6506 silly addNameRange versions [ 'rimraf',
6506 silly addNameRange [ '1.0.0',
6506 silly addNameRange '1.0.1',
6506 silly addNameRange '1.0.2',
6506 silly addNameRange '1.0.4',
6506 silly addNameRange '1.0.5',
6506 silly addNameRange '1.0.6',
6506 silly addNameRange '1.0.7',
6506 silly addNameRange '1.0.8',
6506 silly addNameRange '1.0.9',
6506 silly addNameRange '2.0.0',
6506 silly addNameRange '2.0.1',
6506 silly addNameRange '2.0.2',
6506 silly addNameRange '2.0.3',
6506 silly addNameRange '2.1.0',
6506 silly addNameRange '2.1.1',
6506 silly addNameRange '2.1.2',
6506 silly addNameRange '2.1.3',
6506 silly addNameRange '2.1.4',
6506 silly addNameRange '2.2.0',
6506 silly addNameRange '2.2.1',
6506 silly addNameRange '2.2.2',
6506 silly addNameRange '2.2.3',
6506 silly addNameRange '2.2.4',
6506 silly addNameRange '2.2.5' ] ]
6507 verbose addNamed [ 'rimraf', '2.0.3' ]
6508 verbose addNamed [ '2.0.3', '2.0.3' ]
6509 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
6510 verbose lock rimraf@2.0.3 /home/spike/.npm/166fc4dd-rimraf-2-0-3.lock
6511 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
6512 silly lockFile 166fc4dd-rimraf-2-0-3 rimraf@2.0.3
6513 silly lockFile 530919ca-rimraf-2-0-3 rimraf@~2.0.3
6514 silly lockFile 530919ca-rimraf-2-0-3 rimraf@~2.0.3
6515 http 200 https://registry.npmjs.org/exit/-/exit-0.1.2.tgz
6516 http 304 https://registry.npmjs.org/lodash
6517 silly registry.get cb [ 304,
6517 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6517 silly registry.get etag: '"5HHGKIDWZB2G25HTOQTC7BAR5"',
6517 silly registry.get date: 'Mon, 16 Dec 2013 10:44:41 GMT',
6517 silly registry.get 'content-length': '0' } ]
6518 verbose etag lodash from cache
6519 silly addNameRange number 2 { name: 'lodash', range: '>=0.9.2-0 <0.10.0-0', hasData: true }
6520 silly addNameRange versions [ 'lodash',
6520 silly addNameRange [ '0.1.0',
6520 silly addNameRange '0.2.0',
6520 silly addNameRange '0.2.1',
6520 silly addNameRange '0.2.2',
6520 silly addNameRange '0.3.0',
6520 silly addNameRange '0.3.1',
6520 silly addNameRange '0.3.2',
6520 silly addNameRange '0.4.0',
6520 silly addNameRange '0.4.1',
6520 silly addNameRange '0.4.2',
6520 silly addNameRange '0.5.0-rc.1',
6520 silly addNameRange '0.5.0',
6520 silly addNameRange '0.5.1',
6520 silly addNameRange '0.5.2',
6520 silly addNameRange '0.6.0',
6520 silly addNameRange '0.6.1',
6520 silly addNameRange '0.7.0',
6520 silly addNameRange '0.8.0',
6520 silly addNameRange '0.8.1',
6520 silly addNameRange '0.8.2',
6520 silly addNameRange '0.9.0',
6520 silly addNameRange '0.9.1',
6520 silly addNameRange '0.9.2',
6520 silly addNameRange '0.10.0',
6520 silly addNameRange '1.0.0-rc.1',
6520 silly addNameRange '1.0.0-rc.2',
6520 silly addNameRange '1.0.0-rc.3',
6520 silly addNameRange '1.0.0',
6520 silly addNameRange '1.0.1',
6520 silly addNameRange '1.1.0',
6520 silly addNameRange '1.1.1',
6520 silly addNameRange '1.2.0',
6520 silly addNameRange '1.2.1',
6520 silly addNameRange '1.3.0',
6520 silly addNameRange '1.3.1',
6520 silly addNameRange '2.0.0',
6520 silly addNameRange '2.1.0',
6520 silly addNameRange '2.2.0',
6520 silly addNameRange '2.2.1',
6520 silly addNameRange '2.3.0',
6520 silly addNameRange '2.4.0',
6520 silly addNameRange '2.4.1' ] ]
6521 verbose addNamed [ 'lodash', '0.9.2' ]
6522 verbose addNamed [ '0.9.2', '0.9.2' ]
6523 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
6524 verbose lock lodash@0.9.2 /home/spike/.npm/9802d919-lodash-0-9-2.lock
6525 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
6526 silly lockFile 9802d919-lodash-0-9-2 lodash@0.9.2
6527 silly lockFile 1fff9bf4-lodash-0-9-2 lodash@~0.9.2
6528 silly lockFile 1fff9bf4-lodash-0-9-2 lodash@~0.9.2
6529 http 304 https://registry.npmjs.org/underscore.string
6530 silly registry.get cb [ 304,
6530 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6530 silly registry.get etag: '"BGJFP3JODYVGJUBE3KRMPOOC6"',
6530 silly registry.get date: 'Mon, 16 Dec 2013 10:44:41 GMT',
6530 silly registry.get 'content-length': '0' } ]
6531 verbose etag underscore.string from cache
6532 silly addNameRange number 2 { name: 'underscore.string',
6532 silly addNameRange range: '>=2.2.1-0 <2.3.0-0',
6532 silly addNameRange hasData: true }
6533 silly addNameRange versions [ 'underscore.string',
6533 silly addNameRange [ '0.9.2',
6533 silly addNameRange '1.0.0',
6533 silly addNameRange '1.1.3',
6533 silly addNameRange '1.1.4',
6533 silly addNameRange '1.1.5',
6533 silly addNameRange '1.1.6',
6533 silly addNameRange '2.0.0',
6533 silly addNameRange '2.1.0',
6533 silly addNameRange '2.1.1',
6533 silly addNameRange '2.3.0',
6533 silly addNameRange '2.3.1',
6533 silly addNameRange '2.3.2',
6533 silly addNameRange '2.2.1',
6533 silly addNameRange '2.2.0-rc',
6533 silly addNameRange '2.3.3' ] ]
6534 verbose addNamed [ 'underscore.string', '2.2.1' ]
6535 verbose addNamed [ '2.2.1', '2.2.1' ]
6536 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
6537 verbose lock underscore.string@2.2.1 /home/spike/.npm/5c083954-underscore-string-2-2-1.lock
6538 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
6539 silly lockFile 5c083954-underscore-string-2-2-1 underscore.string@2.2.1
6540 silly lockFile 57acec0b-underscore-string-2-2-1 underscore.string@~2.2.1
6541 silly lockFile 57acec0b-underscore-string-2-2-1 underscore.string@~2.2.1
6542 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/tmp.tgz
6543 silly lockFile 3e5bbfa6-80679-0-9286873419769108-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package
6544 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package /home/spike/.npm/3e5bbfa6-80679-0-9286873419769108-package.lock
6545 silly lockFile 05683cd4-80679-0-9286873419769108-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/tmp.tgz
6546 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/tmp.tgz /home/spike/.npm/05683cd4-80679-0-9286873419769108-tmp-tgz.lock
6547 silly gunzTarPerm modes [ '755', '644' ]
6548 silly gunzTarPerm extractEntry package.json
6549 silly gunzTarPerm extractEntry .npmignore
6550 silly gunzTarPerm extractEntry README.md
6551 silly gunzTarPerm extractEntry Gruntfile.js
6552 silly gunzTarPerm extractEntry .jshintrc
6553 silly gunzTarPerm extractEntry .travis.yml
6554 silly gunzTarPerm extractEntry LICENSE-MIT
6555 silly gunzTarPerm extractEntry lib/exit.js
6556 silly gunzTarPerm extractEntry test/exit_test.js
6557 silly gunzTarPerm extractEntry test/fixtures/log.js
6558 silly gunzTarPerm extractEntry test/fixtures/log-broken.js
6559 silly gunzTarPerm extractEntry test/fixtures/10-stdout.txt
6560 silly gunzTarPerm extractEntry test/fixtures/100-stderr.txt
6561 silly gunzTarPerm extractEntry test/fixtures/100-stdout-stderr.txt
6562 silly gunzTarPerm extractEntry test/fixtures/100-stdout.txt
6563 silly gunzTarPerm extractEntry test/fixtures/10-stdout-stderr.txt
6564 silly gunzTarPerm extractEntry test/fixtures/1000-stdout-stderr.txt
6565 silly gunzTarPerm extractEntry test/fixtures/1000-stdout.txt
6566 silly gunzTarPerm extractEntry test/fixtures/create-files.sh
6567 silly gunzTarPerm extractEntry test/fixtures/10-stderr.txt
6568 silly gunzTarPerm extractEntry test/fixtures/1000-stderr.txt
6569 silly lockFile 3e5bbfa6-80679-0-9286873419769108-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package
6570 silly lockFile 3e5bbfa6-80679-0-9286873419769108-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package
6571 silly lockFile 05683cd4-80679-0-9286873419769108-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/tmp.tgz
6572 silly lockFile 05683cd4-80679-0-9286873419769108-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/tmp.tgz
6573 verbose tar pack [ '/home/spike/.npm/exit/0.1.2/package.tgz',
6573 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package' ]
6574 verbose tarball /home/spike/.npm/exit/0.1.2/package.tgz
6575 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package
6576 silly lockFile 3e5bbfa6-80679-0-9286873419769108-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package
6577 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package /home/spike/.npm/3e5bbfa6-80679-0-9286873419769108-package.lock
6578 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
6579 verbose lock tar:///home/spike/.npm/exit/0.1.2/package.tgz /home/spike/.npm/913e10fe-spike-npm-exit-0-1-2-package-tgz.lock
6580 silly lockFile 3e5bbfa6-80679-0-9286873419769108-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package
6581 silly lockFile 3e5bbfa6-80679-0-9286873419769108-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190680679-0.9286873419769108/package
6582 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
6583 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
6584 silly lockFile 0748770d-ome-spike-npm-exit-0-1-2-package /home/spike/.npm/exit/0.1.2/package
6585 verbose lock /home/spike/.npm/exit/0.1.2/package /home/spike/.npm/0748770d-ome-spike-npm-exit-0-1-2-package.lock
6586 silly lockFile 0748770d-ome-spike-npm-exit-0-1-2-package /home/spike/.npm/exit/0.1.2/package
6587 silly lockFile 0748770d-ome-spike-npm-exit-0-1-2-package /home/spike/.npm/exit/0.1.2/package
6588 verbose tar unpack /home/spike/.npm/exit/0.1.2/package.tgz
6589 silly lockFile 215a1c59-ome-spike-npm-exit-0-1-2-package tar:///home/spike/.npm/exit/0.1.2/package
6590 verbose lock tar:///home/spike/.npm/exit/0.1.2/package /home/spike/.npm/215a1c59-ome-spike-npm-exit-0-1-2-package.lock
6591 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
6592 verbose lock tar:///home/spike/.npm/exit/0.1.2/package.tgz /home/spike/.npm/913e10fe-spike-npm-exit-0-1-2-package-tgz.lock
6593 silly gunzTarPerm modes [ '755', '644' ]
6594 silly gunzTarPerm extractEntry package.json
6595 silly gunzTarPerm extractEntry .npmignore
6596 silly gunzTarPerm extractEntry README.md
6597 silly gunzTarPerm extractEntry Gruntfile.js
6598 silly gunzTarPerm extractEntry .jshintrc
6599 silly gunzTarPerm extractEntry .travis.yml
6600 silly gunzTarPerm extractEntry LICENSE-MIT
6601 silly gunzTarPerm extractEntry lib/exit.js
6602 silly gunzTarPerm extractEntry test/exit_test.js
6603 silly gunzTarPerm extractEntry test/fixtures/log.js
6604 silly gunzTarPerm extractEntry test/fixtures/log-broken.js
6605 silly gunzTarPerm extractEntry test/fixtures/10-stdout.txt
6606 silly gunzTarPerm extractEntry test/fixtures/100-stderr.txt
6607 silly gunzTarPerm extractEntry test/fixtures/100-stdout-stderr.txt
6608 silly gunzTarPerm extractEntry test/fixtures/100-stdout.txt
6609 silly gunzTarPerm extractEntry test/fixtures/10-stdout-stderr.txt
6610 silly gunzTarPerm extractEntry test/fixtures/1000-stdout-stderr.txt
6611 silly gunzTarPerm extractEntry test/fixtures/1000-stdout.txt
6612 silly gunzTarPerm extractEntry test/fixtures/create-files.sh
6613 silly gunzTarPerm extractEntry test/fixtures/10-stderr.txt
6614 silly gunzTarPerm extractEntry test/fixtures/1000-stderr.txt
6615 silly lockFile 215a1c59-ome-spike-npm-exit-0-1-2-package tar:///home/spike/.npm/exit/0.1.2/package
6616 silly lockFile 215a1c59-ome-spike-npm-exit-0-1-2-package tar:///home/spike/.npm/exit/0.1.2/package
6617 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
6618 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
6619 verbose chmod /home/spike/.npm/exit/0.1.2/package.tgz 644
6620 verbose chown /home/spike/.npm/exit/0.1.2/package.tgz [ 1000, 1000 ]
6621 silly lockFile 26c4995b-ry-npmjs-org-exit-exit-0-1-2-tgz https://registry.npmjs.org/exit/-/exit-0.1.2.tgz
6622 silly lockFile 26c4995b-ry-npmjs-org-exit-exit-0-1-2-tgz https://registry.npmjs.org/exit/-/exit-0.1.2.tgz
6623 silly lockFile 7dd65db3-exit-0-1-2 exit@0.1.2
6624 silly lockFile 7dd65db3-exit-0-1-2 exit@0.1.2
6625 silly lockFile 36e7f3d8-exit-0-1-1 exit@~0.1.1
6626 silly lockFile 36e7f3d8-exit-0-1-1 exit@~0.1.1
6627 http 304 https://registry.npmjs.org/which
6628 silly registry.get cb [ 304,
6628 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6628 silly registry.get etag: '"BKGQ58BIN1M32T3RBZMYWBPDZ"',
6628 silly registry.get date: 'Mon, 16 Dec 2013 10:44:41 GMT',
6628 silly registry.get 'content-length': '0' } ]
6629 verbose etag which from cache
6630 silly addNameRange number 2 { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: true }
6631 silly addNameRange versions [ 'which', [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '1.0.5' ] ]
6632 verbose addNamed [ 'which', '1.0.5' ]
6633 verbose addNamed [ '1.0.5', '1.0.5' ]
6634 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
6635 verbose lock which@1.0.5 /home/spike/.npm/4aed4494-which-1-0-5.lock
6636 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
6637 silly lockFile 4aed4494-which-1-0-5 which@1.0.5
6638 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
6639 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
6640 http 304 https://registry.npmjs.org/js-yaml
6641 silly registry.get cb [ 304,
6641 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
6641 silly registry.get etag: '"90WSAAY245R9NKQACV7GEI0N6"',
6641 silly registry.get date: 'Mon, 16 Dec 2013 10:44:42 GMT',
6641 silly registry.get 'content-length': '0' } ]
6642 verbose etag js-yaml from cache
6643 silly addNameRange number 2 { name: 'js-yaml', range: '>=2.0.5-0 <2.1.0-0', hasData: true }
6644 silly addNameRange versions [ 'js-yaml',
6644 silly addNameRange [ '0.2.0',
6644 silly addNameRange '0.2.1',
6644 silly addNameRange '0.2.2',
6644 silly addNameRange '0.3.0',
6644 silly addNameRange '0.3.1',
6644 silly addNameRange '0.3.2',
6644 silly addNameRange '0.3.3',
6644 silly addNameRange '0.3.4',
6644 silly addNameRange '0.3.5',
6644 silly addNameRange '0.3.6',
6644 silly addNameRange '0.3.7',
6644 silly addNameRange '1.0.0',
6644 silly addNameRange '1.0.1',
6644 silly addNameRange '1.0.2',
6644 silly addNameRange '1.0.3',
6644 silly addNameRange '2.0.0',
6644 silly addNameRange '2.0.1',
6644 silly addNameRange '2.0.2',
6644 silly addNameRange '2.0.3',
6644 silly addNameRange '2.0.4',
6644 silly addNameRange '2.0.5',
6644 silly addNameRange '2.1.0',
6644 silly addNameRange '2.1.1',
6644 silly addNameRange '2.1.2',
6644 silly addNameRange '2.1.3',
6644 silly addNameRange '3.0.0' ] ]
6645 verbose addNamed [ 'js-yaml', '2.0.5' ]
6646 verbose addNamed [ '2.0.5', '2.0.5' ]
6647 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
6648 verbose lock js-yaml@2.0.5 /home/spike/.npm/0aecb717-js-yaml-2-0-5.lock
6649 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
6650 silly lockFile 0aecb717-js-yaml-2-0-5 js-yaml@2.0.5
6651 silly lockFile f87c51d5-js-yaml-2-0-5 js-yaml@~2.0.5
6652 silly lockFile f87c51d5-js-yaml-2-0-5 js-yaml@~2.0.5
6653 http 200 https://registry.npmjs.org/connect
6654 silly registry.get cb [ 200,
6654 silly registry.get { vary: 'Accept',
6654 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
6654 silly registry.get etag: '"8PYPMYOP4BDPITH165DKXORC3"',
6654 silly registry.get date: 'Mon, 16 Dec 2013 10:44:33 GMT',
6654 silly registry.get 'content-type': 'application/json',
6654 silly registry.get 'content-length': '329704' } ]
6655 silly addNameRange number 2 { name: 'connect', range: '>=2.7.11-0 <2.8.0-0', hasData: true }
6656 silly addNameRange versions [ 'connect',
6656 silly addNameRange [ '0.0.1',
6656 silly addNameRange '0.0.2',
6656 silly addNameRange '0.0.3',
6656 silly addNameRange '0.0.4',
6656 silly addNameRange '0.0.5',
6656 silly addNameRange '0.0.6',
6656 silly addNameRange '0.1.0',
6656 silly addNameRange '0.2.0',
6656 silly addNameRange '0.2.1',
6656 silly addNameRange '0.2.2',
6656 silly addNameRange '0.2.3',
6656 silly addNameRange '0.2.4',
6656 silly addNameRange '0.2.5',
6656 silly addNameRange '0.2.6',
6656 silly addNameRange '0.2.7',
6656 silly addNameRange '0.3.0',
6656 silly addNameRange '0.4.0',
6656 silly addNameRange '0.5.0',
6656 silly addNameRange '0.5.1',
6656 silly addNameRange '0.5.2',
6656 silly addNameRange '0.5.3',
6656 silly addNameRange '0.5.4',
6656 silly addNameRange '0.5.5',
6656 silly addNameRange '0.5.6',
6656 silly addNameRange '0.5.7',
6656 silly addNameRange '0.5.8',
6656 silly addNameRange '0.5.9',
6656 silly addNameRange '0.5.10',
6656 silly addNameRange '1.0.0',
6656 silly addNameRange '1.0.1',
6656 silly addNameRange '1.0.2',
6656 silly addNameRange '1.0.3',
6656 silly addNameRange '1.0.4',
6656 silly addNameRange '1.0.5',
6656 silly addNameRange '1.0.6',
6656 silly addNameRange '1.1.0',
6656 silly addNameRange '1.1.1',
6656 silly addNameRange '1.1.2',
6656 silly addNameRange '1.1.3',
6656 silly addNameRange '1.1.4',
6656 silly addNameRange '1.1.5',
6656 silly addNameRange '1.2.0',
6656 silly addNameRange '1.2.1',
6656 silly addNameRange '1.2.2',
6656 silly addNameRange '1.2.3',
6656 silly addNameRange '1.3.0',
6656 silly addNameRange '1.4.0',
6656 silly addNameRange '1.4.1',
6656 silly addNameRange '1.4.2',
6656 silly addNameRange '1.4.3',
6656 silly addNameRange '1.4.4',
6656 silly addNameRange '1.4.5',
6656 silly addNameRange '1.4.6',
6656 silly addNameRange '1.5.0',
6656 silly addNameRange '1.5.1',
6656 silly addNameRange '1.5.2',
6656 silly addNameRange '1.6.0',
6656 silly addNameRange '1.6.1',
6656 silly addNameRange '1.6.2',
6656 silly addNameRange '1.6.3',
6656 silly addNameRange '1.6.4',
6656 silly addNameRange '1.7.0',
6656 silly addNameRange '1.7.1',
6656 silly addNameRange '1.7.2',
6656 silly addNameRange '1.7.3',
6656 silly addNameRange '1.8.0',
6656 silly addNameRange '1.8.1',
6656 silly addNameRange '1.8.2',
6656 silly addNameRange '1.8.3',
6656 silly addNameRange '1.8.4',
6656 silly addNameRange '1.8.5',
6656 silly addNameRange '2.0.0',
6656 silly addNameRange '2.0.1',
6656 silly addNameRange '2.0.2',
6656 silly addNameRange '2.0.3',
6656 silly addNameRange '1.8.6',
6656 silly addNameRange '2.1.0',
6656 silly addNameRange '2.1.1',
6656 silly addNameRange '2.1.2',
6656 silly addNameRange '1.8.7',
6656 silly addNameRange '2.1.3',
6656 silly addNameRange '2.2.0',
6656 silly addNameRange '2.2.1',
6656 silly addNameRange '2.2.2',
6656 silly addNameRange '2.3.0',
6656 silly addNameRange '2.3.1',
6656 silly addNameRange '2.3.2',
6656 silly addNameRange '2.3.3',
6656 silly addNameRange '1.9.0',
6656 silly addNameRange '1.9.1',
6656 silly addNameRange '2.3.4',
6656 silly addNameRange '2.3.5',
6656 silly addNameRange '2.3.6',
6656 silly addNameRange '2.3.7',
6656 silly addNameRange '1.9.2',
6656 silly addNameRange '2.3.8',
6656 silly addNameRange '2.3.9',
6656 silly addNameRange '2.4.0',
6656 silly addNameRange '2.4.1',
6656 silly addNameRange '2.4.2',
6656 silly addNameRange '2.4.3',
6656 silly addNameRange '2.4.4',
6656 silly addNameRange '2.4.5',
6656 silly addNameRange '2.4.6',
6656 silly addNameRange '2.5.0',
6656 silly addNameRange '2.6.0',
6656 silly addNameRange '2.6.1',
6656 silly addNameRange '2.6.2',
6656 silly addNameRange '2.7.0',
6656 silly addNameRange '2.7.1',
6656 silly addNameRange '2.7.2',
6656 silly addNameRange '2.7.3',
6656 silly addNameRange '2.7.4',
6656 silly addNameRange '2.7.5',
6656 silly addNameRange '2.7.6',
6656 silly addNameRange '2.7.7',
6656 silly addNameRange '2.7.8',
6656 silly addNameRange '2.7.9',
6656 silly addNameRange '2.7.10',
6656 silly addNameRange '2.7.11',
6656 silly addNameRange '2.8.0',
6656 silly addNameRange '2.8.1',
6656 silly addNameRange '2.8.2',
6656 silly addNameRange '2.8.3',
6656 silly addNameRange '2.8.4',
6656 silly addNameRange '2.8.5',
6656 silly addNameRange '2.8.6',
6656 silly addNameRange '2.8.7',
6656 silly addNameRange '2.8.8',
6656 silly addNameRange '2.9.0',
6656 silly addNameRange '2.9.1',
6656 silly addNameRange '2.9.2',
6656 silly addNameRange '2.10.0',
6656 silly addNameRange '2.10.1',
6656 silly addNameRange '2.11.0',
6656 silly addNameRange '2.11.1',
6656 silly addNameRange '2.11.2',
6656 silly addNameRange '2.12.0' ] ]
6657 verbose addNamed [ 'connect', '2.7.11' ]
6658 verbose addNamed [ '2.7.11', '2.7.11' ]
6659 silly lockFile 4ba73353-connect-2-7-11 connect@2.7.11
6660 verbose lock connect@2.7.11 /home/spike/.npm/4ba73353-connect-2-7-11.lock
6661 silly lockFile 4ba73353-connect-2-7-11 connect@2.7.11
6662 silly lockFile 4ba73353-connect-2-7-11 connect@2.7.11
6663 silly lockFile 1729cbdb-connect-2-7-11 connect@~2.7.11
6664 silly lockFile 1729cbdb-connect-2-7-11 connect@~2.7.11
6665 silly resolved [ { name: 'open',
6665 silly resolved version: '0.0.4',
6665 silly resolved description: 'open a file or url in the user\'s preferred application',
6665 silly resolved keywords: [ 'start', 'open', 'browser', 'editor', 'default' ],
6665 silly resolved homepage: 'https://github.com/jjrdn/node-open',
6665 silly resolved author: { name: 'J Jordan', email: 'jjrdn@styosis.com' },
6665 silly resolved license: 'MIT',
6665 silly resolved contributors: [ [Object] ],
6665 silly resolved repository: { type: 'git', url: 'https://github.com/pwnall/node-open.git' },
6665 silly resolved bugs: { url: 'https://github.com/pwnall/node-open/issues' },
6665 silly resolved engines: { node: '>= 0.6.0' },
6665 silly resolved dependencies: {},
6665 silly resolved devDependencies: { mocha: '*' },
6665 silly resolved optionalDependencies: {},
6665 silly resolved main: 'lib/open.js',
6665 silly resolved scripts: { test: 'node_modules/mocha/bin/mocha' },
6665 silly resolved readme: '# open\n\nOpen a file or url in the user\'s preferred application.\n\n# Usage\n\n```javascript\nvar open = require("open");\nopen("http://www.google.com");\n```\n\n`open` taks an optional argument specifying the program to be used to open the\nfile or URL.\n\n```javascript\nopen("http://www.google.com", "firefox");\n```\n\n# Installation\n\n npm install open\n\n# How it works\n\n- on `win32` uses `start`\n- on `darwin` uses `open`\n- otherwise uses the `xdg-open` script from [freedesktop.org](http://portland.freedesktop.org/xdg-utils-1.0/xdg-open.html)\n\n# Warning\n\nThe same care should be taken when calling open as if you were calling\n[child_process.exec](http://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback)\ndirectly. If it is an executable it will run in a new shell.\n',
6665 silly resolved readmeFilename: 'README.md',
6665 silly resolved _id: 'open@0.0.4',
6665 silly resolved _from: 'open@0.0.4' },
6665 silly resolved { name: 'connect-livereload',
6665 silly resolved description: 'connect middleware for adding the livereload script to the response',
6665 silly resolved version: '0.2.0',
6665 silly resolved author: { name: 'Andi Neck', email: 'andi.neck@intesso.com' },
6665 silly resolved contributors: [ [Object] ],
6665 silly resolved dependencies: {},
6665 silly resolved devDependencies: { express: '~3.2.2', supertest: '~0.6.0', mocha: '~1.9.0' },
6665 silly resolved keywords: [ 'connect', 'livereload', 'live-reload' ],
6665 silly resolved repository:
6665 silly resolved { type: 'git',
6665 silly resolved url: 'git://github.com/intesso/connect-livereload' },
6665 silly resolved main: 'index',
6665 silly resolved engines: { node: '*' },
6665 silly resolved readme: 'connect-livereload\n==================\nconnect middleware for adding the livereload script to the response.\nno browser plugin is needed.\nif you are happy with a browser plugin, then you don\'t need this middleware.\n\n[![Build Status](https://travis-ci.org/intesso/connect-livereload.png)](https://travis-ci.org/intesso/connect-livereload)\n\ninstall\n=======\n```bash\nnpm install connect-livereload --save-dev\n```\n\nuse\n===\nthis middleware can be used with a LiveReload server e.g. [grunt-reload](https://github.com/webxl/grunt-reload).\n\nIn your connect or express application add this after the static and before the dynamic routes:\n```javascript\n var liveReloadPort = 35729;\n var excludeList = [\'.woff\', \'.flv\'];\n \n app.use(require(\'connect-livereload\')({\n port: liveReloadPort,\n excludeList: excludeList\n }));\n```\n\nplease see the [examples](https://github.com/intesso/connect-livereload/tree/master/examples) for the app and Grunt configuration.\n\n\t\n###note \nif you add this middleware before the static middleware, it will lead to problems. \nIf you can\'t avoid that for some reason, you have to add all of the static file extensions to the `excludeList: [\'.css\', \'.js\', \'.ico\', \'.png\', \'ect...\']`\n\nalternative\n===========\nAn alternative would be to install the [LiveReload browser plugin](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei).\n\n\ncredits\n=======\n* The middleware code is mainly extracted from: [grunt-contrib-livereload/util.js](https://github.com/gruntjs/grunt-contrib-livereload/blob/master/lib/utils.js)\n* [LiveReload Creator](http://livereload.com/)\n\ntests\n=====\nrun the tests with \n```\nmocha\n```\n\nlicense\n=======\n[MIT License](https://github.com/intesso/connect-livereload/blob/master/LICENSE)\n',
6665 silly resolved readmeFilename: 'README.md',
6665 silly resolved bugs: { url: 'https://github.com/intesso/connect-livereload/issues' },
6665 silly resolved homepage: 'https://github.com/intesso/connect-livereload',
6665 silly resolved _id: 'connect-livereload@0.2.0',
6665 silly resolved _from: 'connect-livereload@~0.2.0' },
6665 silly resolved { name: 'connect',
6665 silly resolved version: '2.7.11',
6665 silly resolved description: 'High performance middleware framework',
6665 silly resolved keywords: [ 'framework', 'web', 'middleware', 'connect', 'rack' ],
6665 silly resolved repository: { type: 'git', url: 'git://github.com/senchalabs/connect.git' },
6665 silly resolved author:
6665 silly resolved { name: 'TJ Holowaychuk',
6665 silly resolved email: 'tj@vision-media.ca',
6665 silly resolved url: 'http://tjholowaychuk.com' },
6665 silly resolved dependencies:
6665 silly resolved { qs: '0.6.5',
6665 silly resolved formidable: '1.0.14',
6665 silly resolved 'cookie-signature': '1.0.1',
6665 silly resolved 'buffer-crc32': '0.2.1',
6665 silly resolved cookie: '0.0.5',
6665 silly resolved send: '0.1.1',
6665 silly resolved bytes: '0.2.0',
6665 silly resolved fresh: '0.1.0',
6665 silly resolved pause: '0.0.1',
6665 silly resolved debug: '*' },
6665 silly resolved devDependencies: { should: '*', mocha: '*', jade: '*', dox: '*' },
6665 silly resolved main: 'index',
6665 silly resolved engines: { node: '>= 0.8.0' },
6665 silly resolved scripts: { test: 'make' },
6665 silly resolved readme: '[![build status](https://secure.travis-ci.org/senchalabs/connect.png)](http://travis-ci.org/senchalabs/connect)\n# Connect\n\n Connect is an extensible HTTP server framework for [node](http://nodejs.org), providing high performance "plugins" known as _middleware_.\n\n Connect is bundled with over _20_ commonly used middleware, including\n a logger, session support, cookie parser, and [more](http://senchalabs.github.com/connect). Be sure to view the 2.x [documentation](http://senchalabs.github.com/connect/).\n\n```js\nvar connect = require(\'connect\')\n , http = require(\'http\');\n\nvar app = connect()\n .use(connect.favicon())\n .use(connect.logger(\'dev\'))\n .use(connect.static(\'public\'))\n .use(connect.directory(\'public\'))\n .use(connect.cookieParser())\n .use(connect.session({ secret: \'my secret here\' }))\n .use(function(req, res){\n res.end(\'Hello from Connect!\\n\');\n });\n\nhttp.createServer(app).listen(3000);\n```\n\n## Middleware\n\n - [csrf](http://www.senchalabs.org/connect/csrf.html)\n - [basicAuth](http://www.senchalabs.org/connect/basicAuth.html)\n - [bodyParser](http://www.senchalabs.org/connect/bodyParser.html)\n - [json](http://www.senchalabs.org/connect/json.html)\n - [multipart](http://www.senchalabs.org/connect/multipart.html)\n - [urlencoded](http://www.senchalabs.org/connect/urlencoded.html)\n - [cookieParser](http://www.senchalabs.org/connect/cookieParser.html)\n - [directory](http://www.senchalabs.org/connect/directory.html)\n - [compress](http://www.senchalabs.org/connect/compress.html)\n - [errorHandler](http://www.senchalabs.org/connect/errorHandler.html)\n - [favicon](http://www.senchalabs.org/connect/favicon.html)\n - [limit](http://www.senchalabs.org/connect/limit.html)\n - [logger](http://www.senchalabs.org/connect/logger.html)\n - [methodOverride](http://www.senchalabs.org/connect/methodOverride.html)\n - [query](http://www.senchalabs.org/connect/query.html)\n - [responseTime](http://www.senchalabs.org/connect/responseTime.html)\n - [session](http://www.senchalabs.org/connect/session.html)\n - [static](http://www.senchalabs.org/connect/static.html)\n - [staticCache](http://www.senchalabs.org/connect/staticCache.html)\n - [vhost](http://www.senchalabs.org/connect/vhost.html)\n - [subdomains](http://www.senchalabs.org/connect/subdomains.html)\n - [cookieSession](http://www.senchalabs.org/connect/cookieSession.html)\n\n## Running Tests\n\nfirst:\n\n $ npm install -d\n\nthen:\n\n $ make test\n\n## Authors\n\n Below is the output from [git-summary](http://github.com/visionmedia/git-extras).\n\n\n project: connect\n commits: 2033\n active : 301 days\n files : 171\n authors: \n 1414\tTj Holowaychuk 69.6%\n 298\tvisionmedia 14.7%\n 191\tTim Caswell 9.4%\n 51\tTJ Holowaychuk 2.5%\n 10\tRyan Olds 0.5%\n 8\tAstro 0.4%\n 5\tNathan Rajlich 0.2%\n 5\tJakub Nešetřil 0.2%\n 3\tDaniel Dickison 0.1%\n 3\tDavid Rio Deiros 0.1%\n 3\tAlexander Simmerl 0.1%\n 3\tAndreas Lind Petersen 0.1%\n 2\tAaron Heckmann 0.1%\n 2\tJacques Crocker 0.1%\n 2\tFabian Jakobs 0.1%\n 2\tBrian J Brennan 0.1%\n 2\tAdam Malcontenti-Wilson 0.1%\n 2\tGlen Mailer 0.1%\n 2\tJames Campos 0.1%\n 1\tTrent Mick 0.0%\n 1\tTroy Kruthoff 0.0%\n 1\tWei Zhu 0.0%\n 1\tcomerc 0.0%\n 1\tdarobin 0.0%\n 1\tnateps 0.0%\n 1\tMarco Sanson 0.0%\n 1\tArthur Taylor 0.0%\n 1\tAseem Kishore 0.0%\n 1\tBart Teeuwisse 0.0%\n 1\tCameron Howey 0.0%\n 1\tChad Weider 0.0%\n 1\tCraig Barnes 0.0%\n 1\tEran Hammer-Lahav 0.0%\n 1\tGregory McWhirter 0.0%\n 1\tGuillermo Rauch 0.0%\n 1\tJae Kwon 0.0%\n 1\tJakub Nesetril 0.0%\n 1\tJoshua Peek 0.0%\n 1\tJxck 0.0%\n 1\tAJ ONeal 0.0%\n 1\tMichael Hemesath 0.0%\n 1\tMorten Siebuhr 0.0%\n 1\tSamori Gorse 0.0%\n 1\tTom Jensen 0.0%\n\n## Node Compatibility\n\n Connect `< 1.x` is compatible with node 0.2.x\n\n\n Connect `1.x` is compatible with node 0.4.x\n\n\n Connect (_master_) `2.x` is compatible with node 0.6.x\n\n## CLA\n\n [http://sencha.com/cla](http://sencha.com/cla)\n\n## License\n\nView the [LICENSE](https://github.com/senchalabs/connect/blob/master/LICENSE) file. The [Silk](http://www.famfamfam.com/lab/icons/silk/) icons used by the `directory` middleware created by/copyright of [FAMFAMFAM](http://www.famfamfam.com/).\n',
6665 silly resolved readmeFilename: 'Readme.md',
6665 silly resolved bugs: { url: 'https://github.com/senchalabs/connect/issues' },
6665 silly resolved homepage: 'https://github.com/senchalabs/connect',
6665 silly resolved _id: 'connect@2.7.11',
6665 silly resolved _from: 'connect@~2.7.11' } ]
6666 info install open@0.0.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect
6667 info install connect-livereload@0.2.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect
6668 info install connect@2.7.11 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect
6669 info installOne open@0.0.4
6670 info installOne connect-livereload@0.2.0
6671 info installOne connect@2.7.11
6672 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/open unbuild
6673 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect-livereload unbuild
6674 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect unbuild
6675 verbose tar unpack /home/spike/.npm/open/0.0.4/package.tgz
6676 silly lockFile a7cc792e-ontrib-connect-node-modules-open tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/open
6677 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/open /home/spike/.npm/a7cc792e-ontrib-connect-node-modules-open.lock
6678 silly lockFile cb270d29-spike-npm-open-0-0-4-package-tgz tar:///home/spike/.npm/open/0.0.4/package.tgz
6679 verbose lock tar:///home/spike/.npm/open/0.0.4/package.tgz /home/spike/.npm/cb270d29-spike-npm-open-0-0-4-package-tgz.lock
6680 verbose tar unpack /home/spike/.npm/connect-livereload/0.2.0/package.tgz
6681 silly lockFile 5b069591--node-modules-connect-livereload tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect-livereload
6682 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect-livereload /home/spike/.npm/5b069591--node-modules-connect-livereload.lock
6683 silly lockFile ba64c208-ect-livereload-0-2-0-package-tgz tar:///home/spike/.npm/connect-livereload/0.2.0/package.tgz
6684 verbose lock tar:///home/spike/.npm/connect-livereload/0.2.0/package.tgz /home/spike/.npm/ba64c208-ect-livereload-0-2-0-package-tgz.lock
6685 verbose tar unpack /home/spike/.npm/connect/2.7.11/package.tgz
6686 silly lockFile 5495d53b-rib-connect-node-modules-connect tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect
6687 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect /home/spike/.npm/5495d53b-rib-connect-node-modules-connect.lock
6688 silly lockFile e2951804-e-npm-connect-2-7-11-package-tgz tar:///home/spike/.npm/connect/2.7.11/package.tgz
6689 verbose lock tar:///home/spike/.npm/connect/2.7.11/package.tgz /home/spike/.npm/e2951804-e-npm-connect-2-7-11-package-tgz.lock
6690 silly gunzTarPerm modes [ '755', '644' ]
6691 silly gunzTarPerm modes [ '755', '644' ]
6692 silly gunzTarPerm modes [ '755', '644' ]
6693 silly gunzTarPerm extractEntry package.json
6694 silly gunzTarPerm extractEntry package.json
6695 silly gunzTarPerm extractEntry package.json
6696 silly gunzTarPerm extractEntry .npmignore
6697 silly gunzTarPerm extractEntry README.md
6698 silly gunzTarPerm extractEntry .npmignore
6699 silly gunzTarPerm extractEntry README.md
6700 silly gunzTarPerm extractEntry .npmignore
6701 silly gunzTarPerm extractEntry LICENSE
6702 silly gunzTarPerm extractEntry LICENSE
6703 silly gunzTarPerm extractEntry .jshintignore
6704 silly gunzTarPerm extractEntry LICENSE
6705 silly gunzTarPerm extractEntry index.js
6706 silly gunzTarPerm extractEntry index.js
6707 silly gunzTarPerm extractEntry test.js
6708 silly gunzTarPerm extractEntry .jshintrc
6709 silly gunzTarPerm extractEntry lib/open.js
6710 silly gunzTarPerm extractEntry .travis.yml
6711 silly gunzTarPerm extractEntry .travis.yml
6712 silly gunzTarPerm extractEntry Readme.md
6713 silly gunzTarPerm extractEntry vendor/xdg-open
6714 silly gunzTarPerm extractEntry lib/cache.js
6715 silly gunzTarPerm extractEntry lib/connect.js
6716 silly gunzTarPerm extractEntry lib/index.js
6717 silly gunzTarPerm extractEntry lib/patch.js
6718 silly gunzTarPerm extractEntry lib/proto.js
6719 silly gunzTarPerm extractEntry lib/utils.js
6720 silly gunzTarPerm extractEntry lib/middleware/basicAuth.js
6721 silly lockFile 5b069591--node-modules-connect-livereload tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect-livereload
6722 silly lockFile 5b069591--node-modules-connect-livereload tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect-livereload
6723 silly lockFile ba64c208-ect-livereload-0-2-0-package-tgz tar:///home/spike/.npm/connect-livereload/0.2.0/package.tgz
6724 silly lockFile ba64c208-ect-livereload-0-2-0-package-tgz tar:///home/spike/.npm/connect-livereload/0.2.0/package.tgz
6725 info preinstall connect-livereload@0.2.0
6726 silly gunzTarPerm extractEntry lib/middleware/errorHandler.js
6727 silly gunzTarPerm extractEntry lib/middleware/favicon.js
6728 verbose readDependencies using package.json deps
6729 verbose readDependencies using package.json deps
6730 silly resolved []
6731 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect-livereload
6732 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect-livereload
6733 verbose linkStuff [ false,
6733 verbose linkStuff false,
6733 verbose linkStuff false,
6733 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules' ]
6734 info linkStuff connect-livereload@0.2.0
6735 verbose linkBins connect-livereload@0.2.0
6736 verbose linkMans connect-livereload@0.2.0
6737 verbose rebuildBundles connect-livereload@0.2.0
6738 info install connect-livereload@0.2.0
6739 info postinstall connect-livereload@0.2.0
6740 silly gunzTarPerm extractEntry lib/middleware/json.js
6741 silly gunzTarPerm extractEntry lib/middleware/limit.js
6742 silly gunzTarPerm extractEntry lib/middleware/directory.js
6743 silly gunzTarPerm extractEntry lib/middleware/methodOverride.js
6744 silly gunzTarPerm extractEntry lib/middleware/multipart.js
6745 silly gunzTarPerm extractEntry lib/middleware/query.js
6746 silly lockFile a7cc792e-ontrib-connect-node-modules-open tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/open
6747 silly lockFile a7cc792e-ontrib-connect-node-modules-open tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/open
6748 silly lockFile cb270d29-spike-npm-open-0-0-4-package-tgz tar:///home/spike/.npm/open/0.0.4/package.tgz
6749 silly lockFile cb270d29-spike-npm-open-0-0-4-package-tgz tar:///home/spike/.npm/open/0.0.4/package.tgz
6750 silly gunzTarPerm extractEntry lib/middleware/responseTime.js
6751 silly gunzTarPerm extractEntry lib/middleware/urlencoded.js
6752 info preinstall open@0.0.4
6753 verbose readDependencies using package.json deps
6754 verbose readDependencies using package.json deps
6755 silly resolved []
6756 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/open
6757 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/open
6758 verbose linkStuff [ false,
6758 verbose linkStuff false,
6758 verbose linkStuff false,
6758 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules' ]
6759 info linkStuff open@0.0.4
6760 verbose linkBins open@0.0.4
6761 verbose linkMans open@0.0.4
6762 verbose rebuildBundles open@0.0.4
6763 info install open@0.0.4
6764 info postinstall open@0.0.4
6765 silly gunzTarPerm extractEntry lib/middleware/csrf.js
6766 silly gunzTarPerm extractEntry lib/middleware/session.js
6767 silly gunzTarPerm extractEntry lib/middleware/cookieSession.js
6768 silly gunzTarPerm extractEntry lib/middleware/static.js
6769 silly gunzTarPerm extractEntry lib/middleware/cookieParser.js
6770 silly gunzTarPerm extractEntry lib/middleware/staticCache.js
6771 silly gunzTarPerm extractEntry lib/middleware/compress.js
6772 silly gunzTarPerm extractEntry lib/middleware/timeout.js
6773 silly gunzTarPerm extractEntry lib/middleware/bodyParser.js
6774 silly gunzTarPerm extractEntry lib/middleware/vhost.js
6775 silly gunzTarPerm extractEntry lib/middleware/logger.js
6776 silly gunzTarPerm extractEntry lib/middleware/session/cookie.js
6777 silly gunzTarPerm extractEntry lib/middleware/session/memory.js
6778 silly gunzTarPerm extractEntry lib/middleware/session/session.js
6779 silly gunzTarPerm extractEntry lib/middleware/session/store.js
6780 silly gunzTarPerm extractEntry lib/public/directory.html
6781 silly gunzTarPerm extractEntry lib/public/error.html
6782 silly gunzTarPerm extractEntry lib/public/favicon.ico
6783 silly gunzTarPerm extractEntry lib/public/icons/page_white_edit.png
6784 silly gunzTarPerm extractEntry lib/public/icons/page.png
6785 silly gunzTarPerm extractEntry lib/public/icons/page_attach.png
6786 silly gunzTarPerm extractEntry lib/public/icons/page_code.png
6787 silly gunzTarPerm extractEntry lib/public/icons/page_copy.png
6788 silly gunzTarPerm extractEntry lib/public/icons/page_delete.png
6789 silly gunzTarPerm extractEntry lib/public/icons/page_edit.png
6790 silly gunzTarPerm extractEntry lib/public/icons/page_error.png
6791 silly gunzTarPerm extractEntry lib/public/icons/page_excel.png
6792 silly gunzTarPerm extractEntry lib/public/icons/page_find.png
6793 silly gunzTarPerm extractEntry lib/public/icons/page_gear.png
6794 silly gunzTarPerm extractEntry lib/public/icons/page_go.png
6795 silly gunzTarPerm extractEntry lib/public/icons/page_green.png
6796 silly gunzTarPerm extractEntry lib/public/icons/page_key.png
6797 silly gunzTarPerm extractEntry lib/public/icons/page_lightning.png
6798 silly gunzTarPerm extractEntry lib/public/icons/page_link.png
6799 silly gunzTarPerm extractEntry lib/public/icons/page_paintbrush.png
6800 silly gunzTarPerm extractEntry lib/public/icons/page_paste.png
6801 silly gunzTarPerm extractEntry lib/public/icons/page_red.png
6802 silly gunzTarPerm extractEntry lib/public/icons/page_refresh.png
6803 silly gunzTarPerm extractEntry lib/public/icons/page_save.png
6804 silly gunzTarPerm extractEntry lib/public/icons/page_white.png
6805 silly gunzTarPerm extractEntry lib/public/icons/page_white_acrobat.png
6806 silly gunzTarPerm extractEntry lib/public/icons/page_white_actionscript.png
6807 silly gunzTarPerm extractEntry lib/public/icons/page_white_add.png
6808 silly gunzTarPerm extractEntry lib/public/icons/page_white_c.png
6809 silly gunzTarPerm extractEntry lib/public/icons/page_white_camera.png
6810 silly gunzTarPerm extractEntry lib/public/icons/page_white_cd.png
6811 silly gunzTarPerm extractEntry lib/public/icons/page_white_code.png
6812 silly gunzTarPerm extractEntry lib/public/icons/page_white_code_red.png
6813 silly gunzTarPerm extractEntry lib/public/icons/page_white_coldfusion.png
6814 silly gunzTarPerm extractEntry lib/public/icons/page_white_compressed.png
6815 silly gunzTarPerm extractEntry lib/public/icons/page_white_copy.png
6816 silly gunzTarPerm extractEntry lib/public/icons/page_white_cplusplus.png
6817 silly gunzTarPerm extractEntry lib/public/icons/page_white_csharp.png
6818 silly gunzTarPerm extractEntry lib/public/icons/page_white_cup.png
6819 silly gunzTarPerm extractEntry lib/public/icons/page_white_database.png
6820 silly gunzTarPerm extractEntry lib/public/icons/page_white_delete.png
6821 silly gunzTarPerm extractEntry lib/public/icons/page_white_dvd.png
6822 silly gunzTarPerm extractEntry lib/public/icons/page_add.png
6823 silly gunzTarPerm extractEntry lib/public/icons/page_white_error.png
6824 silly gunzTarPerm extractEntry lib/public/icons/page_white_excel.png
6825 silly gunzTarPerm extractEntry lib/public/icons/page_white_find.png
6826 silly gunzTarPerm extractEntry lib/public/icons/page_white_flash.png
6827 silly gunzTarPerm extractEntry lib/public/icons/page_white_freehand.png
6828 silly gunzTarPerm extractEntry lib/public/icons/page_white_gear.png
6829 silly gunzTarPerm extractEntry lib/public/icons/page_white_get.png
6830 silly gunzTarPerm extractEntry lib/public/icons/page_white_go.png
6831 silly gunzTarPerm extractEntry lib/public/icons/page_white_h.png
6832 silly gunzTarPerm extractEntry lib/public/icons/page_white_horizontal.png
6833 silly gunzTarPerm extractEntry lib/public/icons/page_white_key.png
6834 silly gunzTarPerm extractEntry lib/public/icons/page_white_lightning.png
6835 silly gunzTarPerm extractEntry lib/public/icons/page_white_link.png
6836 silly gunzTarPerm extractEntry lib/public/icons/page_white_magnify.png
6837 silly gunzTarPerm extractEntry lib/public/icons/page_white_medal.png
6838 silly gunzTarPerm extractEntry lib/public/icons/page_white_office.png
6839 silly gunzTarPerm extractEntry lib/public/icons/page_white_paint.png
6840 silly gunzTarPerm extractEntry lib/public/icons/page_white_paintbrush.png
6841 silly gunzTarPerm extractEntry lib/public/icons/page_white_paste.png
6842 silly gunzTarPerm extractEntry lib/public/icons/page_white_php.png
6843 silly gunzTarPerm extractEntry lib/public/icons/page_white_picture.png
6844 silly gunzTarPerm extractEntry lib/public/icons/page_white_powerpoint.png
6845 silly gunzTarPerm extractEntry lib/public/icons/page_white_put.png
6846 silly gunzTarPerm extractEntry lib/public/icons/page_white_ruby.png
6847 silly gunzTarPerm extractEntry lib/public/icons/page_white_stack.png
6848 silly gunzTarPerm extractEntry lib/public/icons/page_white_star.png
6849 silly gunzTarPerm extractEntry lib/public/icons/page_white_swoosh.png
6850 silly gunzTarPerm extractEntry lib/public/icons/page_white_text.png
6851 silly gunzTarPerm extractEntry lib/public/icons/page_white_text_width.png
6852 silly gunzTarPerm extractEntry lib/public/icons/page_white_tux.png
6853 silly gunzTarPerm extractEntry lib/public/icons/page_white_vector.png
6854 silly gunzTarPerm extractEntry lib/public/icons/page_white_visualstudio.png
6855 silly gunzTarPerm extractEntry lib/public/icons/page_white_width.png
6856 silly gunzTarPerm extractEntry lib/public/icons/page_white_word.png
6857 silly gunzTarPerm extractEntry lib/public/icons/page_white_world.png
6858 silly gunzTarPerm extractEntry lib/public/icons/page_white_wrench.png
6859 silly gunzTarPerm extractEntry lib/public/icons/page_white_zip.png
6860 silly gunzTarPerm extractEntry lib/public/icons/page_word.png
6861 silly gunzTarPerm extractEntry lib/public/icons/page_world.png
6862 silly gunzTarPerm extractEntry lib/public/style.css
6863 silly lockFile 5495d53b-rib-connect-node-modules-connect tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect
6864 silly lockFile 5495d53b-rib-connect-node-modules-connect tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-connect/node_modules/connect
6865 silly lockFile e2951804-e-npm-connect-2-7-11-package-tgz tar:///home/spike/.npm/connect/2.7.11/package.tgz
6866 silly lockFile e2951804-e-npm-connect-2-7-11-package-tgz tar:///home/spike/.npm/connect/2.7.11/package.tgz
6867 info preinstall connect@2.7.11
6868 verbose readDependencies using package.json deps
6869 verbose readDependencies using package.json deps
6870 verbose cache add [ 'qs@0.6.5', null ]
6871 verbose cache add name=undefined spec="qs@0.6.5" args=["qs@0.6.5",null]
6872 verbose parsed url { protocol: null,
6872 verbose parsed url slashes: null,
6872 verbose parsed url auth: null,
6872 verbose parsed url host: null,
6872 verbose parsed url port: null,
6872 verbose parsed url hostname: null,
6872 verbose parsed url hash: null,
6872 verbose parsed url search: null,
6872 verbose parsed url query: null,
6872 verbose parsed url pathname: 'qs@0.6.5',
6872 verbose parsed url path: 'qs@0.6.5',
6872 verbose parsed url href: 'qs@0.6.5' }
6873 verbose cache add name="qs" spec="0.6.5" args=["qs","0.6.5"]
6874 verbose parsed url { protocol: null,
6874 verbose parsed url slashes: null,
6874 verbose parsed url auth: null,
6874 verbose parsed url host: null,
6874 verbose parsed url port: null,
6874 verbose parsed url hostname: null,
6874 verbose parsed url hash: null,
6874 verbose parsed url search: null,
6874 verbose parsed url query: null,
6874 verbose parsed url pathname: '0.6.5',
6874 verbose parsed url path: '0.6.5',
6874 verbose parsed url href: '0.6.5' }
6875 verbose addNamed [ 'qs', '0.6.5' ]
6876 verbose addNamed [ '0.6.5', '0.6.5' ]
6877 silly lockFile f5e5a40f-qs-0-6-5 qs@0.6.5
6878 verbose lock qs@0.6.5 /home/spike/.npm/f5e5a40f-qs-0-6-5.lock
6879 verbose cache add [ 'formidable@1.0.14', null ]
6880 verbose cache add name=undefined spec="formidable@1.0.14" args=["formidable@1.0.14",null]
6881 verbose parsed url { protocol: null,
6881 verbose parsed url slashes: null,
6881 verbose parsed url auth: null,
6881 verbose parsed url host: null,
6881 verbose parsed url port: null,
6881 verbose parsed url hostname: null,
6881 verbose parsed url hash: null,
6881 verbose parsed url search: null,
6881 verbose parsed url query: null,
6881 verbose parsed url pathname: 'formidable@1.0.14',
6881 verbose parsed url path: 'formidable@1.0.14',
6881 verbose parsed url href: 'formidable@1.0.14' }
6882 verbose cache add name="formidable" spec="1.0.14" args=["formidable","1.0.14"]
6883 verbose parsed url { protocol: null,
6883 verbose parsed url slashes: null,
6883 verbose parsed url auth: null,
6883 verbose parsed url host: null,
6883 verbose parsed url port: null,
6883 verbose parsed url hostname: null,
6883 verbose parsed url hash: null,
6883 verbose parsed url search: null,
6883 verbose parsed url query: null,
6883 verbose parsed url pathname: '1.0.14',
6883 verbose parsed url path: '1.0.14',
6883 verbose parsed url href: '1.0.14' }
6884 verbose addNamed [ 'formidable', '1.0.14' ]
6885 verbose addNamed [ '1.0.14', '1.0.14' ]
6886 silly lockFile 3f08b74a-formidable-1-0-14 formidable@1.0.14
6887 verbose lock formidable@1.0.14 /home/spike/.npm/3f08b74a-formidable-1-0-14.lock
6888 verbose cache add [ 'cookie-signature@1.0.1', null ]
6889 verbose cache add name=undefined spec="cookie-signature@1.0.1" args=["cookie-signature@1.0.1",null]
6890 verbose parsed url { protocol: null,
6890 verbose parsed url slashes: null,
6890 verbose parsed url auth: null,
6890 verbose parsed url host: null,
6890 verbose parsed url port: null,
6890 verbose parsed url hostname: null,
6890 verbose parsed url hash: null,
6890 verbose parsed url search: null,
6890 verbose parsed url query: null,
6890 verbose parsed url pathname: 'cookie-signature@1.0.1',
6890 verbose parsed url path: 'cookie-signature@1.0.1',
6890 verbose parsed url href: 'cookie-signature@1.0.1' }
6891 verbose cache add name="cookie-signature" spec="1.0.1" args=["cookie-signature","1.0.1"]
6892 verbose parsed url { protocol: null,
6892 verbose parsed url slashes: null,
6892 verbose parsed url auth: null,
6892 verbose parsed url host: null,
6892 verbose parsed url port: null,
6892 verbose parsed url hostname: null,
6892 verbose parsed url hash: null,
6892 verbose parsed url search: null,
6892 verbose parsed url query: null,
6892 verbose parsed url pathname: '1.0.1',
6892 verbose parsed url path: '1.0.1',
6892 verbose parsed url href: '1.0.1' }
6893 verbose addNamed [ 'cookie-signature', '1.0.1' ]
6894 verbose addNamed [ '1.0.1', '1.0.1' ]
6895 silly lockFile d4a1eba1-cookie-signature-1-0-1 cookie-signature@1.0.1
6896 verbose lock cookie-signature@1.0.1 /home/spike/.npm/d4a1eba1-cookie-signature-1-0-1.lock
6897 verbose cache add [ 'cookie@0.0.5', null ]
6898 verbose cache add name=undefined spec="cookie@0.0.5" args=["cookie@0.0.5",null]
6899 verbose parsed url { protocol: null,
6899 verbose parsed url slashes: null,
6899 verbose parsed url auth: null,
6899 verbose parsed url host: null,
6899 verbose parsed url port: null,
6899 verbose parsed url hostname: null,
6899 verbose parsed url hash: null,
6899 verbose parsed url search: null,
6899 verbose parsed url query: null,
6899 verbose parsed url pathname: 'cookie@0.0.5',
6899 verbose parsed url path: 'cookie@0.0.5',
6899 verbose parsed url href: 'cookie@0.0.5' }
6900 verbose cache add name="cookie" spec="0.0.5" args=["cookie","0.0.5"]
6901 verbose parsed url { protocol: null,
6901 verbose parsed url slashes: null,
6901 verbose parsed url auth: null,
6901 verbose parsed url host: null,
6901 verbose parsed url port: null,
6901 verbose parsed url hostname: null,
6901 verbose parsed url hash: null,
6901 verbose parsed url search: null,
6901 verbose parsed url query: null,
6901 verbose parsed url pathname: '0.0.5',
6901 verbose parsed url path: '0.0.5',
6901 verbose parsed url href: '0.0.5' }
6902 verbose addNamed [ 'cookie', '0.0.5' ]
6903 verbose addNamed [ '0.0.5', '0.0.5' ]
6904 silly lockFile fe08ced7-cookie-0-0-5 cookie@0.0.5
6905 verbose lock cookie@0.0.5 /home/spike/.npm/fe08ced7-cookie-0-0-5.lock
6906 verbose cache add [ 'buffer-crc32@0.2.1', null ]
6907 verbose cache add name=undefined spec="buffer-crc32@0.2.1" args=["buffer-crc32@0.2.1",null]
6908 verbose parsed url { protocol: null,
6908 verbose parsed url slashes: null,
6908 verbose parsed url auth: null,
6908 verbose parsed url host: null,
6908 verbose parsed url port: null,
6908 verbose parsed url hostname: null,
6908 verbose parsed url hash: null,
6908 verbose parsed url search: null,
6908 verbose parsed url query: null,
6908 verbose parsed url pathname: 'buffer-crc32@0.2.1',
6908 verbose parsed url path: 'buffer-crc32@0.2.1',
6908 verbose parsed url href: 'buffer-crc32@0.2.1' }
6909 verbose cache add name="buffer-crc32" spec="0.2.1" args=["buffer-crc32","0.2.1"]
6910 verbose parsed url { protocol: null,
6910 verbose parsed url slashes: null,
6910 verbose parsed url auth: null,
6910 verbose parsed url host: null,
6910 verbose parsed url port: null,
6910 verbose parsed url hostname: null,
6910 verbose parsed url hash: null,
6910 verbose parsed url search: null,
6910 verbose parsed url query: null,
6910 verbose parsed url pathname: '0.2.1',
6910 verbose parsed url path: '0.2.1',
6910 verbose parsed url href: '0.2.1' }
6911 verbose addNamed [ 'buffer-crc32', '0.2.1' ]
6912 verbose addNamed [ '0.2.1', '0.2.1' ]
6913 silly lockFile 057d0d26-buffer-crc32-0-2-1 buffer-crc32@0.2.1
6914 verbose lock buffer-crc32@0.2.1 /home/spike/.npm/057d0d26-buffer-crc32-0-2-1.lock
6915 verbose cache add [ 'send@0.1.1', null ]
6916 verbose cache add name=undefined spec="send@0.1.1" args=["send@0.1.1",null]
6917 verbose parsed url { protocol: null,
6917 verbose parsed url slashes: null,
6917 verbose parsed url auth: null,
6917 verbose parsed url host: null,
6917 verbose parsed url port: null,
6917 verbose parsed url hostname: null,
6917 verbose parsed url hash: null,
6917 verbose parsed url search: null,
6917 verbose parsed url query: null,
6917 verbose parsed url pathname: 'send@0.1.1',
6917 verbose parsed url path: 'send@0.1.1',
6917 verbose parsed url href: 'send@0.1.1' }
6918 verbose cache add name="send" spec="0.1.1" args=["send","0.1.1"]
6919 verbose parsed url { protocol: null,
6919 verbose parsed url slashes: null,
6919 verbose parsed url auth: null,
6919 verbose parsed url host: null,
6919 verbose parsed url port: null,
6919 verbose parsed url hostname: null,
6919 verbose parsed url hash: null,
6919 verbose parsed url search: null,
6919 verbose parsed url query: null,
6919 verbose parsed url pathname: '0.1.1',
6919 verbose parsed url path: '0.1.1',
6919 verbose parsed url href: '0.1.1' }
6920 verbose addNamed [ 'send', '0.1.1' ]
6921 verbose addNamed [ '0.1.1', '0.1.1' ]
6922 silly lockFile aa25b10a-send-0-1-1 send@0.1.1
6923 verbose lock send@0.1.1 /home/spike/.npm/aa25b10a-send-0-1-1.lock
6924 verbose cache add [ 'bytes@0.2.0', null ]
6925 verbose cache add name=undefined spec="bytes@0.2.0" args=["bytes@0.2.0",null]
6926 verbose parsed url { protocol: null,
6926 verbose parsed url slashes: null,
6926 verbose parsed url auth: null,
6926 verbose parsed url host: null,
6926 verbose parsed url port: null,
6926 verbose parsed url hostname: null,
6926 verbose parsed url hash: null,
6926 verbose parsed url search: null,
6926 verbose parsed url query: null,
6926 verbose parsed url pathname: 'bytes@0.2.0',
6926 verbose parsed url path: 'bytes@0.2.0',
6926 verbose parsed url href: 'bytes@0.2.0' }
6927 verbose cache add name="bytes" spec="0.2.0" args=["bytes","0.2.0"]
6928 verbose parsed url { protocol: null,
6928 verbose parsed url slashes: null,
6928 verbose parsed url auth: null,
6928 verbose parsed url host: null,
6928 verbose parsed url port: null,
6928 verbose parsed url hostname: null,
6928 verbose parsed url hash: null,
6928 verbose parsed url search: null,
6928 verbose parsed url query: null,
6928 verbose parsed url pathname: '0.2.0',
6928 verbose parsed url path: '0.2.0',
6928 verbose parsed url href: '0.2.0' }
6929 verbose addNamed [ 'bytes', '0.2.0' ]
6930 verbose addNamed [ '0.2.0', '0.2.0' ]
6931 silly lockFile e351aee0-bytes-0-2-0 bytes@0.2.0
6932 verbose lock bytes@0.2.0 /home/spike/.npm/e351aee0-bytes-0-2-0.lock
6933 verbose cache add [ 'fresh@0.1.0', null ]
6934 verbose cache add name=undefined spec="fresh@0.1.0" args=["fresh@0.1.0",null]
6935 verbose parsed url { protocol: null,
6935 verbose parsed url slashes: null,
6935 verbose parsed url auth: null,
6935 verbose parsed url host: null,
6935 verbose parsed url port: null,
6935 verbose parsed url hostname: null,
6935 verbose parsed url hash: null,
6935 verbose parsed url search: null,
6935 verbose parsed url query: null,
6935 verbose parsed url pathname: 'fresh@0.1.0',
6935 verbose parsed url path: 'fresh@0.1.0',
6935 verbose parsed url href: 'fresh@0.1.0' }
6936 verbose cache add name="fresh" spec="0.1.0" args=["fresh","0.1.0"]
6937 verbose parsed url { protocol: null,
6937 verbose parsed url slashes: null,
6937 verbose parsed url auth: null,
6937 verbose parsed url host: null,
6937 verbose parsed url port: null,
6937 verbose parsed url hostname: null,
6937 verbose parsed url hash: null,
6937 verbose parsed url search: null,
6937 verbose parsed url query: null,
6937 verbose parsed url pathname: '0.1.0',
6937 verbose parsed url path: '0.1.0',
6937 verbose parsed url href: '0.1.0' }
6938 verbose addNamed [ 'fresh', '0.1.0' ]
6939 verbose addNamed [ '0.1.0', '0.1.0' ]
6940 silly lockFile 3dea7da8-fresh-0-1-0 fresh@0.1.0
6941 verbose lock fresh@0.1.0 /home/spike/.npm/3dea7da8-fresh-0-1-0.lock
6942 verbose url raw qs/0.6.5
6943 verbose url resolving [ 'https://registry.npmjs.org/', './qs/0.6.5' ]
6944 verbose url resolved https://registry.npmjs.org/qs/0.6.5
6945 info trying registry request attempt 1 at 11:44:43
6946 verbose etag "DQ116LH09O70GNX809IEMQOBE"
6947 http GET https://registry.npmjs.org/qs/0.6.5
6948 verbose url raw cookie-signature/1.0.1
6949 verbose url resolving [ 'https://registry.npmjs.org/', './cookie-signature/1.0.1' ]
6950 verbose url resolved https://registry.npmjs.org/cookie-signature/1.0.1
6951 info trying registry request attempt 1 at 11:44:43
6952 verbose etag "332BQXGWC1DJFGGZJ0ETUQXA6"
6953 http GET https://registry.npmjs.org/cookie-signature/1.0.1
6954 verbose cache add [ 'debug@*', null ]
6955 verbose cache add name=undefined spec="debug@*" args=["debug@*",null]
6956 verbose parsed url { protocol: null,
6956 verbose parsed url slashes: null,
6956 verbose parsed url auth: null,
6956 verbose parsed url host: null,
6956 verbose parsed url port: null,
6956 verbose parsed url hostname: null,
6956 verbose parsed url hash: null,
6956 verbose parsed url search: null,
6956 verbose parsed url query: null,
6956 verbose parsed url pathname: 'debug@*',
6956 verbose parsed url path: 'debug@*',
6956 verbose parsed url href: 'debug@*' }
6957 verbose cache add name="debug" spec="*" args=["debug","*"]
6958 verbose parsed url { protocol: null,
6958 verbose parsed url slashes: null,
6958 verbose parsed url auth: null,
6958 verbose parsed url host: null,
6958 verbose parsed url port: null,
6958 verbose parsed url hostname: null,
6958 verbose parsed url hash: null,
6958 verbose parsed url search: null,
6958 verbose parsed url query: null,
6958 verbose parsed url pathname: '*',
6958 verbose parsed url path: '*',
6958 verbose parsed url href: '*' }
6959 verbose addNamed [ 'debug', '*' ]
6960 verbose addNamed [ null, '*' ]
6961 silly lockFile 3ac45eff-debug debug@*
6962 verbose lock debug@* /home/spike/.npm/3ac45eff-debug.lock
6963 verbose cache add [ 'pause@0.0.1', null ]
6964 verbose cache add name=undefined spec="pause@0.0.1" args=["pause@0.0.1",null]
6965 verbose parsed url { protocol: null,
6965 verbose parsed url slashes: null,
6965 verbose parsed url auth: null,
6965 verbose parsed url host: null,
6965 verbose parsed url port: null,
6965 verbose parsed url hostname: null,
6965 verbose parsed url hash: null,
6965 verbose parsed url search: null,
6965 verbose parsed url query: null,
6965 verbose parsed url pathname: 'pause@0.0.1',
6965 verbose parsed url path: 'pause@0.0.1',
6965 verbose parsed url href: 'pause@0.0.1' }
6966 verbose cache add name="pause" spec="0.0.1" args=["pause","0.0.1"]
6967 verbose parsed url { protocol: null,
6967 verbose parsed url slashes: null,
6967 verbose parsed url auth: null,
6967 verbose parsed url host: null,
6967 verbose parsed url port: null,
6967 verbose parsed url hostname: null,
6967 verbose parsed url hash: null,
6967 verbose parsed url search: null,
6967 verbose parsed url query: null,
6967 verbose parsed url pathname: '0.0.1',
6967 verbose parsed url path: '0.0.1',
6967 verbose parsed url href: '0.0.1' }
6968 verbose addNamed [ 'pause', '0.0.1' ]
6969 verbose addNamed [ '0.0.1', '0.0.1' ]
6970 silly lockFile c62fc432-pause-0-0-1 pause@0.0.1
6971 verbose lock pause@0.0.1 /home/spike/.npm/c62fc432-pause-0-0-1.lock
6972 verbose url raw formidable/1.0.14
6973 verbose url resolving [ 'https://registry.npmjs.org/', './formidable/1.0.14' ]
6974 verbose url resolved https://registry.npmjs.org/formidable/1.0.14
6975 info trying registry request attempt 1 at 11:44:43
6976 verbose etag "8JM374O38WRSF5CM0XD5K5QXS"
6977 http GET https://registry.npmjs.org/formidable/1.0.14
6978 silly addNameRange { name: 'debug', range: '*', hasData: false }
6979 verbose url raw cookie/0.0.5
6980 verbose url resolving [ 'https://registry.npmjs.org/', './cookie/0.0.5' ]
6981 verbose url resolved https://registry.npmjs.org/cookie/0.0.5
6982 info trying registry request attempt 1 at 11:44:43
6983 verbose etag "F1R4EMW6NEBFUL3OK9Q9DKBJF"
6984 http GET https://registry.npmjs.org/cookie/0.0.5
6985 verbose url raw send/0.1.1
6986 verbose url resolving [ 'https://registry.npmjs.org/', './send/0.1.1' ]
6987 verbose url resolved https://registry.npmjs.org/send/0.1.1
6988 info trying registry request attempt 1 at 11:44:43
6989 verbose etag "44MEX16XITH6HKKBT0BOK31OO"
6990 http GET https://registry.npmjs.org/send/0.1.1
6991 verbose url raw bytes/0.2.0
6992 verbose url resolving [ 'https://registry.npmjs.org/', './bytes/0.2.0' ]
6993 verbose url resolved https://registry.npmjs.org/bytes/0.2.0
6994 info trying registry request attempt 1 at 11:44:43
6995 verbose etag "DDRZ4XRRLN6Z0X2YNRRUFBM29"
6996 http GET https://registry.npmjs.org/bytes/0.2.0
6997 verbose url raw buffer-crc32/0.2.1
6998 verbose url resolving [ 'https://registry.npmjs.org/', './buffer-crc32/0.2.1' ]
6999 verbose url resolved https://registry.npmjs.org/buffer-crc32/0.2.1
7000 info trying registry request attempt 1 at 11:44:43
7001 verbose etag "4JLO8SIQOKXMA94PVFN5E59WV"
7002 http GET https://registry.npmjs.org/buffer-crc32/0.2.1
7003 verbose url raw fresh/0.1.0
7004 verbose url resolving [ 'https://registry.npmjs.org/', './fresh/0.1.0' ]
7005 verbose url resolved https://registry.npmjs.org/fresh/0.1.0
7006 info trying registry request attempt 1 at 11:44:43
7007 verbose etag "6CDQ014VE8MJLSGJOYMKCVKVG"
7008 http GET https://registry.npmjs.org/fresh/0.1.0
7009 verbose registry.get debug not expired, no request
7010 silly addNameRange number 2 { name: 'debug', range: '*', hasData: true }
7011 silly addNameRange versions [ 'debug',
7011 silly addNameRange [ '0.0.1',
7011 silly addNameRange '0.1.0',
7011 silly addNameRange '0.2.0',
7011 silly addNameRange '0.3.0',
7011 silly addNameRange '0.4.0',
7011 silly addNameRange '0.4.1',
7011 silly addNameRange '0.5.0',
7011 silly addNameRange '0.6.0',
7011 silly addNameRange '0.7.0',
7011 silly addNameRange '0.7.1',
7011 silly addNameRange '0.7.2',
7011 silly addNameRange '0.7.3',
7011 silly addNameRange '0.7.4' ] ]
7012 verbose addNamed [ 'debug', '0.7.4' ]
7013 verbose addNamed [ '0.7.4', '0.7.4' ]
7014 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
7015 verbose lock debug@0.7.4 /home/spike/.npm/16160008-debug-0-7-4.lock
7016 verbose url raw pause/0.0.1
7017 verbose url resolving [ 'https://registry.npmjs.org/', './pause/0.0.1' ]
7018 verbose url resolved https://registry.npmjs.org/pause/0.0.1
7019 info trying registry request attempt 1 at 11:44:43
7020 verbose etag "EOB5X18A1J6GDBBJPGSXXC6N8"
7021 http GET https://registry.npmjs.org/pause/0.0.1
7022 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
7023 silly lockFile 16160008-debug-0-7-4 debug@0.7.4
7024 silly lockFile 3ac45eff-debug debug@*
7025 silly lockFile 3ac45eff-debug debug@*
7026 http 304 https://registry.npmjs.org/uglify-js
7027 silly registry.get cb [ 304,
7027 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
7027 silly registry.get etag: '"E6LU3Q1BYVBE13TCDOCOXKG5A"',
7027 silly registry.get date: 'Mon, 16 Dec 2013 10:44:43 GMT',
7027 silly registry.get 'content-length': '0' } ]
7028 verbose etag uglify-js from cache
7029 silly addNameRange number 2 { name: 'uglify-js', range: '>=2.4.0-0 <2.5.0-0', hasData: true }
7030 silly addNameRange versions [ 'uglify-js',
7030 silly addNameRange [ '0.0.1',
7030 silly addNameRange '0.0.2',
7030 silly addNameRange '0.0.3',
7030 silly addNameRange '0.0.4',
7030 silly addNameRange '0.0.5',
7030 silly addNameRange '1.0.1',
7030 silly addNameRange '1.0.2',
7030 silly addNameRange '1.0.3',
7030 silly addNameRange '1.0.4',
7030 silly addNameRange '1.0.5',
7030 silly addNameRange '1.0.6',
7030 silly addNameRange '1.0.7',
7030 silly addNameRange '1.1.0',
7030 silly addNameRange '1.1.1',
7030 silly addNameRange '1.2.0',
7030 silly addNameRange '1.2.1',
7030 silly addNameRange '1.2.2',
7030 silly addNameRange '1.2.3',
7030 silly addNameRange '1.2.4',
7030 silly addNameRange '1.2.5',
7030 silly addNameRange '1.2.6',
7030 silly addNameRange '1.3.0',
7030 silly addNameRange '1.3.1',
7030 silly addNameRange '1.3.2',
7030 silly addNameRange '1.3.3',
7030 silly addNameRange '1.3.4',
7030 silly addNameRange '2.2.0',
7030 silly addNameRange '2.2.1',
7030 silly addNameRange '2.2.2',
7030 silly addNameRange '2.2.3',
7030 silly addNameRange '2.2.4',
7030 silly addNameRange '2.2.5',
7030 silly addNameRange '2.3.0',
7030 silly addNameRange '2.3.1',
7030 silly addNameRange '2.3.2',
7030 silly addNameRange '2.3.3',
7030 silly addNameRange '2.3.4',
7030 silly addNameRange '2.3.5',
7030 silly addNameRange '2.3.6',
7030 silly addNameRange '1.3.5',
7030 silly addNameRange '2.4.0',
7030 silly addNameRange '2.4.1',
7030 silly addNameRange '2.4.2',
7030 silly addNameRange '2.4.3',
7030 silly addNameRange '2.4.4',
7030 silly addNameRange '2.4.5',
7030 silly addNameRange '2.4.6',
7030 silly addNameRange '2.4.7' ] ]
7031 verbose addNamed [ 'uglify-js', '2.4.7' ]
7032 verbose addNamed [ '2.4.7', '2.4.7' ]
7033 silly lockFile a6b507c5-uglify-js-2-4-7 uglify-js@2.4.7
7034 verbose lock uglify-js@2.4.7 /home/spike/.npm/a6b507c5-uglify-js-2-4-7.lock
7035 silly lockFile 98a545d8-rg-uglify-js-uglify-js-2-4-7-tgz https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz
7036 verbose lock https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz /home/spike/.npm/98a545d8-rg-uglify-js-uglify-js-2-4-7-tgz.lock
7037 verbose addRemoteTarball [ 'https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz',
7037 verbose addRemoteTarball '9f3b5bd1c657d16aaad7134a7adbeaa88e67c5ae' ]
7038 info retry fetch attempt 1 at 11:44:43
7039 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/tmp.tgz
7040 http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz
7041 http 200 https://registry.npmjs.org/coffee-script
7042 silly registry.get cb [ 200,
7042 silly registry.get { vary: 'Accept',
7042 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7042 silly registry.get etag: '"155W60TWHO27XK7B4P5QEN30J"',
7042 silly registry.get date: 'Mon, 16 Dec 2013 10:44:42 GMT',
7042 silly registry.get 'content-type': 'application/json',
7042 silly registry.get 'content-length': '41407' } ]
7043 silly addNameRange number 2 { name: 'coffee-script',
7043 silly addNameRange range: '>=1.6.2-0 <1.7.0-0',
7043 silly addNameRange hasData: true }
7044 silly addNameRange versions [ 'coffee-script',
7044 silly addNameRange [ '0.7.0',
7044 silly addNameRange '0.7.1',
7044 silly addNameRange '0.7.2',
7044 silly addNameRange '0.9.0',
7044 silly addNameRange '0.9.1',
7044 silly addNameRange '0.9.2',
7044 silly addNameRange '0.9.3',
7044 silly addNameRange '0.9.4',
7044 silly addNameRange '0.9.5',
7044 silly addNameRange '0.9.6',
7044 silly addNameRange '1.0.0',
7044 silly addNameRange '1.0.1',
7044 silly addNameRange '1.1.0',
7044 silly addNameRange '1.1.1',
7044 silly addNameRange '1.1.2',
7044 silly addNameRange '1.1.3',
7044 silly addNameRange '1.2.0',
7044 silly addNameRange '1.3.0',
7044 silly addNameRange '1.3.1',
7044 silly addNameRange '1.3.2',
7044 silly addNameRange '1.3.3',
7044 silly addNameRange '1.4.0',
7044 silly addNameRange '1.5.0',
7044 silly addNameRange '1.6.0',
7044 silly addNameRange '1.6.1',
7044 silly addNameRange '1.6.2',
7044 silly addNameRange '1.6.3' ] ]
7045 verbose addNamed [ 'coffee-script', '1.6.3' ]
7046 verbose addNamed [ '1.6.3', '1.6.3' ]
7047 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
7048 verbose lock coffee-script@1.6.3 /home/spike/.npm/15ab88ca-coffee-script-1-6-3.lock
7049 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
7050 silly lockFile 15ab88ca-coffee-script-1-6-3 coffee-script@1.6.3
7051 silly lockFile 93470bfc-coffee-script-1-6-2 coffee-script@~1.6.2
7052 silly lockFile 93470bfc-coffee-script-1-6-2 coffee-script@~1.6.2
7053 silly resolved [ { name: 'coffee-script',
7053 silly resolved description: 'Unfancy JavaScript',
7053 silly resolved keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
7053 silly resolved author: { name: 'Jeremy Ashkenas' },
7053 silly resolved version: '1.6.3',
7053 silly resolved licenses: [ [Object] ],
7053 silly resolved engines: { node: '>=0.8.0' },
7053 silly resolved directories: { lib: './lib/coffee-script' },
7053 silly resolved main: './lib/coffee-script/coffee-script',
7053 silly resolved bin: { coffee: './bin/coffee', cake: './bin/cake' },
7053 silly resolved scripts: { test: 'node ./bin/cake test' },
7053 silly resolved homepage: 'http://coffeescript.org',
7053 silly resolved bugs: { url: 'https://github.com/jashkenas/coffee-script/issues' },
7053 silly resolved repository:
7053 silly resolved { type: 'git',
7053 silly resolved url: 'git://github.com/jashkenas/coffee-script.git' },
7053 silly resolved devDependencies: { 'uglify-js': '~2.2', jison: '>=0.2.0' },
7053 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',
7053 silly resolved readmeFilename: 'README',
7053 silly resolved _id: 'coffee-script@1.6.3',
7053 silly resolved _from: 'coffee-script@~1.6.2' } ]
7054 info install coffee-script@1.6.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee
7055 info installOne coffee-script@1.6.3
7056 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/coffee-script unbuild
7057 verbose tar unpack /home/spike/.npm/coffee-script/1.6.3/package.tgz
7058 silly lockFile d261711a-offee-node-modules-coffee-script tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/coffee-script
7059 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/coffee-script /home/spike/.npm/d261711a-offee-node-modules-coffee-script.lock
7060 silly lockFile 74b3692a--coffee-script-1-6-3-package-tgz tar:///home/spike/.npm/coffee-script/1.6.3/package.tgz
7061 verbose lock tar:///home/spike/.npm/coffee-script/1.6.3/package.tgz /home/spike/.npm/74b3692a--coffee-script-1-6-3-package-tgz.lock
7062 silly gunzTarPerm modes [ '755', '644' ]
7063 silly gunzTarPerm extractEntry package.json
7064 silly gunzTarPerm extractEntry .npmignore
7065 silly gunzTarPerm extractEntry README
7066 silly gunzTarPerm extractEntry LICENSE
7067 silly gunzTarPerm extractEntry CNAME
7068 silly gunzTarPerm extractEntry CONTRIBUTING.md
7069 silly gunzTarPerm extractEntry Rakefile
7070 silly gunzTarPerm extractEntry bin/cake
7071 silly gunzTarPerm extractEntry bin/coffee
7072 silly gunzTarPerm extractEntry lib/coffee-script/browser.js
7073 silly gunzTarPerm extractEntry lib/coffee-script/grammar.js
7074 silly gunzTarPerm extractEntry lib/coffee-script/helpers.js
7075 silly gunzTarPerm extractEntry lib/coffee-script/index.js
7076 silly gunzTarPerm extractEntry lib/coffee-script/command.js
7077 silly gunzTarPerm extractEntry lib/coffee-script/nodes.js
7078 silly gunzTarPerm extractEntry lib/coffee-script/optparse.js
7079 silly gunzTarPerm extractEntry lib/coffee-script/parser.js
7080 silly gunzTarPerm extractEntry lib/coffee-script/repl.js
7081 silly gunzTarPerm extractEntry lib/coffee-script/rewriter.js
7082 silly gunzTarPerm extractEntry lib/coffee-script/coffee-script.js
7083 silly gunzTarPerm extractEntry lib/coffee-script/scope.js
7084 silly gunzTarPerm extractEntry lib/coffee-script/cake.js
7085 silly gunzTarPerm extractEntry lib/coffee-script/sourcemap.js
7086 silly gunzTarPerm extractEntry lib/coffee-script/lexer.js
7087 silly lockFile d261711a-offee-node-modules-coffee-script tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/coffee-script
7088 silly lockFile d261711a-offee-node-modules-coffee-script tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/coffee-script
7089 silly lockFile 74b3692a--coffee-script-1-6-3-package-tgz tar:///home/spike/.npm/coffee-script/1.6.3/package.tgz
7090 silly lockFile 74b3692a--coffee-script-1-6-3-package-tgz tar:///home/spike/.npm/coffee-script/1.6.3/package.tgz
7091 info preinstall coffee-script@1.6.3
7092 verbose readDependencies using package.json deps
7093 verbose readDependencies using package.json deps
7094 silly resolved []
7095 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/coffee-script
7096 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/coffee-script
7097 verbose linkStuff [ false,
7097 verbose linkStuff false,
7097 verbose linkStuff false,
7097 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules' ]
7098 info linkStuff coffee-script@1.6.3
7099 verbose linkBins coffee-script@1.6.3
7100 verbose link bins [ { coffee: './bin/coffee', cake: './bin/cake' },
7100 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee/node_modules/.bin',
7100 verbose link bins false ]
7101 verbose linkMans coffee-script@1.6.3
7102 verbose rebuildBundles coffee-script@1.6.3
7103 info install coffee-script@1.6.3
7104 info postinstall coffee-script@1.6.3
7105 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee
7106 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-coffee
7107 verbose linkStuff [ false,
7107 verbose linkStuff false,
7107 verbose linkStuff false,
7107 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
7108 info linkStuff grunt-contrib-coffee@0.7.0
7109 verbose linkBins grunt-contrib-coffee@0.7.0
7110 verbose linkMans grunt-contrib-coffee@0.7.0
7111 verbose rebuildBundles grunt-contrib-coffee@0.7.0
7112 verbose rebuildBundles [ '.bin', 'coffee-script' ]
7113 info install grunt-contrib-coffee@0.7.0
7114 info postinstall grunt-contrib-coffee@0.7.0
7115 http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz
7116 http 200 https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz
7117 http 200 https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz
7118 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/tmp.tgz
7119 silly lockFile 51ae5d63-2827-0-10563282365910709-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package
7120 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package /home/spike/.npm/51ae5d63-2827-0-10563282365910709-package.lock
7121 silly lockFile f45aba7a-2827-0-10563282365910709-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/tmp.tgz
7122 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/tmp.tgz /home/spike/.npm/f45aba7a-2827-0-10563282365910709-tmp-tgz.lock
7123 silly gunzTarPerm modes [ '755', '644' ]
7124 silly gunzTarPerm extractEntry package.json
7125 silly gunzTarPerm extractEntry .npmignore
7126 silly gunzTarPerm extractEntry README.md
7127 silly gunzTarPerm extractEntry test.js
7128 silly gunzTarPerm extractEntry .travis.yml
7129 silly gunzTarPerm extractEntry lib/tmp.js
7130 silly gunzTarPerm extractEntry test/base.js
7131 silly gunzTarPerm extractEntry test/dir-test.js
7132 silly gunzTarPerm extractEntry test/file-test.js
7133 silly gunzTarPerm extractEntry test/graceful.js
7134 silly gunzTarPerm extractEntry test/keep.js
7135 silly gunzTarPerm extractEntry test/name-test.js
7136 silly gunzTarPerm extractEntry test/spawn.js
7137 silly gunzTarPerm extractEntry test/unsafe.js
7138 silly gunzTarPerm extractEntry test/symlinkme/file.js
7139 silly gunzTarPerm extractEntry test-all.sh
7140 silly lockFile 51ae5d63-2827-0-10563282365910709-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package
7141 silly lockFile 51ae5d63-2827-0-10563282365910709-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package
7142 silly lockFile f45aba7a-2827-0-10563282365910709-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/tmp.tgz
7143 silly lockFile f45aba7a-2827-0-10563282365910709-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/tmp.tgz
7144 verbose tar pack [ '/home/spike/.npm/tmp/0.0.21/package.tgz',
7144 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package' ]
7145 verbose tarball /home/spike/.npm/tmp/0.0.21/package.tgz
7146 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package
7147 silly lockFile 51ae5d63-2827-0-10563282365910709-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package
7148 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package /home/spike/.npm/51ae5d63-2827-0-10563282365910709-package.lock
7149 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7150 verbose lock tar:///home/spike/.npm/tmp/0.0.21/package.tgz /home/spike/.npm/ff2157d6-spike-npm-tmp-0-0-21-package-tgz.lock
7151 silly lockFile 51ae5d63-2827-0-10563282365910709-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package
7152 silly lockFile 51ae5d63-2827-0-10563282365910709-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190672827-0.10563282365910709/package
7153 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7154 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7155 silly lockFile c74cc49d-ome-spike-npm-tmp-0-0-21-package /home/spike/.npm/tmp/0.0.21/package
7156 verbose lock /home/spike/.npm/tmp/0.0.21/package /home/spike/.npm/c74cc49d-ome-spike-npm-tmp-0-0-21-package.lock
7157 silly lockFile c74cc49d-ome-spike-npm-tmp-0-0-21-package /home/spike/.npm/tmp/0.0.21/package
7158 silly lockFile c74cc49d-ome-spike-npm-tmp-0-0-21-package /home/spike/.npm/tmp/0.0.21/package
7159 verbose tar unpack /home/spike/.npm/tmp/0.0.21/package.tgz
7160 silly lockFile c3b2b151-ome-spike-npm-tmp-0-0-21-package tar:///home/spike/.npm/tmp/0.0.21/package
7161 verbose lock tar:///home/spike/.npm/tmp/0.0.21/package /home/spike/.npm/c3b2b151-ome-spike-npm-tmp-0-0-21-package.lock
7162 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7163 verbose lock tar:///home/spike/.npm/tmp/0.0.21/package.tgz /home/spike/.npm/ff2157d6-spike-npm-tmp-0-0-21-package-tgz.lock
7164 silly gunzTarPerm modes [ '755', '644' ]
7165 silly gunzTarPerm extractEntry package.json
7166 silly gunzTarPerm extractEntry .npmignore
7167 silly gunzTarPerm extractEntry README.md
7168 silly gunzTarPerm extractEntry test.js
7169 silly gunzTarPerm extractEntry .travis.yml
7170 silly gunzTarPerm extractEntry lib/tmp.js
7171 silly gunzTarPerm extractEntry test/base.js
7172 silly gunzTarPerm extractEntry test/dir-test.js
7173 silly gunzTarPerm extractEntry test/file-test.js
7174 silly gunzTarPerm extractEntry test/graceful.js
7175 silly gunzTarPerm extractEntry test/keep.js
7176 silly gunzTarPerm extractEntry test/name-test.js
7177 silly gunzTarPerm extractEntry test/spawn.js
7178 silly gunzTarPerm extractEntry test/unsafe.js
7179 silly gunzTarPerm extractEntry test/symlinkme/file.js
7180 silly gunzTarPerm extractEntry test-all.sh
7181 silly lockFile c3b2b151-ome-spike-npm-tmp-0-0-21-package tar:///home/spike/.npm/tmp/0.0.21/package
7182 silly lockFile c3b2b151-ome-spike-npm-tmp-0-0-21-package tar:///home/spike/.npm/tmp/0.0.21/package
7183 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7184 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7185 verbose chmod /home/spike/.npm/tmp/0.0.21/package.tgz 644
7186 verbose chown /home/spike/.npm/tmp/0.0.21/package.tgz [ 1000, 1000 ]
7187 silly lockFile 292a2f12-try-npmjs-org-tmp-tmp-0-0-21-tgz https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz
7188 silly lockFile 292a2f12-try-npmjs-org-tmp-tmp-0-0-21-tgz https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz
7189 silly lockFile ed890905-tmp-0-0-21 tmp@0.0.21
7190 silly lockFile ed890905-tmp-0-0-21 tmp@0.0.21
7191 silly resolved [ { name: 'async',
7191 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
7191 silly resolved main: './lib/async',
7191 silly resolved author: { name: 'Caolan McMahon' },
7191 silly resolved version: '0.2.9',
7191 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
7191 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
7191 silly resolved licenses: [ [Object] ],
7191 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
7191 silly resolved jam: { main: 'lib/async.js', include: [Object] },
7191 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
7191 silly resolved readme: '# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n\nasync.parallel([\n function(){ ... },\n function(){ ... }\n], callback);\n\nasync.series([\n function(){ ... },\n function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn\'t working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n squareExponent: 2,\n square: function(number, callback){ \n var result = Math.pow(number, this.squareExponent);\n setTimeout(function(){\n callback(null, result);\n }, 200);\n }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n // result is [NaN, NaN, NaN]\n // This fails because the `this.squareExponent` expression in the square\n // function is not evaluated in the context of AsyncSquaringLibrary, and is\n // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n // result is [1, 4, 9]\n // With the help of bind we can attach a context to the iterator before\n // passing it to async. Now the square function will be executed in its \n // \'home\' AsyncSquaringLibrary context and the value of `this.squareExponent`\n // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it\'s been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type="text/javascript" src="async.js"></script>\n<script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [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* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name="forEach" />\n<a name="each" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="forEachSeries" />\n<a name="eachSeries" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name="forEachLimit" />\n<a name="eachLimit" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="map" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="mapSeries" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name="mapLimit" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it\'s probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name="reduceRight" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name="detectSeries" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name="sortBy" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy([\'file1\',\'file2\',\'file3\'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n<a name="some" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name="every" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name="concat" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat([\'dir1\',\'dir2\',\'dir3\'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, \'one\');\n },\n function(callback){\n // do some more stuff ...\n callback(null, \'two\');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to [\'one\', \'two\']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, \'one\');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, \'two\');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal [\'one\',\'two\'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of "limit" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first "limit" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name="whilst" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n<a name="doWhilst" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name="until" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name="doUntil" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name="forever" />\n### forever(fn, callback)\n\nCalls the asynchronous function \'fn\' repeatedly, in series, indefinitely.\nIf an error is passed to fn\'s callback then \'callback\' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task\'s callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n], function (err, result) {\n // result now equals \'done\' \n});\n```\n\n---------------------------------------\n<a name="compose" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n<a name="applyEach" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], \'bucket\', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n<a name="applyEachSeries" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name="queue" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task\'s callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log(\'all items have been processed\');\n}\n\n// add some items to the queue\n\nq.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\nq.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n```\n\n---------------------------------------\n\n<a name="cargo" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i<tasks.length; i++){\n console.log(\'hello \' + tasks[i].name);\n }\n callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\ncargo.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\ncargo.push({name: \'baz\'}, function (err) {\n console.log(\'finished processing baz\');\n});\n```\n\n---------------------------------------\n\n<a name="auto" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, \'data.txt\', \'utf-8\');\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile(\'data.txt\', \'utf-8\', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile(\'data.txt\', \'utf-8\', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function\'s execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: [\'get_data\', \'make_folder\', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: [\'write_file\', function(callback, results){\n // once the file is written let\'s email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let\'s email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It\'s also possible to\n\'peek\' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n]);\n\nnode> var iterator2 = iterator();\n\'one\'\nnode> var iterator3 = iterator2();\n\'two\'\nnode> iterator3();\n\'three\'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n\'three\'\n```\n\n---------------------------------------\n\n<a name="apply" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, \'testfile1\', \'test1\'),\n async.apply(fs.writeFile, \'testfile2\', \'test2\'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n }\n]);\n```\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, \'one\');\nnode> fn(\'two\', \'three\');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name="nextTick" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two\']\n});\ncall_order.push(\'one\')\n```\n\n<a name="times" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: \'user\' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n<a name="timesSeries" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name="memoize" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn(\'some name\', function () {\n // callback\n});\n```\n\n<a name="unmemoize" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name="log" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, \'world\');\n\'hello world\'\n```\n\n---------------------------------------\n\n<a name="dir" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, \'world\');\n{hello: \'world\'}\n```\n\n---------------------------------------\n\n<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
7191 silly resolved readmeFilename: 'README.md',
7191 silly resolved homepage: 'https://github.com/caolan/async',
7191 silly resolved _id: 'async@0.2.9',
7191 silly resolved _from: 'async@~0.2.0' },
7191 silly resolved { name: 'dargs',
7191 silly resolved version: '0.1.0',
7191 silly resolved description: 'Converts an object of options into an array of command-line arguments. Useful when calling command-line tools.',
7191 silly resolved keywords: [ 'options', 'arguments', 'args', 'flags', 'cli' ],
7191 silly resolved homepage: 'https://github.com/sindresorhus/dargs',
7191 silly resolved bugs: { url: 'https://github.com/sindresorhus/dargs/issues' },
7191 silly resolved author:
7191 silly resolved { name: 'Sindre Sorhus',
7191 silly resolved email: 'sindresorhus@gmail.com',
7191 silly resolved url: 'http://sindresorhus.com' },
7191 silly resolved main: 'dargs.js',
7191 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/dargs.git' },
7191 silly resolved scripts: { test: 'mocha' },
7191 silly resolved devDependencies: { mocha: '~1.9.0' },
7191 silly resolved engines: { node: '>=0.8.0' },
7191 silly resolved licenses: [ [Object] ],
7191 silly resolved files: [ 'dargs.js' ],
7191 silly resolved readme: '# dargs [![Build Status](https://secure.travis-ci.org/sindresorhus/dargs.png?branch=master)](http://travis-ci.org/sindresorhus/dargs)\n\n> Converts an object of options into an array of command-line arguments\n\n\n## Getting started\n\nInstall: `npm install --save dargs`\n\n\n#### Example\n\n```js\nvar dargs = require(\'dargs\');\n\nvar options = {\n\tfoo: \'bar\',\n\thello: true, // results in only the key being used\n\tcake: false, // ignored\n\tcamelCase: 5, // camelCase is slugged to `camel-case`\n\tmultiple: [\'value\', \'value2\'], // converted to multiple arguments\n\tsad: \':(\'\n};\n\nvar excludes = [\'sad\'];\n\nconsole.log(dargs(options, excludes));\n\n/*\n[\n\t\'--foo\', \'bar\',\n\t\'--hello\',\n\t\'--camel-case\', \'5\',\n\t\'--multiple\', \'value\',\n\t\'--multiple\', \'value2\'\n]\n*/\n```\n\n\n## Documentation\n\n\n### options\n\nObject of options to convert to command-line arguments.\n\n\n### excludes\n\nArray of keys to exclude.\n\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7191 silly resolved readmeFilename: 'readme.md',
7191 silly resolved _id: 'dargs@0.1.0',
7191 silly resolved _from: 'dargs@~0.1.0' },
7191 silly resolved { name: 'tmp',
7191 silly resolved version: '0.0.21',
7191 silly resolved description: 'Temporary file and directory creator',
7191 silly resolved author:
7191 silly resolved { name: 'KARASZI István',
7191 silly resolved email: 'github@spam.raszi.hu',
7191 silly resolved url: 'http://raszi.hu/' },
7191 silly resolved homepage: 'http://github.com/raszi/node-tmp',
7191 silly resolved keywords:
7191 silly resolved [ 'temporary',
7191 silly resolved 'tmp',
7191 silly resolved 'temp',
7191 silly resolved 'tempdir',
7191 silly resolved 'tempfile',
7191 silly resolved 'tmpdir',
7191 silly resolved 'tmpfile' ],
7191 silly resolved licenses: [ [Object] ],
7191 silly resolved repository: { type: 'git', url: 'git://github.com/raszi/node-tmp.git' },
7191 silly resolved bugs: { url: 'http://github.com/raszi/node-tmp/issues' },
7191 silly resolved main: 'lib/tmp.js',
7191 silly resolved scripts: { test: 'vows test/*-test.js' },
7191 silly resolved engines: { node: '>=0.4.0' },
7191 silly resolved dependencies: {},
7191 silly resolved devDependencies: { vows: '~0.7.0' },
7191 silly resolved readme: '# Tmp\n\nA simple temporary file and directory creator for [node.js.][1]\n\n[![Build Status](https://secure.travis-ci.org/raszi/node-tmp.png?branch=master)](http://travis-ci.org/raszi/node-tmp)\n\n## About\n\nThe main difference between bruce\'s [node-temp][2] is that mine more\naggressively checks for the existence of the newly created temporary file and\ncreates the new file with `O_EXCL` instead of simple `O_CREAT | O_RDRW`, so it\nis safer.\n\nThe API is slightly different as well, Tmp does not yet provide synchronous\ncalls and all the parameters are optional.\n\nYou can set whether you want to remove the temporary file on process exit or\nnot, and the destination directory can also be set.\n\n## How to install\n\n```bash\nnpm install tmp\n```\n\n## Usage\n\n### File creation\n\nSimple temporary file creation, the file will be unlinked on process exit.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.file(function _tempFileCreated(err, path, fd) {\n if (err) throw err;\n\n console.log("File: ", path);\n console.log("Filedescriptor: ", fd);\n});\n```\n\n### Directory creation\n\nSimple temporary directory creation, it will be removed on process exit.\n\nIf the directory still contains items on process exit, then it won\'t be removed.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir(function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\nIf you want to cleanup the directory even when there are entries in it, then\nyou can pass the `unsafeCleanup` option when creating it.\n\n### Filename generation\n\nIt is possible with this library to generate a unique filename in the specified\ndirectory.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.tmpName(function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log("Created temporary filename: ", path);\n});\n```\n\n## Advanced usage\n\n### File creation\n\nCreates a file with mode `0644`, prefix will be `prefix-` and postfix will be `.txt`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.file({ mode: 0644, prefix: \'prefix-\', postfix: \'.txt\' }, function _tempFileCreated(err, path, fd) {\n if (err) throw err;\n\n console.log("File: ", path);\n console.log("Filedescriptor: ", fd);\n});\n```\n\n### Directory creation\n\nCreates a directory with mode `0755`, prefix will be `myTmpDir_`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir({ mode: 0750, prefix: \'myTmpDir_\' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\n### mkstemps like\n\nCreates a new temporary directory with mode `0700` and filename like `/tmp/tmp-nk2J1u`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir({ template: \'/tmp/tmp-XXXXXX\' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\n### Filename generation\n\nThe `tmpName()` function accepts the `prefix`, `postfix`, `dir`, etc. parameters also:\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.tmpName({ template: \'/tmp/tmp-XXXXXX\' }, function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log("Created temporary filename: ", path);\n});\n```\n\n## Graceful cleanup\n\nOne may want to cleanup the temporary files even when an uncaught exception\noccurs. To enforce this, you can call the `setGracefulCleanup()` method:\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.setGracefulCleanup();\n```\n\n## Options\n\nAll options are optional :)\n\n * `mode`: the file mode to create with, it fallbacks to `0600` on file creation and `0700` on directory creation\n * `prefix`: the optional prefix, fallbacks to `tmp-` if not provided\n * `postfix`: the optional postfix, fallbacks to `.tmp` on file creation\n * `template`: [`mkstemps`][3] like filename template, no default\n * `dir`: the optional temporary directory, fallbacks to system default (guesses from environment)\n * `tries`: how many times should the function try to get a unique filename before giving up, default `3`\n * `keep`: signals that the temporary file or directory should not be deleted on exit, default is `false`, means delete\n * `unsafeCleanup`: recursively removes the created temporary directory, even when it\'s not empty. default is `false`\n\n[1]: http://nodejs.org/\n[2]: https://github.com/bruce/node-temp\n[3]: http://www.kernel.org/doc/man-pages/online/pages/man3/mkstemp.3.html\n',
7191 silly resolved readmeFilename: 'README.md',
7191 silly resolved _id: 'tmp@0.0.21',
7191 silly resolved dist: { shasum: '2473443c84d67576c7a84ef2562c29154db83927' },
7191 silly resolved _from: 'tmp@0.0.21',
7191 silly resolved _resolved: 'https://registry.npmjs.org/tmp/-/tmp-0.0.21.tgz' } ]
7192 info install async@0.2.9 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass
7193 info install dargs@0.1.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass
7194 info install tmp@0.0.21 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass
7195 info installOne async@0.2.9
7196 info installOne dargs@0.1.0
7197 info installOne tmp@0.0.21
7198 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/async unbuild
7199 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/dargs unbuild
7200 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/tmp unbuild
7201 verbose tar unpack /home/spike/.npm/async/0.2.9/package.tgz
7202 silly lockFile a2884612-ntrib-compass-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/async
7203 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/async /home/spike/.npm/a2884612-ntrib-compass-node-modules-async.lock
7204 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
7205 verbose lock tar:///home/spike/.npm/async/0.2.9/package.tgz /home/spike/.npm/f759bea7-pike-npm-async-0-2-9-package-tgz.lock
7206 verbose tar unpack /home/spike/.npm/dargs/0.1.0/package.tgz
7207 silly lockFile 7a401c9d-ntrib-compass-node-modules-dargs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/dargs
7208 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/dargs /home/spike/.npm/7a401c9d-ntrib-compass-node-modules-dargs.lock
7209 silly lockFile ca0ebf93-pike-npm-dargs-0-1-0-package-tgz tar:///home/spike/.npm/dargs/0.1.0/package.tgz
7210 verbose lock tar:///home/spike/.npm/dargs/0.1.0/package.tgz /home/spike/.npm/ca0ebf93-pike-npm-dargs-0-1-0-package-tgz.lock
7211 verbose tar unpack /home/spike/.npm/tmp/0.0.21/package.tgz
7212 silly lockFile e5a1164e-contrib-compass-node-modules-tmp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/tmp
7213 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/tmp /home/spike/.npm/e5a1164e-contrib-compass-node-modules-tmp.lock
7214 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7215 verbose lock tar:///home/spike/.npm/tmp/0.0.21/package.tgz /home/spike/.npm/ff2157d6-spike-npm-tmp-0-0-21-package-tgz.lock
7216 silly gunzTarPerm modes [ '755', '644' ]
7217 silly gunzTarPerm modes [ '755', '644' ]
7218 silly gunzTarPerm modes [ '755', '644' ]
7219 silly gunzTarPerm extractEntry package.json
7220 silly gunzTarPerm extractEntry package.json
7221 silly gunzTarPerm extractEntry package.json
7222 silly gunzTarPerm extractEntry README.md
7223 silly gunzTarPerm extractEntry LICENSE
7224 silly gunzTarPerm extractEntry component.json
7225 silly gunzTarPerm extractEntry lib/async.js
7226 silly gunzTarPerm extractEntry dargs.js
7227 silly gunzTarPerm extractEntry readme.md
7228 silly gunzTarPerm extractEntry .npmignore
7229 silly gunzTarPerm extractEntry README.md
7230 silly gunzTarPerm extractEntry test.js
7231 silly gunzTarPerm extractEntry .travis.yml
7232 silly gunzTarPerm extractEntry lib/tmp.js
7233 silly gunzTarPerm extractEntry test/base.js
7234 silly gunzTarPerm extractEntry test/dir-test.js
7235 silly gunzTarPerm extractEntry test/file-test.js
7236 silly gunzTarPerm extractEntry test/graceful.js
7237 silly gunzTarPerm extractEntry test/keep.js
7238 silly gunzTarPerm extractEntry test/name-test.js
7239 silly gunzTarPerm extractEntry test/spawn.js
7240 silly gunzTarPerm extractEntry test/unsafe.js
7241 silly gunzTarPerm extractEntry test/symlinkme/file.js
7242 silly gunzTarPerm extractEntry test-all.sh
7243 silly lockFile 7a401c9d-ntrib-compass-node-modules-dargs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/dargs
7244 silly lockFile 7a401c9d-ntrib-compass-node-modules-dargs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/dargs
7245 silly lockFile ca0ebf93-pike-npm-dargs-0-1-0-package-tgz tar:///home/spike/.npm/dargs/0.1.0/package.tgz
7246 silly lockFile ca0ebf93-pike-npm-dargs-0-1-0-package-tgz tar:///home/spike/.npm/dargs/0.1.0/package.tgz
7247 info preinstall dargs@0.1.0
7248 verbose readDependencies using package.json deps
7249 verbose readDependencies using package.json deps
7250 silly resolved []
7251 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/dargs
7252 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/dargs
7253 verbose linkStuff [ false,
7253 verbose linkStuff false,
7253 verbose linkStuff false,
7253 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules' ]
7254 info linkStuff dargs@0.1.0
7255 verbose linkBins dargs@0.1.0
7256 verbose linkMans dargs@0.1.0
7257 verbose rebuildBundles dargs@0.1.0
7258 info install dargs@0.1.0
7259 info postinstall dargs@0.1.0
7260 silly lockFile a2884612-ntrib-compass-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/async
7261 silly lockFile a2884612-ntrib-compass-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/async
7262 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
7263 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
7264 silly lockFile e5a1164e-contrib-compass-node-modules-tmp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/tmp
7265 silly lockFile e5a1164e-contrib-compass-node-modules-tmp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/tmp
7266 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7267 silly lockFile ff2157d6-spike-npm-tmp-0-0-21-package-tgz tar:///home/spike/.npm/tmp/0.0.21/package.tgz
7268 info preinstall async@0.2.9
7269 info preinstall tmp@0.0.21
7270 verbose readDependencies using package.json deps
7271 verbose readDependencies using package.json deps
7272 verbose readDependencies using package.json deps
7273 silly resolved []
7274 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/async
7275 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/async
7276 verbose linkStuff [ false,
7276 verbose linkStuff false,
7276 verbose linkStuff false,
7276 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules' ]
7277 info linkStuff async@0.2.9
7278 verbose linkBins async@0.2.9
7279 verbose linkMans async@0.2.9
7280 verbose rebuildBundles async@0.2.9
7281 verbose readDependencies using package.json deps
7282 silly resolved []
7283 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/tmp
7284 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules/tmp
7285 verbose linkStuff [ false,
7285 verbose linkStuff false,
7285 verbose linkStuff false,
7285 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass/node_modules' ]
7286 info linkStuff tmp@0.0.21
7287 verbose linkBins tmp@0.0.21
7288 verbose linkMans tmp@0.0.21
7289 verbose rebuildBundles tmp@0.0.21
7290 info install async@0.2.9
7291 info install tmp@0.0.21
7292 info postinstall async@0.2.9
7293 info postinstall tmp@0.0.21
7294 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass
7295 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-compass
7296 verbose linkStuff [ false,
7296 verbose linkStuff false,
7296 verbose linkStuff false,
7296 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
7297 info linkStuff grunt-contrib-compass@0.6.0
7298 verbose linkBins grunt-contrib-compass@0.6.0
7299 verbose linkMans grunt-contrib-compass@0.6.0
7300 verbose rebuildBundles grunt-contrib-compass@0.6.0
7301 verbose rebuildBundles [ 'async', 'dargs', 'tmp' ]
7302 info install grunt-contrib-compass@0.6.0
7303 info postinstall grunt-contrib-compass@0.6.0
7304 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/tmp.tgz
7305 silly lockFile d62f815b-81104-0-1731384361628443-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package
7306 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package /home/spike/.npm/d62f815b-81104-0-1731384361628443-package.lock
7307 silly lockFile f8a873da-81104-0-1731384361628443-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/tmp.tgz
7308 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/tmp.tgz /home/spike/.npm/f8a873da-81104-0-1731384361628443-tmp-tgz.lock
7309 silly gunzTarPerm modes [ '755', '644' ]
7310 silly gunzTarPerm extractEntry package.json
7311 silly gunzTarPerm extractEntry .npmignore
7312 silly gunzTarPerm extractEntry README.md
7313 silly gunzTarPerm extractEntry Gruntfile.js
7314 silly gunzTarPerm extractEntry .jshintrc
7315 silly gunzTarPerm extractEntry .travis.yml
7316 silly gunzTarPerm extractEntry LICENSE-MIT
7317 silly gunzTarPerm extractEntry lib/getobject.js
7318 silly gunzTarPerm extractEntry test/namespace_test.js
7319 silly lockFile d62f815b-81104-0-1731384361628443-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package
7320 silly lockFile d62f815b-81104-0-1731384361628443-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package
7321 silly lockFile f8a873da-81104-0-1731384361628443-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/tmp.tgz
7322 silly lockFile f8a873da-81104-0-1731384361628443-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/tmp.tgz
7323 verbose tar pack [ '/home/spike/.npm/getobject/0.1.0/package.tgz',
7323 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package' ]
7324 verbose tarball /home/spike/.npm/getobject/0.1.0/package.tgz
7325 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package
7326 silly lockFile d62f815b-81104-0-1731384361628443-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package
7327 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package /home/spike/.npm/d62f815b-81104-0-1731384361628443-package.lock
7328 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
7329 verbose lock tar:///home/spike/.npm/getobject/0.1.0/package.tgz /home/spike/.npm/74d7f1f0--npm-getobject-0-1-0-package-tgz.lock
7330 silly lockFile d62f815b-81104-0-1731384361628443-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package
7331 silly lockFile d62f815b-81104-0-1731384361628443-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681104-0.1731384361628443/package
7332 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
7333 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
7334 silly lockFile 2310927a-pike-npm-getobject-0-1-0-package /home/spike/.npm/getobject/0.1.0/package
7335 verbose lock /home/spike/.npm/getobject/0.1.0/package /home/spike/.npm/2310927a-pike-npm-getobject-0-1-0-package.lock
7336 silly lockFile 2310927a-pike-npm-getobject-0-1-0-package /home/spike/.npm/getobject/0.1.0/package
7337 silly lockFile 2310927a-pike-npm-getobject-0-1-0-package /home/spike/.npm/getobject/0.1.0/package
7338 verbose tar unpack /home/spike/.npm/getobject/0.1.0/package.tgz
7339 silly lockFile 581c0b21-pike-npm-getobject-0-1-0-package tar:///home/spike/.npm/getobject/0.1.0/package
7340 verbose lock tar:///home/spike/.npm/getobject/0.1.0/package /home/spike/.npm/581c0b21-pike-npm-getobject-0-1-0-package.lock
7341 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
7342 verbose lock tar:///home/spike/.npm/getobject/0.1.0/package.tgz /home/spike/.npm/74d7f1f0--npm-getobject-0-1-0-package-tgz.lock
7343 silly gunzTarPerm modes [ '755', '644' ]
7344 silly gunzTarPerm extractEntry package.json
7345 silly gunzTarPerm extractEntry .npmignore
7346 silly gunzTarPerm extractEntry README.md
7347 silly gunzTarPerm extractEntry Gruntfile.js
7348 silly gunzTarPerm extractEntry .jshintrc
7349 silly gunzTarPerm extractEntry .travis.yml
7350 silly gunzTarPerm extractEntry LICENSE-MIT
7351 silly gunzTarPerm extractEntry lib/getobject.js
7352 silly gunzTarPerm extractEntry test/namespace_test.js
7353 silly lockFile 581c0b21-pike-npm-getobject-0-1-0-package tar:///home/spike/.npm/getobject/0.1.0/package
7354 silly lockFile 581c0b21-pike-npm-getobject-0-1-0-package tar:///home/spike/.npm/getobject/0.1.0/package
7355 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
7356 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
7357 verbose chmod /home/spike/.npm/getobject/0.1.0/package.tgz 644
7358 verbose chown /home/spike/.npm/getobject/0.1.0/package.tgz [ 1000, 1000 ]
7359 silly lockFile ffaebdea-rg-getobject-getobject-0-1-0-tgz https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz
7360 silly lockFile ffaebdea-rg-getobject-getobject-0-1-0-tgz https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz
7361 silly lockFile c44ec3ff-getobject-0-1-0 getobject@0.1.0
7362 silly lockFile c44ec3ff-getobject-0-1-0 getobject@0.1.0
7363 silly lockFile 6f3e7f10-getobject-0-1-0 getobject@~0.1.0
7364 silly lockFile 6f3e7f10-getobject-0-1-0 getobject@~0.1.0
7365 http 200 https://registry.npmjs.org/eventemitter2
7366 silly registry.get cb [ 200,
7366 silly registry.get { vary: 'Accept',
7366 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
7366 silly registry.get etag: '"4PW4ER3V8TJ6M3D1LPHLVU5QN"',
7366 silly registry.get date: 'Mon, 16 Dec 2013 10:44:41 GMT',
7366 silly registry.get 'content-type': 'application/json',
7366 silly registry.get 'content-length': '96095' } ]
7367 silly addNameRange number 2 { name: 'eventemitter2',
7367 silly addNameRange range: '>=0.4.13-0 <0.5.0-0',
7367 silly addNameRange hasData: true }
7368 silly addNameRange versions [ 'eventemitter2',
7368 silly addNameRange [ '0.0.1',
7368 silly addNameRange '0.1.0',
7368 silly addNameRange '0.1.1',
7368 silly addNameRange '0.1.3',
7368 silly addNameRange '0.2.5',
7368 silly addNameRange '0.2.6',
7368 silly addNameRange '0.2.7',
7368 silly addNameRange '0.3.5',
7368 silly addNameRange '0.3.6',
7368 silly addNameRange '0.3.7',
7368 silly addNameRange '0.4.0',
7368 silly addNameRange '0.4.1',
7368 silly addNameRange '0.4.3',
7368 silly addNameRange '0.4.6',
7368 silly addNameRange '0.4.7',
7368 silly addNameRange '0.4.8',
7368 silly addNameRange '0.4.9',
7368 silly addNameRange '0.4.10',
7368 silly addNameRange '0.4.11',
7368 silly addNameRange '0.4.12',
7368 silly addNameRange '0.4.13' ] ]
7369 verbose addNamed [ 'eventemitter2', '0.4.13' ]
7370 verbose addNamed [ '0.4.13', '0.4.13' ]
7371 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
7372 verbose lock eventemitter2@0.4.13 /home/spike/.npm/2bed8da6-eventemitter2-0-4-13.lock
7373 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
7374 silly lockFile 2bed8da6-eventemitter2-0-4-13 eventemitter2@0.4.13
7375 silly lockFile adbd1d63-eventemitter2-0-4-13 eventemitter2@~0.4.13
7376 silly lockFile adbd1d63-eventemitter2-0-4-13 eventemitter2@~0.4.13
7377 http 200 https://registry.npmjs.org/clean-css
7378 silly registry.get cb [ 200,
7378 silly registry.get { vary: 'Accept',
7378 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7378 silly registry.get etag: '"74HQ8CVCELJFS46KDCXGG1CCD"',
7378 silly registry.get date: 'Mon, 16 Dec 2013 10:44:35 GMT',
7378 silly registry.get 'content-type': 'application/json',
7378 silly registry.get 'content-length': '220315' } ]
7379 silly addNameRange number 2 { name: 'clean-css', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
7380 silly addNameRange versions [ 'clean-css',
7380 silly addNameRange [ '0.1.0',
7380 silly addNameRange '0.2.0',
7380 silly addNameRange '0.2.1',
7380 silly addNameRange '0.2.2',
7380 silly addNameRange '0.2.3',
7380 silly addNameRange '0.2.4',
7380 silly addNameRange '0.2.5',
7380 silly addNameRange '0.2.6',
7380 silly addNameRange '0.3.0',
7380 silly addNameRange '0.3.1',
7380 silly addNameRange '0.3.2',
7380 silly addNameRange '0.3.3',
7380 silly addNameRange '0.4.0',
7380 silly addNameRange '0.4.1',
7380 silly addNameRange '0.4.2',
7380 silly addNameRange '0.5.0',
7380 silly addNameRange '0.6.0',
7380 silly addNameRange '0.7.0',
7380 silly addNameRange '0.8.0',
7380 silly addNameRange '0.8.1',
7380 silly addNameRange '0.8.2',
7380 silly addNameRange '0.8.3',
7380 silly addNameRange '0.9.0',
7380 silly addNameRange '0.9.1',
7380 silly addNameRange '0.10.0',
7380 silly addNameRange '0.10.1',
7380 silly addNameRange '0.10.2',
7380 silly addNameRange '1.0.0',
7380 silly addNameRange '1.0.1',
7380 silly addNameRange '1.0.2',
7380 silly addNameRange '1.0.3',
7380 silly addNameRange '1.0.4',
7380 silly addNameRange '1.0.5',
7380 silly addNameRange '1.0.6',
7380 silly addNameRange '1.0.7',
7380 silly addNameRange '1.0.8',
7380 silly addNameRange '1.0.9',
7380 silly addNameRange '1.0.10',
7380 silly addNameRange '1.0.11',
7380 silly addNameRange '1.0.12',
7380 silly addNameRange '1.1.0',
7380 silly addNameRange '1.1.1',
7380 silly addNameRange '1.1.2',
7380 silly addNameRange '1.1.3',
7380 silly addNameRange '1.1.4',
7380 silly addNameRange '1.1.5',
7380 silly addNameRange '1.1.6',
7380 silly addNameRange '1.1.7',
7380 silly addNameRange '2.0.0',
7380 silly addNameRange '2.0.1',
7380 silly addNameRange '2.0.2' ] ]
7381 verbose addNamed [ 'clean-css', '2.0.2' ]
7382 verbose addNamed [ '2.0.2', '2.0.2' ]
7383 silly lockFile c153d1be-clean-css-2-0-2 clean-css@2.0.2
7384 verbose lock clean-css@2.0.2 /home/spike/.npm/c153d1be-clean-css-2-0-2.lock
7385 silly lockFile bc2e36b8-rg-clean-css-clean-css-2-0-2-tgz https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz
7386 verbose lock https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz /home/spike/.npm/bc2e36b8-rg-clean-css-clean-css-2-0-2-tgz.lock
7387 verbose addRemoteTarball [ 'https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz',
7387 verbose addRemoteTarball '69ca3c124f4a476a154c081e9d5a54f1bcdec9c4' ]
7388 info retry fetch attempt 1 at 11:44:44
7389 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/tmp.tgz
7390 http GET https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz
7391 http 304 https://registry.npmjs.org/semver
7392 silly registry.get cb [ 304,
7392 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7392 silly registry.get etag: '"2YZHDULC16W0A4C1OJM44P25I"',
7392 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
7392 silly registry.get 'content-length': '0' } ]
7393 verbose etag semver from cache
7394 silly addNameRange number 2 { name: 'semver', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
7395 silly addNameRange versions [ 'semver',
7395 silly addNameRange [ '1.0.0',
7395 silly addNameRange '1.0.1',
7395 silly addNameRange '1.0.2',
7395 silly addNameRange '1.0.3',
7395 silly addNameRange '1.0.4',
7395 silly addNameRange '1.0.5',
7395 silly addNameRange '1.0.6',
7395 silly addNameRange '1.0.7',
7395 silly addNameRange '1.0.8',
7395 silly addNameRange '1.0.9',
7395 silly addNameRange '1.0.10',
7395 silly addNameRange '1.0.11',
7395 silly addNameRange '1.0.12',
7395 silly addNameRange '1.0.13',
7395 silly addNameRange '1.0.14',
7395 silly addNameRange '1.1.0',
7395 silly addNameRange '1.1.1',
7395 silly addNameRange '1.1.2',
7395 silly addNameRange '1.1.3',
7395 silly addNameRange '1.1.4',
7395 silly addNameRange '2.0.0-alpha',
7395 silly addNameRange '2.0.0-beta',
7395 silly addNameRange '2.0.1',
7395 silly addNameRange '2.0.2',
7395 silly addNameRange '2.0.3',
7395 silly addNameRange '2.0.4',
7395 silly addNameRange '2.0.5',
7395 silly addNameRange '2.0.6',
7395 silly addNameRange '2.0.7',
7395 silly addNameRange '2.0.8',
7395 silly addNameRange '2.0.9',
7395 silly addNameRange '2.0.10',
7395 silly addNameRange '2.0.11',
7395 silly addNameRange '2.1.0',
7395 silly addNameRange '2.2.0',
7395 silly addNameRange '2.2.1' ] ]
7396 verbose addNamed [ 'semver', '2.0.11' ]
7397 verbose addNamed [ '2.0.11', '2.0.11' ]
7398 silly lockFile f88695e1-semver-2-0-11 semver@2.0.11
7399 verbose lock semver@2.0.11 /home/spike/.npm/f88695e1-semver-2-0-11.lock
7400 silly lockFile f88695e1-semver-2-0-11 semver@2.0.11
7401 silly lockFile f88695e1-semver-2-0-11 semver@2.0.11
7402 silly lockFile 581de4c4-semver-2-0-0 semver@~2.0.0
7403 silly lockFile 581de4c4-semver-2-0-0 semver@~2.0.0
7404 silly resolved [ { name: 'debug',
7404 silly resolved version: '0.7.4',
7404 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' },
7404 silly resolved description: 'small debugging utility',
7404 silly resolved keywords: [ 'debug', 'log', 'debugger' ],
7404 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
7404 silly resolved dependencies: {},
7404 silly resolved devDependencies: { mocha: '*' },
7404 silly resolved main: 'lib/debug.js',
7404 silly resolved browser: './debug.js',
7404 silly resolved engines: { node: '*' },
7404 silly resolved files: [ 'lib/debug.js', 'debug.js', 'index.js' ],
7404 silly resolved component: { scripts: [Object] },
7404 silly resolved readme: '# debug\n\n tiny node.js debugging utility modelled after node core\'s debugging technique.\n\n## Installation\n\n```\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you\'re used to work fine. A unique color is selected per-function for visibility.\n \nExample _app.js_:\n\n```js\nvar debug = require(\'debug\')(\'http\')\n , http = require(\'http\')\n , name = \'My App\';\n\n// fake app\n\ndebug(\'booting %s\', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + \' \' + req.url);\n res.end(\'hello\\n\');\n}).listen(3000, function(){\n debug(\'listening\');\n});\n\n// fake worker of some kind\n\nrequire(\'./worker\');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require(\'debug\')(\'worker\');\n\nsetInterval(function(){\n debug(\'doing some work\');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_\n \n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n \n## Conventions\n\n If you\'re using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". \n\n## Wildcards\n\n The "*" character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=* -connect:*` would include all debuggers except those starting with "connect:".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable(\'worker:*\')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. \n\n```js\na = debug(\'worker:a\');\nb = debug(\'worker:b\');\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1000);\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1200);\n```\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',
7404 silly resolved readmeFilename: 'Readme.md',
7404 silly resolved bugs: { url: 'https://github.com/visionmedia/debug/issues' },
7404 silly resolved homepage: 'https://github.com/visionmedia/debug',
7404 silly resolved _id: 'debug@0.7.4',
7404 silly resolved _from: 'debug@*',
7404 silly resolved scripts: {} },
7404 silly resolved { name: 'semver',
7404 silly resolved version: '2.0.11',
7404 silly resolved description: 'The semantic version parser used by npm.',
7404 silly resolved main: 'semver.js',
7404 silly resolved browser: 'semver.browser.js',
7404 silly resolved min: 'semver.min.js',
7404 silly resolved scripts: { test: 'tap test/*.js', prepublish: 'make' },
7404 silly resolved devDependencies: { tap: '0.x >=0.0.4', 'uglify-js': '~2.3.6' },
7404 silly resolved license: 'BSD',
7404 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
7404 silly resolved bin: { semver: './bin/semver' },
7404 silly resolved readme: 'semver(1) -- The semantic versioner for npm\n===========================================\n\n## Usage\n\n $ npm install semver\n\n semver.valid(\'1.2.3\') // \'1.2.3\'\n semver.valid(\'a.b.c\') // null\n semver.clean(\' =v1.2.3 \') // \'1.2.3\'\n semver.satisfies(\'1.2.3\', \'1.x || >=2.5.0 || 5.0.0 - 7.2.3\') // true\n semver.gt(\'1.2.3\', \'9.8.7\') // false\n semver.lt(\'1.2.3\', \'9.8.7\') // true\n\nAs a command-line utility:\n\n $ semver -h\n\n Usage: semver <version> [<version> [...]] [-r <range> | -i <inc> | -d <dec>]\n Test if version(s) satisfy the supplied range(s), and sort them.\n\n Multiple versions or ranges may be supplied, unless increment\n or decrement options are specified. In that case, only a single\n version may be used, and it is incremented by the specified level\n\n Program exits successfully if any valid version satisfies\n all supplied ranges, and prints all satisfying versions.\n\n If no versions are valid, or ranges are not satisfied,\n then exits failure.\n\n Versions are printed in ascending order, so supplying\n multiple versions to the utility will just sort them.\n\n## Versions\n\nA "version" is described by the v2.0.0 specification found at\n<http://semver.org/>.\n\nA leading `"="` or `"v"` character is stripped off and ignored.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `1.2.3` A specific version. When nothing else will do. Note that\n build metadata is still ignored, so `1.2.3+build2012` will satisfy\n this range.\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than a specific version. If there is no prerelease\n tag on the version range, then no prerelease version will be allowed\n either, even though these are technically "less than".\n* `>=1.2.3` Greater than or equal to. Note that prerelease versions\n are NOT equal to their "normal" equivalents, so `1.2.3-beta` will\n not satisfy this range, but `2.3.0-beta` will.\n* `<=1.2.3` Less than or equal to. In this case, prerelease versions\n ARE allowed, so `1.2.3-beta` would satisfy.\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` "Reasonably close to 1.2.3". When\n using tilde operators, prerelease versions are supported as well,\n but a prerelease of the next significant digit will NOT be\n satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`.\n* `~1.2` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `1.2.x` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"\n* `~1` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n* `1.x` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"\n\n\nRanges can be joined with either a space (which implies "and") or a\n`||` (which implies "or").\n\n## Functions\n\nAll methods and classes take a final `loose` boolean argument that, if\ntrue, will be more forgiving about not-quite-valid semver strings.\nThe resulting output will always be 100% strict, of course.\n\nStrict-mode Comparators and Ranges will be strict about the SemVer\nstrings that they parse.\n\n* valid(v): Return the parsed version, or null if it\'s not valid.\n* inc(v, release): Return the version incremented by the release type\n (major, minor, patch, or prerelease), or null if it\'s not valid.\n\n### Comparison\n\n* gt(v1, v2): `v1 > v2`\n* gte(v1, v2): `v1 >= v2`\n* lt(v1, v2): `v1 < v2`\n* lte(v1, v2): `v1 <= v2`\n* eq(v1, v2): `v1 == v2` This is true if they\'re logically equivalent,\n even if they\'re not the exact same string. You already know how to\n compare strings.\n* neq(v1, v2): `v1 != v2` The opposite of eq.\n* cmp(v1, comparator, v2): Pass in a comparison string, and it\'ll call\n the corresponding function above. `"==="` and `"!=="` do simple\n string comparison, but are included for completeness. Throws if an\n invalid comparison string is provided.\n* compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if\n v2 is greater. Sorts in ascending order if passed to Array.sort().\n* rcompare(v1, v2): The reverse of compare. Sorts an array of versions\n in descending order when passed to Array.sort().\n\n\n### Ranges\n\n* validRange(range): Return the valid range or null if it\'s not valid\n* satisfies(version, range): Return true if the version satisfies the\n range.\n* maxSatisfying(versions, range): Return the highest version in the list\n that satisfies the range, or null if none of them do.\n',
7404 silly resolved readmeFilename: 'README.md',
7404 silly resolved bugs: { url: 'https://github.com/isaacs/node-semver/issues' },
7404 silly resolved homepage: 'https://github.com/isaacs/node-semver',
7404 silly resolved _id: 'semver@2.0.11',
7404 silly resolved _from: 'semver@~2.0.0' } ]
7405 info install debug@0.7.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn
7406 info install semver@2.0.11 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn
7407 info installOne debug@0.7.4
7408 info installOne semver@2.0.11
7409 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/debug unbuild
7410 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/semver unbuild
7411 verbose tar unpack /home/spike/.npm/debug/0.7.4/package.tgz
7412 silly lockFile 7f7f2b0a-es-google-cdn-node-modules-debug tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/debug
7413 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/debug /home/spike/.npm/7f7f2b0a-es-google-cdn-node-modules-debug.lock
7414 silly lockFile 4a3c682e-pike-npm-debug-0-7-4-package-tgz tar:///home/spike/.npm/debug/0.7.4/package.tgz
7415 verbose lock tar:///home/spike/.npm/debug/0.7.4/package.tgz /home/spike/.npm/4a3c682e-pike-npm-debug-0-7-4-package-tgz.lock
7416 verbose tar unpack /home/spike/.npm/semver/2.0.11/package.tgz
7417 silly lockFile eab32c79-s-google-cdn-node-modules-semver tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/semver
7418 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/semver /home/spike/.npm/eab32c79-s-google-cdn-node-modules-semver.lock
7419 silly lockFile b177c7fa-ke-npm-semver-2-0-11-package-tgz tar:///home/spike/.npm/semver/2.0.11/package.tgz
7420 verbose lock tar:///home/spike/.npm/semver/2.0.11/package.tgz /home/spike/.npm/b177c7fa-ke-npm-semver-2-0-11-package-tgz.lock
7421 silly gunzTarPerm modes [ '755', '644' ]
7422 silly gunzTarPerm modes [ '755', '644' ]
7423 silly gunzTarPerm extractEntry package.json
7424 silly gunzTarPerm extractEntry package.json
7425 silly gunzTarPerm extractEntry debug.js
7426 silly gunzTarPerm extractEntry index.js
7427 silly gunzTarPerm extractEntry .npmignore
7428 silly gunzTarPerm extractEntry README.md
7429 silly gunzTarPerm extractEntry Readme.md
7430 silly gunzTarPerm extractEntry lib/debug.js
7431 silly gunzTarPerm extractEntry LICENSE
7432 silly gunzTarPerm extractEntry r.js
7433 silly gunzTarPerm extractEntry foot.js
7434 silly gunzTarPerm extractEntry head.js
7435 silly gunzTarPerm extractEntry semver.browser.js
7436 silly gunzTarPerm extractEntry semver.js
7437 silly gunzTarPerm extractEntry semver.min.js
7438 silly gunzTarPerm extractEntry semver.browser.js.gz
7439 silly gunzTarPerm extractEntry bin/semver
7440 silly gunzTarPerm extractEntry Makefile
7441 silly gunzTarPerm extractEntry semver.min.js.gz
7442 silly gunzTarPerm extractEntry test/amd.js
7443 silly gunzTarPerm extractEntry test/index.js
7444 silly gunzTarPerm extractEntry test/no-module.js
7445 silly lockFile 7f7f2b0a-es-google-cdn-node-modules-debug tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/debug
7446 silly lockFile 7f7f2b0a-es-google-cdn-node-modules-debug tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/debug
7447 silly lockFile 4a3c682e-pike-npm-debug-0-7-4-package-tgz tar:///home/spike/.npm/debug/0.7.4/package.tgz
7448 silly lockFile 4a3c682e-pike-npm-debug-0-7-4-package-tgz tar:///home/spike/.npm/debug/0.7.4/package.tgz
7449 info preinstall debug@0.7.4
7450 verbose readDependencies using package.json deps
7451 verbose readDependencies using package.json deps
7452 silly resolved []
7453 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/debug
7454 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/debug
7455 verbose linkStuff [ false,
7455 verbose linkStuff false,
7455 verbose linkStuff false,
7455 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules' ]
7456 info linkStuff debug@0.7.4
7457 verbose linkBins debug@0.7.4
7458 verbose linkMans debug@0.7.4
7459 verbose rebuildBundles debug@0.7.4
7460 info install debug@0.7.4
7461 info postinstall debug@0.7.4
7462 silly lockFile eab32c79-s-google-cdn-node-modules-semver tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/semver
7463 silly lockFile eab32c79-s-google-cdn-node-modules-semver tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/semver
7464 silly lockFile b177c7fa-ke-npm-semver-2-0-11-package-tgz tar:///home/spike/.npm/semver/2.0.11/package.tgz
7465 silly lockFile b177c7fa-ke-npm-semver-2-0-11-package-tgz tar:///home/spike/.npm/semver/2.0.11/package.tgz
7466 info preinstall semver@2.0.11
7467 verbose readDependencies using package.json deps
7468 verbose readDependencies using package.json deps
7469 silly resolved []
7470 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/semver
7471 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/semver
7472 verbose linkStuff [ false,
7472 verbose linkStuff false,
7472 verbose linkStuff false,
7472 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules' ]
7473 info linkStuff semver@2.0.11
7474 verbose linkBins semver@2.0.11
7475 verbose link bins [ { semver: './bin/semver' },
7475 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/.bin',
7475 verbose link bins false ]
7476 verbose linkMans semver@2.0.11
7477 verbose rebuildBundles semver@2.0.11
7478 info install semver@2.0.11
7479 info postinstall semver@2.0.11
7480 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn
7481 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/google-cdn
7482 verbose linkStuff [ false,
7482 verbose linkStuff false,
7482 verbose linkStuff false,
7482 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules' ]
7483 info linkStuff google-cdn@0.1.4
7484 verbose linkBins google-cdn@0.1.4
7485 verbose linkMans google-cdn@0.1.4
7486 verbose rebuildBundles google-cdn@0.1.4
7487 verbose rebuildBundles [ '.bin', 'debug', 'semver' ]
7488 info install google-cdn@0.1.4
7489 info postinstall google-cdn@0.1.4
7490 http 200 https://registry.npmjs.org/tiny-lr/0.0.4
7491 silly registry.get cb [ 200,
7491 silly registry.get { vary: 'Accept',
7491 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7491 silly registry.get etag: '"3HDNDAA13BATS1IRL2B4UV0DL"',
7491 silly registry.get date: 'Mon, 16 Dec 2013 10:44:43 GMT',
7491 silly registry.get 'content-type': 'application/json',
7491 silly registry.get 'content-length': '11122' } ]
7492 silly lockFile 65e00cd9-js-org-tiny-lr-tiny-lr-0-0-4-tgz https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz
7493 verbose lock https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz /home/spike/.npm/65e00cd9-js-org-tiny-lr-tiny-lr-0-0-4-tgz.lock
7494 verbose addRemoteTarball [ 'https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz',
7494 verbose addRemoteTarball '80618547f63f697d05cb40c4c2c4b083521aefb6' ]
7495 info retry fetch attempt 1 at 11:44:45
7496 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/tmp.tgz
7497 http GET https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz
7498 http 304 https://registry.npmjs.org/has-color
7499 silly registry.get cb [ 304,
7499 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7499 silly registry.get etag: '"72ZL2WOI1PC39PN3SGW6SDCN6"',
7499 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
7499 silly registry.get 'content-length': '0' } ]
7500 verbose etag has-color from cache
7501 silly addNameRange number 2 { name: 'has-color', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
7502 silly addNameRange versions [ 'has-color', [ '0.1.0', '0.1.1' ] ]
7503 verbose addNamed [ 'has-color', '0.1.1' ]
7504 verbose addNamed [ '0.1.1', '0.1.1' ]
7505 silly lockFile 584439fd-has-color-0-1-1 has-color@0.1.1
7506 verbose lock has-color@0.1.1 /home/spike/.npm/584439fd-has-color-0-1-1.lock
7507 silly lockFile 584439fd-has-color-0-1-1 has-color@0.1.1
7508 silly lockFile 584439fd-has-color-0-1-1 has-color@0.1.1
7509 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
7510 silly lockFile c89da621-has-color-0-1-0 has-color@~0.1.0
7511 http 304 https://registry.npmjs.org/ansi-styles
7512 silly registry.get cb [ 304,
7512 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7512 silly registry.get etag: '"AEOYK2JSRTD248WNH6VPFMJXF"',
7512 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
7512 silly registry.get 'content-length': '0' } ]
7513 verbose etag ansi-styles from cache
7514 silly addNameRange number 2 { name: 'ansi-styles',
7514 silly addNameRange range: '>=0.2.0-0 <0.3.0-0',
7514 silly addNameRange hasData: true }
7515 silly addNameRange versions [ 'ansi-styles',
7515 silly addNameRange [ '0.1.0', '0.1.1', '0.1.2', '0.2.0', '1.0.0' ] ]
7516 verbose addNamed [ 'ansi-styles', '0.2.0' ]
7517 verbose addNamed [ '0.2.0', '0.2.0' ]
7518 silly lockFile f0a78f89-ansi-styles-0-2-0 ansi-styles@0.2.0
7519 verbose lock ansi-styles@0.2.0 /home/spike/.npm/f0a78f89-ansi-styles-0-2-0.lock
7520 silly lockFile f0a78f89-ansi-styles-0-2-0 ansi-styles@0.2.0
7521 silly lockFile f0a78f89-ansi-styles-0-2-0 ansi-styles@0.2.0
7522 silly lockFile 847f9987-ansi-styles-0-2-0 ansi-styles@~0.2.0
7523 silly lockFile 847f9987-ansi-styles-0-2-0 ansi-styles@~0.2.0
7524 silly resolved [ { name: 'has-color',
7524 silly resolved version: '0.1.1',
7524 silly resolved description: 'Detect whether a terminal supports color',
7524 silly resolved keywords:
7524 silly resolved [ 'color',
7524 silly resolved 'colour',
7524 silly resolved 'colors',
7524 silly resolved 'terminal',
7524 silly resolved 'console',
7524 silly resolved 'cli',
7524 silly resolved 'ansi',
7524 silly resolved 'styles',
7524 silly resolved 'tty',
7524 silly resolved 'rgb',
7524 silly resolved '256',
7524 silly resolved 'shell',
7524 silly resolved 'xterm',
7524 silly resolved 'command-line',
7524 silly resolved 'support',
7524 silly resolved 'capability',
7524 silly resolved 'detect' ],
7524 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
7524 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
7524 silly resolved license: 'MIT',
7524 silly resolved author:
7524 silly resolved { name: 'Sindre Sorhus',
7524 silly resolved email: 'sindresorhus@gmail.com',
7524 silly resolved url: 'http://sindresorhus.com' },
7524 silly resolved files: [ 'has-color.js' ],
7524 silly resolved main: 'has-color',
7524 silly resolved repository:
7524 silly resolved { type: 'git',
7524 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
7524 silly resolved scripts: { test: 'mocha' },
7524 silly resolved devDependencies: { mocha: '~1.12.0' },
7524 silly resolved engines: { node: '>=0.8.0' },
7524 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7524 silly resolved readmeFilename: 'readme.md',
7524 silly resolved _id: 'has-color@0.1.1',
7524 silly resolved _from: 'has-color@~0.1.0' },
7524 silly resolved { name: 'ansi-styles',
7524 silly resolved version: '0.2.0',
7524 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
7524 silly resolved keywords:
7524 silly resolved [ 'ansi',
7524 silly resolved 'styles',
7524 silly resolved 'color',
7524 silly resolved 'colour',
7524 silly resolved 'colors',
7524 silly resolved 'terminal',
7524 silly resolved 'console',
7524 silly resolved 'cli',
7524 silly resolved 'string',
7524 silly resolved 'tty',
7524 silly resolved 'escape',
7524 silly resolved 'formatting',
7524 silly resolved 'rgb',
7524 silly resolved '256',
7524 silly resolved 'shell',
7524 silly resolved 'xterm',
7524 silly resolved 'log',
7524 silly resolved 'logging',
7524 silly resolved 'command-line',
7524 silly resolved 'text' ],
7524 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
7524 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
7524 silly resolved license: 'MIT',
7524 silly resolved author:
7524 silly resolved { name: 'Sindre Sorhus',
7524 silly resolved email: 'sindresorhus@gmail.com',
7524 silly resolved url: 'http://sindresorhus.com' },
7524 silly resolved files: [ 'ansi-styles.js' ],
7524 silly resolved main: 'ansi-styles',
7524 silly resolved repository:
7524 silly resolved { type: 'git',
7524 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
7524 silly resolved scripts: { test: 'mocha' },
7524 silly resolved devDependencies: { mocha: '~1.12.0' },
7524 silly resolved engines: { node: '>=0.8.0' },
7524 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7524 silly resolved readmeFilename: 'readme.md',
7524 silly resolved _id: 'ansi-styles@0.2.0',
7524 silly resolved _from: 'ansi-styles@~0.2.0' } ]
7525 info install has-color@0.1.1 into /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk
7526 info install ansi-styles@0.2.0 into /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk
7527 info installOne has-color@0.1.1
7528 info installOne ansi-styles@0.2.0
7529 silly resolved [ { name: 'has-color',
7529 silly resolved version: '0.1.1',
7529 silly resolved description: 'Detect whether a terminal supports color',
7529 silly resolved keywords:
7529 silly resolved [ 'color',
7529 silly resolved 'colour',
7529 silly resolved 'colors',
7529 silly resolved 'terminal',
7529 silly resolved 'console',
7529 silly resolved 'cli',
7529 silly resolved 'ansi',
7529 silly resolved 'styles',
7529 silly resolved 'tty',
7529 silly resolved 'rgb',
7529 silly resolved '256',
7529 silly resolved 'shell',
7529 silly resolved 'xterm',
7529 silly resolved 'command-line',
7529 silly resolved 'support',
7529 silly resolved 'capability',
7529 silly resolved 'detect' ],
7529 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
7529 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
7529 silly resolved license: 'MIT',
7529 silly resolved author:
7529 silly resolved { name: 'Sindre Sorhus',
7529 silly resolved email: 'sindresorhus@gmail.com',
7529 silly resolved url: 'http://sindresorhus.com' },
7529 silly resolved files: [ 'has-color.js' ],
7529 silly resolved main: 'has-color',
7529 silly resolved repository:
7529 silly resolved { type: 'git',
7529 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
7529 silly resolved scripts: { test: 'mocha' },
7529 silly resolved devDependencies: { mocha: '~1.12.0' },
7529 silly resolved engines: { node: '>=0.8.0' },
7529 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7529 silly resolved readmeFilename: 'readme.md',
7529 silly resolved _id: 'has-color@0.1.1',
7529 silly resolved _from: 'has-color@~0.1.0' },
7529 silly resolved { name: 'ansi-styles',
7529 silly resolved version: '0.2.0',
7529 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
7529 silly resolved keywords:
7529 silly resolved [ 'ansi',
7529 silly resolved 'styles',
7529 silly resolved 'color',
7529 silly resolved 'colour',
7529 silly resolved 'colors',
7529 silly resolved 'terminal',
7529 silly resolved 'console',
7529 silly resolved 'cli',
7529 silly resolved 'string',
7529 silly resolved 'tty',
7529 silly resolved 'escape',
7529 silly resolved 'formatting',
7529 silly resolved 'rgb',
7529 silly resolved '256',
7529 silly resolved 'shell',
7529 silly resolved 'xterm',
7529 silly resolved 'log',
7529 silly resolved 'logging',
7529 silly resolved 'command-line',
7529 silly resolved 'text' ],
7529 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
7529 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
7529 silly resolved license: 'MIT',
7529 silly resolved author:
7529 silly resolved { name: 'Sindre Sorhus',
7529 silly resolved email: 'sindresorhus@gmail.com',
7529 silly resolved url: 'http://sindresorhus.com' },
7529 silly resolved files: [ 'ansi-styles.js' ],
7529 silly resolved main: 'ansi-styles',
7529 silly resolved repository:
7529 silly resolved { type: 'git',
7529 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
7529 silly resolved scripts: { test: 'mocha' },
7529 silly resolved devDependencies: { mocha: '~1.12.0' },
7529 silly resolved engines: { node: '>=0.8.0' },
7529 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7529 silly resolved readmeFilename: 'readme.md',
7529 silly resolved _id: 'ansi-styles@0.2.0',
7529 silly resolved _from: 'ansi-styles@~0.2.0' } ]
7530 info install has-color@0.1.1 into /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk
7531 info install ansi-styles@0.2.0 into /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk
7532 info installOne has-color@0.1.1
7533 info installOne ansi-styles@0.2.0
7534 silly resolved [ { name: 'has-color',
7534 silly resolved version: '0.1.1',
7534 silly resolved description: 'Detect whether a terminal supports color',
7534 silly resolved keywords:
7534 silly resolved [ 'color',
7534 silly resolved 'colour',
7534 silly resolved 'colors',
7534 silly resolved 'terminal',
7534 silly resolved 'console',
7534 silly resolved 'cli',
7534 silly resolved 'ansi',
7534 silly resolved 'styles',
7534 silly resolved 'tty',
7534 silly resolved 'rgb',
7534 silly resolved '256',
7534 silly resolved 'shell',
7534 silly resolved 'xterm',
7534 silly resolved 'command-line',
7534 silly resolved 'support',
7534 silly resolved 'capability',
7534 silly resolved 'detect' ],
7534 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
7534 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
7534 silly resolved license: 'MIT',
7534 silly resolved author:
7534 silly resolved { name: 'Sindre Sorhus',
7534 silly resolved email: 'sindresorhus@gmail.com',
7534 silly resolved url: 'http://sindresorhus.com' },
7534 silly resolved files: [ 'has-color.js' ],
7534 silly resolved main: 'has-color',
7534 silly resolved repository:
7534 silly resolved { type: 'git',
7534 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
7534 silly resolved scripts: { test: 'mocha' },
7534 silly resolved devDependencies: { mocha: '~1.12.0' },
7534 silly resolved engines: { node: '>=0.8.0' },
7534 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7534 silly resolved readmeFilename: 'readme.md',
7534 silly resolved _id: 'has-color@0.1.1',
7534 silly resolved _from: 'has-color@~0.1.0' },
7534 silly resolved { name: 'ansi-styles',
7534 silly resolved version: '0.2.0',
7534 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
7534 silly resolved keywords:
7534 silly resolved [ 'ansi',
7534 silly resolved 'styles',
7534 silly resolved 'color',
7534 silly resolved 'colour',
7534 silly resolved 'colors',
7534 silly resolved 'terminal',
7534 silly resolved 'console',
7534 silly resolved 'cli',
7534 silly resolved 'string',
7534 silly resolved 'tty',
7534 silly resolved 'escape',
7534 silly resolved 'formatting',
7534 silly resolved 'rgb',
7534 silly resolved '256',
7534 silly resolved 'shell',
7534 silly resolved 'xterm',
7534 silly resolved 'log',
7534 silly resolved 'logging',
7534 silly resolved 'command-line',
7534 silly resolved 'text' ],
7534 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
7534 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
7534 silly resolved license: 'MIT',
7534 silly resolved author:
7534 silly resolved { name: 'Sindre Sorhus',
7534 silly resolved email: 'sindresorhus@gmail.com',
7534 silly resolved url: 'http://sindresorhus.com' },
7534 silly resolved files: [ 'ansi-styles.js' ],
7534 silly resolved main: 'ansi-styles',
7534 silly resolved repository:
7534 silly resolved { type: 'git',
7534 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
7534 silly resolved scripts: { test: 'mocha' },
7534 silly resolved devDependencies: { mocha: '~1.12.0' },
7534 silly resolved engines: { node: '>=0.8.0' },
7534 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7534 silly resolved readmeFilename: 'readme.md',
7534 silly resolved _id: 'ansi-styles@0.2.0',
7534 silly resolved _from: 'ansi-styles@~0.2.0' } ]
7535 info install has-color@0.1.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk
7536 info install ansi-styles@0.2.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk
7537 info installOne has-color@0.1.1
7538 info installOne ansi-styles@0.2.0
7539 silly resolved [ { name: 'has-color',
7539 silly resolved version: '0.1.1',
7539 silly resolved description: 'Detect whether a terminal supports color',
7539 silly resolved keywords:
7539 silly resolved [ 'color',
7539 silly resolved 'colour',
7539 silly resolved 'colors',
7539 silly resolved 'terminal',
7539 silly resolved 'console',
7539 silly resolved 'cli',
7539 silly resolved 'ansi',
7539 silly resolved 'styles',
7539 silly resolved 'tty',
7539 silly resolved 'rgb',
7539 silly resolved '256',
7539 silly resolved 'shell',
7539 silly resolved 'xterm',
7539 silly resolved 'command-line',
7539 silly resolved 'support',
7539 silly resolved 'capability',
7539 silly resolved 'detect' ],
7539 silly resolved homepage: 'https://github.com/sindresorhus/has-color',
7539 silly resolved bugs: { url: 'https://github.com/sindresorhus/has-color/issues' },
7539 silly resolved license: 'MIT',
7539 silly resolved author:
7539 silly resolved { name: 'Sindre Sorhus',
7539 silly resolved email: 'sindresorhus@gmail.com',
7539 silly resolved url: 'http://sindresorhus.com' },
7539 silly resolved files: [ 'has-color.js' ],
7539 silly resolved main: 'has-color',
7539 silly resolved repository:
7539 silly resolved { type: 'git',
7539 silly resolved url: 'git://github.com/sindresorhus/has-color.git' },
7539 silly resolved scripts: { test: 'mocha' },
7539 silly resolved devDependencies: { mocha: '~1.12.0' },
7539 silly resolved engines: { node: '>=0.8.0' },
7539 silly resolved readme: '# has-color [![Build Status](https://secure.travis-ci.org/sindresorhus/has-color.png?branch=master)](http://travis-ci.org/sindresorhus/has-color)\n\n> Detect whether a terminal supports color.\n\n*Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).*\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/has-color): `npm install --save has-color`\n\n\n## Example\n\n```js\nvar hasColor = require(\'has-color\');\n\nif (hasColor) {\n\tconsole.log(\'Terminal supports color.\');\n}\n```\n\nIt can be overriden by the user with the flags `--color` and `--no-color`.\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7539 silly resolved readmeFilename: 'readme.md',
7539 silly resolved _id: 'has-color@0.1.1',
7539 silly resolved _from: 'has-color@~0.1.0' },
7539 silly resolved { name: 'ansi-styles',
7539 silly resolved version: '0.2.0',
7539 silly resolved description: 'ANSI escape codes for colorizing strings in the terminal',
7539 silly resolved keywords:
7539 silly resolved [ 'ansi',
7539 silly resolved 'styles',
7539 silly resolved 'color',
7539 silly resolved 'colour',
7539 silly resolved 'colors',
7539 silly resolved 'terminal',
7539 silly resolved 'console',
7539 silly resolved 'cli',
7539 silly resolved 'string',
7539 silly resolved 'tty',
7539 silly resolved 'escape',
7539 silly resolved 'formatting',
7539 silly resolved 'rgb',
7539 silly resolved '256',
7539 silly resolved 'shell',
7539 silly resolved 'xterm',
7539 silly resolved 'log',
7539 silly resolved 'logging',
7539 silly resolved 'command-line',
7539 silly resolved 'text' ],
7539 silly resolved homepage: 'https://github.com/sindresorhus/ansi-styles',
7539 silly resolved bugs: { url: 'https://github.com/sindresorhus/ansi-styles/issues' },
7539 silly resolved license: 'MIT',
7539 silly resolved author:
7539 silly resolved { name: 'Sindre Sorhus',
7539 silly resolved email: 'sindresorhus@gmail.com',
7539 silly resolved url: 'http://sindresorhus.com' },
7539 silly resolved files: [ 'ansi-styles.js' ],
7539 silly resolved main: 'ansi-styles',
7539 silly resolved repository:
7539 silly resolved { type: 'git',
7539 silly resolved url: 'git://github.com/sindresorhus/ansi-styles.git' },
7539 silly resolved scripts: { test: 'mocha' },
7539 silly resolved devDependencies: { mocha: '~1.12.0' },
7539 silly resolved engines: { node: '>=0.8.0' },
7539 silly resolved readme: '# ansi-styles [![Build Status](https://secure.travis-ci.org/sindresorhus/ansi-styles.png?branch=master)](http://travis-ci.org/sindresorhus/ansi-styles)\n\n> ANSI escape codes for colorizing strings in the terminal.\n\nYou probably want the higher-level [chalk](https://github.com/sindresorhus/chalk) module for styling your strings.\n\n![screenshot](screenshot.png)\n\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/ansi-styles): `npm install --save ansi-styles`\n\n\n## Example\n\n```js\nvar ansi = require(\'ansi-styles\');\n\nconsole.log(ansi.green[0] + \'Hello world!\' + ansi.green[1]);\n```\n\n## API\n\nEach style is an array of a start and end escape code.\n\n\n## Styles\n\n### General\n\n- reset\n- bold\n- italic\n- underline\n- inverse\n- strikethrough\n\n### Text colors\n\n- black\n- red\n- green\n- yellow\n- blue\n- magenta\n- cyan\n- white\n- gray\n\n### Background colors\n\n- bgBlack\n- bgRed\n- bgGreen\n- bgYellow\n- bgBlue\n- bgMagenta\n- bgCyan\n- bgWhite\n\n\n## License\n\nMIT License • © [Sindre Sorhus](http://sindresorhus.com)\n',
7539 silly resolved readmeFilename: 'readme.md',
7539 silly resolved _id: 'ansi-styles@0.2.0',
7539 silly resolved _from: 'ansi-styles@~0.2.0' } ]
7540 info install has-color@0.1.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk
7541 info install ansi-styles@0.2.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk
7542 info installOne has-color@0.1.1
7543 info installOne ansi-styles@0.2.0
7544 info /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/has-color unbuild
7545 info /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/ansi-styles unbuild
7546 info /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/has-color unbuild
7547 info /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/ansi-styles unbuild
7548 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/has-color unbuild
7549 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/ansi-styles unbuild
7550 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/has-color unbuild
7551 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/ansi-styles unbuild
7552 verbose tar unpack /home/spike/.npm/has-color/0.1.1/package.tgz
7553 silly lockFile c63088e8-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/has-color
7554 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/has-color /home/spike/.npm/c63088e8-les-chalk-node-modules-has-color.lock
7555 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7556 verbose lock tar:///home/spike/.npm/has-color/0.1.1/package.tgz /home/spike/.npm/faebccb3--npm-has-color-0-1-1-package-tgz.lock
7557 verbose tar unpack /home/spike/.npm/ansi-styles/0.2.0/package.tgz
7558 silly lockFile 50e6caa3-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/ansi-styles
7559 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/ansi-styles /home/spike/.npm/50e6caa3-s-chalk-node-modules-ansi-styles.lock
7560 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7561 verbose lock tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz /home/spike/.npm/a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz.lock
7562 verbose tar unpack /home/spike/.npm/has-color/0.1.1/package.tgz
7563 silly lockFile ab3942a1-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/has-color
7564 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/has-color /home/spike/.npm/ab3942a1-les-chalk-node-modules-has-color.lock
7565 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7566 verbose lock tar:///home/spike/.npm/has-color/0.1.1/package.tgz /home/spike/.npm/faebccb3--npm-has-color-0-1-1-package-tgz.lock
7567 verbose tar unpack /home/spike/.npm/ansi-styles/0.2.0/package.tgz
7568 silly lockFile 20a558eb-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/ansi-styles
7569 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/ansi-styles /home/spike/.npm/20a558eb-s-chalk-node-modules-ansi-styles.lock
7570 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7571 verbose lock tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz /home/spike/.npm/a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz.lock
7572 verbose tar unpack /home/spike/.npm/has-color/0.1.1/package.tgz
7573 silly lockFile 1f489e35-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/has-color
7574 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/has-color /home/spike/.npm/1f489e35-les-chalk-node-modules-has-color.lock
7575 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7576 verbose lock tar:///home/spike/.npm/has-color/0.1.1/package.tgz /home/spike/.npm/faebccb3--npm-has-color-0-1-1-package-tgz.lock
7577 verbose tar unpack /home/spike/.npm/ansi-styles/0.2.0/package.tgz
7578 silly lockFile fa9c5271-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/ansi-styles
7579 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/ansi-styles /home/spike/.npm/fa9c5271-s-chalk-node-modules-ansi-styles.lock
7580 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7581 verbose lock tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz /home/spike/.npm/a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz.lock
7582 verbose tar unpack /home/spike/.npm/has-color/0.1.1/package.tgz
7583 silly lockFile 7c324cc3-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/has-color
7584 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/has-color /home/spike/.npm/7c324cc3-les-chalk-node-modules-has-color.lock
7585 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7586 verbose lock tar:///home/spike/.npm/has-color/0.1.1/package.tgz /home/spike/.npm/faebccb3--npm-has-color-0-1-1-package-tgz.lock
7587 verbose tar unpack /home/spike/.npm/ansi-styles/0.2.0/package.tgz
7588 silly lockFile dba022c7-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/ansi-styles
7589 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/ansi-styles /home/spike/.npm/dba022c7-s-chalk-node-modules-ansi-styles.lock
7590 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7591 verbose lock tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz /home/spike/.npm/a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz.lock
7592 http 304 https://registry.npmjs.org/abbrev
7593 silly registry.get cb [ 304,
7593 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7593 silly registry.get etag: '"1A2R6SP5BL9S0252UX3EHXNP4"',
7593 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
7593 silly registry.get 'content-length': '0' } ]
7594 verbose etag abbrev from cache
7595 silly gunzTarPerm modes [ '755', '644' ]
7596 silly gunzTarPerm modes [ '755', '644' ]
7597 silly gunzTarPerm extractEntry package.json
7598 silly addNameRange number 2 { name: 'abbrev', range: '>=1.0.4-0 <1.1.0-0', hasData: true }
7599 silly addNameRange versions [ 'abbrev', [ '1.0.3', '1.0.4' ] ]
7600 verbose addNamed [ 'abbrev', '1.0.4' ]
7601 verbose addNamed [ '1.0.4', '1.0.4' ]
7602 silly lockFile 64a4e3a6-abbrev-1-0-4 abbrev@1.0.4
7603 verbose lock abbrev@1.0.4 /home/spike/.npm/64a4e3a6-abbrev-1-0-4.lock
7604 silly gunzTarPerm extractEntry package.json
7605 silly gunzTarPerm extractEntry has-color.js
7606 silly gunzTarPerm extractEntry readme.md
7607 silly gunzTarPerm extractEntry ansi-styles.js
7608 silly gunzTarPerm extractEntry readme.md
7609 silly lockFile 64a4e3a6-abbrev-1-0-4 abbrev@1.0.4
7610 silly lockFile 64a4e3a6-abbrev-1-0-4 abbrev@1.0.4
7611 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
7612 silly lockFile efa0e9e0-abbrev-1-0-4 abbrev@~1.0.4
7613 silly lockFile 50e6caa3-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/ansi-styles
7614 silly lockFile 50e6caa3-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/ansi-styles
7615 silly lockFile c63088e8-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/has-color
7616 silly lockFile c63088e8-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/has-color
7617 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7618 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7619 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7620 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7621 info preinstall ansi-styles@0.2.0
7622 info preinstall has-color@0.1.1
7623 verbose readDependencies using package.json deps
7624 verbose readDependencies using package.json deps
7625 silly resolved []
7626 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/ansi-styles
7627 info build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/ansi-styles
7628 verbose linkStuff [ false,
7628 verbose linkStuff false,
7628 verbose linkStuff false,
7628 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules' ]
7629 info linkStuff ansi-styles@0.2.0
7630 verbose linkBins ansi-styles@0.2.0
7631 verbose linkMans ansi-styles@0.2.0
7632 verbose rebuildBundles ansi-styles@0.2.0
7633 verbose readDependencies using package.json deps
7634 info install ansi-styles@0.2.0
7635 verbose readDependencies using package.json deps
7636 silly resolved []
7637 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/has-color
7638 info build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules/has-color
7639 verbose linkStuff [ false,
7639 verbose linkStuff false,
7639 verbose linkStuff false,
7639 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk/node_modules' ]
7640 info linkStuff has-color@0.1.1
7641 verbose linkBins has-color@0.1.1
7642 verbose linkMans has-color@0.1.1
7643 verbose rebuildBundles has-color@0.1.1
7644 info install has-color@0.1.1
7645 info postinstall ansi-styles@0.2.0
7646 info postinstall has-color@0.1.1
7647 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk
7648 info build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules/chalk
7649 verbose linkStuff [ false,
7649 verbose linkStuff false,
7649 verbose linkStuff false,
7649 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish/node_modules' ]
7650 info linkStuff chalk@0.2.1
7651 verbose linkBins chalk@0.2.1
7652 verbose linkMans chalk@0.2.1
7653 verbose rebuildBundles chalk@0.2.1
7654 verbose rebuildBundles [ 'ansi-styles', 'has-color' ]
7655 info install chalk@0.2.1
7656 info postinstall chalk@0.2.1
7657 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish
7658 info build /home/spike/projects/meetups/angular-promises/node_modules/jshint-stylish
7659 verbose linkStuff [ false,
7659 verbose linkStuff false,
7659 verbose linkStuff false,
7659 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
7660 info linkStuff jshint-stylish@0.1.4
7661 verbose linkBins jshint-stylish@0.1.4
7662 verbose linkMans jshint-stylish@0.1.4
7663 verbose rebuildBundles jshint-stylish@0.1.4
7664 verbose rebuildBundles [ 'chalk', 'text-table' ]
7665 info install jshint-stylish@0.1.4
7666 info postinstall jshint-stylish@0.1.4
7667 http 304 https://registry.npmjs.org/minimatch
7668 silly registry.get cb [ 304,
7668 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
7668 silly registry.get etag: '"64XOX37UTQ30T56XVE341LIFE"',
7668 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
7668 silly registry.get 'content-length': '0' } ]
7669 verbose etag minimatch from cache
7670 silly addNameRange number 2 { name: 'minimatch',
7670 silly addNameRange range: '>=0.2.11-0 <0.3.0-0',
7670 silly addNameRange hasData: true }
7671 silly addNameRange versions [ 'minimatch',
7671 silly addNameRange [ '0.0.1',
7671 silly addNameRange '0.0.2',
7671 silly addNameRange '0.0.4',
7671 silly addNameRange '0.0.5',
7671 silly addNameRange '0.1.1',
7671 silly addNameRange '0.1.2',
7671 silly addNameRange '0.1.3',
7671 silly addNameRange '0.1.4',
7671 silly addNameRange '0.1.5',
7671 silly addNameRange '0.2.0',
7671 silly addNameRange '0.2.2',
7671 silly addNameRange '0.2.3',
7671 silly addNameRange '0.2.4',
7671 silly addNameRange '0.2.5',
7671 silly addNameRange '0.2.6',
7671 silly addNameRange '0.2.7',
7671 silly addNameRange '0.2.8',
7671 silly addNameRange '0.2.9',
7671 silly addNameRange '0.2.10',
7671 silly addNameRange '0.2.11',
7671 silly addNameRange '0.2.12',
7671 silly addNameRange '0.2.13' ] ]
7672 verbose addNamed [ 'minimatch', '0.2.13' ]
7673 verbose addNamed [ '0.2.13', '0.2.13' ]
7674 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
7675 verbose lock minimatch@0.2.13 /home/spike/.npm/1a041349-minimatch-0-2-13.lock
7676 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
7677 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
7678 silly lockFile 94473efb-minimatch-0-2-11 minimatch@~0.2.11
7679 silly lockFile 94473efb-minimatch-0-2-11 minimatch@~0.2.11
7680 silly resolved [ { name: 'lodash',
7680 silly resolved version: '1.0.1',
7680 silly resolved description: 'An alternative to Underscore.js, delivering consistency, customization, performance, and extra features.',
7680 silly resolved homepage: 'http://lodash.com',
7680 silly resolved main: './dist/lodash',
7680 silly resolved keywords:
7680 silly resolved [ 'browser',
7680 silly resolved 'client',
7680 silly resolved 'functional',
7680 silly resolved 'performance',
7680 silly resolved 'server',
7680 silly resolved 'speed',
7680 silly resolved 'util' ],
7680 silly resolved licenses: [ [Object] ],
7680 silly resolved author:
7680 silly resolved { name: 'John-David Dalton',
7680 silly resolved email: 'john.david.dalton@gmail.com',
7680 silly resolved url: 'http://allyoucanleet.com/' },
7680 silly resolved bugs: { url: 'https://github.com/bestiejs/lodash/issues' },
7680 silly resolved repository: { type: 'git', url: 'https://github.com/bestiejs/lodash.git' },
7680 silly resolved bin: { lodash: './build.js' },
7680 silly resolved directories: { doc: './doc', test: './test' },
7680 silly resolved engines: [ 'node', 'rhino' ],
7680 silly resolved jam: { main: './lodash.js' },
7680 silly resolved scripts:
7680 silly resolved { build: 'node ./build.js',
7680 silly resolved test: 'node ./test/test.js ./dist/lodash.js && node ./test/test.js ./dist/lodash.min.js && node ./test/test-build.js' },
7680 silly resolved readme: '# Lo-Dash <sup>v1.0.1</sup>\n[![build status](https://secure.travis-ci.org/bestiejs/lodash.png)](http://travis-ci.org/bestiejs/lodash)\n\nAn alternative to Underscore.js, delivering consistency, [customization](https://github.com/bestiejs/lodash#custom-builds), [performance](http://lodash.com/benchmarks), and [extra features](https://github.com/bestiejs/lodash#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/bestiejs/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/bestiejs/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1s 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](https://github.com/bestiejs/lodash#custom-builds) with only the features you need\n\n## Dive in\n\nWeve 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/bestiejs/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-Dashs origin and why its a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dashs 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 objects own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an objects 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## Custom builds\n\nCustom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need.\nTo top it off, we handle all method dependency and alias mapping for you.\n\n * Backbone builds, with only methods required by Backbone, may be created using the `backbone` modifier argument.\n```bash\nlodash backbone\n```\n\n * CSP builds, supporting default [Content Security Policy](https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html) restrictions, may be created using the `csp` modifier argument.\n The `csp` modifier is an alais of the `mobile` modifier. Lo-Dash may be used in Chrome extensions by using either the `csp`, `mobile`, or `underscore` build and using precompiled templates, or loading Lo-Dash in a [sandbox](http://developer.chrome.com/stable/extensions/sandboxingEval.html).\n```bash\nlodash csp\n```\n\n * Legacy builds, tailored for older environments without [ES5 support](http://es5.github.com/), may be created using the `legacy` modifier argument.\n```bash\nlodash legacy\n```\n\n * Modern builds, tailored for newer environments with ES5 support, may be created using the `modern` modifier argument.\n```bash\nlodash modern\n```\n\n * Mobile builds, without method compilation and most bug fixes for old browsers, may be created using the `mobile` modifier argument.\n```bash\nlodash mobile\n```\n\n * Strict builds, with `_.bindAll`, `_.defaults`, and `_.extend` in [strict mode](http://es5.github.com/#C), may be created using the `strict` modifier argument.\n```bash\nlodash strict\n```\n\n * Underscore builds, tailored for projects already using Underscore, may be created using the `underscore` modifier argument.\n```bash\nlodash underscore\n```\n\nCustom builds may be created using the following commands:\n\n * Use the `category` argument to pass comma separated categories of methods to include in the build.<br>\n Valid categories (case-insensitive) are *“arrays”*, *“chaining”*, *“collections”*, *“functions”*, *“objects”*, and *“utilities”*.\n```bash\nlodash category=collections,functions\nlodash category="collections, functions"\n```\n\n * Use the `exports` argument to pass comma separated names of ways to export the `LoDash` function.<br>\n Valid exports are *“amd”*, *“commonjs”*, *“global”*, *“node”*, and *“none”*.\n```bash\nlodash exports=amd,commonjs,node\nlodash exports="amd, commonjs, node"\n```\n\n * Use the `iife` argument to specify code to replace the immediately-invoked function expression that wraps Lo-Dash.\n```bash\nlodash iife="!function(window,undefined){%output%}(this)"\n```\n\n * Use the `include` argument to pass comma separated method/category names to include in the build.\n```bash\nlodash include=each,filter,map\nlodash include="each, filter, map"\n```\n\n * Use the `minus` argument to pass comma separated method/category names to remove from those included in the build.\n```bash\nlodash underscore minus=result,shuffle\nlodash underscore minus="result, shuffle"\n```\n\n * Use the `plus` argument to pass comma separated method/category names to add to those included in the build.\n```bash\nlodash backbone plus=random,template\nlodash backbone plus="random, template"\n```\n\n * Use the `template` argument to pass the file path pattern used to match template files to precompile.\n```bash\nlodash template="./*.jst"\n```\n\n * Use the `settings` argument to pass the template settings used when precompiling templates.\n```bash\nlodash settings="{interpolate:/\\{\\{([\\s\\S]+?)\\}\\}/g}"\n```\n\n * Use the `moduleId` argument to specify the AMD module ID of Lo-Dash, which defaults to “lodash”, used by precompiled templates.\n```bash\nlodash moduleId="underscore"\n```\n\nAll arguments, except `legacy` with `csp`, `mobile`, `modern`, or `underscore`, may be combined.<br>\nUnless specified by `-o` or `--output`, all files created are saved to the current working directory.\n\nThe following options are also supported:\n\n * `-c`, `--stdout` ......... Write output to standard output\n * `-d`, `--debug` ........... Write only the non-minified development output\n * `-h`, `--help` ............. Display help information\n * `-m`, `--minify` ......... Write only the minified production output\n * `-o`, `--output` ......... Write output to a given path/filename\n * `-p`, `--source-map` .. Generate a source map for the minified output, using an optional source map URL\n * `-s`, `--silent` ......... Skip status updates normally logged to the console\n * `-V`, `--version` ....... Output current version of Lo-Dash\n\nThe `lodash` command-line utility is available when Lo-Dash is installed as a global package (i.e. `npm install -g lodash`).\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 projects 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/bestiejs/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the 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* [John-David Dalton](http://allyoucanleet.com/)\n [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter")\n\n## Contributors\n\n* [Kit Cambridge](http://kitcambridge.github.com/)\n [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter")\n* [Mathias Bynens](http://mathiasbynens.be/)\n [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter")\n',
7680 silly resolved readmeFilename: 'README.md',
7680 silly resolved _id: 'lodash@1.0.1',
7680 silly resolved _from: 'lodash@~1.0.1' },
7680 silly resolved { author:
7680 silly resolved { name: 'Isaac Z. Schlueter',
7680 silly resolved email: 'i@izs.me',
7680 silly resolved url: 'http://blog.izs.me/' },
7680 silly resolved name: 'glob',
7680 silly resolved description: 'a little globber',
7680 silly resolved version: '3.1.21',
7680 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
7680 silly resolved main: 'glob.js',
7680 silly resolved engines: { node: '*' },
7680 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
7680 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
7680 silly resolved scripts: { test: 'tap test/*.js' },
7680 silly resolved license: 'BSD',
7680 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',
7680 silly resolved readmeFilename: 'README.md',
7680 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
7680 silly resolved homepage: 'https://github.com/isaacs/node-glob',
7680 silly resolved _id: 'glob@3.1.21',
7680 silly resolved _from: 'glob@~3.1.21' },
7680 silly resolved { author:
7680 silly resolved { name: 'Isaac Z. Schlueter',
7680 silly resolved email: 'i@izs.me',
7680 silly resolved url: 'http://blog.izs.me' },
7680 silly resolved name: 'minimatch',
7680 silly resolved description: 'a glob matcher in javascript',
7680 silly resolved version: '0.2.13',
7680 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
7680 silly resolved main: 'minimatch.js',
7680 silly resolved scripts: { test: 'tap test/*.js' },
7680 silly resolved engines: { node: '*' },
7680 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
7680 silly resolved devDependencies: { tap: '' },
7680 silly resolved license:
7680 silly resolved { type: 'MIT',
7680 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
7680 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\nminimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. 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\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n',
7680 silly resolved readmeFilename: 'README.md',
7680 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
7680 silly resolved homepage: 'https://github.com/isaacs/minimatch',
7680 silly resolved _id: 'minimatch@0.2.13',
7680 silly resolved _from: 'minimatch@~0.2.11' } ]
7681 info install lodash@1.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule
7682 info install glob@3.1.21 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule
7683 info install minimatch@0.2.13 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule
7684 info installOne lodash@1.0.1
7685 info installOne glob@3.1.21
7686 info installOne minimatch@0.2.13
7687 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/lodash unbuild
7688 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob unbuild
7689 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch unbuild
7690 verbose tar unpack /home/spike/.npm/lodash/1.0.1/package.tgz
7691 silly lockFile 5f813860-ules-globule-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/lodash
7692 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/lodash /home/spike/.npm/5f813860-ules-globule-node-modules-lodash.lock
7693 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
7694 verbose lock tar:///home/spike/.npm/lodash/1.0.1/package.tgz /home/spike/.npm/807a5ae3-ike-npm-lodash-1-0-1-package-tgz.lock
7695 verbose tar unpack /home/spike/.npm/glob/3.1.21/package.tgz
7696 silly lockFile 31f91359-odules-globule-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob
7697 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob /home/spike/.npm/31f91359-odules-globule-node-modules-glob.lock
7698 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
7699 verbose lock tar:///home/spike/.npm/glob/3.1.21/package.tgz /home/spike/.npm/14998653-pike-npm-glob-3-1-21-package-tgz.lock
7700 verbose tar unpack /home/spike/.npm/minimatch/0.2.13/package.tgz
7701 silly lockFile de47d396-s-globule-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch
7702 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch /home/spike/.npm/de47d396-s-globule-node-modules-minimatch.lock
7703 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
7704 verbose lock tar:///home/spike/.npm/minimatch/0.2.13/package.tgz /home/spike/.npm/49020a58-npm-minimatch-0-2-13-package-tgz.lock
7705 silly gunzTarPerm modes [ '755', '644' ]
7706 silly gunzTarPerm modes [ '755', '644' ]
7707 silly gunzTarPerm modes [ '755', '644' ]
7708 silly gunzTarPerm extractEntry package.json
7709 silly gunzTarPerm extractEntry package.json
7710 silly gunzTarPerm extractEntry package.json
7711 silly gunzTarPerm extractEntry README.md
7712 silly gunzTarPerm extractEntry index.js
7713 silly gunzTarPerm extractEntry .npmignore
7714 silly gunzTarPerm extractEntry README.md
7715 silly gunzTarPerm extractEntry .npmignore
7716 silly gunzTarPerm extractEntry README.md
7717 silly gunzTarPerm extractEntry LICENSE
7718 silly gunzTarPerm extractEntry glob.js
7719 silly gunzTarPerm extractEntry build.js
7720 silly gunzTarPerm extractEntry LICENSE
7721 silly gunzTarPerm extractEntry minimatch.js
7722 silly gunzTarPerm extractEntry .travis.yml
7723 silly gunzTarPerm extractEntry test/basic.js
7724 silly gunzTarPerm extractEntry test/brace-expand.js
7725 silly gunzTarPerm extractEntry test/caching.js
7726 silly gunzTarPerm extractEntry lodash.js
7727 silly gunzTarPerm extractEntry examples/g.js
7728 silly gunzTarPerm extractEntry examples/usr-local.js
7729 silly gunzTarPerm extractEntry doc/README.md
7730 silly gunzTarPerm extractEntry test/defaults.js
7731 silly gunzTarPerm extractEntry test/extglob-ending-with-state-char.js
7732 silly gunzTarPerm extractEntry build/minify.js
7733 silly gunzTarPerm extractEntry test/00-setup.js
7734 silly gunzTarPerm extractEntry test/bash-comparison.js
7735 silly gunzTarPerm extractEntry test/cwd-test.js
7736 silly gunzTarPerm extractEntry test/mark.js
7737 silly gunzTarPerm extractEntry test/nocase-nomagic.js
7738 silly gunzTarPerm extractEntry test/pause-resume.js
7739 silly gunzTarPerm extractEntry test/root-nomount.js
7740 silly gunzTarPerm extractEntry test/root.js
7741 silly gunzTarPerm extractEntry test/zz-cleanup.js
7742 silly gunzTarPerm extractEntry test/bash-results.json
7743 silly lockFile de47d396-s-globule-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch
7744 silly lockFile de47d396-s-globule-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch
7745 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
7746 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
7747 info preinstall minimatch@0.2.13
7748 verbose readDependencies using package.json deps
7749 verbose readDependencies using package.json deps
7750 silly gunzTarPerm extractEntry build/post-compile.js
7751 silly gunzTarPerm extractEntry build/pre-compile.js
7752 verbose cache add [ 'lru-cache@2', null ]
7753 verbose cache add name=undefined spec="lru-cache@2" args=["lru-cache@2",null]
7754 verbose parsed url { protocol: null,
7754 verbose parsed url slashes: null,
7754 verbose parsed url auth: null,
7754 verbose parsed url host: null,
7754 verbose parsed url port: null,
7754 verbose parsed url hostname: null,
7754 verbose parsed url hash: null,
7754 verbose parsed url search: null,
7754 verbose parsed url query: null,
7754 verbose parsed url pathname: 'lru-cache@2',
7754 verbose parsed url path: 'lru-cache@2',
7754 verbose parsed url href: 'lru-cache@2' }
7755 verbose cache add name="lru-cache" spec="2" args=["lru-cache","2"]
7756 verbose parsed url { protocol: null,
7756 verbose parsed url slashes: null,
7756 verbose parsed url auth: null,
7756 verbose parsed url host: null,
7756 verbose parsed url port: null,
7756 verbose parsed url hostname: null,
7756 verbose parsed url hash: null,
7756 verbose parsed url search: null,
7756 verbose parsed url query: null,
7756 verbose parsed url pathname: '2',
7756 verbose parsed url path: '2',
7756 verbose parsed url href: '2' }
7757 verbose addNamed [ 'lru-cache', '2' ]
7758 verbose addNamed [ null, '>=2.0.0-0 <3.0.0-0' ]
7759 silly lockFile b4f9d1ff-lru-cache-2 lru-cache@2
7760 verbose lock lru-cache@2 /home/spike/.npm/b4f9d1ff-lru-cache-2.lock
7761 verbose cache add [ 'sigmund@~1.0.0', null ]
7762 verbose cache add name=undefined spec="sigmund@~1.0.0" args=["sigmund@~1.0.0",null]
7763 verbose parsed url { protocol: null,
7763 verbose parsed url slashes: null,
7763 verbose parsed url auth: null,
7763 verbose parsed url host: null,
7763 verbose parsed url port: null,
7763 verbose parsed url hostname: null,
7763 verbose parsed url hash: null,
7763 verbose parsed url search: null,
7763 verbose parsed url query: null,
7763 verbose parsed url pathname: 'sigmund@~1.0.0',
7763 verbose parsed url path: 'sigmund@~1.0.0',
7763 verbose parsed url href: 'sigmund@~1.0.0' }
7764 verbose cache add name="sigmund" spec="~1.0.0" args=["sigmund","~1.0.0"]
7765 verbose parsed url { protocol: null,
7765 verbose parsed url slashes: null,
7765 verbose parsed url auth: null,
7765 verbose parsed url host: null,
7765 verbose parsed url port: null,
7765 verbose parsed url hostname: null,
7765 verbose parsed url hash: null,
7765 verbose parsed url search: null,
7765 verbose parsed url query: null,
7765 verbose parsed url pathname: '~1.0.0',
7765 verbose parsed url path: '~1.0.0',
7765 verbose parsed url href: '~1.0.0' }
7766 verbose addNamed [ 'sigmund', '~1.0.0' ]
7767 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
7768 silly lockFile 584a4a05-sigmund-1-0-0 sigmund@~1.0.0
7769 verbose lock sigmund@~1.0.0 /home/spike/.npm/584a4a05-sigmund-1-0-0.lock
7770 silly addNameRange { name: 'lru-cache',
7770 silly addNameRange range: '>=2.0.0-0 <3.0.0-0',
7770 silly addNameRange hasData: false }
7771 silly addNameRange { name: 'sigmund', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
7772 verbose url raw lru-cache
7773 verbose url resolving [ 'https://registry.npmjs.org/', './lru-cache' ]
7774 verbose url resolved https://registry.npmjs.org/lru-cache
7775 info trying registry request attempt 1 at 11:44:45
7776 verbose etag "2Q6OM1EGQVBV0BVOXEBZTU9ZQ"
7777 http GET https://registry.npmjs.org/lru-cache
7778 verbose url raw sigmund
7779 verbose url resolving [ 'https://registry.npmjs.org/', './sigmund' ]
7780 verbose url resolved https://registry.npmjs.org/sigmund
7781 info trying registry request attempt 1 at 11:44:45
7782 verbose etag "B3A8TQWKO2LCFJTEX2PWUWOQD"
7783 http GET https://registry.npmjs.org/sigmund
7784 http 304 https://registry.npmjs.org/async
7785 silly registry.get cb [ 304,
7785 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
7785 silly registry.get etag: '"6SZA38IP3YTXC2N3QXR6NZ7CH"',
7785 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
7785 silly registry.get 'content-length': '0' } ]
7786 verbose etag async from cache
7787 silly lockFile 31f91359-odules-globule-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob
7788 silly lockFile 31f91359-odules-globule-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob
7789 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
7790 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
7791 silly gunzTarPerm modes [ '755', '644' ]
7792 silly gunzTarPerm modes [ '755', '644' ]
7793 info preinstall glob@3.1.21
7794 silly addNameRange number 2 { name: 'async', range: '>=0.2.5-0 <0.3.0-0', hasData: true }
7795 silly addNameRange versions [ 'async',
7795 silly addNameRange [ '0.1.0',
7795 silly addNameRange '0.1.1',
7795 silly addNameRange '0.1.2',
7795 silly addNameRange '0.1.3',
7795 silly addNameRange '0.1.4',
7795 silly addNameRange '0.1.5',
7795 silly addNameRange '0.1.6',
7795 silly addNameRange '0.1.7',
7795 silly addNameRange '0.1.8',
7795 silly addNameRange '0.1.9',
7795 silly addNameRange '0.1.10',
7795 silly addNameRange '0.1.11',
7795 silly addNameRange '0.1.12',
7795 silly addNameRange '0.1.13',
7795 silly addNameRange '0.1.14',
7795 silly addNameRange '0.1.15',
7795 silly addNameRange '0.1.16',
7795 silly addNameRange '0.1.17',
7795 silly addNameRange '0.1.18',
7795 silly addNameRange '0.1.19',
7795 silly addNameRange '0.1.20',
7795 silly addNameRange '0.1.21',
7795 silly addNameRange '0.1.22',
7795 silly addNameRange '0.2.0',
7795 silly addNameRange '0.2.1',
7795 silly addNameRange '0.2.2',
7795 silly addNameRange '0.2.3',
7795 silly addNameRange '0.2.4',
7795 silly addNameRange '0.2.5',
7795 silly addNameRange '0.2.6',
7795 silly addNameRange '0.2.7',
7795 silly addNameRange '0.2.8',
7795 silly addNameRange '0.2.9' ] ]
7796 verbose addNamed [ 'async', '0.2.9' ]
7797 verbose addNamed [ '0.2.9', '0.2.9' ]
7798 silly lockFile be62480b-async-0-2-9 async@0.2.9
7799 verbose lock async@0.2.9 /home/spike/.npm/be62480b-async-0-2-9.lock
7800 verbose readDependencies using package.json deps
7801 silly gunzTarPerm extractEntry package.json
7802 silly lockFile be62480b-async-0-2-9 async@0.2.9
7803 silly lockFile be62480b-async-0-2-9 async@0.2.9
7804 verbose readDependencies using package.json deps
7805 silly lockFile cf5596a4-async-0-2-5 async@~0.2.5
7806 silly lockFile cf5596a4-async-0-2-5 async@~0.2.5
7807 silly gunzTarPerm extractEntry package.json
7808 silly gunzTarPerm extractEntry has-color.js
7809 silly gunzTarPerm extractEntry readme.md
7810 silly gunzTarPerm extractEntry ansi-styles.js
7811 silly gunzTarPerm extractEntry readme.md
7812 verbose cache add [ 'graceful-fs@~1.2.0', null ]
7813 verbose cache add name=undefined spec="graceful-fs@~1.2.0" args=["graceful-fs@~1.2.0",null]
7814 verbose parsed url { protocol: null,
7814 verbose parsed url slashes: null,
7814 verbose parsed url auth: null,
7814 verbose parsed url host: null,
7814 verbose parsed url port: null,
7814 verbose parsed url hostname: null,
7814 verbose parsed url hash: null,
7814 verbose parsed url search: null,
7814 verbose parsed url query: null,
7814 verbose parsed url pathname: 'graceful-fs@~1.2.0',
7814 verbose parsed url path: 'graceful-fs@~1.2.0',
7814 verbose parsed url href: 'graceful-fs@~1.2.0' }
7815 verbose cache add name="graceful-fs" spec="~1.2.0" args=["graceful-fs","~1.2.0"]
7816 verbose parsed url { protocol: null,
7816 verbose parsed url slashes: null,
7816 verbose parsed url auth: null,
7816 verbose parsed url host: null,
7816 verbose parsed url port: null,
7816 verbose parsed url hostname: null,
7816 verbose parsed url hash: null,
7816 verbose parsed url search: null,
7816 verbose parsed url query: null,
7816 verbose parsed url pathname: '~1.2.0',
7816 verbose parsed url path: '~1.2.0',
7816 verbose parsed url href: '~1.2.0' }
7817 verbose addNamed [ 'graceful-fs', '~1.2.0' ]
7818 verbose cache add [ 'inherits@1', null ]
7819 verbose cache add name=undefined spec="inherits@1" args=["inherits@1",null]
7820 verbose parsed url { protocol: null,
7820 verbose parsed url slashes: null,
7820 verbose parsed url auth: null,
7820 verbose parsed url host: null,
7820 verbose parsed url port: null,
7820 verbose parsed url hostname: null,
7820 verbose parsed url hash: null,
7820 verbose parsed url search: null,
7820 verbose parsed url query: null,
7820 verbose parsed url pathname: 'inherits@1',
7820 verbose parsed url path: 'inherits@1',
7820 verbose parsed url href: 'inherits@1' }
7821 verbose cache add name="inherits" spec="1" args=["inherits","1"]
7822 verbose parsed url { protocol: null,
7822 verbose parsed url slashes: null,
7822 verbose parsed url auth: null,
7822 verbose parsed url host: null,
7822 verbose parsed url port: null,
7822 verbose parsed url hostname: null,
7822 verbose parsed url hash: null,
7822 verbose parsed url search: null,
7822 verbose parsed url query: null,
7822 verbose parsed url pathname: '1',
7822 verbose parsed url path: '1',
7822 verbose parsed url href: '1' }
7823 verbose addNamed [ 'inherits', '1' ]
7824 silly lockFile ab3942a1-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/has-color
7825 silly lockFile ab3942a1-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/has-color
7826 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7827 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7828 silly lockFile 20a558eb-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/ansi-styles
7829 silly lockFile 20a558eb-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/ansi-styles
7830 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7831 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7832 info preinstall has-color@0.1.1
7833 verbose readDependencies using package.json deps
7834 info preinstall ansi-styles@0.2.0
7835 verbose readDependencies using package.json deps
7836 silly resolved []
7837 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/has-color
7838 info build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/has-color
7839 verbose linkStuff [ false,
7839 verbose linkStuff false,
7839 verbose linkStuff false,
7839 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules' ]
7840 info linkStuff has-color@0.1.1
7841 verbose linkBins has-color@0.1.1
7842 verbose linkMans has-color@0.1.1
7843 verbose rebuildBundles has-color@0.1.1
7844 info install has-color@0.1.1
7845 verbose readDependencies using package.json deps
7846 info postinstall has-color@0.1.1
7847 verbose readDependencies using package.json deps
7848 silly resolved []
7849 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/ansi-styles
7850 info build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules/ansi-styles
7851 verbose linkStuff [ false,
7851 verbose linkStuff false,
7851 verbose linkStuff false,
7851 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk/node_modules' ]
7852 info linkStuff ansi-styles@0.2.0
7853 verbose linkBins ansi-styles@0.2.0
7854 verbose linkMans ansi-styles@0.2.0
7855 verbose rebuildBundles ansi-styles@0.2.0
7856 info install ansi-styles@0.2.0
7857 info postinstall ansi-styles@0.2.0
7858 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk
7859 info build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules/chalk
7860 verbose linkStuff [ false,
7860 verbose linkStuff false,
7860 verbose linkStuff false,
7860 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/time-grunt/node_modules' ]
7861 info linkStuff chalk@0.3.0
7862 verbose linkBins chalk@0.3.0
7863 verbose linkMans chalk@0.3.0
7864 verbose rebuildBundles chalk@0.3.0
7865 verbose rebuildBundles [ 'ansi-styles', 'has-color' ]
7866 info install chalk@0.3.0
7867 info postinstall chalk@0.3.0
7868 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt
7869 info build /home/spike/projects/meetups/angular-promises/node_modules/time-grunt
7870 verbose linkStuff [ false,
7870 verbose linkStuff false,
7870 verbose linkStuff false,
7870 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
7871 info linkStuff time-grunt@0.2.5
7872 verbose linkBins time-grunt@0.2.5
7873 verbose linkMans time-grunt@0.2.5
7874 verbose rebuildBundles time-grunt@0.2.5
7875 verbose rebuildBundles [ 'chalk', 'hooker', 'ms', 'text-table' ]
7876 info install time-grunt@0.2.5
7877 info postinstall time-grunt@0.2.5
7878 silly gunzTarPerm extractEntry LICENSE.txt
7879 silly gunzTarPerm extractEntry dist/lodash.compat.js
7880 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
7881 silly gunzTarPerm extractEntry dist/lodash.js
7882 silly gunzTarPerm extractEntry dist/lodash.min.js
7883 silly gunzTarPerm extractEntry dist/lodash.underscore.js
7884 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
7885 silly gunzTarPerm extractEntry perf/perf.js
7886 silly gunzTarPerm extractEntry test/test-build.js
7887 silly gunzTarPerm extractEntry test/test.js
7888 silly gunzTarPerm extractEntry test/template/a.jst
7889 silly gunzTarPerm extractEntry test/template/b.jst
7890 silly gunzTarPerm extractEntry test/template/c.jst
7891 silly gunzTarPerm extractEntry test/template/d.tpl
7892 silly gunzTarPerm extractEntry vendor/benchmark.js/README.md
7893 silly gunzTarPerm extractEntry vendor/benchmark.js/benchmark.js
7894 silly gunzTarPerm extractEntry vendor/benchmark.js/LICENSE.txt
7895 silly gunzTarPerm extractEntry vendor/platform.js/README.md
7896 silly gunzTarPerm extractEntry vendor/platform.js/platform.js
7897 silly gunzTarPerm extractEntry vendor/platform.js/LICENSE.txt
7898 silly gunzTarPerm extractEntry vendor/qunit/README.md
7899 silly gunzTarPerm extractEntry vendor/qunit/qunit/qunit.js
7900 silly gunzTarPerm extractEntry vendor/qunit-clib/README.md
7901 silly gunzTarPerm extractEntry vendor/qunit-clib/qunit-clib.js
7902 silly gunzTarPerm extractEntry vendor/qunit-clib/LICENSE.txt
7903 silly gunzTarPerm extractEntry vendor/tar/README.md
7904 silly gunzTarPerm extractEntry vendor/tar/tar.js
7905 silly gunzTarPerm extractEntry vendor/tar/lib/buffer-entry.js
7906 silly gunzTarPerm extractEntry vendor/tar/lib/entry-writer.js
7907 silly gunzTarPerm extractEntry vendor/tar/lib/entry.js
7908 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header-writer.js
7909 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header.js
7910 silly gunzTarPerm extractEntry vendor/tar/lib/extract.js
7911 silly gunzTarPerm extractEntry vendor/tar/lib/global-header-writer.js
7912 silly gunzTarPerm extractEntry vendor/tar/lib/header.js
7913 silly gunzTarPerm extractEntry vendor/tar/lib/pack.js
7914 silly gunzTarPerm extractEntry vendor/tar/lib/parse.js
7915 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/README.md
7916 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/LICENCE
7917 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/block-stream.js
7918 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/README.md
7919 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/LICENCE
7920 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/fstream.js
7921 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/abstract.js
7922 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-writer.js
7923 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-reader.js
7924 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-writer.js
7925 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/get-type.js
7926 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-reader.js
7927 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-writer.js
7928 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-reader.js
7929 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-writer.js
7930 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/reader.js
7931 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/socket-reader.js
7932 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/collect.js
7933 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/writer.js
7934 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-reader.js
7935 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/README.md
7936 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/LICENSE
7937 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/graceful-fs.js
7938 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/README.md
7939 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/inherits.js
7940 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/LICENSE
7941 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/index.js
7942 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/README.markdown
7943 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/README.md
7944 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/LICENSE
7945 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/rimraf.js
7946 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/AUTHORS
7947 silly gunzTarPerm modes [ '755', '644' ]
7948 silly gunzTarPerm modes [ '755', '644' ]
7949 silly gunzTarPerm extractEntry package.json
7950 silly gunzTarPerm extractEntry package.json
7951 silly gunzTarPerm extractEntry has-color.js
7952 silly gunzTarPerm extractEntry readme.md
7953 silly gunzTarPerm extractEntry ansi-styles.js
7954 silly gunzTarPerm extractEntry readme.md
7955 silly gunzTarPerm extractEntry vendor/underscore/README.md
7956 silly gunzTarPerm extractEntry vendor/underscore/LICENSE
7957 silly gunzTarPerm extractEntry vendor/underscore/underscore.js
7958 silly lockFile 1f489e35-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/has-color
7959 silly lockFile 1f489e35-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/has-color
7960 silly lockFile fa9c5271-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/ansi-styles
7961 silly lockFile fa9c5271-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/ansi-styles
7962 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7963 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
7964 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7965 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
7966 info preinstall has-color@0.1.1
7967 info preinstall ansi-styles@0.2.0
7968 verbose readDependencies using package.json deps
7969 verbose readDependencies using package.json deps
7970 silly resolved []
7971 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/has-color
7972 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/has-color
7973 verbose linkStuff [ false,
7973 verbose linkStuff false,
7973 verbose linkStuff false,
7973 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules' ]
7974 info linkStuff has-color@0.1.1
7975 verbose linkBins has-color@0.1.1
7976 verbose linkMans has-color@0.1.1
7977 verbose rebuildBundles has-color@0.1.1
7978 verbose readDependencies using package.json deps
7979 info install has-color@0.1.1
7980 verbose readDependencies using package.json deps
7981 silly resolved []
7982 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/ansi-styles
7983 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules/ansi-styles
7984 verbose linkStuff [ false,
7984 verbose linkStuff false,
7984 verbose linkStuff false,
7984 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk/node_modules' ]
7985 info linkStuff ansi-styles@0.2.0
7986 verbose linkBins ansi-styles@0.2.0
7987 verbose linkMans ansi-styles@0.2.0
7988 verbose rebuildBundles ansi-styles@0.2.0
7989 info install ansi-styles@0.2.0
7990 info postinstall has-color@0.1.1
7991 info postinstall ansi-styles@0.2.0
7992 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk
7993 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/chalk
7994 verbose linkStuff [ false,
7994 verbose linkStuff false,
7994 verbose linkStuff false,
7994 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules' ]
7995 info linkStuff chalk@0.2.1
7996 verbose linkBins chalk@0.2.1
7997 verbose linkMans chalk@0.2.1
7998 verbose rebuildBundles chalk@0.2.1
7999 verbose rebuildBundles [ 'ansi-styles', 'has-color' ]
8000 info install chalk@0.2.1
8001 info postinstall chalk@0.2.1
8002 silly lockFile 5f813860-ules-globule-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/lodash
8003 silly lockFile 5f813860-ules-globule-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/lodash
8004 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
8005 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
8006 info preinstall lodash@1.0.1
8007 verbose readDependencies using package.json deps
8008 verbose readDependencies using package.json deps
8009 silly resolved []
8010 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/lodash
8011 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/lodash
8012 verbose linkStuff [ false,
8012 verbose linkStuff false,
8012 verbose linkStuff false,
8012 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules' ]
8013 info linkStuff lodash@1.0.1
8014 verbose linkBins lodash@1.0.1
8015 verbose link bins [ { lodash: './build.js' },
8015 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/.bin',
8015 verbose link bins false ]
8016 verbose linkMans lodash@1.0.1
8017 verbose rebuildBundles lodash@1.0.1
8018 info install lodash@1.0.1
8019 info postinstall lodash@1.0.1
8020 silly gunzTarPerm modes [ '755', '644' ]
8021 silly gunzTarPerm modes [ '755', '644' ]
8022 silly gunzTarPerm extractEntry package.json
8023 silly gunzTarPerm extractEntry package.json
8024 silly gunzTarPerm extractEntry has-color.js
8025 silly gunzTarPerm extractEntry readme.md
8026 silly gunzTarPerm extractEntry ansi-styles.js
8027 silly gunzTarPerm extractEntry readme.md
8028 silly lockFile dba022c7-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/ansi-styles
8029 silly lockFile dba022c7-s-chalk-node-modules-ansi-styles tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/ansi-styles
8030 silly lockFile 7c324cc3-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/has-color
8031 silly lockFile 7c324cc3-les-chalk-node-modules-has-color tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/has-color
8032 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
8033 silly lockFile a9e5d8e9-pm-ansi-styles-0-2-0-package-tgz tar:///home/spike/.npm/ansi-styles/0.2.0/package.tgz
8034 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
8035 silly lockFile faebccb3--npm-has-color-0-1-1-package-tgz tar:///home/spike/.npm/has-color/0.1.1/package.tgz
8036 info preinstall ansi-styles@0.2.0
8037 info preinstall has-color@0.1.1
8038 verbose readDependencies using package.json deps
8039 verbose readDependencies using package.json deps
8040 verbose readDependencies using package.json deps
8041 silly resolved []
8042 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/ansi-styles
8043 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/ansi-styles
8044 verbose linkStuff [ false,
8044 verbose linkStuff false,
8044 verbose linkStuff false,
8044 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules' ]
8045 info linkStuff ansi-styles@0.2.0
8046 verbose linkBins ansi-styles@0.2.0
8047 verbose linkMans ansi-styles@0.2.0
8048 verbose rebuildBundles ansi-styles@0.2.0
8049 verbose readDependencies using package.json deps
8050 silly resolved []
8051 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/has-color
8052 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules/has-color
8053 verbose linkStuff [ false,
8053 verbose linkStuff false,
8053 verbose linkStuff false,
8053 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk/node_modules' ]
8054 info linkStuff has-color@0.1.1
8055 verbose linkBins has-color@0.1.1
8056 verbose linkMans has-color@0.1.1
8057 verbose rebuildBundles has-color@0.1.1
8058 info install ansi-styles@0.2.0
8059 info install has-color@0.1.1
8060 info postinstall ansi-styles@0.2.0
8061 info postinstall has-color@0.1.1
8062 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk
8063 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/chalk
8064 verbose linkStuff [ false,
8064 verbose linkStuff false,
8064 verbose linkStuff false,
8064 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules' ]
8065 info linkStuff chalk@0.3.0
8066 verbose linkBins chalk@0.3.0
8067 verbose linkMans chalk@0.3.0
8068 verbose rebuildBundles chalk@0.3.0
8069 verbose rebuildBundles [ 'ansi-styles', 'has-color' ]
8070 info install chalk@0.3.0
8071 info postinstall chalk@0.3.0
8072 http 200 https://registry.npmjs.org/colors
8073 silly registry.get cb [ 200,
8073 silly registry.get { vary: 'Accept',
8073 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8073 silly registry.get etag: '"8QPVO2Y1B0G10I8ROG4XD7FFS"',
8073 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
8073 silly registry.get 'content-type': 'application/json',
8073 silly registry.get 'content-length': '9618' } ]
8074 silly addNameRange number 2 { name: 'colors', range: '>=0.6.0-1 <0.7.0-0', hasData: true }
8075 silly addNameRange versions [ 'colors',
8075 silly addNameRange [ '0.3.0', '0.5.0', '0.5.1', '0.6.0', '0.6.0-1', '0.6.1', '0.6.2' ] ]
8076 verbose addNamed [ 'colors', '0.6.2' ]
8077 verbose addNamed [ '0.6.2', '0.6.2' ]
8078 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
8079 verbose lock colors@0.6.2 /home/spike/.npm/1ce149d5-colors-0-6-2.lock
8080 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
8081 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
8082 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
8083 silly lockFile f29bff6b-colors-0-6-0-1 colors@~0.6.0-1
8084 http 304 https://registry.npmjs.org/fstream
8085 silly registry.get cb [ 304,
8085 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
8085 silly registry.get etag: '"4PAJYM04YHRR9CLAUIH2N261V"',
8085 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
8085 silly registry.get 'content-length': '0' } ]
8086 verbose etag fstream from cache
8087 silly addNameRange number 2 { name: 'fstream', range: '>=0.1.19-0 <0.2.0-0', hasData: true }
8088 silly addNameRange versions [ 'fstream',
8088 silly addNameRange [ '0.0.0',
8088 silly addNameRange '0.0.1',
8088 silly addNameRange '0.1.0',
8088 silly addNameRange '0.1.1',
8088 silly addNameRange '0.1.2',
8088 silly addNameRange '0.1.3',
8088 silly addNameRange '0.1.5',
8088 silly addNameRange '0.1.6',
8088 silly addNameRange '0.1.7',
8088 silly addNameRange '0.1.8',
8088 silly addNameRange '0.1.9',
8088 silly addNameRange '0.1.10',
8088 silly addNameRange '0.1.11',
8088 silly addNameRange '0.1.12',
8088 silly addNameRange '0.1.13',
8088 silly addNameRange '0.1.14',
8088 silly addNameRange '0.1.15',
8088 silly addNameRange '0.1.16',
8088 silly addNameRange '0.1.17',
8088 silly addNameRange '0.1.18',
8088 silly addNameRange '0.1.19',
8088 silly addNameRange '0.1.20',
8088 silly addNameRange '0.1.21',
8088 silly addNameRange '0.1.22',
8088 silly addNameRange '0.1.23',
8088 silly addNameRange '0.1.24',
8088 silly addNameRange '0.1.25' ] ]
8089 verbose addNamed [ 'fstream', '0.1.25' ]
8090 verbose addNamed [ '0.1.25', '0.1.25' ]
8091 silly lockFile 11eef8ec-fstream-0-1-25 fstream@0.1.25
8092 verbose lock fstream@0.1.25 /home/spike/.npm/11eef8ec-fstream-0-1-25.lock
8093 silly lockFile 11eef8ec-fstream-0-1-25 fstream@0.1.25
8094 silly lockFile 11eef8ec-fstream-0-1-25 fstream@0.1.25
8095 silly lockFile 41db2e12-fstream-0-1-19 fstream@~0.1.19
8096 silly lockFile 41db2e12-fstream-0-1-19 fstream@~0.1.19
8097 http 200 https://registry.npmjs.org/archy
8098 silly registry.get cb [ 200,
8098 silly registry.get { vary: 'Accept',
8098 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8098 silly registry.get etag: '"EM103FYCICCHAS05Q1JDC6DNI"',
8098 silly registry.get date: 'Mon, 16 Dec 2013 10:44:45 GMT',
8098 silly registry.get 'content-type': 'application/json',
8098 silly registry.get 'content-length': '3850' } ]
8099 silly addNameRange number 2 { name: 'archy', range: '>=0.0.2-0 <0.1.0-0', hasData: true }
8100 silly addNameRange versions [ 'archy', [ '0.0.0', '0.0.1', '0.0.2' ] ]
8101 verbose addNamed [ 'archy', '0.0.2' ]
8102 verbose addNamed [ '0.0.2', '0.0.2' ]
8103 silly lockFile c97e9070-archy-0-0-2 archy@0.0.2
8104 verbose lock archy@0.0.2 /home/spike/.npm/c97e9070-archy-0-0-2.lock
8105 silly lockFile c97e9070-archy-0-0-2 archy@0.0.2
8106 silly lockFile c97e9070-archy-0-0-2 archy@0.0.2
8107 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
8108 silly lockFile 835d25e0-archy-0-0-2 archy@~0.0.2
8109 http 304 https://registry.npmjs.org/mkdirp
8110 silly registry.get cb [ 304,
8110 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8110 silly registry.get etag: '"3RS91FMPQ85XXI3EBHF4SIKOZ"',
8110 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8110 silly registry.get 'content-length': '0' } ]
8111 verbose etag mkdirp from cache
8112 silly addNameRange number 2 { name: 'mkdirp', range: '>=0.3.4-0 <0.4.0-0', hasData: true }
8113 silly addNameRange versions [ 'mkdirp',
8113 silly addNameRange [ '0.0.1',
8113 silly addNameRange '0.0.2',
8113 silly addNameRange '0.0.3',
8113 silly addNameRange '0.0.4',
8113 silly addNameRange '0.0.5',
8113 silly addNameRange '0.0.6',
8113 silly addNameRange '0.0.7',
8113 silly addNameRange '0.1.0',
8113 silly addNameRange '0.2.0',
8113 silly addNameRange '0.2.1',
8113 silly addNameRange '0.2.2',
8113 silly addNameRange '0.3.0',
8113 silly addNameRange '0.3.1',
8113 silly addNameRange '0.3.2',
8113 silly addNameRange '0.3.3',
8113 silly addNameRange '0.3.4',
8113 silly addNameRange '0.3.5' ] ]
8114 verbose addNamed [ 'mkdirp', '0.3.5' ]
8115 verbose addNamed [ '0.3.5', '0.3.5' ]
8116 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
8117 verbose lock mkdirp@0.3.5 /home/spike/.npm/67d2df2a-mkdirp-0-3-5.lock
8118 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
8119 silly lockFile 67d2df2a-mkdirp-0-3-5 mkdirp@0.3.5
8120 silly lockFile f185e6bf-mkdirp-0-3-4 mkdirp@~0.3.4
8121 silly lockFile f185e6bf-mkdirp-0-3-4 mkdirp@~0.3.4
8122 http 200 https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz
8123 http 304 https://registry.npmjs.org/glob
8124 silly registry.get cb [ 304,
8124 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
8124 silly registry.get etag: '"B1JO7OQNPSICFIYFPFTZR9ASE"',
8124 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8124 silly registry.get 'content-length': '0' } ]
8125 verbose etag glob from cache
8126 silly addNameRange number 2 { name: 'glob', range: '>=3.1.14-0 <3.2.0-0', hasData: true }
8127 silly addNameRange versions [ 'glob',
8127 silly addNameRange [ '1.1.0',
8127 silly addNameRange '2.0.9',
8127 silly addNameRange '2.0.8',
8127 silly addNameRange '2.0.7',
8127 silly addNameRange '2.1.0',
8127 silly addNameRange '3.0.0',
8127 silly addNameRange '3.0.1',
8127 silly addNameRange '3.1.0',
8127 silly addNameRange '3.1.1',
8127 silly addNameRange '3.1.2',
8127 silly addNameRange '3.1.3',
8127 silly addNameRange '3.1.4',
8127 silly addNameRange '3.1.5',
8127 silly addNameRange '3.1.6',
8127 silly addNameRange '3.1.7',
8127 silly addNameRange '3.1.9',
8127 silly addNameRange '3.1.10',
8127 silly addNameRange '3.1.11',
8127 silly addNameRange '3.1.12',
8127 silly addNameRange '3.1.13',
8127 silly addNameRange '3.1.14',
8127 silly addNameRange '3.1.15',
8127 silly addNameRange '3.1.16',
8127 silly addNameRange '3.1.17',
8127 silly addNameRange '3.1.18',
8127 silly addNameRange '3.1.19',
8127 silly addNameRange '3.1.20',
8127 silly addNameRange '3.1.21',
8127 silly addNameRange '3.2.0',
8127 silly addNameRange '3.2.1',
8127 silly addNameRange '3.2.3',
8127 silly addNameRange '3.2.4',
8127 silly addNameRange '3.2.5',
8127 silly addNameRange '3.2.6',
8127 silly addNameRange '3.2.7' ] ]
8128 verbose addNamed [ 'glob', '3.1.21' ]
8129 verbose addNamed [ '3.1.21', '3.1.21' ]
8130 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
8131 verbose lock glob@3.1.21 /home/spike/.npm/ab465912-glob-3-1-21.lock
8132 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
8133 silly lockFile ab465912-glob-3-1-21 glob@3.1.21
8134 silly lockFile 2d83dc71-glob-3-1-14 glob@~3.1.14
8135 silly lockFile 2d83dc71-glob-3-1-14 glob@~3.1.14
8136 http 304 https://registry.npmjs.org/nopt
8137 silly registry.get cb [ 304,
8137 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8137 silly registry.get etag: '"7ZWLQPPM56VM8XQ0VW9DU43K7"',
8137 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8137 silly registry.get 'content-length': '0' } ]
8138 verbose etag nopt from cache
8139 silly addNameRange number 2 { name: 'nopt', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
8140 silly addNameRange versions [ 'nopt',
8140 silly addNameRange [ '1.0.0',
8140 silly addNameRange '1.0.1',
8140 silly addNameRange '1.0.2',
8140 silly addNameRange '1.0.3',
8140 silly addNameRange '1.0.4',
8140 silly addNameRange '1.0.5',
8140 silly addNameRange '1.0.6',
8140 silly addNameRange '1.0.7',
8140 silly addNameRange '1.0.8',
8140 silly addNameRange '1.0.9',
8140 silly addNameRange '1.0.10',
8140 silly addNameRange '2.0.0',
8140 silly addNameRange '2.1.0',
8140 silly addNameRange '2.1.1',
8140 silly addNameRange '2.1.2' ] ]
8141 verbose addNamed [ 'nopt', '2.0.0' ]
8142 verbose addNamed [ '2.0.0', '2.0.0' ]
8143 silly lockFile b7b4fa5b-nopt-2-0-0 nopt@2.0.0
8144 verbose lock nopt@2.0.0 /home/spike/.npm/b7b4fa5b-nopt-2-0-0.lock
8145 silly lockFile b7b4fa5b-nopt-2-0-0 nopt@2.0.0
8146 silly lockFile b7b4fa5b-nopt-2-0-0 nopt@2.0.0
8147 silly lockFile 42399ddd-nopt-2-0-0 nopt@~2.0.0
8148 silly lockFile 42399ddd-nopt-2-0-0 nopt@~2.0.0
8149 http 304 https://registry.npmjs.org/promptly
8150 silly registry.get cb [ 304,
8150 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8150 silly registry.get etag: '"6A4RSOE7FMK8P3KXS7DQK17XU"',
8150 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8150 silly registry.get 'content-length': '0' } ]
8151 verbose etag promptly from cache
8152 silly addNameRange number 2 { name: 'promptly', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
8153 silly addNameRange versions [ 'promptly', [ '0.0.0', '0.0.1', '0.1.0', '0.2.0' ] ]
8154 verbose addNamed [ 'promptly', '0.1.0' ]
8155 verbose addNamed [ '0.1.0', '0.1.0' ]
8156 silly lockFile 282d74cc-promptly-0-1-0 promptly@0.1.0
8157 verbose lock promptly@0.1.0 /home/spike/.npm/282d74cc-promptly-0-1-0.lock
8158 silly lockFile 282d74cc-promptly-0-1-0 promptly@0.1.0
8159 silly lockFile 282d74cc-promptly-0-1-0 promptly@0.1.0
8160 silly lockFile 00921d95-promptly-0-1-0 promptly@~0.1.0
8161 silly lockFile 00921d95-promptly-0-1-0 promptly@~0.1.0
8162 http 200 https://registry.npmjs.org/autoprefixer
8163 silly registry.get cb [ 200,
8163 silly registry.get { vary: 'Accept',
8163 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8163 silly registry.get etag: '"EG76LPLB6IDCU925QQ0GED83M"',
8163 silly registry.get date: 'Mon, 16 Dec 2013 10:44:32 GMT',
8163 silly registry.get 'content-type': 'application/json',
8163 silly registry.get 'content-length': '380331' } ]
8164 silly addNameRange number 2 { name: 'autoprefixer',
8164 silly addNameRange range: '>=0.8.20131209-0 <0.9.0-0',
8164 silly addNameRange hasData: true }
8165 silly addNameRange versions [ 'autoprefixer',
8165 silly addNameRange [ '0.1.20130409',
8165 silly addNameRange '0.2.20130413',
8165 silly addNameRange '0.3.20130423',
8165 silly addNameRange '0.3.20130424',
8165 silly addNameRange '0.3.20130427',
8165 silly addNameRange '0.3.20130502',
8165 silly addNameRange '0.4.20130507',
8165 silly addNameRange '0.4.20130515',
8165 silly addNameRange '0.4.20130521',
8165 silly addNameRange '0.4.20130524',
8165 silly addNameRange '0.4.20130528',
8165 silly addNameRange '0.4.20130530',
8165 silly addNameRange '0.4.20130603',
8165 silly addNameRange '0.5.20130615',
8165 silly addNameRange '0.5.20130616',
8165 silly addNameRange '0.5.20130617',
8165 silly addNameRange '0.5.20130625',
8165 silly addNameRange '0.5.20130626',
8165 silly addNameRange '0.5.20130629',
8165 silly addNameRange '0.6.20130716',
8165 silly addNameRange '0.6.20130721',
8165 silly addNameRange '0.6.20130728',
8165 silly addNameRange '0.6.20130729',
8165 silly addNameRange '0.6.20130730',
8165 silly addNameRange '0.6.20130731',
8165 silly addNameRange '0.7.20130805',
8165 silly addNameRange '0.7.20130806',
8165 silly addNameRange '0.7.20130807',
8165 silly addNameRange '0.7.20130808',
8165 silly addNameRange '0.7.20130810',
8165 silly addNameRange '0.7.20130824',
8165 silly addNameRange '0.8.20130902',
8165 silly addNameRange '0.8.20130903',
8165 silly addNameRange '0.8.20130906',
8165 silly addNameRange '0.8.20130911',
8165 silly addNameRange '0.8.20130919',
8165 silly addNameRange '0.8.20130923',
8165 silly addNameRange '0.8.20131001',
8165 silly addNameRange '0.8.20131006',
8165 silly addNameRange '0.8.20131007',
8165 silly addNameRange '0.8.20131009',
8165 silly addNameRange '0.8.20131015',
8165 silly addNameRange '0.8.20131017',
8165 silly addNameRange '0.8.20131020',
8165 silly addNameRange '0.8.20131029',
8165 silly addNameRange '0.8.20131104',
8165 silly addNameRange '0.8.20131209',
8165 silly addNameRange '0.8.20131213' ] ]
8166 verbose addNamed [ 'autoprefixer', '0.8.20131213' ]
8167 verbose addNamed [ '0.8.20131213', '0.8.20131213' ]
8168 silly lockFile df42ec01-autoprefixer-0-8-20131213 autoprefixer@0.8.20131213
8169 verbose lock autoprefixer@0.8.20131213 /home/spike/.npm/df42ec01-autoprefixer-0-8-20131213.lock
8170 silly lockFile 3ea44905-er-autoprefixer-0-8-20131213-tgz https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz
8171 verbose lock https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz /home/spike/.npm/3ea44905-er-autoprefixer-0-8-20131213-tgz.lock
8172 verbose addRemoteTarball [ 'https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz',
8172 verbose addRemoteTarball 'fe0a9166576087e2819758bd09ddf62859fda20d' ]
8173 info retry fetch attempt 1 at 11:44:46
8174 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/tmp.tgz
8175 http GET https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz
8176 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/tmp.tgz
8177 silly lockFile b859671e-3099-0-25614010100252926-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package
8178 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package /home/spike/.npm/b859671e-3099-0-25614010100252926-package.lock
8179 silly lockFile 30b26453-3099-0-25614010100252926-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/tmp.tgz
8180 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/tmp.tgz /home/spike/.npm/30b26453-3099-0-25614010100252926-tmp-tgz.lock
8181 silly gunzTarPerm modes [ '755', '644' ]
8182 silly gunzTarPerm extractEntry package.json
8183 silly gunzTarPerm extractEntry .npmignore
8184 silly gunzTarPerm extractEntry README.md
8185 silly gunzTarPerm extractEntry LICENSE
8186 silly gunzTarPerm extractEntry .travis.yml
8187 silly gunzTarPerm extractEntry bin/uglifyjs
8188 silly gunzTarPerm extractEntry lib/ast.js
8189 silly gunzTarPerm extractEntry lib/compress.js
8190 silly gunzTarPerm extractEntry lib/mozilla-ast.js
8191 silly gunzTarPerm extractEntry lib/output.js
8192 silly gunzTarPerm extractEntry lib/parse.js
8193 silly gunzTarPerm extractEntry lib/scope.js
8194 silly gunzTarPerm extractEntry lib/sourcemap.js
8195 silly gunzTarPerm extractEntry lib/transform.js
8196 silly gunzTarPerm extractEntry lib/utils.js
8197 silly gunzTarPerm extractEntry test/run-tests.js
8198 silly gunzTarPerm extractEntry test/compress/arrays.js
8199 silly gunzTarPerm extractEntry test/compress/issue-12.js
8200 silly gunzTarPerm extractEntry test/compress/issue-126.js
8201 silly gunzTarPerm extractEntry test/compress/issue-143.js
8202 silly gunzTarPerm extractEntry test/compress/issue-105.js
8203 silly gunzTarPerm extractEntry test/compress/issue-267.js
8204 silly gunzTarPerm extractEntry test/compress/issue-269.js
8205 silly gunzTarPerm extractEntry test/compress/issue-44.js
8206 silly gunzTarPerm extractEntry test/compress/issue-59.js
8207 silly gunzTarPerm extractEntry test/compress/labels.js
8208 silly gunzTarPerm extractEntry test/compress/drop-unused.js
8209 silly gunzTarPerm extractEntry test/compress/loops.js
8210 silly gunzTarPerm extractEntry test/compress/debugger.js
8211 silly gunzTarPerm extractEntry test/compress/negate-iife.js
8212 silly gunzTarPerm extractEntry test/compress/dead-code.js
8213 silly gunzTarPerm extractEntry test/compress/properties.js
8214 silly gunzTarPerm extractEntry test/compress/conditionals.js
8215 silly gunzTarPerm extractEntry test/compress/sequences.js
8216 silly gunzTarPerm extractEntry test/compress/concat-strings.js
8217 silly gunzTarPerm extractEntry test/compress/switch.js
8218 silly gunzTarPerm extractEntry test/compress/blocks.js
8219 silly gunzTarPerm extractEntry test/compress/typeof.js
8220 silly gunzTarPerm extractEntry test/compress/issue-22.js
8221 silly gunzTarPerm extractEntry tools/node.js
8222 silly lockFile b859671e-3099-0-25614010100252926-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package
8223 silly lockFile b859671e-3099-0-25614010100252926-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package
8224 silly lockFile 30b26453-3099-0-25614010100252926-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/tmp.tgz
8225 silly lockFile 30b26453-3099-0-25614010100252926-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/tmp.tgz
8226 verbose tar pack [ '/home/spike/.npm/uglify-js/2.4.7/package.tgz',
8226 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package' ]
8227 verbose tarball /home/spike/.npm/uglify-js/2.4.7/package.tgz
8228 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package
8229 silly lockFile b859671e-3099-0-25614010100252926-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package
8230 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package /home/spike/.npm/b859671e-3099-0-25614010100252926-package.lock
8231 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8232 verbose lock tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz /home/spike/.npm/bb4d1e6d--npm-uglify-js-2-4-7-package-tgz.lock
8233 http 304 https://registry.npmjs.org/semver
8234 silly registry.get cb [ 304,
8234 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
8234 silly registry.get etag: '"2YZHDULC16W0A4C1OJM44P25I"',
8234 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8234 silly registry.get 'content-length': '0' } ]
8235 verbose etag semver from cache
8236 silly addNameRange number 2 { name: 'semver', range: '>=1.1.0-0 <1.2.0-0', hasData: true }
8237 silly addNameRange versions [ 'semver',
8237 silly addNameRange [ '1.0.0',
8237 silly addNameRange '1.0.1',
8237 silly addNameRange '1.0.2',
8237 silly addNameRange '1.0.3',
8237 silly addNameRange '1.0.4',
8237 silly addNameRange '1.0.5',
8237 silly addNameRange '1.0.6',
8237 silly addNameRange '1.0.7',
8237 silly addNameRange '1.0.8',
8237 silly addNameRange '1.0.9',
8237 silly addNameRange '1.0.10',
8237 silly addNameRange '1.0.11',
8237 silly addNameRange '1.0.12',
8237 silly addNameRange '1.0.13',
8237 silly addNameRange '1.0.14',
8237 silly addNameRange '1.1.0',
8237 silly addNameRange '1.1.1',
8237 silly addNameRange '1.1.2',
8237 silly addNameRange '1.1.3',
8237 silly addNameRange '1.1.4',
8237 silly addNameRange '2.0.0-alpha',
8237 silly addNameRange '2.0.0-beta',
8237 silly addNameRange '2.0.1',
8237 silly addNameRange '2.0.2',
8237 silly addNameRange '2.0.3',
8237 silly addNameRange '2.0.4',
8237 silly addNameRange '2.0.5',
8237 silly addNameRange '2.0.6',
8237 silly addNameRange '2.0.7',
8237 silly addNameRange '2.0.8',
8237 silly addNameRange '2.0.9',
8237 silly addNameRange '2.0.10',
8237 silly addNameRange '2.0.11',
8237 silly addNameRange '2.1.0',
8237 silly addNameRange '2.2.0',
8237 silly addNameRange '2.2.1' ] ]
8238 verbose addNamed [ 'semver', '1.1.4' ]
8239 verbose addNamed [ '1.1.4', '1.1.4' ]
8240 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
8241 verbose lock semver@1.1.4 /home/spike/.npm/da52979e-semver-1-1-4.lock
8242 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
8243 silly lockFile da52979e-semver-1-1-4 semver@1.1.4
8244 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
8245 silly lockFile 384d7ac7-semver-1-1-0 semver@~1.1.0
8246 http 304 https://registry.npmjs.org/tar
8247 silly registry.get cb [ 304,
8247 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8247 silly registry.get etag: '"3MM61I8LY97G51H65LC31BGAF"',
8247 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8247 silly registry.get 'content-length': '0' } ]
8248 verbose etag tar from cache
8249 silly addNameRange number 2 { name: 'tar', range: '>=0.1.13-0 <0.2.0-0', hasData: true }
8250 silly addNameRange versions [ 'tar',
8250 silly addNameRange [ '0.0.1',
8250 silly addNameRange '0.1.0',
8250 silly addNameRange '0.1.2',
8250 silly addNameRange '0.1.3',
8250 silly addNameRange '0.1.4',
8250 silly addNameRange '0.1.5',
8250 silly addNameRange '0.1.6',
8250 silly addNameRange '0.1.7',
8250 silly addNameRange '0.1.8',
8250 silly addNameRange '0.1.9',
8250 silly addNameRange '0.1.10',
8250 silly addNameRange '0.1.11',
8250 silly addNameRange '0.1.12',
8250 silly addNameRange '0.1.13',
8250 silly addNameRange '0.1.14',
8250 silly addNameRange '0.1.15',
8250 silly addNameRange '0.1.16',
8250 silly addNameRange '0.1.17',
8250 silly addNameRange '0.1.18',
8250 silly addNameRange '0.1.19' ] ]
8251 verbose addNamed [ 'tar', '0.1.19' ]
8252 verbose addNamed [ '0.1.19', '0.1.19' ]
8253 silly lockFile 9cd6579d-tar-0-1-19 tar@0.1.19
8254 verbose lock tar@0.1.19 /home/spike/.npm/9cd6579d-tar-0-1-19.lock
8255 silly lockFile 9cd6579d-tar-0-1-19 tar@0.1.19
8256 silly lockFile 9cd6579d-tar-0-1-19 tar@0.1.19
8257 silly lockFile e648d358-tar-0-1-13 tar@~0.1.13
8258 silly lockFile e648d358-tar-0-1-13 tar@~0.1.13
8259 silly lockFile b859671e-3099-0-25614010100252926-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package
8260 silly lockFile b859671e-3099-0-25614010100252926-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190683099-0.25614010100252926/package
8261 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8262 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8263 silly lockFile 5cc097a8-pike-npm-uglify-js-2-4-7-package /home/spike/.npm/uglify-js/2.4.7/package
8264 verbose lock /home/spike/.npm/uglify-js/2.4.7/package /home/spike/.npm/5cc097a8-pike-npm-uglify-js-2-4-7-package.lock
8265 silly lockFile 5cc097a8-pike-npm-uglify-js-2-4-7-package /home/spike/.npm/uglify-js/2.4.7/package
8266 silly lockFile 5cc097a8-pike-npm-uglify-js-2-4-7-package /home/spike/.npm/uglify-js/2.4.7/package
8267 verbose tar unpack /home/spike/.npm/uglify-js/2.4.7/package.tgz
8268 silly lockFile 2f691340-pike-npm-uglify-js-2-4-7-package tar:///home/spike/.npm/uglify-js/2.4.7/package
8269 verbose lock tar:///home/spike/.npm/uglify-js/2.4.7/package /home/spike/.npm/2f691340-pike-npm-uglify-js-2-4-7-package.lock
8270 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8271 verbose lock tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz /home/spike/.npm/bb4d1e6d--npm-uglify-js-2-4-7-package-tgz.lock
8272 silly gunzTarPerm modes [ '755', '644' ]
8273 silly gunzTarPerm extractEntry package.json
8274 silly gunzTarPerm extractEntry .npmignore
8275 silly gunzTarPerm extractEntry README.md
8276 silly gunzTarPerm extractEntry LICENSE
8277 http 304 https://registry.npmjs.org/tmp
8278 silly registry.get cb [ 304,
8278 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8278 silly registry.get etag: '"9DCK0BIFCYG9MVH5I3BGY34DT"',
8278 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8278 silly registry.get 'content-length': '0' } ]
8279 verbose etag tmp from cache
8280 silly gunzTarPerm extractEntry .travis.yml
8281 silly gunzTarPerm extractEntry bin/uglifyjs
8282 silly addNameRange number 2 { name: 'tmp', range: '>=0.0.17-0 <0.1.0-0', hasData: true }
8283 silly addNameRange versions [ 'tmp',
8283 silly addNameRange [ '0.0.1',
8283 silly addNameRange '0.0.2',
8283 silly addNameRange '0.0.3',
8283 silly addNameRange '0.0.4',
8283 silly addNameRange '0.0.5',
8283 silly addNameRange '0.0.6',
8283 silly addNameRange '0.0.7',
8283 silly addNameRange '0.0.8',
8283 silly addNameRange '0.0.9',
8283 silly addNameRange '0.0.10',
8283 silly addNameRange '0.0.11',
8283 silly addNameRange '0.0.12',
8283 silly addNameRange '0.0.13',
8283 silly addNameRange '0.0.14',
8283 silly addNameRange '0.0.15',
8283 silly addNameRange '0.0.16',
8283 silly addNameRange '0.0.17',
8283 silly addNameRange '0.0.18',
8283 silly addNameRange '0.0.20',
8283 silly addNameRange '0.0.21',
8283 silly addNameRange '0.0.22',
8283 silly addNameRange '0.0.23' ] ]
8284 verbose addNamed [ 'tmp', '0.0.23' ]
8285 verbose addNamed [ '0.0.23', '0.0.23' ]
8286 silly lockFile f7638ceb-tmp-0-0-23 tmp@0.0.23
8287 verbose lock tmp@0.0.23 /home/spike/.npm/f7638ceb-tmp-0-0-23.lock
8288 silly lockFile f7638ceb-tmp-0-0-23 tmp@0.0.23
8289 silly lockFile f7638ceb-tmp-0-0-23 tmp@0.0.23
8290 silly lockFile af2449f1-tmp-0-0-17 tmp@~0.0.17
8291 silly lockFile af2449f1-tmp-0-0-17 tmp@~0.0.17
8292 silly gunzTarPerm extractEntry lib/ast.js
8293 silly gunzTarPerm extractEntry lib/compress.js
8294 silly gunzTarPerm extractEntry lib/mozilla-ast.js
8295 silly gunzTarPerm extractEntry lib/output.js
8296 silly gunzTarPerm extractEntry lib/parse.js
8297 http 304 https://registry.npmjs.org/request
8298 silly registry.get cb [ 304,
8298 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8298 silly registry.get etag: '"80WKAG7N9W84VX89SY65IEUDQ"',
8298 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8298 silly registry.get 'content-length': '0' } ]
8299 verbose etag request from cache
8300 silly gunzTarPerm extractEntry lib/scope.js
8301 silly gunzTarPerm extractEntry lib/sourcemap.js
8302 silly addNameRange number 2 { name: 'request', range: '>=2.11.4-0 <2.12.0-0', hasData: true }
8303 silly addNameRange versions [ 'request',
8303 silly addNameRange [ '0.10.0',
8303 silly addNameRange '0.8.3',
8303 silly addNameRange '0.9.0',
8303 silly addNameRange '0.9.1',
8303 silly addNameRange '0.9.5',
8303 silly addNameRange '1.0.0',
8303 silly addNameRange '1.1.0',
8303 silly addNameRange '1.1.1',
8303 silly addNameRange '1.2.0',
8303 silly addNameRange '1.9.0',
8303 silly addNameRange '1.9.1',
8303 silly addNameRange '1.9.2',
8303 silly addNameRange '1.9.3',
8303 silly addNameRange '1.9.5',
8303 silly addNameRange '1.9.7',
8303 silly addNameRange '1.9.8',
8303 silly addNameRange '1.9.9',
8303 silly addNameRange '2.0.0',
8303 silly addNameRange '2.0.1',
8303 silly addNameRange '2.0.2',
8303 silly addNameRange '2.0.3',
8303 silly addNameRange '2.0.4',
8303 silly addNameRange '2.0.5',
8303 silly addNameRange '2.1.0',
8303 silly addNameRange '2.1.1',
8303 silly addNameRange '2.2.0',
8303 silly addNameRange '2.2.5',
8303 silly addNameRange '2.2.6',
8303 silly addNameRange '2.2.9',
8303 silly addNameRange '2.9.0',
8303 silly addNameRange '2.9.1',
8303 silly addNameRange '2.9.2',
8303 silly addNameRange '2.9.3',
8303 silly addNameRange '2.9.100',
8303 silly addNameRange '2.9.150',
8303 silly addNameRange '2.9.151',
8303 silly addNameRange '2.9.152',
8303 silly addNameRange '2.9.153',
8303 silly addNameRange '2.9.200',
8303 silly addNameRange '2.9.201',
8303 silly addNameRange '2.9.202',
8303 silly addNameRange '2.9.203',
8303 silly addNameRange '2.10.0',
8303 silly addNameRange '2.11.0',
8303 silly addNameRange '2.11.1',
8303 silly addNameRange '2.11.2',
8303 silly addNameRange '2.11.3',
8303 silly addNameRange '2.11.4',
8303 silly addNameRange '2.12.0',
8303 silly addNameRange '2.14.0',
8303 silly addNameRange '2.16.0',
8303 silly addNameRange '2.16.2',
8303 silly addNameRange '2.16.4',
8303 silly addNameRange '2.16.6',
8303 silly addNameRange '2.18.0',
8303 silly addNameRange '2.19.0',
8303 silly addNameRange '2.20.0',
8303 silly addNameRange '2.21.0',
8303 silly addNameRange '2.22.0',
8303 silly addNameRange '2.23.0',
8303 silly addNameRange '2.24.0',
8303 silly addNameRange '2.25.0',
8303 silly addNameRange '2.26.0',
8303 silly addNameRange '2.27.0',
8303 silly addNameRange '2.28.0',
8303 silly addNameRange '2.29.0',
8303 silly addNameRange '2.30.0' ] ]
8304 verbose addNamed [ 'request', '2.11.4' ]
8305 verbose addNamed [ '2.11.4', '2.11.4' ]
8306 silly lockFile 228b00c3-request-2-11-4 request@2.11.4
8307 verbose lock request@2.11.4 /home/spike/.npm/228b00c3-request-2-11-4.lock
8308 silly gunzTarPerm extractEntry lib/transform.js
8309 silly lockFile 228b00c3-request-2-11-4 request@2.11.4
8310 silly lockFile 228b00c3-request-2-11-4 request@2.11.4
8311 silly lockFile c2e2f8c3-request-2-11-4 request@~2.11.4
8312 silly lockFile c2e2f8c3-request-2-11-4 request@~2.11.4
8313 silly gunzTarPerm extractEntry lib/utils.js
8314 silly gunzTarPerm extractEntry test/run-tests.js
8315 silly gunzTarPerm extractEntry test/compress/arrays.js
8316 silly gunzTarPerm extractEntry test/compress/issue-12.js
8317 silly gunzTarPerm extractEntry test/compress/issue-126.js
8318 silly gunzTarPerm extractEntry test/compress/issue-143.js
8319 silly gunzTarPerm extractEntry test/compress/issue-105.js
8320 silly gunzTarPerm extractEntry test/compress/issue-267.js
8321 silly gunzTarPerm extractEntry test/compress/issue-269.js
8322 silly gunzTarPerm extractEntry test/compress/issue-44.js
8323 silly gunzTarPerm extractEntry test/compress/issue-59.js
8324 silly gunzTarPerm extractEntry test/compress/labels.js
8325 silly gunzTarPerm extractEntry test/compress/drop-unused.js
8326 silly gunzTarPerm extractEntry test/compress/loops.js
8327 silly gunzTarPerm extractEntry test/compress/debugger.js
8328 silly gunzTarPerm extractEntry test/compress/negate-iife.js
8329 silly gunzTarPerm extractEntry test/compress/dead-code.js
8330 silly gunzTarPerm extractEntry test/compress/properties.js
8331 silly gunzTarPerm extractEntry test/compress/conditionals.js
8332 silly gunzTarPerm extractEntry test/compress/sequences.js
8333 silly gunzTarPerm extractEntry test/compress/concat-strings.js
8334 silly gunzTarPerm extractEntry test/compress/switch.js
8335 silly gunzTarPerm extractEntry test/compress/blocks.js
8336 silly gunzTarPerm extractEntry test/compress/typeof.js
8337 silly gunzTarPerm extractEntry test/compress/issue-22.js
8338 silly gunzTarPerm extractEntry tools/node.js
8339 silly lockFile 2f691340-pike-npm-uglify-js-2-4-7-package tar:///home/spike/.npm/uglify-js/2.4.7/package
8340 silly lockFile 2f691340-pike-npm-uglify-js-2-4-7-package tar:///home/spike/.npm/uglify-js/2.4.7/package
8341 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8342 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8343 verbose chmod /home/spike/.npm/uglify-js/2.4.7/package.tgz 644
8344 verbose chown /home/spike/.npm/uglify-js/2.4.7/package.tgz [ 1000, 1000 ]
8345 silly lockFile 98a545d8-rg-uglify-js-uglify-js-2-4-7-tgz https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz
8346 silly lockFile 98a545d8-rg-uglify-js-uglify-js-2-4-7-tgz https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz
8347 silly lockFile a6b507c5-uglify-js-2-4-7 uglify-js@2.4.7
8348 silly lockFile a6b507c5-uglify-js-2-4-7 uglify-js@2.4.7
8349 silly lockFile 1d881e0f-uglify-js-2-4-0 uglify-js@~2.4.0
8350 silly lockFile 1d881e0f-uglify-js-2-4-0 uglify-js@~2.4.0
8351 silly resolved [ { name: 'grunt-lib-contrib',
8351 silly resolved description: 'Common functionality shared across grunt-contrib tasks.',
8351 silly resolved version: '0.6.1',
8351 silly resolved homepage: 'http://github.com/gruntjs/grunt-lib-contrib',
8351 silly resolved author: { name: 'Grunt Team', url: 'http://gruntjs.com/' },
8351 silly resolved repository:
8351 silly resolved { type: 'git',
8351 silly resolved url: 'git://github.com/gruntjs/grunt-lib-contrib.git' },
8351 silly resolved bugs: { url: 'https://github.com/gruntjs/grunt-lib-contrib/issues' },
8351 silly resolved licenses: [ [Object] ],
8351 silly resolved engines: { node: '>= 0.8.0' },
8351 silly resolved scripts: { test: 'grunt test' },
8351 silly resolved devDependencies:
8351 silly resolved { 'grunt-contrib-jshint': '~0.1.1',
8351 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
8351 silly resolved grunt: '~0.4.0' },
8351 silly resolved main: 'lib/contrib',
8351 silly resolved dependencies: { 'zlib-browserify': '0.0.1' },
8351 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
8351 silly resolved readme: '# grunt-lib-contrib [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-lib-contrib.png?branch=master)](http://travis-ci.org/gruntjs/grunt-lib-contrib)\n\n> Common functionality shared across grunt-contrib tasks.\n\nThe purpose of grunt-lib-contrib is to explore solutions to common problems task writers encounter, and to ease the upgrade path for contrib tasks.\n\n**These APIs should be considered highly unstable. Depend on them at your own risk!**\n\n_Over time, some of the functionality provided here may be incorporated directly into grunt for mainstream use. Until then, you may require `grunt-lib-contrib` as a dependency in your projects, but be very careful to specify an exact version number instead of a range, as backwards-incompatible changes are likely to be introduced._\n\n### Helper Functions\n\n#### getNamespaceDeclaration(ns)\n\nThis helper is used to build JS namespace declarations.\n\n#### optsToArgs(options)\n\nConvert an object to an array of CLI arguments, which can be used with `child_process.spawn()`.\n\n```js\n// Example\n{\n fooBar: \'a\', // [\'--foo-bar\', \'a\']\n fooBar: 1, // [\'--foo-bar\', \'1\']\n fooBar: true, // [\'--foo-bar\']\n fooBar: false, //\n fooBar: [\'a\', \'b\'] // [\'--foo-bar\', \'a\', \'--foo-bar\', \'b\']\n}\n```\n\n#### stripPath(pth, strip)\n\nStrip a path from a path. normalize both paths for best results.\n\n#### minMaxInfo(min, max, report)\n\nHelper for logging compressed, uncompressed and gzipped sizes of strings.\n\n#### report\nChoices: `false`, `\'min\'`, `\'gzip\'`\nDefault: `false`\n\nEither do not report anything, report only minification result, or report minification and gzip results.\n\n**Important** Including `\'gzip\'` results can make this task 5-10x slower depending on the size of the file.\n\n\n```js\nvar max = grunt.file.read(\'max.js\');\nvar min = minify(max);\nminMaxInfo(min, max, \'gzip\');\n```\n\nWould print:\n\n```\nOriginal: 495 bytes.\nMinified: 396 bytes.\nGzipped: 36 bytes.\n```\n\n--\n\n*Lib submitted by [Tyler Kellen](https://goingslowly.com/).*',
8351 silly resolved readmeFilename: 'README.md',
8351 silly resolved _id: 'grunt-lib-contrib@0.6.1',
8351 silly resolved _from: 'grunt-lib-contrib@~0.6.0' },
8351 silly resolved { name: 'uglify-js',
8351 silly resolved description: 'JavaScript parser, mangler/compressor and beautifier toolkit',
8351 silly resolved homepage: 'http://lisperator.net/uglifyjs',
8351 silly resolved main: 'tools/node.js',
8351 silly resolved version: '2.4.7',
8351 silly resolved engines: { node: '>=0.4.0' },
8351 silly resolved maintainers: [ [Object] ],
8351 silly resolved repository: { type: 'git', url: 'https://github.com/mishoo/UglifyJS2.git' },
8351 silly resolved dependencies:
8351 silly resolved { async: '~0.2.6',
8351 silly resolved 'source-map': '~0.1.7',
8351 silly resolved optimist: '~0.3.5',
8351 silly resolved 'uglify-to-browserify': '~1.0.0' },
8351 silly resolved browserify: { transform: [Object] },
8351 silly resolved bin: { uglifyjs: 'bin/uglifyjs' },
8351 silly resolved scripts: { test: 'node test/run-tests.js' },
8351 silly resolved readme: 'UglifyJS 2\n==========\n[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.png)](https://travis-ci.org/mishoo/UglifyJS2)\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility. For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere\'s also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n npm install uglify-js\n\nFrom Git:\n\n git clone git://github.com/mishoo/UglifyJS2.git\n cd UglifyJS2\n npm link .\n\nUsage\n-----\n\n uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files. It\'s recommended that you pass the\ninput files first, then pass the options. UglifyJS will parse input files\nin sequence and apply any compression options. The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n```\n --source-map Specify an output file where to generate source map.\n [string]\n --source-map-root The path to the original source to be included in the\n source map. [string]\n --source-map-url The path to the source map to be added in //#\n sourceMappingURL. Defaults to the value passed with\n --source-map. [string]\n --in-source-map Input source map, useful if you\'re compressing JS that was\n generated from some other original code.\n --screw-ie8 Pass this flag if you don\'t care about full compliance\n with Internet Explorer 6-8 quirks (by default UglifyJS\n will try to be IE-proof). [boolean]\n --expr Parse a single expression, rather than a program (for\n parsing JSON) [boolean]\n -p, --prefix Skip prefix for original filenames that appear in source\n maps. For example -p 3 will drop 3 directories from file\n names and ensure they are relative paths. You can also\n specify -p relative, which will make UglifyJS figure out\n itself the relative paths between original sources, the\n source map and the output file. [string]\n -o, --output Output file (default STDOUT).\n -b, --beautify Beautify output/specify output options. [string]\n -m, --mangle Mangle names/pass mangler options. [string]\n -r, --reserved Reserved names to exclude from mangling.\n -c, --compress Enable compressor/pass compressor options. Pass options\n like -c hoist_vars=false,if_return=false. Use -c with no\n argument to use the default compression options. [string]\n -d, --define Global definitions [string]\n -e, --enclose Embed everything in a big function, with a configurable\n parameter/argument list. [string]\n --comments Preserve copyright comments in the output. By default this\n works like Google Closure, keeping JSDoc-style comments\n that contain "@license" or "@preserve". You can optionally\n pass one of the following arguments to this flag:\n - "all" to keep all comments\n - a valid JS regexp (needs to start with a slash) to keep\n only comments that match.\n Note that currently not *all* comments can be kept when\n compression is on, because of dead code removal or\n cascading statements into sequences. [string]\n --preamble Preamble to prepend to the output. You can use this to\n insert a comment, for example for licensing information.\n This will not be parsed, but the source map will adjust\n for its presence.\n --stats Display operations run time on STDERR. [boolean]\n --acorn Use Acorn for parsing. [boolean]\n --spidermonkey Assume input files are SpiderMonkey AST format (as JSON).\n [boolean]\n --self Build itself (UglifyJS2) as a library (implies\n --wrap=UglifyJS --export-all) [boolean]\n --wrap Embed everything in a big function, making the “exports”\n and “global” variables available. You need to pass an\n argument to this option to specify the name that your\n module will take when included in, say, a browser.\n [string]\n --export-all Only used when --wrap, this tells UglifyJS to add code to\n automatically export all globals. [boolean]\n --lint Display some scope warnings [boolean]\n -v, --verbose Verbose [boolean]\n -V, --version Print version number and exit. [boolean]\n```\n\nSpecify `--output` (`-o`) to declare the output file. Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript. To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found. In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n uglifyjs /home/doe/work/foo/src/js/file1.js \\\n /home/doe/work/foo/src/js/file2.js \\\n -o foo.min.js \\\n --source-map foo.min.js.map \\\n --source-map-root http://foo.com/src \\\n -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`. The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you\'re compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won\'t be too helpful. Instead, you\'d\nlike to map back to the original code (i.e. CoffeeScript). UglifyJS has an\noption to take an input source map. Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`. Normally the input source map should also point\nto the file containing the generated JS, so if that\'s correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`). The following\n(comma-separated) options are supported:\n\n- `sort` — to assign shorter names to most frequently used variables. This\n saves a few hundred bytes on jQuery before gzip, but the output is\n _bigger_ after gzip (and seems to happen for other libraries I tried it\n on) therefore it\'s not enabled by default.\n\n- `toplevel` — mangle names declared in the toplevel scope (disabled by\n default).\n\n- `eval` — mangle names visible in scopes where `eval` or `when` are used\n (disabled by default).\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names. For example:\n\n uglifyjs ... -m -r \'$,require,exports\'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor. Optionally\nyou can pass a comma-separated list of options. Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it\'s effectively a shortcut for `foo=true`).\n\n- `sequences` -- join consecutive simple statements using the comma operator\n\n- `properties` -- rewrite property access using the dot notation, for\n example `foo["bar"] → foo.bar`\n\n- `dead_code` -- remove unreachable code\n\n- `drop_debugger` -- remove `debugger;` statements\n\n- `unsafe` (default: false) -- apply "unsafe" transformations (discussion below)\n\n- `conditionals` -- apply optimizations for `if`-s and conditional\n expressions\n\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n\n- `evaluate` -- attempt to evaluate constant expressions\n\n- `booleans` -- various optimizations for boolean context, for example `!!a\n ? b : c → a ? b : c`\n\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n statically determine the condition\n\n- `unused` -- drop unreferenced functions and variables\n\n- `hoist_funs` -- hoist function declarations\n\n- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false`\n by default because it seems to increase the size of the output in general)\n\n- `if_return` -- optimizations for if/return and if/continue\n\n- `join_vars` -- join consecutive `var` statements\n\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n and `x = something(), x` into `x = something()`\n\n- `warnings` -- display warnings when dropping unreachable code or unused\n declarations etc.\n\n- `negate_iife` -- negate "Immediately-Called Function Expressions"\n where the return value is discarded, to avoid the parens that the\n code generator would insert.\n\n- `pure_getters` -- the default is `false`. If you pass `true` for\n this, UglifyJS will assume that object property access\n (e.g. `foo.bar` or `foo["bar"]`) doesn\'t have any side effects.\n\n- `pure_funcs` -- default `null`. You can pass an array of names and\n UglifyJS will assume that those functions do not produce side\n effects. DANGER: will not check if the name is redefined in scope.\n An example case here, for instance `var q = Math.floor(a/b)`. If\n variable `q` is not used elsewhere, UglifyJS will drop it, but will\n still keep the `Math.floor(a/b)`, not knowing what it does. You can\n pass `pure_funcs: [ \'Math.floor\' ]` to let it know that this\n function won\'t produce any side effect, in which case the whole\n statement would get discarded. The current implementation adds some\n overhead (compression will be slower).\n\n### The `unsafe` option\n\nIt enables some transformations that *might* break code logic in certain\ncontrived cases, but should be fine for most code. You might want to try it\non your own code, it should reduce the minified size. Here\'s what happens\nwhen this flag is on:\n\n- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[1, 2, 3 ]`\n- `new Object()` → `{}`\n- `String(exp)` or `exp.toString()` → `"" + exp`\n- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new`\n- `typeof foo == "undefined"` → `foo === void 0`\n- `void 0` → `undefined` (if there is a variable named "undefined" in\n scope; we do it because the variable name will be mangled, typically\n reduced to a single character).\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope). For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n```javascript\nif (DEBUG) {\n\tconsole.log("debug stuff");\n}\n```\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build. For example you can have a\n`build/defines.js` file with the following:\n```javascript\nconst DEBUG = false;\nconst PRODUCTION = true;\n// etc.\n```\n\nand build your code like this:\n\n uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual. The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n<a name="codegen-options"></a>\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default. In\ncase you want beautified output, pass `--beautify` (`-b`). Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n Passing `-b` will set this to true, but you might need to pass `-b` even\n when you want to generate minified code, in order to specify additional\n arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n `</script` in strings\n- `width` (default 80) -- only takes effect when beautification is on, this\n specifies an (orientative) line width that the beautifier will try to\n obey. It refers to the width of the line text (excluding indentation).\n It doesn\'t work very well currently, but it does make the code generated\n by UglifyJS more readable.\n- `max-line-len` (default 32000) -- maximum line length (for uglified code)\n- `bracketize` (default `false`) -- always insert brackets in `if`, `for`,\n `do`, `while` or `with` statements, even if their body is a single\n statement.\n- `semicolons` (default `true`) -- separate statements with semicolons. If\n you pass `false` then whenever possible we will use a newline instead of a\n semicolon, leading to more readable output of uglified code (size before\n gzip could be smaller; size after gzip insignificantly larger).\n- `preamble` (default `null`) -- when passed it must be a string and\n it will be prepended to the output literally. The source map will\n adjust for this text. Can be used to insert a comment containing\n licensing information, for example.\n\n### Keeping copyright notices or other comments\n\nYou can pass `--comments` to retain certain comments in the output. By\ndefault it will keep JSDoc-style comments that contain "@preserve",\n"@license" or "@cc_on" (conditional compilation for IE). You can pass\n`--comments all` to keep all the comments, or a valid JavaScript regexp to\nkeep only comments that match this regexp. For example `--comments\n\'/foo|bar/\'` will keep only comments that contain "foo" or "bar".\n\nNote, however, that there might be situations where comments are lost. For\nexample:\n```javascript\nfunction f() {\n\t/** @preserve Foo Bar */\n\tfunction g() {\n\t // this function is never called\n\t}\n\treturn something();\n}\n```\n\nEven though it has "@preserve", the comment will be lost because the inner\nfunction `g` (which is the AST node to which the comment is attached to) is\ndiscarded by the compressor as not referenced.\n\nThe safest comments where to place copyright information (or other info that\nneeds to be kept in the output) are comments attached to toplevel nodes.\n\n## Support for the SpiderMonkey AST\n\nUglifyJS2 has its own abstract syntax tree format; for\n[practical reasons](http://lisperator.net/blog/uglifyjs-why-not-switching-to-spidermonkey-ast/)\nwe can\'t easily change to using the SpiderMonkey AST internally. However,\nUglifyJS now has a converter which can import a SpiderMonkey AST.\n\nFor example [Acorn][acorn] is a super-fast parser that produces a\nSpiderMonkey AST. It has a small CLI utility that parses one file and dumps\nthe AST in JSON on the standard output. To use UglifyJS to mangle and\ncompress that:\n\n acorn file.js | uglifyjs --spidermonkey -m -c\n\nThe `--spidermonkey` option tells UglifyJS that all input files are not\nJavaScript, but JS code described in SpiderMonkey AST in JSON. Therefore we\ndon\'t use our own parser in this case, but just transform that AST into our\ninternal AST.\n\n### Use Acorn for parsing\n\nMore for fun, I added the `--acorn` option which will use Acorn to do all\nthe parsing. If you pass this option, UglifyJS will `require("acorn")`.\n\nAcorn is really fast (e.g. 250ms instead of 380ms on some 650K code), but\nconverting the SpiderMonkey tree that Acorn produces takes another 150ms so\nin total it\'s a bit more than just using UglifyJS\'s own parser.\n\nAPI Reference\n-------------\n\nAssuming installation via NPM, you can load UglifyJS in your application\nlike this:\n```javascript\nvar UglifyJS = require("uglify-js");\n```\n\nIt exports a lot of names, but I\'ll discuss here the basics that are needed\nfor parsing, mangling and compressing a piece of code. The sequence is (1)\nparse, (2) compress, (3) mangle, (4) generate output code.\n\n### The simple way\n\nThere\'s a single toplevel function which combines all the steps. If you\ndon\'t need additional customization, you might want to go with `minify`.\nExample:\n```javascript\nvar result = UglifyJS.minify("/path/to/file.js");\nconsole.log(result.code); // minified output\n// if you need to pass code instead of file name\nvar result = UglifyJS.minify("var b = function () {};", {fromString: true});\n```\n\nYou can also compress multiple files:\n```javascript\nvar result = UglifyJS.minify([ "file1.js", "file2.js", "file3.js" ]);\nconsole.log(result.code);\n```\n\nTo generate a source map:\n```javascript\nvar result = UglifyJS.minify([ "file1.js", "file2.js", "file3.js" ], {\n\toutSourceMap: "out.js.map"\n});\nconsole.log(result.code); // minified output\nconsole.log(result.map);\n```\n\nNote that the source map is not saved in a file, it\'s just returned in\n`result.map`. The value passed for `outSourceMap` is only used to set the\n`file` attribute in the source map (see [the spec][sm-spec]).\n\nYou can also specify sourceRoot property to be included in source map:\n```javascript\nvar result = UglifyJS.minify([ "file1.js", "file2.js", "file3.js" ], {\n\toutSourceMap: "out.js.map",\n\tsourceRoot: "http://example.com/src"\n});\n```\n\nIf you\'re compressing compiled JavaScript and have a source map for it, you\ncan use the `inSourceMap` argument:\n```javascript\nvar result = UglifyJS.minify("compiled.js", {\n\tinSourceMap: "compiled.js.map",\n\toutSourceMap: "minified.js.map"\n});\n// same as before, it returns `code` and `map`\n```\n\nThe `inSourceMap` is only used if you also request `outSourceMap` (it makes\nno sense otherwise).\n\nOther options:\n\n- `warnings` (default `false`) — pass `true` to display compressor warnings.\n\n- `fromString` (default `false`) — if you pass `true` then you can pass\n JavaScript source code, rather than file names.\n\n- `mangle` — pass `false` to skip mangling names.\n\n- `output` (default `null`) — pass an object if you wish to specify\n additional [output options][codegen]. The defaults are optimized\n for best compression.\n\n- `compress` (default `{}`) — pass `false` to skip compressing entirely.\n Pass an object to specify custom [compressor options][compressor].\n\nWe could add more options to `UglifyJS.minify` — if you need additional\nfunctionality please suggest!\n\n### The hard way\n\nFollowing there\'s more detailed API info, in case the `minify` function is\ntoo simple for your needs.\n\n#### The parser\n```javascript\nvar toplevel_ast = UglifyJS.parse(code, options);\n```\n\n`options` is optional and if present it must be an object. The following\nproperties are available:\n\n- `strict` — disable automatic semicolon insertion and support for trailing\n comma in arrays and objects\n- `filename` — the name of the file where this code is coming from\n- `toplevel` — a `toplevel` node (as returned by a previous invocation of\n `parse`)\n\nThe last two options are useful when you\'d like to minify multiple files and\nget a single file as the output and a proper source map. Our CLI tool does\nsomething like this:\n```javascript\nvar toplevel = null;\nfiles.forEach(function(file){\n\tvar code = fs.readFileSync(file);\n\ttoplevel = UglifyJS.parse(code, {\n\t\tfilename: file,\n\t\ttoplevel: toplevel\n\t});\n});\n```\n\nAfter this, we have in `toplevel` a big AST containing all our files, with\neach token having proper information about where it came from.\n\n#### Scope information\n\nUglifyJS contains a scope analyzer that you need to call manually before\ncompressing or mangling. Basically it augments various nodes in the AST\nwith information about where is a name defined, how many times is a name\nreferenced, if it is a global or not, if a function is using `eval` or the\n`with` statement etc. I will discuss this some place else, for now what\'s\nimportant to know is that you need to call the following before doing\nanything with the tree:\n```javascript\ntoplevel.figure_out_scope()\n```\n\n#### Compression\n\nLike this:\n```javascript\nvar compressor = UglifyJS.Compressor(options);\nvar compressed_ast = toplevel.transform(compressor);\n```\n\nThe `options` can be missing. Available options are discussed above in\n“Compressor options”. Defaults should lead to best compression in most\nscripts.\n\nThe compressor is destructive, so don\'t rely that `toplevel` remains the\noriginal tree.\n\n#### Mangling\n\nAfter compression it is a good idea to call again `figure_out_scope` (since\nthe compressor might drop unused variables / unreachable code and this might\nchange the number of identifiers or their position). Optionally, you can\ncall a trick that helps after Gzip (counting character frequency in\nnon-mangleable words). Example:\n```javascript\ncompressed_ast.figure_out_scope();\ncompressed_ast.compute_char_frequency();\ncompressed_ast.mangle_names();\n```\n\n#### Generating output\n\nAST nodes have a `print` method that takes an output stream. Essentially,\nto generate code you do this:\n```javascript\nvar stream = UglifyJS.OutputStream(options);\ncompressed_ast.print(stream);\nvar code = stream.toString(); // this is your minified code\n```\n\nor, for a shortcut you can do:\n```javascript\nvar code = compressed_ast.print_to_string(options);\n```\n\nAs usual, `options` is optional. The output stream accepts a lot of otions,\nmost of them documented above in section “Beautifier options”. The two\nwhich we care about here are `source_map` and `comments`.\n\n#### Keeping comments in the output\n\nIn order to keep certain comments in the output you need to pass the\n`comments` option. Pass a RegExp or a function. If you pass a RegExp, only\nthose comments whose body matches the regexp will be kept. Note that body\nmeans without the initial `//` or `/*`. If you pass a function, it will be\ncalled for every comment in the tree and will receive two arguments: the\nnode that the comment is attached to, and the comment token itself.\n\nThe comment token has these properties:\n\n- `type`: "comment1" for single-line comments or "comment2" for multi-line\n comments\n- `value`: the comment body\n- `pos` and `endpos`: the start/end positions (zero-based indexes) in the\n original code where this comment appears\n- `line` and `col`: the line and column where this comment appears in the\n original code\n- `file` — the file name of the original file\n- `nlb` — true if there was a newline before this comment in the original\n code, or if this comment contains a newline.\n\nYour function should return `true` to keep the comment, or a falsy value\notherwise.\n\n#### Generating a source mapping\n\nYou need to pass the `source_map` argument when calling `print`. It needs\nto be a `SourceMap` object (which is a thin wrapper on top of the\n[source-map][source-map] library).\n\nExample:\n```javascript\nvar source_map = UglifyJS.SourceMap(source_map_options);\nvar stream = UglifyJS.OutputStream({\n\t...\n\tsource_map: source_map\n});\ncompressed_ast.print(stream);\n\nvar code = stream.toString();\nvar map = source_map.toString(); // json output for your source map\n```\n\nThe `source_map_options` (optional) can contain the following properties:\n\n- `file`: the name of the JavaScript output file that this mapping refers to\n- `root`: the `sourceRoot` property (see the [spec][sm-spec])\n- `orig`: the "original source map", handy when you compress generated JS\n and want to map the minified output back to the original code where it\n came from. It can be simply a string in JSON, or a JSON object containing\n the original source map.\n\n [acorn]: https://github.com/marijnh/acorn\n [source-map]: https://github.com/mozilla/source-map\n [sm-spec]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n [codegen]: http://lisperator.net/uglifyjs/codegen\n [compressor]: http://lisperator.net/uglifyjs/compress\n',
8351 silly resolved readmeFilename: 'README.md',
8351 silly resolved bugs: { url: 'https://github.com/mishoo/UglifyJS2/issues' },
8351 silly resolved _id: 'uglify-js@2.4.7',
8351 silly resolved dist: { shasum: '9f3b5bd1c657d16aaad7134a7adbeaa88e67c5ae' },
8351 silly resolved _from: 'uglify-js@~2.4.0',
8351 silly resolved _resolved: 'https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.7.tgz' } ]
8352 info install grunt-lib-contrib@0.6.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify
8353 info install uglify-js@2.4.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify
8354 info installOne grunt-lib-contrib@0.6.1
8355 info installOne uglify-js@2.4.7
8356 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib unbuild
8357 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js unbuild
8358 verbose tar unpack /home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8359 silly lockFile 35cfc208-y-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib
8360 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib /home/spike/.npm/35cfc208-y-node-modules-grunt-lib-contrib.lock
8361 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8362 verbose lock tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz /home/spike/.npm/b3fc8f97-nt-lib-contrib-0-6-1-package-tgz.lock
8363 verbose tar unpack /home/spike/.npm/uglify-js/2.4.7/package.tgz
8364 silly lockFile af11f306-ib-uglify-node-modules-uglify-js tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js
8365 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js /home/spike/.npm/af11f306-ib-uglify-node-modules-uglify-js.lock
8366 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8367 verbose lock tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz /home/spike/.npm/bb4d1e6d--npm-uglify-js-2-4-7-package-tgz.lock
8368 silly gunzTarPerm modes [ '755', '644' ]
8369 silly gunzTarPerm modes [ '755', '644' ]
8370 silly gunzTarPerm extractEntry package.json
8371 silly gunzTarPerm extractEntry package.json
8372 silly gunzTarPerm extractEntry .npmignore
8373 silly gunzTarPerm extractEntry README.md
8374 silly gunzTarPerm extractEntry .npmignore
8375 silly gunzTarPerm extractEntry README.md
8376 silly gunzTarPerm extractEntry Gruntfile.js
8377 silly gunzTarPerm extractEntry AUTHORS
8378 silly gunzTarPerm extractEntry LICENSE
8379 silly gunzTarPerm extractEntry CHANGELOG
8380 silly gunzTarPerm extractEntry .jshintrc
8381 silly gunzTarPerm extractEntry .travis.yml
8382 silly gunzTarPerm extractEntry bin/uglifyjs
8383 silly gunzTarPerm extractEntry LICENSE-MIT
8384 silly gunzTarPerm extractEntry .gitattributes
8385 silly gunzTarPerm extractEntry lib/contrib.js
8386 silly gunzTarPerm extractEntry .travis.yml
8387 silly gunzTarPerm extractEntry test/lib_test.js
8388 silly gunzTarPerm extractEntry lib/ast.js
8389 silly gunzTarPerm extractEntry lib/compress.js
8390 silly gunzTarPerm extractEntry lib/mozilla-ast.js
8391 silly gunzTarPerm extractEntry lib/output.js
8392 silly gunzTarPerm extractEntry lib/parse.js
8393 silly gunzTarPerm extractEntry lib/scope.js
8394 silly gunzTarPerm extractEntry lib/sourcemap.js
8395 silly gunzTarPerm extractEntry lib/transform.js
8396 silly lockFile 35cfc208-y-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib
8397 silly lockFile 35cfc208-y-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib
8398 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8399 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8400 info preinstall grunt-lib-contrib@0.6.1
8401 verbose readDependencies using package.json deps
8402 verbose readDependencies using package.json deps
8403 verbose cache add [ 'zlib-browserify@0.0.1', null ]
8404 verbose cache add name=undefined spec="zlib-browserify@0.0.1" args=["zlib-browserify@0.0.1",null]
8405 verbose parsed url { protocol: null,
8405 verbose parsed url slashes: null,
8405 verbose parsed url auth: null,
8405 verbose parsed url host: null,
8405 verbose parsed url port: null,
8405 verbose parsed url hostname: null,
8405 verbose parsed url hash: null,
8405 verbose parsed url search: null,
8405 verbose parsed url query: null,
8405 verbose parsed url pathname: 'zlib-browserify@0.0.1',
8405 verbose parsed url path: 'zlib-browserify@0.0.1',
8405 verbose parsed url href: 'zlib-browserify@0.0.1' }
8406 verbose cache add name="zlib-browserify" spec="0.0.1" args=["zlib-browserify","0.0.1"]
8407 verbose parsed url { protocol: null,
8407 verbose parsed url slashes: null,
8407 verbose parsed url auth: null,
8407 verbose parsed url host: null,
8407 verbose parsed url port: null,
8407 verbose parsed url hostname: null,
8407 verbose parsed url hash: null,
8407 verbose parsed url search: null,
8407 verbose parsed url query: null,
8407 verbose parsed url pathname: '0.0.1',
8407 verbose parsed url path: '0.0.1',
8407 verbose parsed url href: '0.0.1' }
8408 verbose addNamed [ 'zlib-browserify', '0.0.1' ]
8409 silly gunzTarPerm extractEntry lib/utils.js
8410 silly gunzTarPerm extractEntry test/run-tests.js
8411 silly gunzTarPerm extractEntry test/compress/arrays.js
8412 silly gunzTarPerm extractEntry test/compress/issue-12.js
8413 silly gunzTarPerm extractEntry test/compress/issue-126.js
8414 silly gunzTarPerm extractEntry test/compress/issue-143.js
8415 silly gunzTarPerm extractEntry test/compress/issue-105.js
8416 silly gunzTarPerm extractEntry test/compress/issue-267.js
8417 silly gunzTarPerm extractEntry test/compress/issue-269.js
8418 silly gunzTarPerm extractEntry test/compress/issue-44.js
8419 silly gunzTarPerm extractEntry test/compress/issue-59.js
8420 silly gunzTarPerm extractEntry test/compress/labels.js
8421 silly gunzTarPerm extractEntry test/compress/drop-unused.js
8422 silly gunzTarPerm extractEntry test/compress/loops.js
8423 silly gunzTarPerm extractEntry test/compress/debugger.js
8424 silly gunzTarPerm extractEntry test/compress/negate-iife.js
8425 silly gunzTarPerm extractEntry test/compress/dead-code.js
8426 silly gunzTarPerm extractEntry test/compress/properties.js
8427 silly gunzTarPerm extractEntry test/compress/conditionals.js
8428 silly gunzTarPerm extractEntry test/compress/sequences.js
8429 silly gunzTarPerm extractEntry test/compress/concat-strings.js
8430 silly gunzTarPerm extractEntry test/compress/switch.js
8431 silly gunzTarPerm extractEntry test/compress/blocks.js
8432 silly gunzTarPerm extractEntry test/compress/typeof.js
8433 silly gunzTarPerm extractEntry test/compress/issue-22.js
8434 silly gunzTarPerm extractEntry tools/node.js
8435 silly lockFile af11f306-ib-uglify-node-modules-uglify-js tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js
8436 silly lockFile af11f306-ib-uglify-node-modules-uglify-js tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js
8437 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8438 silly lockFile bb4d1e6d--npm-uglify-js-2-4-7-package-tgz tar:///home/spike/.npm/uglify-js/2.4.7/package.tgz
8439 info preinstall uglify-js@2.4.7
8440 verbose readDependencies using package.json deps
8441 verbose readDependencies using package.json deps
8442 verbose cache add [ 'async@~0.2.6', null ]
8443 verbose cache add name=undefined spec="async@~0.2.6" args=["async@~0.2.6",null]
8444 verbose parsed url { protocol: null,
8444 verbose parsed url slashes: null,
8444 verbose parsed url auth: null,
8444 verbose parsed url host: null,
8444 verbose parsed url port: null,
8444 verbose parsed url hostname: null,
8444 verbose parsed url hash: null,
8444 verbose parsed url search: null,
8444 verbose parsed url query: null,
8444 verbose parsed url pathname: 'async@~0.2.6',
8444 verbose parsed url path: 'async@~0.2.6',
8444 verbose parsed url href: 'async@~0.2.6' }
8445 verbose cache add name="async" spec="~0.2.6" args=["async","~0.2.6"]
8446 verbose parsed url { protocol: null,
8446 verbose parsed url slashes: null,
8446 verbose parsed url auth: null,
8446 verbose parsed url host: null,
8446 verbose parsed url port: null,
8446 verbose parsed url hostname: null,
8446 verbose parsed url hash: null,
8446 verbose parsed url search: null,
8446 verbose parsed url query: null,
8446 verbose parsed url pathname: '~0.2.6',
8446 verbose parsed url path: '~0.2.6',
8446 verbose parsed url href: '~0.2.6' }
8447 verbose addNamed [ 'async', '~0.2.6' ]
8448 verbose addNamed [ null, '>=0.2.6-0 <0.3.0-0' ]
8449 silly lockFile e00b1d77-async-0-2-6 async@~0.2.6
8450 verbose lock async@~0.2.6 /home/spike/.npm/e00b1d77-async-0-2-6.lock
8451 verbose cache add [ 'source-map@~0.1.7', null ]
8452 verbose cache add name=undefined spec="source-map@~0.1.7" args=["source-map@~0.1.7",null]
8453 verbose parsed url { protocol: null,
8453 verbose parsed url slashes: null,
8453 verbose parsed url auth: null,
8453 verbose parsed url host: null,
8453 verbose parsed url port: null,
8453 verbose parsed url hostname: null,
8453 verbose parsed url hash: null,
8453 verbose parsed url search: null,
8453 verbose parsed url query: null,
8453 verbose parsed url pathname: 'source-map@~0.1.7',
8453 verbose parsed url path: 'source-map@~0.1.7',
8453 verbose parsed url href: 'source-map@~0.1.7' }
8454 verbose cache add name="source-map" spec="~0.1.7" args=["source-map","~0.1.7"]
8455 verbose parsed url { protocol: null,
8455 verbose parsed url slashes: null,
8455 verbose parsed url auth: null,
8455 verbose parsed url host: null,
8455 verbose parsed url port: null,
8455 verbose parsed url hostname: null,
8455 verbose parsed url hash: null,
8455 verbose parsed url search: null,
8455 verbose parsed url query: null,
8455 verbose parsed url pathname: '~0.1.7',
8455 verbose parsed url path: '~0.1.7',
8455 verbose parsed url href: '~0.1.7' }
8456 verbose addNamed [ 'source-map', '~0.1.7' ]
8457 verbose addNamed [ null, '>=0.1.7-0 <0.2.0-0' ]
8458 silly lockFile 19b4245f-source-map-0-1-7 source-map@~0.1.7
8459 verbose lock source-map@~0.1.7 /home/spike/.npm/19b4245f-source-map-0-1-7.lock
8460 verbose cache add [ 'optimist@~0.3.5', null ]
8461 verbose cache add name=undefined spec="optimist@~0.3.5" args=["optimist@~0.3.5",null]
8462 verbose parsed url { protocol: null,
8462 verbose parsed url slashes: null,
8462 verbose parsed url auth: null,
8462 verbose parsed url host: null,
8462 verbose parsed url port: null,
8462 verbose parsed url hostname: null,
8462 verbose parsed url hash: null,
8462 verbose parsed url search: null,
8462 verbose parsed url query: null,
8462 verbose parsed url pathname: 'optimist@~0.3.5',
8462 verbose parsed url path: 'optimist@~0.3.5',
8462 verbose parsed url href: 'optimist@~0.3.5' }
8463 verbose cache add name="optimist" spec="~0.3.5" args=["optimist","~0.3.5"]
8464 verbose parsed url { protocol: null,
8464 verbose parsed url slashes: null,
8464 verbose parsed url auth: null,
8464 verbose parsed url host: null,
8464 verbose parsed url port: null,
8464 verbose parsed url hostname: null,
8464 verbose parsed url hash: null,
8464 verbose parsed url search: null,
8464 verbose parsed url query: null,
8464 verbose parsed url pathname: '~0.3.5',
8464 verbose parsed url path: '~0.3.5',
8464 verbose parsed url href: '~0.3.5' }
8465 verbose addNamed [ 'optimist', '~0.3.5' ]
8466 verbose addNamed [ null, '>=0.3.5-0 <0.4.0-0' ]
8467 silly lockFile a1f99b53-optimist-0-3-5 optimist@~0.3.5
8468 verbose lock optimist@~0.3.5 /home/spike/.npm/a1f99b53-optimist-0-3-5.lock
8469 verbose cache add [ 'uglify-to-browserify@~1.0.0', null ]
8470 verbose cache add name=undefined spec="uglify-to-browserify@~1.0.0" args=["uglify-to-browserify@~1.0.0",null]
8471 verbose parsed url { protocol: null,
8471 verbose parsed url slashes: null,
8471 verbose parsed url auth: null,
8471 verbose parsed url host: null,
8471 verbose parsed url port: null,
8471 verbose parsed url hostname: null,
8471 verbose parsed url hash: null,
8471 verbose parsed url search: null,
8471 verbose parsed url query: null,
8471 verbose parsed url pathname: 'uglify-to-browserify@~1.0.0',
8471 verbose parsed url path: 'uglify-to-browserify@~1.0.0',
8471 verbose parsed url href: 'uglify-to-browserify@~1.0.0' }
8472 verbose cache add name="uglify-to-browserify" spec="~1.0.0" args=["uglify-to-browserify","~1.0.0"]
8473 verbose parsed url { protocol: null,
8473 verbose parsed url slashes: null,
8473 verbose parsed url auth: null,
8473 verbose parsed url host: null,
8473 verbose parsed url port: null,
8473 verbose parsed url hostname: null,
8473 verbose parsed url hash: null,
8473 verbose parsed url search: null,
8473 verbose parsed url query: null,
8473 verbose parsed url pathname: '~1.0.0',
8473 verbose parsed url path: '~1.0.0',
8473 verbose parsed url href: '~1.0.0' }
8474 verbose addNamed [ 'uglify-to-browserify', '~1.0.0' ]
8475 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
8476 silly lockFile 8d4498e3-uglify-to-browserify-1-0-0 uglify-to-browserify@~1.0.0
8477 verbose lock uglify-to-browserify@~1.0.0 /home/spike/.npm/8d4498e3-uglify-to-browserify-1-0-0.lock
8478 silly addNameRange { name: 'async', range: '>=0.2.6-0 <0.3.0-0', hasData: false }
8479 silly addNameRange { name: 'source-map',
8479 silly addNameRange range: '>=0.1.7-0 <0.2.0-0',
8479 silly addNameRange hasData: false }
8480 silly addNameRange { name: 'optimist', range: '>=0.3.5-0 <0.4.0-0', hasData: false }
8481 silly addNameRange { name: 'uglify-to-browserify',
8481 silly addNameRange range: '>=1.0.0-0 <1.1.0-0',
8481 silly addNameRange hasData: false }
8482 verbose url raw optimist
8483 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
8484 verbose url resolved https://registry.npmjs.org/optimist
8485 info trying registry request attempt 1 at 11:44:46
8486 verbose etag "OS1IEUGBR7XWJDXTC6RY7ZN0"
8487 http GET https://registry.npmjs.org/optimist
8488 verbose url raw source-map
8489 verbose url resolving [ 'https://registry.npmjs.org/', './source-map' ]
8490 verbose url resolved https://registry.npmjs.org/source-map
8491 info trying registry request attempt 1 at 11:44:46
8492 verbose etag "7E1SNKADWHLBD34TA7832SUWA"
8493 http GET https://registry.npmjs.org/source-map
8494 verbose registry.get async not expired, no request
8495 silly addNameRange number 2 { name: 'async', range: '>=0.2.6-0 <0.3.0-0', hasData: true }
8496 silly addNameRange versions [ 'async',
8496 silly addNameRange [ '0.1.0',
8496 silly addNameRange '0.1.1',
8496 silly addNameRange '0.1.2',
8496 silly addNameRange '0.1.3',
8496 silly addNameRange '0.1.4',
8496 silly addNameRange '0.1.5',
8496 silly addNameRange '0.1.6',
8496 silly addNameRange '0.1.7',
8496 silly addNameRange '0.1.8',
8496 silly addNameRange '0.1.9',
8496 silly addNameRange '0.1.10',
8496 silly addNameRange '0.1.11',
8496 silly addNameRange '0.1.12',
8496 silly addNameRange '0.1.13',
8496 silly addNameRange '0.1.14',
8496 silly addNameRange '0.1.15',
8496 silly addNameRange '0.1.16',
8496 silly addNameRange '0.1.17',
8496 silly addNameRange '0.1.18',
8496 silly addNameRange '0.1.19',
8496 silly addNameRange '0.1.20',
8496 silly addNameRange '0.1.21',
8496 silly addNameRange '0.1.22',
8496 silly addNameRange '0.2.0',
8496 silly addNameRange '0.2.1',
8496 silly addNameRange '0.2.2',
8496 silly addNameRange '0.2.3',
8496 silly addNameRange '0.2.4',
8496 silly addNameRange '0.2.5',
8496 silly addNameRange '0.2.6',
8496 silly addNameRange '0.2.7',
8496 silly addNameRange '0.2.8',
8496 silly addNameRange '0.2.9' ] ]
8497 verbose addNamed [ 'async', '0.2.9' ]
8498 verbose addNamed [ '0.2.9', '0.2.9' ]
8499 silly lockFile be62480b-async-0-2-9 async@0.2.9
8500 verbose lock async@0.2.9 /home/spike/.npm/be62480b-async-0-2-9.lock
8501 silly lockFile be62480b-async-0-2-9 async@0.2.9
8502 silly lockFile be62480b-async-0-2-9 async@0.2.9
8503 verbose url raw uglify-to-browserify
8504 verbose url resolving [ 'https://registry.npmjs.org/', './uglify-to-browserify' ]
8505 verbose url resolved https://registry.npmjs.org/uglify-to-browserify
8506 info trying registry request attempt 1 at 11:44:46
8507 verbose etag "9P5P8PAAUQI16CE3E1JIIS31J"
8508 http GET https://registry.npmjs.org/uglify-to-browserify
8509 silly lockFile e00b1d77-async-0-2-6 async@~0.2.6
8510 silly lockFile e00b1d77-async-0-2-6 async@~0.2.6
8511 http 200 https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz
8512 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/tmp.tgz
8513 silly lockFile 7f4603bf-684988-0-751049943966791-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package
8514 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package /home/spike/.npm/7f4603bf-684988-0-751049943966791-package.lock
8515 silly lockFile 31311bdf-684988-0-751049943966791-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/tmp.tgz
8516 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/tmp.tgz /home/spike/.npm/31311bdf-684988-0-751049943966791-tmp-tgz.lock
8517 silly gunzTarPerm modes [ '755', '644' ]
8518 silly gunzTarPerm extractEntry package.json
8519 silly gunzTarPerm extractEntry README.md
8520 silly gunzTarPerm extractEntry LICENSE
8521 silly gunzTarPerm extractEntry index.js
8522 silly gunzTarPerm extractEntry bin/cleancss
8523 silly gunzTarPerm extractEntry History.md
8524 silly gunzTarPerm extractEntry lib/clean.js
8525 silly gunzTarPerm extractEntry lib/colors/hsl-to-hex.js
8526 silly gunzTarPerm extractEntry lib/colors/long-to-short-hex.js
8527 silly gunzTarPerm extractEntry lib/colors/rgb-to-hex.js
8528 silly gunzTarPerm extractEntry lib/colors/shortener.js
8529 silly gunzTarPerm extractEntry lib/images/url-rebase.js
8530 silly gunzTarPerm extractEntry lib/images/url-rewriter.js
8531 silly gunzTarPerm extractEntry lib/imports/inliner.js
8532 silly gunzTarPerm extractEntry lib/properties/optimizer.js
8533 silly gunzTarPerm extractEntry lib/properties/shorthand-notations.js
8534 silly gunzTarPerm extractEntry lib/selectors/empty-removal.js
8535 silly gunzTarPerm extractEntry lib/selectors/optimizer.js
8536 silly gunzTarPerm extractEntry lib/selectors/tokenizer.js
8537 silly gunzTarPerm extractEntry lib/text/comments.js
8538 silly gunzTarPerm extractEntry lib/text/escape-store.js
8539 silly gunzTarPerm extractEntry lib/text/expressions.js
8540 silly gunzTarPerm extractEntry lib/text/free.js
8541 silly gunzTarPerm extractEntry lib/text/urls.js
8542 silly lockFile 7f4603bf-684988-0-751049943966791-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package
8543 silly lockFile 7f4603bf-684988-0-751049943966791-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package
8544 silly lockFile 31311bdf-684988-0-751049943966791-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/tmp.tgz
8545 silly lockFile 31311bdf-684988-0-751049943966791-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/tmp.tgz
8546 verbose tar pack [ '/home/spike/.npm/clean-css/2.0.2/package.tgz',
8546 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package' ]
8547 verbose tarball /home/spike/.npm/clean-css/2.0.2/package.tgz
8548 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package
8549 silly lockFile 7f4603bf-684988-0-751049943966791-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package
8550 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package /home/spike/.npm/7f4603bf-684988-0-751049943966791-package.lock
8551 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8552 verbose lock tar:///home/spike/.npm/clean-css/2.0.2/package.tgz /home/spike/.npm/3a8adb5c--npm-clean-css-2-0-2-package-tgz.lock
8553 silly lockFile 7f4603bf-684988-0-751049943966791-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package
8554 silly lockFile 7f4603bf-684988-0-751049943966791-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190684988-0.751049943966791/package
8555 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8556 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8557 silly lockFile 05e98950-pike-npm-clean-css-2-0-2-package /home/spike/.npm/clean-css/2.0.2/package
8558 verbose lock /home/spike/.npm/clean-css/2.0.2/package /home/spike/.npm/05e98950-pike-npm-clean-css-2-0-2-package.lock
8559 silly lockFile 05e98950-pike-npm-clean-css-2-0-2-package /home/spike/.npm/clean-css/2.0.2/package
8560 silly lockFile 05e98950-pike-npm-clean-css-2-0-2-package /home/spike/.npm/clean-css/2.0.2/package
8561 verbose tar unpack /home/spike/.npm/clean-css/2.0.2/package.tgz
8562 silly lockFile 914ebe1a-pike-npm-clean-css-2-0-2-package tar:///home/spike/.npm/clean-css/2.0.2/package
8563 verbose lock tar:///home/spike/.npm/clean-css/2.0.2/package /home/spike/.npm/914ebe1a-pike-npm-clean-css-2-0-2-package.lock
8564 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8565 verbose lock tar:///home/spike/.npm/clean-css/2.0.2/package.tgz /home/spike/.npm/3a8adb5c--npm-clean-css-2-0-2-package-tgz.lock
8566 silly gunzTarPerm modes [ '755', '644' ]
8567 silly gunzTarPerm extractEntry package.json
8568 silly gunzTarPerm extractEntry README.md
8569 silly gunzTarPerm extractEntry LICENSE
8570 silly gunzTarPerm extractEntry index.js
8571 silly gunzTarPerm extractEntry History.md
8572 silly gunzTarPerm extractEntry bin/cleancss
8573 silly gunzTarPerm extractEntry lib/clean.js
8574 silly gunzTarPerm extractEntry lib/colors/hsl-to-hex.js
8575 silly gunzTarPerm extractEntry lib/colors/long-to-short-hex.js
8576 silly gunzTarPerm extractEntry lib/colors/rgb-to-hex.js
8577 silly gunzTarPerm extractEntry lib/colors/shortener.js
8578 silly gunzTarPerm extractEntry lib/images/url-rebase.js
8579 silly gunzTarPerm extractEntry lib/images/url-rewriter.js
8580 silly gunzTarPerm extractEntry lib/imports/inliner.js
8581 silly gunzTarPerm extractEntry lib/properties/optimizer.js
8582 silly gunzTarPerm extractEntry lib/properties/shorthand-notations.js
8583 silly gunzTarPerm extractEntry lib/selectors/empty-removal.js
8584 silly gunzTarPerm extractEntry lib/selectors/optimizer.js
8585 silly gunzTarPerm extractEntry lib/selectors/tokenizer.js
8586 silly gunzTarPerm extractEntry lib/text/comments.js
8587 silly gunzTarPerm extractEntry lib/text/escape-store.js
8588 silly gunzTarPerm extractEntry lib/text/expressions.js
8589 silly gunzTarPerm extractEntry lib/text/free.js
8590 silly gunzTarPerm extractEntry lib/text/urls.js
8591 silly lockFile 914ebe1a-pike-npm-clean-css-2-0-2-package tar:///home/spike/.npm/clean-css/2.0.2/package
8592 silly lockFile 914ebe1a-pike-npm-clean-css-2-0-2-package tar:///home/spike/.npm/clean-css/2.0.2/package
8593 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8594 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8595 verbose chmod /home/spike/.npm/clean-css/2.0.2/package.tgz 644
8596 verbose chown /home/spike/.npm/clean-css/2.0.2/package.tgz [ 1000, 1000 ]
8597 silly lockFile bc2e36b8-rg-clean-css-clean-css-2-0-2-tgz https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz
8598 silly lockFile bc2e36b8-rg-clean-css-clean-css-2-0-2-tgz https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz
8599 silly lockFile c153d1be-clean-css-2-0-2 clean-css@2.0.2
8600 silly lockFile c153d1be-clean-css-2-0-2 clean-css@2.0.2
8601 silly lockFile 434cf0e0-clean-css-2-0-0 clean-css@~2.0.0
8602 silly lockFile 434cf0e0-clean-css-2-0-0 clean-css@~2.0.0
8603 silly resolved [ { name: 'grunt-lib-contrib',
8603 silly resolved description: 'Common functionality shared across grunt-contrib tasks.',
8603 silly resolved version: '0.6.1',
8603 silly resolved homepage: 'http://github.com/gruntjs/grunt-lib-contrib',
8603 silly resolved author: { name: 'Grunt Team', url: 'http://gruntjs.com/' },
8603 silly resolved repository:
8603 silly resolved { type: 'git',
8603 silly resolved url: 'git://github.com/gruntjs/grunt-lib-contrib.git' },
8603 silly resolved bugs: { url: 'https://github.com/gruntjs/grunt-lib-contrib/issues' },
8603 silly resolved licenses: [ [Object] ],
8603 silly resolved engines: { node: '>= 0.8.0' },
8603 silly resolved scripts: { test: 'grunt test' },
8603 silly resolved devDependencies:
8603 silly resolved { 'grunt-contrib-jshint': '~0.1.1',
8603 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
8603 silly resolved grunt: '~0.4.0' },
8603 silly resolved main: 'lib/contrib',
8603 silly resolved dependencies: { 'zlib-browserify': '0.0.1' },
8603 silly resolved contributors: [ [Object], [Object], [Object], [Object] ],
8603 silly resolved readme: '# grunt-lib-contrib [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-lib-contrib.png?branch=master)](http://travis-ci.org/gruntjs/grunt-lib-contrib)\n\n> Common functionality shared across grunt-contrib tasks.\n\nThe purpose of grunt-lib-contrib is to explore solutions to common problems task writers encounter, and to ease the upgrade path for contrib tasks.\n\n**These APIs should be considered highly unstable. Depend on them at your own risk!**\n\n_Over time, some of the functionality provided here may be incorporated directly into grunt for mainstream use. Until then, you may require `grunt-lib-contrib` as a dependency in your projects, but be very careful to specify an exact version number instead of a range, as backwards-incompatible changes are likely to be introduced._\n\n### Helper Functions\n\n#### getNamespaceDeclaration(ns)\n\nThis helper is used to build JS namespace declarations.\n\n#### optsToArgs(options)\n\nConvert an object to an array of CLI arguments, which can be used with `child_process.spawn()`.\n\n```js\n// Example\n{\n fooBar: \'a\', // [\'--foo-bar\', \'a\']\n fooBar: 1, // [\'--foo-bar\', \'1\']\n fooBar: true, // [\'--foo-bar\']\n fooBar: false, //\n fooBar: [\'a\', \'b\'] // [\'--foo-bar\', \'a\', \'--foo-bar\', \'b\']\n}\n```\n\n#### stripPath(pth, strip)\n\nStrip a path from a path. normalize both paths for best results.\n\n#### minMaxInfo(min, max, report)\n\nHelper for logging compressed, uncompressed and gzipped sizes of strings.\n\n#### report\nChoices: `false`, `\'min\'`, `\'gzip\'`\nDefault: `false`\n\nEither do not report anything, report only minification result, or report minification and gzip results.\n\n**Important** Including `\'gzip\'` results can make this task 5-10x slower depending on the size of the file.\n\n\n```js\nvar max = grunt.file.read(\'max.js\');\nvar min = minify(max);\nminMaxInfo(min, max, \'gzip\');\n```\n\nWould print:\n\n```\nOriginal: 495 bytes.\nMinified: 396 bytes.\nGzipped: 36 bytes.\n```\n\n--\n\n*Lib submitted by [Tyler Kellen](https://goingslowly.com/).*',
8603 silly resolved readmeFilename: 'README.md',
8603 silly resolved _id: 'grunt-lib-contrib@0.6.1',
8603 silly resolved _from: 'grunt-lib-contrib@~0.6.0' },
8603 silly resolved { name: 'clean-css',
8603 silly resolved version: '2.0.2',
8603 silly resolved author:
8603 silly resolved { name: 'Jakub Pawlowicz',
8603 silly resolved email: 'jakub@goalsmashers.com',
8603 silly resolved url: 'http://twitter.com/GoalSmashers' },
8603 silly resolved description: 'A well-tested CSS minifier',
8603 silly resolved license: 'MIT',
8603 silly resolved keywords: [ 'css', 'minifier' ],
8603 silly resolved homepage: 'https://github.com/GoalSmashers/clean-css',
8603 silly resolved repository:
8603 silly resolved { type: 'git',
8603 silly resolved url: 'https://github.com/GoalSmashers/clean-css.git' },
8603 silly resolved bugs: { url: 'https://github.com/GoalSmashers/clean-css/issues' },
8603 silly resolved bin: { cleancss: './bin/cleancss' },
8603 silly resolved main: 'index.js',
8603 silly resolved files: [ 'bin', 'lib', 'History.md', 'index.js', 'LICENSE' ],
8603 silly resolved scripts:
8603 silly resolved { bench: 'node ./test/bench.js',
8603 silly resolved check: 'jshint .',
8603 silly resolved prepublish: 'jshint .',
8603 silly resolved test: 'vows' },
8603 silly resolved dependencies: { commander: '2.0.x' },
8603 silly resolved devDependencies: { jshint: '2.3.x', vows: '0.7.x' },
8603 silly resolved jshintConfig:
8603 silly resolved { browser: false,
8603 silly resolved camelcase: true,
8603 silly resolved curly: false,
8603 silly resolved eqeqeq: false,
8603 silly resolved eqnull: true,
8603 silly resolved immed: true,
8603 silly resolved latedef: true,
8603 silly resolved multistr: true,
8603 silly resolved noarg: true,
8603 silly resolved node: true,
8603 silly resolved plusplus: false,
8603 silly resolved quotmark: 'single',
8603 silly resolved strict: false,
8603 silly resolved trailing: true,
8603 silly resolved undef: true,
8603 silly resolved unused: true },
8603 silly resolved engines: { node: '>=0.8.0' },
8603 silly resolved readme: '[![NPM version](https://badge.fury.io/js/clean-css.png)](https://badge.fury.io/js/clean-css)\n[![Build Status](https://secure.travis-ci.org/GoalSmashers/clean-css.png)](https://travis-ci.org/GoalSmashers/clean-css)\n[![Dependency Status](https://david-dm.org/GoalSmashers/clean-css.png)](https://david-dm.org/GoalSmashers/clean-css)\n[![devDependency Status](https://david-dm.org/GoalSmashers/clean-css/dev-status.png)](https://david-dm.org/GoalSmashers/clean-css#info=devDependencies)\n\n## What is clean-css?\n\nClean-css is a fast and efficient [node.js](http://nodejs.org/) library for minifying CSS files.\n\nAccording to [tests](https://github.com/GoalSmashers/css-minification-benchmark) it is one of the best available.\n\n\n## Usage\n\n### What are the requirements?\n\n```\nnode.js 0.8.0+ (tested on CentOS, Ubuntu, OS X 10.6+, and Windows 7+)\n```\n\n### How to install clean-css?\n\n```\nnpm install clean-css\n```\n\n### How to upgrade clean-css from 1.x to 2.x?\n\n#### Command-line interface (CLI)\n\n```\nnpm update clean-css\n```\n\nor point `package.json` to version 2.x. That\'s it!\n\n#### Node.js module\n\nUpdate `clean-css` as for CLI above.\nThen change your JavaScript code from:\n\n```js\nvar minimized = CleanCSS.process(source, options);\n```\n\ninto\n\n```js\nvar minimized = new CleanCSS(options).minify(source);\n```\n\nAnd you are done.\n\n### How to use clean-css CLI?\n\nClean-css accepts the following command line arguments (please make sure\nyou use `<source-file>` as the very last argument to avoid potential issues):\n\n```\ncleancss [options] <source-file>\n\n-h, --help Output usage information\n-v, --version Output the version number\n-b, --keep-line-breaks Keep line breaks\n--s0 Remove all special comments, i.e. /*! comment */\n--s1 Remove all special comments but the first one\n-r, --root [root-path] A root path to which resolve absolute @import rules\n and rebase relative URLs\n-o, --output [output-file] Use [output-file] as output instead of STDOUT\n-s, --skip-import Disable @import processing\n--skip-rebase Disable URLs rebasing\n--skip-advanced Disable advanced optimizations - selector & property merging,\n reduction, etc.\n--selectors-merge-mode [ie8|*] Use `ie8` for compatibility mode, `*` for merge all (default)\n-d, --debug Shows debug information (minification time & compression efficiency)\n```\n\n#### Examples:\n\nTo minify a **public.css** file into **public-min.css** do:\n\n```\ncleancss -o public-min.css public.css\n```\n\nTo minify the same **public.css** into the standard output skip the `-o` parameter:\n\n```\ncleancss public.css\n```\n\nMore likely you would like to concatenate a couple of files.\nIf you are on a Unix-like system:\n\n```bash\ncat one.css two.css three.css | cleancss -o merged-and-minified.css\n```\n\nOn Windows:\n\n```bat\ntype one.css two.css three.css | cleancss -o merged-and-minified.css\n```\n\nOr even gzip the result at once:\n\n```bash\ncat one.css two.css three.css | cleancss | gzip -9 -c > merged-minified-and-gzipped.css.gz\n```\n\n### How to use clean-css programmatically?\n\n```js\nvar CleanCSS = require(\'clean-css\');\nvar source = \'a{font-weight:bold;}\';\nvar minimized = new CleanCSS().minify(source);\n```\n\nCleanCSS constructor accepts a hash as a parameter, i.e.,\n`new CleanCSS(options).minify(source)` with the following options available:\n\n* `keepSpecialComments` - `*` for keeping all (default), `1` for keeping first one only, `0` for removing all\n* `keepBreaks` - whether to keep line breaks (default is false)\n* `benchmark` - turns on benchmarking mode measuring time spent on cleaning up\n (run `npm run bench` to see example)\n* `root` - path to resolve absolute `@import` rules and rebase relative URLs\n* `relativeTo` - path with which to resolve relative `@import` rules and URLs\n* `processImport` - whether to process `@import` rules\n* `noRebase` - whether to skip URLs rebasing\n* `noAdvanced` - set to true to disable advanced optimizations - selector & property merging, reduction, etc.\n* `selectorsMergeMode` - `ie8` for IE8 compatibility mode, `*` for merging all (default)\n* `debug` - set to true to get minification statistics under `stats` property (see `test/custom-test.js` for examples)\n\n### What are the clean-css\' dev commands?\n\nFirst clone the source, then run:\n\n* `npm run bench` for clean-css benchmarks (see [test/bench.js](https://github.com/GoalSmashers/clean-css/blob/master/test/bench.js) for details)\n* `npm run check` to check JS sources with [JSHint](https://github.com/jshint/jshint/)\n* `npm test` for the test suite\n\n## Tips & Tricks\n\n### How to preserve a comment block?\n\nUse the `/*!` notation instead of the standard one `/*`:\n\n```css\n/*!\n Important comments included in minified output.\n*/\n```\n\n### How to rebase relative image URLs\n\nClean-css will handle it automatically for you (since version 1.1) in the following cases:\n\n* When using the CLI:\n 1. Use an output path via `-o`/`--output` to rebase URLs as relative to the output file.\n 2. Use a root path via `-r`/`--root` to rebase URLs as absolute from the given root path.\n 3. If you specify both then `-r`/`--root` takes precendence.\n* When using clean-css as a library:\n 1. Use a combination of `relativeTo` and `target` options for relative rebase (same as 1 in CLI).\n 2. Use a combination of `relativeTo` and `root` options for absolute rebase (same as 2 in CLI).\n 3. `root` takes precendence over `target` as in CLI.\n\n## Acknowledgments\n\n* Vincent Voyer ([@vvo](https://github.com/vvo)) for a patch with better\n empty element regex and for inspiring us to do many performance improvements\n in 0.4 release.\n* Isaac ([@facelessuser](https://github.com/facelessuser)) for pointing out\n a flaw in clean-css\' stateless mode.\n* Jan Michael Alonzo ([@jmalonzo](https://github.com/jmalonzo)) for a patch\n removing node.js\' old `sys` package.\n* [@XhmikosR](https://github.com/XhmikosR) for suggesting new features\n (option to remove special comments and strip out URLs quotation) and\n pointing out numerous improvements (JSHint, media queries).\n* Anthony Barre ([@abarre](https://github.com/abarre)) for improvements to\n `@import` processing, namely introducing the `--skip-import` /\n `processImport` options.\n* Simon Altschuler ([@altschuler](https://github.com/altschuler)) for fixing\n `@import` processing inside comments.\n\n## License\n\nClean-css is released under the [MIT License](https://github.com/GoalSmashers/clean-css/blob/master/LICENSE).\n',
8603 silly resolved readmeFilename: 'README.md',
8603 silly resolved _id: 'clean-css@2.0.2',
8603 silly resolved dist: { shasum: 'a41d10120d0325416af6bc96521c65e2637ed282' },
8603 silly resolved _from: 'clean-css@~2.0.0',
8603 silly resolved _resolved: 'https://registry.npmjs.org/clean-css/-/clean-css-2.0.2.tgz' } ]
8604 info install grunt-lib-contrib@0.6.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin
8605 info install clean-css@2.0.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin
8606 info installOne grunt-lib-contrib@0.6.1
8607 info installOne clean-css@2.0.2
8608 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib unbuild
8609 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/clean-css unbuild
8610 verbose tar unpack /home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8611 silly lockFile 46e1ddf0-n-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib
8612 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib /home/spike/.npm/46e1ddf0-n-node-modules-grunt-lib-contrib.lock
8613 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8614 verbose lock tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz /home/spike/.npm/b3fc8f97-nt-lib-contrib-0-6-1-package-tgz.lock
8615 verbose tar unpack /home/spike/.npm/clean-css/2.0.2/package.tgz
8616 silly lockFile 543e0b44-ib-cssmin-node-modules-clean-css tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/clean-css
8617 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/clean-css /home/spike/.npm/543e0b44-ib-cssmin-node-modules-clean-css.lock
8618 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8619 verbose lock tar:///home/spike/.npm/clean-css/2.0.2/package.tgz /home/spike/.npm/3a8adb5c--npm-clean-css-2-0-2-package-tgz.lock
8620 silly gunzTarPerm modes [ '755', '644' ]
8621 silly gunzTarPerm modes [ '755', '644' ]
8622 silly gunzTarPerm extractEntry package.json
8623 silly gunzTarPerm extractEntry package.json
8624 silly gunzTarPerm extractEntry .npmignore
8625 silly gunzTarPerm extractEntry README.md
8626 silly gunzTarPerm extractEntry README.md
8627 silly gunzTarPerm extractEntry LICENSE
8628 silly gunzTarPerm extractEntry Gruntfile.js
8629 silly gunzTarPerm extractEntry AUTHORS
8630 silly gunzTarPerm extractEntry index.js
8631 silly gunzTarPerm extractEntry History.md
8632 silly gunzTarPerm extractEntry CHANGELOG
8633 silly gunzTarPerm extractEntry .jshintrc
8634 silly gunzTarPerm extractEntry LICENSE-MIT
8635 silly gunzTarPerm extractEntry .gitattributes
8636 silly gunzTarPerm extractEntry bin/cleancss
8637 silly gunzTarPerm extractEntry lib/contrib.js
8638 silly gunzTarPerm extractEntry .travis.yml
8639 silly gunzTarPerm extractEntry test/lib_test.js
8640 silly gunzTarPerm extractEntry lib/clean.js
8641 silly gunzTarPerm extractEntry lib/colors/hsl-to-hex.js
8642 silly gunzTarPerm extractEntry lib/colors/long-to-short-hex.js
8643 silly gunzTarPerm extractEntry lib/colors/rgb-to-hex.js
8644 silly gunzTarPerm extractEntry lib/colors/shortener.js
8645 silly gunzTarPerm extractEntry lib/images/url-rebase.js
8646 silly gunzTarPerm extractEntry lib/images/url-rewriter.js
8647 silly gunzTarPerm extractEntry lib/imports/inliner.js
8648 silly gunzTarPerm extractEntry lib/properties/optimizer.js
8649 silly gunzTarPerm extractEntry lib/properties/shorthand-notations.js
8650 silly lockFile 46e1ddf0-n-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib
8651 silly lockFile 46e1ddf0-n-node-modules-grunt-lib-contrib tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib
8652 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8653 silly lockFile b3fc8f97-nt-lib-contrib-0-6-1-package-tgz tar:///home/spike/.npm/grunt-lib-contrib/0.6.1/package.tgz
8654 info preinstall grunt-lib-contrib@0.6.1
8655 silly gunzTarPerm extractEntry lib/selectors/empty-removal.js
8656 silly gunzTarPerm extractEntry lib/selectors/optimizer.js
8657 verbose readDependencies using package.json deps
8658 verbose readDependencies using package.json deps
8659 silly gunzTarPerm extractEntry lib/selectors/tokenizer.js
8660 silly gunzTarPerm extractEntry lib/text/comments.js
8661 silly gunzTarPerm extractEntry lib/text/escape-store.js
8662 silly gunzTarPerm extractEntry lib/text/expressions.js
8663 verbose cache add [ 'zlib-browserify@0.0.1', null ]
8664 verbose cache add name=undefined spec="zlib-browserify@0.0.1" args=["zlib-browserify@0.0.1",null]
8665 verbose parsed url { protocol: null,
8665 verbose parsed url slashes: null,
8665 verbose parsed url auth: null,
8665 verbose parsed url host: null,
8665 verbose parsed url port: null,
8665 verbose parsed url hostname: null,
8665 verbose parsed url hash: null,
8665 verbose parsed url search: null,
8665 verbose parsed url query: null,
8665 verbose parsed url pathname: 'zlib-browserify@0.0.1',
8665 verbose parsed url path: 'zlib-browserify@0.0.1',
8665 verbose parsed url href: 'zlib-browserify@0.0.1' }
8666 verbose cache add name="zlib-browserify" spec="0.0.1" args=["zlib-browserify","0.0.1"]
8667 verbose parsed url { protocol: null,
8667 verbose parsed url slashes: null,
8667 verbose parsed url auth: null,
8667 verbose parsed url host: null,
8667 verbose parsed url port: null,
8667 verbose parsed url hostname: null,
8667 verbose parsed url hash: null,
8667 verbose parsed url search: null,
8667 verbose parsed url query: null,
8667 verbose parsed url pathname: '0.0.1',
8667 verbose parsed url path: '0.0.1',
8667 verbose parsed url href: '0.0.1' }
8668 verbose addNamed [ 'zlib-browserify', '0.0.1' ]
8669 silly gunzTarPerm extractEntry lib/text/free.js
8670 silly gunzTarPerm extractEntry lib/text/urls.js
8671 silly lockFile 543e0b44-ib-cssmin-node-modules-clean-css tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/clean-css
8672 silly lockFile 543e0b44-ib-cssmin-node-modules-clean-css tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/clean-css
8673 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8674 silly lockFile 3a8adb5c--npm-clean-css-2-0-2-package-tgz tar:///home/spike/.npm/clean-css/2.0.2/package.tgz
8675 info preinstall clean-css@2.0.2
8676 verbose readDependencies using package.json deps
8677 verbose readDependencies using package.json deps
8678 verbose cache add [ 'commander@2.0.x', null ]
8679 verbose cache add name=undefined spec="commander@2.0.x" args=["commander@2.0.x",null]
8680 verbose parsed url { protocol: null,
8680 verbose parsed url slashes: null,
8680 verbose parsed url auth: null,
8680 verbose parsed url host: null,
8680 verbose parsed url port: null,
8680 verbose parsed url hostname: null,
8680 verbose parsed url hash: null,
8680 verbose parsed url search: null,
8680 verbose parsed url query: null,
8680 verbose parsed url pathname: 'commander@2.0.x',
8680 verbose parsed url path: 'commander@2.0.x',
8680 verbose parsed url href: 'commander@2.0.x' }
8681 verbose cache add name="commander" spec="2.0.x" args=["commander","2.0.x"]
8682 verbose parsed url { protocol: null,
8682 verbose parsed url slashes: null,
8682 verbose parsed url auth: null,
8682 verbose parsed url host: null,
8682 verbose parsed url port: null,
8682 verbose parsed url hostname: null,
8682 verbose parsed url hash: null,
8682 verbose parsed url search: null,
8682 verbose parsed url query: null,
8682 verbose parsed url pathname: '2.0.x',
8682 verbose parsed url path: '2.0.x',
8682 verbose parsed url href: '2.0.x' }
8683 verbose addNamed [ 'commander', '2.0.x' ]
8684 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
8685 silly lockFile f7c90c0d-commander-2-0-x commander@2.0.x
8686 verbose lock commander@2.0.x /home/spike/.npm/f7c90c0d-commander-2-0-x.lock
8687 silly addNameRange { name: 'commander',
8687 silly addNameRange range: '>=2.0.0-0 <2.1.0-0',
8687 silly addNameRange hasData: false }
8688 verbose url raw commander
8689 verbose url resolving [ 'https://registry.npmjs.org/', './commander' ]
8690 verbose url resolved https://registry.npmjs.org/commander
8691 info trying registry request attempt 1 at 11:44:46
8692 verbose etag "27IZG02YYKQFVTUPHC3CC5OQ5"
8693 http GET https://registry.npmjs.org/commander
8694 http 304 https://registry.npmjs.org/update-notifier
8695 silly registry.get cb [ 304,
8695 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
8695 silly registry.get etag: '"44POGZHWTNMQH683ASPC6NSHM"',
8695 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
8695 silly registry.get 'content-length': '0' } ]
8696 verbose etag update-notifier from cache
8697 silly addNameRange number 2 { name: 'update-notifier',
8697 silly addNameRange range: '>=0.1.3-0 <0.2.0-0',
8697 silly addNameRange hasData: true }
8698 silly addNameRange versions [ 'update-notifier',
8698 silly addNameRange [ '0.1.0',
8698 silly addNameRange '0.1.1',
8698 silly addNameRange '0.1.2',
8698 silly addNameRange '0.1.3',
8698 silly addNameRange '0.1.4',
8698 silly addNameRange '0.1.5',
8698 silly addNameRange '0.1.6',
8698 silly addNameRange '0.1.7' ] ]
8699 verbose addNamed [ 'update-notifier', '0.1.7' ]
8700 verbose addNamed [ '0.1.7', '0.1.7' ]
8701 silly lockFile 62c08ab7-update-notifier-0-1-7 update-notifier@0.1.7
8702 verbose lock update-notifier@0.1.7 /home/spike/.npm/62c08ab7-update-notifier-0-1-7.lock
8703 silly lockFile 62c08ab7-update-notifier-0-1-7 update-notifier@0.1.7
8704 silly lockFile 62c08ab7-update-notifier-0-1-7 update-notifier@0.1.7
8705 silly lockFile a5119d99-update-notifier-0-1-3 update-notifier@~0.1.3
8706 silly lockFile a5119d99-update-notifier-0-1-3 update-notifier@~0.1.3
8707 http 200 https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz
8708 http 200 https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
8709 http 200 https://registry.npmjs.org/unzip/0.1.7
8710 silly registry.get cb [ 200,
8710 silly registry.get { vary: 'Accept',
8710 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8710 silly registry.get etag: '"EAO2QR2ZEOKN6HLLZKPNP4581"',
8710 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8710 silly registry.get 'content-type': 'application/json',
8710 silly registry.get 'content-length': '4034' } ]
8711 silly lockFile 92a86b99--npmjs-org-unzip-unzip-0-1-7-tgz https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz
8712 verbose lock https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz /home/spike/.npm/92a86b99--npmjs-org-unzip-unzip-0-1-7-tgz.lock
8713 verbose addRemoteTarball [ 'https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz',
8713 verbose addRemoteTarball '81c740157d9ed8a39df2901c887aceee5badc7a7' ]
8714 info retry fetch attempt 1 at 11:44:47
8715 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/tmp.tgz
8716 http GET https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz
8717 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/tmp.tgz
8718 silly lockFile 42efc52e-85238-0-5438010145444423-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package
8719 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package /home/spike/.npm/42efc52e-85238-0-5438010145444423-package.lock
8720 silly lockFile 00ce8c1e-85238-0-5438010145444423-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/tmp.tgz
8721 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/tmp.tgz /home/spike/.npm/00ce8c1e-85238-0-5438010145444423-tmp-tgz.lock
8722 silly gunzTarPerm modes [ '755', '644' ]
8723 silly gunzTarPerm extractEntry package.json
8724 silly gunzTarPerm extractEntry .npmignore
8725 silly gunzTarPerm extractEntry .travis.yml
8726 silly gunzTarPerm extractEntry bin/tiny-lr
8727 silly gunzTarPerm extractEntry bin/update-livereload
8728 silly gunzTarPerm extractEntry lib/client.js
8729 silly gunzTarPerm extractEntry lib/index.js
8730 silly gunzTarPerm extractEntry lib/server.js
8731 silly gunzTarPerm extractEntry lib/public/livereload.js
8732 silly gunzTarPerm extractEntry readme.md
8733 silly gunzTarPerm extractEntry tasks/tiny-lr.js
8734 silly gunzTarPerm extractEntry tasks/tiny-lr.mk
8735 silly gunzTarPerm extractEntry test/client.js
8736 silly gunzTarPerm extractEntry test/middleware.js
8737 silly gunzTarPerm extractEntry test/server.js
8738 silly lockFile 42efc52e-85238-0-5438010145444423-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package
8739 silly lockFile 42efc52e-85238-0-5438010145444423-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package
8740 silly lockFile 00ce8c1e-85238-0-5438010145444423-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/tmp.tgz
8741 silly lockFile 00ce8c1e-85238-0-5438010145444423-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/tmp.tgz
8742 verbose tar pack [ '/home/spike/.npm/tiny-lr/0.0.4/package.tgz',
8742 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package' ]
8743 verbose tarball /home/spike/.npm/tiny-lr/0.0.4/package.tgz
8744 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package
8745 silly lockFile 42efc52e-85238-0-5438010145444423-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package
8746 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package /home/spike/.npm/42efc52e-85238-0-5438010145444423-package.lock
8747 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
8748 verbose lock tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz /home/spike/.npm/dc921533-ke-npm-tiny-lr-0-0-4-package-tgz.lock
8749 silly lockFile 42efc52e-85238-0-5438010145444423-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package
8750 silly lockFile 42efc52e-85238-0-5438010145444423-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190685238-0.5438010145444423/package
8751 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
8752 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
8753 silly lockFile f615af9f--spike-npm-tiny-lr-0-0-4-package /home/spike/.npm/tiny-lr/0.0.4/package
8754 verbose lock /home/spike/.npm/tiny-lr/0.0.4/package /home/spike/.npm/f615af9f--spike-npm-tiny-lr-0-0-4-package.lock
8755 silly lockFile f615af9f--spike-npm-tiny-lr-0-0-4-package /home/spike/.npm/tiny-lr/0.0.4/package
8756 silly lockFile f615af9f--spike-npm-tiny-lr-0-0-4-package /home/spike/.npm/tiny-lr/0.0.4/package
8757 verbose tar unpack /home/spike/.npm/tiny-lr/0.0.4/package.tgz
8758 silly lockFile 159a35c3--spike-npm-tiny-lr-0-0-4-package tar:///home/spike/.npm/tiny-lr/0.0.4/package
8759 verbose lock tar:///home/spike/.npm/tiny-lr/0.0.4/package /home/spike/.npm/159a35c3--spike-npm-tiny-lr-0-0-4-package.lock
8760 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
8761 verbose lock tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz /home/spike/.npm/dc921533-ke-npm-tiny-lr-0-0-4-package-tgz.lock
8762 silly gunzTarPerm modes [ '755', '644' ]
8763 silly gunzTarPerm extractEntry package.json
8764 silly gunzTarPerm extractEntry .npmignore
8765 silly gunzTarPerm extractEntry .travis.yml
8766 silly gunzTarPerm extractEntry bin/tiny-lr
8767 silly gunzTarPerm extractEntry bin/update-livereload
8768 silly gunzTarPerm extractEntry lib/client.js
8769 silly gunzTarPerm extractEntry lib/index.js
8770 silly gunzTarPerm extractEntry lib/server.js
8771 silly gunzTarPerm extractEntry lib/public/livereload.js
8772 silly gunzTarPerm extractEntry readme.md
8773 silly gunzTarPerm extractEntry tasks/tiny-lr.js
8774 silly gunzTarPerm extractEntry tasks/tiny-lr.mk
8775 silly gunzTarPerm extractEntry test/client.js
8776 silly gunzTarPerm extractEntry test/middleware.js
8777 silly gunzTarPerm extractEntry test/server.js
8778 silly lockFile 159a35c3--spike-npm-tiny-lr-0-0-4-package tar:///home/spike/.npm/tiny-lr/0.0.4/package
8779 silly lockFile 159a35c3--spike-npm-tiny-lr-0-0-4-package tar:///home/spike/.npm/tiny-lr/0.0.4/package
8780 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
8781 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
8782 verbose chmod /home/spike/.npm/tiny-lr/0.0.4/package.tgz 644
8783 verbose chown /home/spike/.npm/tiny-lr/0.0.4/package.tgz [ 1000, 1000 ]
8784 silly lockFile 65e00cd9-js-org-tiny-lr-tiny-lr-0-0-4-tgz https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz
8785 silly lockFile 65e00cd9-js-org-tiny-lr-tiny-lr-0-0-4-tgz https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz
8786 silly lockFile e531f95d-tiny-lr-0-0-4 tiny-lr@0.0.4
8787 silly lockFile e531f95d-tiny-lr-0-0-4 tiny-lr@0.0.4
8788 http 200 https://registry.npmjs.org/rc
8789 silly registry.get cb [ 200,
8789 silly registry.get { vary: 'Accept',
8789 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8789 silly registry.get etag: '"EMTXFDJZ64LUDFUXRO723HGCN"',
8789 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8789 silly registry.get 'content-type': 'application/json',
8789 silly registry.get 'content-length': '35051' } ]
8790 silly addNameRange number 2 { name: 'rc', range: '>=0.0.6-0 <0.1.0-0', hasData: true }
8791 silly addNameRange versions [ 'rc',
8791 silly addNameRange [ '0.0.1',
8791 silly addNameRange '0.0.2',
8791 silly addNameRange '0.0.3',
8791 silly addNameRange '0.0.4',
8791 silly addNameRange '0.0.5',
8791 silly addNameRange '0.0.6',
8791 silly addNameRange '0.0.7',
8791 silly addNameRange '0.0.8',
8791 silly addNameRange '0.1.0',
8791 silly addNameRange '0.1.1',
8791 silly addNameRange '0.1.2',
8791 silly addNameRange '0.1.3',
8791 silly addNameRange '0.2.0',
8791 silly addNameRange '0.3.0',
8791 silly addNameRange '0.3.1',
8791 silly addNameRange '0.3.2' ] ]
8792 verbose addNamed [ 'rc', '0.0.8' ]
8793 verbose addNamed [ '0.0.8', '0.0.8' ]
8794 silly lockFile a9c033b0-rc-0-0-8 rc@0.0.8
8795 verbose lock rc@0.0.8 /home/spike/.npm/a9c033b0-rc-0-0-8.lock
8796 silly lockFile a9c033b0-rc-0-0-8 rc@0.0.8
8797 silly lockFile a9c033b0-rc-0-0-8 rc@0.0.8
8798 silly lockFile 35fe02d3-rc-0-0-6 rc@~0.0.6
8799 silly lockFile 35fe02d3-rc-0-0-6 rc@~0.0.6
8800 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/tmp.tgz
8801 silly lockFile d0446e0d-86342-0-2944874914828688-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package
8802 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package /home/spike/.npm/d0446e0d-86342-0-2944874914828688-package.lock
8803 silly lockFile 71e376e3-86342-0-2944874914828688-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/tmp.tgz
8804 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/tmp.tgz /home/spike/.npm/71e376e3-86342-0-2944874914828688-tmp-tgz.lock
8805 silly gunzTarPerm modes [ '755', '644' ]
8806 silly gunzTarPerm extractEntry package.json
8807 silly gunzTarPerm extractEntry README.md
8808 silly gunzTarPerm extractEntry LICENSE
8809 silly gunzTarPerm extractEntry ChangeLog
8810 silly gunzTarPerm extractEntry bin/autoprefixer
8811 silly gunzTarPerm extractEntry data/browsers.js
8812 silly gunzTarPerm extractEntry data/prefixes.js
8813 silly gunzTarPerm extractEntry lib/autoprefixer.js
8814 silly gunzTarPerm extractEntry lib/autoprefixer/binary.js
8815 silly gunzTarPerm extractEntry lib/autoprefixer/utils.js
8816 silly gunzTarPerm extractEntry lib/autoprefixer/inspect.js
8817 silly gunzTarPerm extractEntry lib/autoprefixer/keyframes.js
8818 silly gunzTarPerm extractEntry lib/autoprefixer/declaration.js
8819 silly gunzTarPerm extractEntry lib/autoprefixer/browsers.js
8820 silly gunzTarPerm extractEntry lib/autoprefixer/processor.js
8821 silly gunzTarPerm extractEntry lib/autoprefixer/rule.js
8822 silly gunzTarPerm extractEntry lib/autoprefixer/rules.js
8823 silly gunzTarPerm extractEntry lib/autoprefixer/selector.js
8824 silly gunzTarPerm extractEntry lib/autoprefixer/css.js
8825 silly gunzTarPerm extractEntry lib/autoprefixer/updater.js
8826 silly gunzTarPerm extractEntry lib/autoprefixer/old-value.js
8827 silly gunzTarPerm extractEntry lib/autoprefixer/value.js
8828 silly gunzTarPerm extractEntry lib/autoprefixer/prefixes.js
8829 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-content.js
8830 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/filter.js
8831 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-basis.js
8832 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-declaration.js
8833 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-direction.js
8834 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/fill-available.js
8835 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-grow.js
8836 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-shrink.js
8837 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-wrap.js
8838 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex.js
8839 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/fullscreen.js
8840 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/display-flex.js
8841 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/gradient.js
8842 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/border-radius.js
8843 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/justify-content.js
8844 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/border-image.js
8845 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/order.js
8846 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-self.js
8847 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/placeholder.js
8848 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-items.js
8849 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/transition.js
8850 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-flow.js
8851 silly gunzTarPerm extractEntry updaters/browsers.js
8852 silly gunzTarPerm extractEntry updaters/prefixes.js
8853 http 200 https://registry.npmjs.org/stable
8854 silly registry.get cb [ 200,
8854 silly registry.get { vary: 'Accept',
8854 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
8854 silly registry.get etag: '"DDVQFYL1241CM3HI8ZKQT85S6"',
8854 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
8854 silly registry.get 'content-type': 'application/json',
8854 silly registry.get 'content-length': '11689' } ]
8855 silly addNameRange number 2 { name: 'stable', range: '>=0.1.2-0 <0.2.0-0', hasData: true }
8856 silly addNameRange versions [ 'stable', [ '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4' ] ]
8857 verbose addNamed [ 'stable', '0.1.4' ]
8858 verbose addNamed [ '0.1.4', '0.1.4' ]
8859 silly lockFile c942a0f5-stable-0-1-4 stable@0.1.4
8860 verbose lock stable@0.1.4 /home/spike/.npm/c942a0f5-stable-0-1-4.lock
8861 silly lockFile 0a1720b7-pmjs-org-stable-stable-0-1-4-tgz https://registry.npmjs.org/stable/-/stable-0.1.4.tgz
8862 verbose lock https://registry.npmjs.org/stable/-/stable-0.1.4.tgz /home/spike/.npm/0a1720b7-pmjs-org-stable-stable-0-1-4-tgz.lock
8863 verbose addRemoteTarball [ 'https://registry.npmjs.org/stable/-/stable-0.1.4.tgz',
8863 verbose addRemoteTarball '5160c76386b91120f6594e72604f3b77e86c4f37' ]
8864 info retry fetch attempt 1 at 11:44:47
8865 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/tmp.tgz
8866 http GET https://registry.npmjs.org/stable/-/stable-0.1.4.tgz
8867 silly lockFile d0446e0d-86342-0-2944874914828688-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package
8868 silly lockFile d0446e0d-86342-0-2944874914828688-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package
8869 silly lockFile 71e376e3-86342-0-2944874914828688-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/tmp.tgz
8870 silly lockFile 71e376e3-86342-0-2944874914828688-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/tmp.tgz
8871 verbose tar pack [ '/home/spike/.npm/autoprefixer/0.8.20131213/package.tgz',
8871 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package' ]
8872 verbose tarball /home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8873 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package
8874 silly lockFile d0446e0d-86342-0-2944874914828688-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package
8875 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package /home/spike/.npm/d0446e0d-86342-0-2944874914828688-package.lock
8876 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8877 verbose lock tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz /home/spike/.npm/bcab228c-refixer-0-8-20131213-package-tgz.lock
8878 http 200 https://registry.npmjs.org/hogan.js
8879 silly registry.get cb [ 200,
8879 silly registry.get { vary: 'Accept',
8879 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8879 silly registry.get etag: '"F5BODL2HVS1GF2YVIZ18K9NWE"',
8879 silly registry.get date: 'Mon, 16 Dec 2013 10:44:46 GMT',
8879 silly registry.get 'content-type': 'application/json',
8879 silly registry.get 'content-length': '8475' } ]
8880 silly addNameRange number 2 { name: 'hogan.js', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
8881 silly addNameRange versions [ 'hogan.js',
8881 silly addNameRange [ '1.0.0', '1.0.2', '1.0.4-dev', '1.0.5-dev', '2.0.0' ] ]
8882 verbose addNamed [ 'hogan.js', '2.0.0' ]
8883 verbose addNamed [ '2.0.0', '2.0.0' ]
8884 silly lockFile fe7ba41d-hogan-js-2-0-0 hogan.js@2.0.0
8885 verbose lock hogan.js@2.0.0 /home/spike/.npm/fe7ba41d-hogan-js-2-0-0.lock
8886 http 200 https://registry.npmjs.org/zlib-browserify/0.0.1
8887 silly registry.get cb [ 200,
8887 silly registry.get { vary: 'Accept',
8887 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
8887 silly registry.get etag: '"9H8OZE70EVV8JDSBEMUL1YZA6"',
8887 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
8887 silly registry.get 'content-type': 'application/json',
8887 silly registry.get 'content-length': '904' } ]
8888 silly lockFile fe7ba41d-hogan-js-2-0-0 hogan.js@2.0.0
8889 silly lockFile fe7ba41d-hogan-js-2-0-0 hogan.js@2.0.0
8890 silly lockFile 09df9878-hogan-js-2-0-0 hogan.js@~2.0.0
8891 silly lockFile 09df9878-hogan-js-2-0-0 hogan.js@~2.0.0
8892 silly lockFile cb2295c0-serify-zlib-browserify-0-0-1-tgz https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
8893 verbose lock https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz /home/spike/.npm/cb2295c0-serify-zlib-browserify-0-0-1-tgz.lock
8894 verbose addRemoteTarball [ 'https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz',
8894 verbose addRemoteTarball '4fa6a45d00dbc15f318a4afa1d9afc0258e176cc' ]
8895 info retry fetch attempt 1 at 11:44:47
8896 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/tmp.tgz
8897 http GET https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
8898 silly lockFile d0446e0d-86342-0-2944874914828688-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package
8899 silly lockFile d0446e0d-86342-0-2944874914828688-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190686342-0.2944874914828688/package
8900 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8901 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8902 silly lockFile e607b360-utoprefixer-0-8-20131213-package /home/spike/.npm/autoprefixer/0.8.20131213/package
8903 verbose lock /home/spike/.npm/autoprefixer/0.8.20131213/package /home/spike/.npm/e607b360-utoprefixer-0-8-20131213-package.lock
8904 silly lockFile e607b360-utoprefixer-0-8-20131213-package /home/spike/.npm/autoprefixer/0.8.20131213/package
8905 silly lockFile e607b360-utoprefixer-0-8-20131213-package /home/spike/.npm/autoprefixer/0.8.20131213/package
8906 verbose tar unpack /home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8907 silly lockFile 6b3458fe-utoprefixer-0-8-20131213-package tar:///home/spike/.npm/autoprefixer/0.8.20131213/package
8908 verbose lock tar:///home/spike/.npm/autoprefixer/0.8.20131213/package /home/spike/.npm/6b3458fe-utoprefixer-0-8-20131213-package.lock
8909 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8910 verbose lock tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz /home/spike/.npm/bcab228c-refixer-0-8-20131213-package-tgz.lock
8911 silly gunzTarPerm modes [ '755', '644' ]
8912 silly gunzTarPerm extractEntry package.json
8913 silly gunzTarPerm extractEntry README.md
8914 silly gunzTarPerm extractEntry LICENSE
8915 silly gunzTarPerm extractEntry ChangeLog
8916 silly gunzTarPerm extractEntry bin/autoprefixer
8917 silly gunzTarPerm extractEntry data/browsers.js
8918 silly gunzTarPerm extractEntry data/prefixes.js
8919 silly gunzTarPerm extractEntry lib/autoprefixer.js
8920 silly gunzTarPerm extractEntry lib/autoprefixer/binary.js
8921 silly gunzTarPerm extractEntry lib/autoprefixer/utils.js
8922 silly gunzTarPerm extractEntry lib/autoprefixer/inspect.js
8923 silly gunzTarPerm extractEntry lib/autoprefixer/keyframes.js
8924 silly gunzTarPerm extractEntry lib/autoprefixer/declaration.js
8925 silly gunzTarPerm extractEntry lib/autoprefixer/browsers.js
8926 silly gunzTarPerm extractEntry lib/autoprefixer/processor.js
8927 silly gunzTarPerm extractEntry lib/autoprefixer/rule.js
8928 silly gunzTarPerm extractEntry lib/autoprefixer/rules.js
8929 silly gunzTarPerm extractEntry lib/autoprefixer/selector.js
8930 silly gunzTarPerm extractEntry lib/autoprefixer/css.js
8931 silly gunzTarPerm extractEntry lib/autoprefixer/updater.js
8932 silly gunzTarPerm extractEntry lib/autoprefixer/old-value.js
8933 silly gunzTarPerm extractEntry lib/autoprefixer/value.js
8934 silly gunzTarPerm extractEntry lib/autoprefixer/prefixes.js
8935 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-content.js
8936 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/filter.js
8937 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-basis.js
8938 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-declaration.js
8939 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-direction.js
8940 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/fill-available.js
8941 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-grow.js
8942 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-shrink.js
8943 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-wrap.js
8944 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex.js
8945 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/fullscreen.js
8946 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/display-flex.js
8947 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/gradient.js
8948 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/border-radius.js
8949 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/justify-content.js
8950 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/border-image.js
8951 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/order.js
8952 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-self.js
8953 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/placeholder.js
8954 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-items.js
8955 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/transition.js
8956 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-flow.js
8957 silly gunzTarPerm extractEntry updaters/browsers.js
8958 silly gunzTarPerm extractEntry updaters/prefixes.js
8959 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/tmp.tgz
8960 silly lockFile b0685072-1248-0-44587734108790755-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package
8961 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package /home/spike/.npm/b0685072-1248-0-44587734108790755-package.lock
8962 silly lockFile edd5fddb-1248-0-44587734108790755-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/tmp.tgz
8963 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/tmp.tgz /home/spike/.npm/edd5fddb-1248-0-44587734108790755-tmp-tgz.lock
8964 silly gunzTarPerm modes [ '755', '644' ]
8965 silly gunzTarPerm extractEntry package.json
8966 silly gunzTarPerm extractEntry Readme.md
8967 silly gunzTarPerm extractEntry lib/dateformat.js
8968 silly gunzTarPerm extractEntry test/test_weekofyear.js
8969 silly gunzTarPerm extractEntry test/test_weekofyear.sh
8970 silly lockFile b0685072-1248-0-44587734108790755-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package
8971 silly lockFile b0685072-1248-0-44587734108790755-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package
8972 silly lockFile edd5fddb-1248-0-44587734108790755-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/tmp.tgz
8973 silly lockFile edd5fddb-1248-0-44587734108790755-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/tmp.tgz
8974 verbose tar pack [ '/home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz',
8974 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package' ]
8975 verbose tarball /home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
8976 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package
8977 silly lockFile b0685072-1248-0-44587734108790755-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package
8978 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package /home/spike/.npm/b0685072-1248-0-44587734108790755-package.lock
8979 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
8980 verbose lock tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz /home/spike/.npm/34553465-teformat-1-0-2-1-2-3-package-tgz.lock
8981 silly lockFile b0685072-1248-0-44587734108790755-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package
8982 silly lockFile b0685072-1248-0-44587734108790755-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190681248-0.44587734108790755/package
8983 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
8984 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
8985 silly lockFile bff42740-m-dateformat-1-0-2-1-2-3-package /home/spike/.npm/dateformat/1.0.2-1.2.3/package
8986 verbose lock /home/spike/.npm/dateformat/1.0.2-1.2.3/package /home/spike/.npm/bff42740-m-dateformat-1-0-2-1-2-3-package.lock
8987 silly lockFile 6b3458fe-utoprefixer-0-8-20131213-package tar:///home/spike/.npm/autoprefixer/0.8.20131213/package
8988 silly lockFile 6b3458fe-utoprefixer-0-8-20131213-package tar:///home/spike/.npm/autoprefixer/0.8.20131213/package
8989 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8990 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
8991 verbose chmod /home/spike/.npm/autoprefixer/0.8.20131213/package.tgz 644
8992 verbose chown /home/spike/.npm/autoprefixer/0.8.20131213/package.tgz [ 1000, 1000 ]
8993 silly lockFile 3ea44905-er-autoprefixer-0-8-20131213-tgz https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz
8994 silly lockFile 3ea44905-er-autoprefixer-0-8-20131213-tgz https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz
8995 silly lockFile df42ec01-autoprefixer-0-8-20131213 autoprefixer@0.8.20131213
8996 silly lockFile df42ec01-autoprefixer-0-8-20131213 autoprefixer@0.8.20131213
8997 silly lockFile 75415145-autoprefixer-0-8-20131209 autoprefixer@~0.8.20131209
8998 silly lockFile 75415145-autoprefixer-0-8-20131209 autoprefixer@~0.8.20131209
8999 silly resolved [ { name: 'autoprefixer',
8999 silly resolved version: '0.8.20131213',
8999 silly resolved description: 'Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website',
8999 silly resolved keywords: [ 'css', 'prefix', 'rework' ],
8999 silly resolved author: { name: 'Andrey Sitnik', email: 'andrey@sitnik.ru' },
8999 silly resolved license: 'LGPL 3',
8999 silly resolved repository: { type: 'git', url: 'https://github.com/ai/autoprefixer.git' },
8999 silly resolved dependencies: { 'css-parse': '~> 1.6.0', 'css-stringify': '~> 1.4.1' },
8999 silly resolved devDependencies:
8999 silly resolved { 'coffee-script': '1.6.3',
8999 silly resolved component: '0.18.0',
8999 silly resolved 'fs-extra': '0.8.1',
8999 silly resolved should: '2.1.1',
8999 silly resolved stylus: '0.41.3',
8999 silly resolved rework: '0.18.3',
8999 silly resolved mocha: '1.15.1',
8999 silly resolved glob: '3.2.7',
8999 silly resolved nib: '1.0.1' },
8999 silly resolved bin: { autoprefixer: './bin/autoprefixer' },
8999 silly resolved main: 'lib/autoprefixer',
8999 silly resolved scripts: { test: 'mocha' },
8999 silly resolved readme: '# Autoprefixer\n\n<img align="right" width="94" src="http://ai.github.io/autoprefixer/logo.svg" title="Autoprefixer logo by Anton Lovchikov">\n\nParse CSS and add vendor prefixes to CSS rules using values\nfrom the [Can I Use](http://caniuse.com/).\n\nWrite your CSS rules without vendor prefixes (in fact, forget about them\nentirely):\n\n```css\n:fullscreen a {\n transition: transform 1s\n}\n```\n\nProcess your CSS by Autoprefixer:\n\n```js\nvar prefixed = autoprefixer.compile(css);\n```\n\nIt will use the data on current browser popularity and properties support\nto apply prefixes for you:\n\n```css\n:-webkit-full-screen a {\n -webkit-transition: -webkit-transform 1s;\n transition: transform 1s;\n}\n\n:-moz-full-screen a {\n transition: transform 1s;\n}\n\n:fullscreen a {\n -webkit-transition: -webkit-transform 1s;\n transition: transform 1s;\n}\n```\n\nTwitter account for news and releases:\n[@autoprefixer](https://twitter.com/autoprefixer).\n\nSponsored by [Evil Martians](http://evilmartians.com/).\n\n## Translations\n\nНа русском: [статья про Автопрефиксер на Хабрахабре](http://habrahabr.ru/company/evilmartians/blog/176909/)\n\n## Features\n\n### Forget about prefixes\n\nThe best tool is a tool you can\'t see and one that does the work for you.\nThis is the main idea behind Autoprefixer.\n\nAutoprefixer interface is simple: just forget about vendor prefixes\nand write normal CSS according to latest W3C specs. You dont need\na special language (like Sass) or special mixins.\n\nBecause Autoprefixer is a postprocessor for CSS,\nyou can also use it with preprocessors, such as Sass, Stylus or LESS.\n\n### Actual data from Can I Use\n\nAutoprefixer uses the most recent data from [Can I Use](http://caniuse.com/),\nunderstands which browsers are actual and popular and adds only the necessary\nvendor prefixes.\n\nIt also cleans your CSS from old prefixes (like prefixed `border-radius`,\nproduced by many CSS libraries):\n\n```css\na {\n -webkit-border-radius: 5px;\n border-radius: 5px\n}\n```\n\ncompiles to:\n\n```css\na {\n border-radius: 5px\n}\n```\n\n### Rewrite syntax\n\nFlexbox or gradients have different syntaxes in different browsers\n(sometimes you need to recalculate angles, sometimes you need 2 old properties\ninstead of new one), but Autoprefixer hides this from you.\n\nJust code by latest W3C specs and Autoprefixer will produce the code\nfor old browsers:\n\n```css\na {\n display: flex;\n}\n```\n\ncompiles to:\n\n```css\na {\n display: -webkit-box;\n display: -webkit-flex;\n display: -moz-box;\n display: -ms-flexbox;\n display: flex\n}\n```\n\n### Fast\n\nAutoprefixer is about 16 times faster than Compass and 8 times faster\nthan Stylus.\n\nOn a Core i7 with 10 GB of RAM and SSD, benchmark with GitHub styles is:\n\n```\n~/Dev/autoprefixer$ ./node_modules/.bin/cake bench\nLoad GitHub styles\nAutoprefixer: 316 ms\nCompass: 5342 ms (16.9 times slower)\nRework: 249 ms (1.3 times faster)\nStylus: 2548 ms (8.1 times slower)\n```\n\nUnlike [-prefix-free](http://leaverou.github.io/prefixfree/), Autoprefixer\ncompiles CSS once on deploy and doesnt hit client-side performance.\n\n## Browsers\n\nYou can specify the browsers you want to target in your project:\n\n```js\nautoprefixer("last 1 version", "> 1%", "ie 8", "ie 7").compile(css);\n```\n\n* `last n versions` is last versions for each browser. Like “last 2 versions”\n [strategy](http://support.google.com/a/bin/answer.py?answer=33864) in\n Google.\n* `> n%` is browser versions, selected by global usage statistics.\n* `ff > 20` and `ff >= 20` is Firefox versions newer, that 20.\n* `none` dont set any browsers to clean CSS from any vendor prefixes.\n* You can also set browsers directly.\n\nBlackberry and stock Android browsers will not be used in `last n versions`.\nYou can add them by name:\n\n```js\nautoprefixer("last 1 version", "bb 10", "android 4").compile(css);\n```\n\nYou can find the browsers codenames in [data file](data/browsers.coffee):\n* `android` for old Android stock browser.\n* `bb` for Blackberry browser.\n* `chrome` for Google Chrome.\n* `ff` for Mozilla Firefox.\n* `ie` for Internet Explorer.\n* `ios` for iOS Safari.\n* `opera` for Opera.\n* `safari` for desktop Safari.\n\nBy default, Autoprefixer uses `> 1%, last 2 versions, ff 24, opera 12.1`:\n* Firefox 24 is a latest [ESR].\n* Opera 12.1 will be in list until Opera supports non-Blink 12.x branch.\n\n[ESR]: http://www.mozilla.org/en/firefox/organizations/faq/\n\n## Inspect\n\nYou can check which browsers are selected and which properties will be prefixed:\n\n```js\ninspect = autoprefixer("last 1 version").inspect();\nconsole.log(inspect);\n```\n\nOr by CLI command:\n\n```sh\nautoprefixer -i\n```\n\n## FAQ\n\n### Does it add polyfills for old browsers?\n\nNo. Autoprefixer only adds prefixes, not polyfills. There are two reasons:\n\n1. Prefixes and polyfills are very different and need a different API.\n Two separate libraries would be much better.\n2. Most of IE polyfills are very bad for client perfomance. They use slow hacks\n and old IEs is mostly used on old hardware. Most of CSS 3 features that is\n only used for styling should be ignored in old IEs as it is recommended in\n Graceful Degradation.\n\n### Why doesnt Autoprefixer do anything?\n\nDevelopers are often surprised by how few prefixes are required today.\nIf Autoprefixer doesnt add prefixes to your CSS, check if theyre still\nrequired on [Can I Use](http://caniuse.com/).\n\nIf a prefix is required, but Autoprefixer doesnt add it or adds it\nincorrectly, please\n[report an issue](https://github.com/ai/autoprefixer/issues/new)\nand include your source CSS and expected output.\n\n### Does it support source maps?\n\nUnfortunately, right now Autoprefixer doesnt support source maps.\nHowever, this feature will be included in the next version, 1.0, which is\ncurrently [under development](https://github.com/ai/autoprefixer/tree/v1.0)\nand is planned for release in mid-December 2013.\n\nRight now you can use lydells fork with source map support:\n[lydell/autoprefixer](https://github.com/lydell/autoprefixer/tree/source-maps#nodejs).\n\nYou can check the current status of this feature in\n[autoprefixer#37](https://github.com/ai/autoprefixer/issues/37).\n\n### Why Autoprefixer plugin for text editor changed my indents?\n\n[Rework](https://github.com/visionmedia/rework), which Autoprefixer currently\nuses for parsing CSS, doesnt save indents, because it was created for Grunt\nand other build tools.\n\nIn version 1.0 Autoprefixer will switch to the\n[PostCSS](https://github.com/ai/postcss) parser, which preserves formatting\nof the code.\n\n## Usage\n\n### Ruby on Rails\n\nAdd [autoprefixer-rails](https://github.com/ai/autoprefixer-rails) gem\nto `Gemfile` and write CSS in a usual way:\n\n```ruby\ngem "autoprefixer-rails"\n```\n\n### Middleman\n\nAdd [middleman-autoprefixer](https://github.com/porada/middleman-autoprefixer)\ngem to `Gemfile`:\n\n```ruby\ngem "middleman-autoprefixer"\n```\n\nand activate the extension in your projects `config.rb`:\n\n```ruby\nactivate :autoprefixer\n```\n\n### Ruby\n\nYou can integrate Autoprefixer into your Sprockets environment\nby `autoprefixer-rails` gem:\n\n```ruby\nAutoprefixerRails.install(sprockets_env)\n```\n\nor process CSS from plain Ruby:\n\n```ruby\nprefixed = AutoprefixerRails.compile(css)\n```\n\n### Grunt\n\nYou can use the\n[grunt-autoprefixer](https://github.com/nDmitry/grunt-autoprefixer)\nplugin for Grunt. Install the npm package and add it to Gruntfile:\n\n```js\ngrunt.loadNpmTasks(\'grunt-autoprefixer\');\n```\n\nIf you use Sass with `compress` output style and worry that Autoprefixer might\nuncompress CSS, try [grunt-csso](https://github.com/t32k/grunt-csso).\nIt will compress the CSS back, but does the compression much better than Sass.\n\n### Prepros\n\nIf you want to build your assets in GUI, try\n[Prepros](http://alphapixels.com/prepros/). Just set “Auto Prefix CSS”\n[checkbox](https://f.cloud.github.com/assets/3478693/930798/faa29892-0016-11e3-8901-87850de7aed2.jpg)\nin right panel.\n\n### Compass\n\nIf you use Compass binary to compile your styles, you can easily integrate\nAutoprefixer with it. Install `autoprefixer-rails` gem:\n\n```\ngem install autoprefixer-rails csso-rails\n```\n\nand add post-compile hook to `config.rb`:\n\n```ruby\nrequire \'autoprefixer-rails\'\nrequire \'csso\'\n\non_stylesheet_saved do |file|\n css = File.read(file)\n File.open(file, \'w\') do |io|\n io << Csso.optimize( AutoprefixerRails.compile(css) )\n end\nend\n```\n\nIf you use `compress` output style, Autoprefixer will uncompress CSS.\nFor this reason, we use [csso-rails](https://github.com/Vasfed/csso-rails)\nto compress CSS back (it compress much better than Sass).\n\nIf you need uncompressed CSS, remove `Csso.optimize` method call.\n\nYou can set browsers array as second argument in `AutoprefixerRails.compile`.\n\n### Stylus\n\nIf you use Stylus CLI, you can add Autoprefixer by\n[autoprefixer-stylus](https://github.com/jenius/autoprefixer-stylus) plugin.\n\nJust install npm package and use it in `-u` option:\n\n```\nstylus -u autoprefixer-stylus file.css\n```\n\n### Mincer\n\nTo use Autoprefixer in [Mincer](https://github.com/nodeca/mincer),\ninstall `autoprefixer` npm package and enable it:\n\n```js\nenvironment.enable(\'autoprefixer\');\n```\n\n### Node.js\n\nUse `autoprefixer` npm package:\n\n```js\nvar autoprefixer = require(\'autoprefixer\');\nvar prefixed = autoprefixer.compile(css);\n```\n\n### JavaScript\n\nYou can use Autoprefixer in the browser or a non-Node.js runtime\nwith [standalone version](https://raw.github.com/ai/autoprefixer-rails/master/vendor/autoprefixer.js).\n\n### Rework\n\nAutoprefixer can be also used as a\n[Rework](https://github.com/visionmedia/rework)\nfilter, so you can combine it with other filters:\n\n```js\nrework(css).\n use( autoprefixer([\'> 1%\', \'opera 12.5\']).rework ).\n use( rework.references() ).\n toString();\n```\n\n### PHP\n\nYou can use Autoprefixer in PHP by\n[autoprefixer-php](https://github.com/vladkens/autoprefixer-php) library:\n\n\n```php\n$autoprefixer = new Autoprefixer();\n$css = \'a { transition: transform 1s }\';\n$prefixed = $autoprefixer->compile($css);\n```\n\n### Sublime Text\n\nYou can process your styles directly in Sublime Text with the\n[sublime-autoprefixer](https://github.com/sindresorhus/sublime-autoprefixer)\nplugin.\n\n\n### Others\n\nYou can use the `autoprefixer` binary to process CSS files using\nany assets manager:\n\n```\nsudo npm install --global autoprefixer\nautoprefixer *.css\n```\n\nSee `autoprefixer -h` for help.\n\n## In-package Update\n\nIts highly recommended that you always use the latest version of Autoprefixer.\nIf by any chance you or your company are not able to update the package\n(e.g. in case of long test periods before any library updates), you can still\nupdate the very browser data that Autoprefixer fetches from Can I Use:\n\n```\nautoprefixer --update\n```\n\nNote that the in-package update doesnt get any code fixes nor the\nimplementation of new features. It just keeps the browser popularity and\nsupport data up to date, and adds new browser versions.\n',
8999 silly resolved readmeFilename: 'README.md',
8999 silly resolved bugs: { url: 'https://github.com/ai/autoprefixer/issues' },
8999 silly resolved homepage: 'https://github.com/ai/autoprefixer',
8999 silly resolved _id: 'autoprefixer@0.8.20131213',
8999 silly resolved dist: { shasum: 'fe0a9166576087e2819758bd09ddf62859fda20d' },
8999 silly resolved _from: 'autoprefixer@~0.8.20131209',
8999 silly resolved _resolved: 'https://registry.npmjs.org/autoprefixer/-/autoprefixer-0.8.20131213.tgz' } ]
9000 info install autoprefixer@0.8.20131213 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-autoprefixer
9001 info installOne autoprefixer@0.8.20131213
9002 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-autoprefixer/node_modules/autoprefixer unbuild
9003 verbose tar unpack /home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
9004 silly lockFile 94edcd5b-efixer-node-modules-autoprefixer tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-autoprefixer/node_modules/autoprefixer
9005 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-autoprefixer/node_modules/autoprefixer /home/spike/.npm/94edcd5b-efixer-node-modules-autoprefixer.lock
9006 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
9007 verbose lock tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz /home/spike/.npm/bcab228c-refixer-0-8-20131213-package-tgz.lock
9008 silly gunzTarPerm modes [ '755', '644' ]
9009 silly gunzTarPerm extractEntry package.json
9010 silly gunzTarPerm extractEntry README.md
9011 silly gunzTarPerm extractEntry LICENSE
9012 silly gunzTarPerm extractEntry ChangeLog
9013 silly gunzTarPerm extractEntry bin/autoprefixer
9014 silly gunzTarPerm extractEntry data/browsers.js
9015 silly gunzTarPerm extractEntry data/prefixes.js
9016 silly gunzTarPerm extractEntry lib/autoprefixer.js
9017 silly gunzTarPerm extractEntry lib/autoprefixer/binary.js
9018 silly gunzTarPerm extractEntry lib/autoprefixer/utils.js
9019 silly gunzTarPerm extractEntry lib/autoprefixer/inspect.js
9020 silly gunzTarPerm extractEntry lib/autoprefixer/keyframes.js
9021 silly gunzTarPerm extractEntry lib/autoprefixer/declaration.js
9022 silly gunzTarPerm extractEntry lib/autoprefixer/browsers.js
9023 silly lockFile bff42740-m-dateformat-1-0-2-1-2-3-package /home/spike/.npm/dateformat/1.0.2-1.2.3/package
9024 silly lockFile bff42740-m-dateformat-1-0-2-1-2-3-package /home/spike/.npm/dateformat/1.0.2-1.2.3/package
9025 verbose tar unpack /home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9026 silly lockFile 36850b69-m-dateformat-1-0-2-1-2-3-package tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package
9027 verbose lock tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package /home/spike/.npm/36850b69-m-dateformat-1-0-2-1-2-3-package.lock
9028 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9029 verbose lock tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz /home/spike/.npm/34553465-teformat-1-0-2-1-2-3-package-tgz.lock
9030 silly gunzTarPerm modes [ '755', '644' ]
9031 silly gunzTarPerm extractEntry package.json
9032 silly gunzTarPerm extractEntry Readme.md
9033 silly gunzTarPerm extractEntry lib/dateformat.js
9034 silly gunzTarPerm extractEntry test/test_weekofyear.js
9035 silly gunzTarPerm extractEntry test/test_weekofyear.sh
9036 silly lockFile 36850b69-m-dateformat-1-0-2-1-2-3-package tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package
9037 silly lockFile 36850b69-m-dateformat-1-0-2-1-2-3-package tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package
9038 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9039 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9040 verbose chmod /home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz 644
9041 verbose chown /home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz [ 1000, 1000 ]
9042 silly lockFile 8242891e-ormat-dateformat-1-0-2-1-2-3-tgz https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
9043 silly lockFile 8242891e-ormat-dateformat-1-0-2-1-2-3-tgz https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
9044 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
9045 silly lockFile 644d6e27-dateformat-1-0-2-1-2-3 dateformat@1.0.2-1.2.3
9046 silly resolved [ { name: 'findup-sync',
9046 silly resolved description: 'Find the first file matching a given pattern in the current directory or the nearest ancestor directory.',
9046 silly resolved version: '0.1.2',
9046 silly resolved homepage: 'https://github.com/cowboy/node-findup-sync',
9046 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
9046 silly resolved repository:
9046 silly resolved { type: 'git',
9046 silly resolved url: 'git://github.com/cowboy/node-findup-sync.git' },
9046 silly resolved bugs: { url: 'https://github.com/cowboy/node-findup-sync/issues' },
9046 silly resolved licenses: [ [Object] ],
9046 silly resolved main: 'lib/findup-sync',
9046 silly resolved engines: { node: '>= 0.6.0' },
9046 silly resolved scripts: { test: 'grunt nodeunit' },
9046 silly resolved dependencies: { glob: '~3.1.21', lodash: '~1.0.1' },
9046 silly resolved devDependencies:
9046 silly resolved { grunt: '~0.4.0',
9046 silly resolved 'grunt-contrib-jshint': '~0.2.0',
9046 silly resolved 'grunt-contrib-nodeunit': '~0.1.2' },
9046 silly resolved keywords: [ 'find', 'glob', 'file' ],
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved _id: 'findup-sync@0.1.2',
9046 silly resolved _from: 'findup-sync@~0.1.2' },
9046 silly resolved { name: 'hooker',
9046 silly resolved description: 'Monkey-patch (hook) functions for debugging and stuff.',
9046 silly resolved version: '0.2.3',
9046 silly resolved homepage: 'http://github.com/cowboy/javascript-hooker',
9046 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
9046 silly resolved repository:
9046 silly resolved { type: 'git',
9046 silly resolved url: 'git://github.com/cowboy/javascript-hooker.git' },
9046 silly resolved bugs: { url: 'https://github.com/cowboy/javascript-hooker/issues' },
9046 silly resolved licenses: [ [Object] ],
9046 silly resolved dependencies: {},
9046 silly resolved devDependencies: { grunt: '~0.2.1' },
9046 silly resolved keywords: [ 'patch', 'hook', 'function', 'debug', 'aop' ],
9046 silly resolved engines: { node: '*' },
9046 silly resolved main: 'lib/hooker',
9046 silly resolved scripts: { test: 'grunt test' },
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved _id: 'hooker@0.2.3',
9046 silly resolved _from: 'hooker@~0.2.3' },
9046 silly resolved { name: 'async',
9046 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
9046 silly resolved main: './index',
9046 silly resolved author: { name: 'Caolan McMahon' },
9046 silly resolved version: '0.1.22',
9046 silly resolved repository: { type: 'git', url: 'http://github.com/caolan/async.git' },
9046 silly resolved bugs: { url: 'http://github.com/caolan/async/issues' },
9046 silly resolved licenses: [ [Object] ],
9046 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved homepage: 'https://github.com/caolan/async',
9046 silly resolved _id: 'async@0.1.22',
9046 silly resolved _from: 'async@~0.1.22' },
9046 silly resolved { author:
9046 silly resolved { name: 'Isaac Z. Schlueter',
9046 silly resolved email: 'i@izs.me',
9046 silly resolved url: 'http://blog.izs.me/' },
9046 silly resolved name: 'glob',
9046 silly resolved description: 'a little globber',
9046 silly resolved version: '3.1.21',
9046 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
9046 silly resolved main: 'glob.js',
9046 silly resolved engines: { node: '*' },
9046 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
9046 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
9046 silly resolved scripts: { test: 'tap test/*.js' },
9046 silly resolved license: 'BSD',
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
9046 silly resolved homepage: 'https://github.com/isaacs/node-glob',
9046 silly resolved _id: 'glob@3.1.21',
9046 silly resolved _from: 'glob@~3.1.14' },
9046 silly resolved { name: 'colors',
9046 silly resolved description: 'get colors in your node.js console like what',
9046 silly resolved version: '0.6.2',
9046 silly resolved author: { name: 'Marak Squires' },
9046 silly resolved homepage: 'https://github.com/Marak/colors.js',
9046 silly resolved bugs: { url: 'https://github.com/Marak/colors.js/issues' },
9046 silly resolved keywords: [ 'ansi', 'terminal', 'colors' ],
9046 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
9046 silly resolved engines: { node: '>=0.1.90' },
9046 silly resolved main: 'colors',
9046 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',
9046 silly resolved readmeFilename: 'ReadMe.md',
9046 silly resolved _id: 'colors@0.6.2',
9046 silly resolved _from: 'colors@~0.6.0-1' },
9046 silly resolved { name: 'iconv-lite',
9046 silly resolved description: 'Convert character encodings in pure javascript.',
9046 silly resolved version: '0.2.11',
9046 silly resolved license: 'MIT',
9046 silly resolved keywords: [ 'iconv', 'convert', 'charset' ],
9046 silly resolved author: { name: 'Alexander Shtuchkin', email: 'ashtuchkin@gmail.com' },
9046 silly resolved contributors:
9046 silly resolved [ [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object] ],
9046 silly resolved main: 'index.js',
9046 silly resolved homepage: 'https://github.com/ashtuchkin/iconv-lite',
9046 silly resolved repository:
9046 silly resolved { type: 'git',
9046 silly resolved url: 'git://github.com/ashtuchkin/iconv-lite.git' },
9046 silly resolved engines: { node: '>=0.4.0' },
9046 silly resolved scripts: { test: 'vows --spec' },
9046 silly resolved devDependencies: { vows: '', iconv: '>=1.1' },
9046 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 <20> 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved bugs: { url: 'https://github.com/ashtuchkin/iconv-lite/issues' },
9046 silly resolved _id: 'iconv-lite@0.2.11',
9046 silly resolved _from: 'iconv-lite@~0.2.11' },
9046 silly resolved { author:
9046 silly resolved { name: 'Isaac Z. Schlueter',
9046 silly resolved email: 'i@izs.me',
9046 silly resolved url: 'http://blog.izs.me' },
9046 silly resolved name: 'minimatch',
9046 silly resolved description: 'a glob matcher in javascript',
9046 silly resolved version: '0.2.13',
9046 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
9046 silly resolved main: 'minimatch.js',
9046 silly resolved scripts: { test: 'tap test/*.js' },
9046 silly resolved engines: { node: '*' },
9046 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
9046 silly resolved devDependencies: { tap: '' },
9046 silly resolved license:
9046 silly resolved { type: 'MIT',
9046 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
9046 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\nminimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. 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\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
9046 silly resolved homepage: 'https://github.com/isaacs/minimatch',
9046 silly resolved _id: 'minimatch@0.2.13',
9046 silly resolved _from: 'minimatch@~0.2.11' },
9046 silly resolved { name: 'coffee-script',
9046 silly resolved description: 'Unfancy JavaScript',
9046 silly resolved keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
9046 silly resolved author: { name: 'Jeremy Ashkenas' },
9046 silly resolved version: '1.3.3',
9046 silly resolved licenses: [ [Object] ],
9046 silly resolved engines: { node: '>=0.4.0' },
9046 silly resolved directories: { lib: './lib/coffee-script' },
9046 silly resolved main: './lib/coffee-script/coffee-script',
9046 silly resolved bin: { coffee: './bin/coffee', cake: './bin/cake' },
9046 silly resolved homepage: 'http://coffeescript.org',
9046 silly resolved bugs: { url: 'https://github.com/jashkenas/coffee-script/issues' },
9046 silly resolved repository:
9046 silly resolved { type: 'git',
9046 silly resolved url: 'git://github.com/jashkenas/coffee-script.git' },
9046 silly resolved devDependencies: { 'uglify-js': '>=1.0.0', jison: '>=0.2.0' },
9046 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',
9046 silly resolved readmeFilename: 'README',
9046 silly resolved _id: 'coffee-script@1.3.3',
9046 silly resolved _from: 'coffee-script@~1.3.3' },
9046 silly resolved { name: 'nopt',
9046 silly resolved version: '1.0.10',
9046 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
9046 silly resolved author:
9046 silly resolved { name: 'Isaac Z. Schlueter',
9046 silly resolved email: 'i@izs.me',
9046 silly resolved url: 'http://blog.izs.me/' },
9046 silly resolved main: 'lib/nopt.js',
9046 silly resolved scripts: { test: 'node lib/nopt.js' },
9046 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
9046 silly resolved bin: { nopt: './bin/nopt.js' },
9046 silly resolved license:
9046 silly resolved { type: 'MIT',
9046 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
9046 silly resolved dependencies: { abbrev: '1' },
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
9046 silly resolved homepage: 'https://github.com/isaacs/nopt',
9046 silly resolved _id: 'nopt@1.0.10',
9046 silly resolved _from: 'nopt@~1.0.10' },
9046 silly resolved { name: 'rimraf',
9046 silly resolved version: '2.0.3',
9046 silly resolved main: 'rimraf.js',
9046 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
9046 silly resolved author:
9046 silly resolved { name: 'Isaac Z. Schlueter',
9046 silly resolved email: 'i@izs.me',
9046 silly resolved url: 'http://blog.izs.me/' },
9046 silly resolved license:
9046 silly resolved { type: 'MIT',
9046 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
9046 silly resolved optionalDependencies: { 'graceful-fs': '~1.1' },
9046 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
9046 silly resolved scripts: { test: 'cd test && bash run.sh' },
9046 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
9046 silly resolved homepage: 'https://github.com/isaacs/rimraf',
9046 silly resolved dependencies: { 'graceful-fs': '~1.1' },
9046 silly resolved _id: 'rimraf@2.0.3',
9046 silly resolved _from: 'rimraf@~2.0.3' },
9046 silly resolved { name: 'lodash',
9046 silly resolved version: '0.9.2',
9046 silly resolved description: 'A low-level utility library delivering consistency, customization, performance, and extra features.',
9046 silly resolved homepage: 'http://lodash.com',
9046 silly resolved license: 'MIT',
9046 silly resolved main: './lodash.js',
9046 silly resolved keywords:
9046 silly resolved [ 'browser',
9046 silly resolved 'client',
9046 silly resolved 'functional',
9046 silly resolved 'performance',
9046 silly resolved 'server',
9046 silly resolved 'speed',
9046 silly resolved 'util' ],
9046 silly resolved author:
9046 silly resolved { name: 'John-David Dalton',
9046 silly resolved email: 'john.david.dalton@gmail.com',
9046 silly resolved url: 'http://allyoucanleet.com/' },
9046 silly resolved bugs: { url: 'https://github.com/bestiejs/lodash/issues' },
9046 silly resolved repository: { type: 'git', url: 'https://github.com/bestiejs/lodash.git' },
9046 silly resolved bin: { lodash: './build.js' },
9046 silly resolved engines: [ 'node', 'rhino' ],
9046 silly resolved jam: { main: './lodash.js' },
9046 silly resolved readme: '# Lo-Dash <sup>v0.9.2</sup>\n[![build status](https://secure.travis-ci.org/bestiejs/lodash.png)](http://travis-ci.org/bestiejs/lodash)\n\nA drop-in replacement<sup>[*](https://github.com/bestiejs/lodash/wiki/Drop-in-Disclaimer)</sup> for Underscore.js, from the devs behind [jsPerf.com](http://jsperf.com), delivering [performance](http://lodash.com/benchmarks), [bug fixes](https://github.com/bestiejs/lodash#resolved-underscorejs-issues), and [additional features](http://lodash.com/#features).\n\nLo-Dashs performance is gained by avoiding slower native methods, instead opting for simplified non-ES5 compliant methods optimized for common usage, and by leveraging function compilation to reduce the number of overall function calls.\n\n## Download\n\n * [Development build](https://raw.github.com/bestiejs/lodash/v0.9.2/lodash.js)\n * [Production build](https://raw.github.com/bestiejs/lodash/v0.9.2/lodash.min.js)\n * [Underscore build](https://raw.github.com/bestiejs/lodash/v0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore\n * CDN copies of ≤ v0.9.2s [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](https://github.com/bestiejs/lodash#custom-builds) with only the features you need\n\n## Dive in\n\nWeve 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/bestiejs/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-Dashs origin and why its a better utility belt](https://vimeo.com/44154600)\n * [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n * [Lo-Dashs 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 objects own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an objects 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## Custom builds\n\nCustom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need.\nTo top it off, we handle all method dependency and alias mapping for you.\n\n * Backbone builds, with only methods required by Backbone, may be created using the `backbone` modifier argument.\n```bash\nlodash backbone\n```\n\n * CSP builds, supporting default Content Security Policy restrictions, may be created using the `csp` modifier argument.\n```bash\nlodash csp\n```\n\n * Legacy builds, tailored for older browsers without [ES5 support](http://es5.github.com/), may be created using the `legacy` modifier argument.\n```bash\nlodash legacy\n```\n\n * Mobile builds, with IE < 9 bug fixes and method compilation removed, may be created using the `mobile` modifier argument.\n```bash\nlodash mobile\n```\n\n * Strict builds, with `_.bindAll`, `_.defaults`, and `_.extend` in [strict mode](http://es5.github.com/#C), may be created using the `strict` modifier argument.\n```bash\nlodash strict\n```\n\n * Underscore builds, tailored for projects already using Underscore, may be created using the `underscore` modifier argument.\n```bash\nlodash underscore\n```\n\nCustom builds may be created using the following commands:\n\n * Use the `category` argument to pass comma separated categories of methods to include in the build.<br>\n Valid categories (case-insensitive) are *“arrays”*, *“chaining”*, *“collections”*, *“functions”*, *“objects”*, and *“utilities”*.\n```bash\nlodash category=collections,functions\nlodash category="collections, functions"\n```\n\n * Use the `exports` argument to pass comma separated names of ways to export the `LoDash` function.<br>\n Valid exports are *“amd”*, *“commonjs”*, *“global”*, *“node”*, and *“none”*.\n```bash\nlodash exports=amd,commonjs,node\nlodash exports="amd, commonjs, node"\n```\n\n * Use the `iife` argument to specify code to replace the immediately-invoked function expression that wraps Lo-Dash.\n```bash\nlodash iife="!function(window,undefined){%output%}(this)"\n```\n\n * Use the `include` argument to pass comma separated method/category names to include in the build.\n```bash\nlodash include=each,filter,map\nlodash include="each, filter, map"\n```\n\n * Use the `minus` argument to pass comma separated method/category names to remove from those included in the build.\n```bash\nlodash underscore minus=result,shuffle\nlodash underscore minus="result, shuffle"\n```\n\n * Use the `plus` argument to pass comma separated method/category names to add to those included in the build.\n```bash\nlodash backbone plus=random,template\nlodash backbone plus="random, template"\n```\n\n * Use the `template` argument to pass the file path pattern used to match template files to precompile.\n```bash\nlodash template="./*.jst"\n```\n\n * Use the `settings` argument to pass the template settings used when precompiling templates.\n```bash\nlodash settings="{interpolate:/\\\\{\\\\{([\\\\s\\\\S]+?)\\\\}\\\\}/g}"\n```\n\n * Use the `moduleId` argument to specify the AMD module ID of Lo-Dash, which defaults to “lodash”, used by precompiled templates.\n```bash\nlodash moduleId="underscore"\n```\n\nAll arguments, except `legacy` with `csp` or `mobile`, may be combined.<br>\nUnless specified by `-o` or `--output`, all files created are saved to the current working directory.\n\nThe following options are also supported:\n\n * `-c`, `--stdout`&nbsp;&nbsp;&nbsp;&nbsp; Write output to standard output\n * `-d`, `--debug`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write only the debug output\n * `-h`, `--help`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display help information\n * `-m`, `--minify`&nbsp;&nbsp;&nbsp;&nbsp; Write only the minified output\n * `-o`, `--output`&nbsp;&nbsp;&nbsp;&nbsp; Write output to a given path/filename\n * `-s`, `--silent`&nbsp;&nbsp;&nbsp;&nbsp; Skip status updates normally logged to the console\n * `-V`, `--version`&nbsp;&nbsp; Output current version of Lo-Dash\n\nThe `lodash` command-line utility is available when Lo-Dash is installed as a global package (i.e. `npm install -g lodash`).\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 projects 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/bestiejs/lodash/blob/v0.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/bestiejs/lodash/blob/v0.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/bestiejs/lodash/blob/v0.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/bestiejs/lodash/blob/v0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/v8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/bestiejs/lodash/blob/v0.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/bestiejs/lodash/blob/v0.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/bestiejs/lodash/blob/v0.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/bestiejs/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the 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* [John-David Dalton](http://allyoucanleet.com/)\n [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter")\n\n## Contributors\n\n* [Kit Cambridge](http://kitcambridge.github.com/)\n [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter")\n* [Mathias Bynens](http://mathiasbynens.be/)\n [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter")\n',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved _id: 'lodash@0.9.2',
9046 silly resolved _from: 'lodash@~0.9.2' },
9046 silly resolved { name: 'underscore.string',
9046 silly resolved version: '2.2.1',
9046 silly resolved description: 'String manipulation extensions for Underscore.js javascript library.',
9046 silly resolved homepage: 'http://epeli.github.com/underscore.string/',
9046 silly resolved contributors:
9046 silly resolved [ [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object],
9046 silly resolved [Object] ],
9046 silly resolved keywords: [ 'underscore', 'string' ],
9046 silly resolved main: './lib/underscore.string',
9046 silly resolved directories: { lib: './lib' },
9046 silly resolved engines: { node: '*' },
9046 silly resolved repository:
9046 silly resolved { type: 'git',
9046 silly resolved url: 'https://github.com/epeli/underscore.string.git' },
9046 silly resolved bugs: { url: 'https://github.com/epeli/underscore.string/issues' },
9046 silly resolved licenses: [ [Object] ],
9046 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',
9046 silly resolved readmeFilename: 'README.markdown',
9046 silly resolved _id: 'underscore.string@2.2.1',
9046 silly resolved _from: 'underscore.string@~2.2.1' },
9046 silly resolved { name: 'exit',
9046 silly resolved description: 'A replacement for process.exit that ensures stdio are fully drained before exiting.',
9046 silly resolved version: '0.1.2',
9046 silly resolved homepage: 'https://github.com/cowboy/node-exit',
9046 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
9046 silly resolved repository: { type: 'git', url: 'git://github.com/cowboy/node-exit.git' },
9046 silly resolved bugs: { url: 'https://github.com/cowboy/node-exit/issues' },
9046 silly resolved licenses: [ [Object] ],
9046 silly resolved main: 'lib/exit',
9046 silly resolved engines: { node: '>= 0.8.0' },
9046 silly resolved scripts: { test: 'grunt nodeunit' },
9046 silly resolved devDependencies:
9046 silly resolved { 'grunt-contrib-jshint': '~0.6.4',
9046 silly resolved 'grunt-contrib-nodeunit': '~0.2.0',
9046 silly resolved 'grunt-contrib-watch': '~0.5.3',
9046 silly resolved grunt: '~0.4.1',
9046 silly resolved which: '~1.0.5' },
9046 silly resolved keywords:
9046 silly resolved [ 'exit',
9046 silly resolved 'process',
9046 silly resolved 'stdio',
9046 silly resolved 'stdout',
9046 silly resolved 'stderr',
9046 silly resolved 'drain',
9046 silly resolved 'flush',
9046 silly resolved '3584' ],
9046 silly resolved readme: '# exit [![Build Status](https://secure.travis-ci.org/cowboy/node-exit.png?branch=master)](http://travis-ci.org/cowboy/node-exit)\n\nA replacement for process.exit that ensures stdio are fully drained before exiting.\n\nTo make a long story short, if `process.exit` is called on Windows, script output is often truncated when pipe-redirecting `stdout` or `stderr`. This module attempts to work around this issue by waiting until those streams have been completely drained before actually calling `process.exit`.\n\nSee [Node.js issue #3584](https://github.com/joyent/node/issues/3584) for further reference.\n\nTested in OS X 10.8, Windows 7 on Node.js 0.8.25 and 0.10.18.\n\nBased on some code by [@vladikoff](https://github.com/vladikoff).\n\n## Getting Started\nInstall the module with: `npm install exit`\n\n```javascript\nvar exit = require(\'exit\');\n\n// These lines should appear in the output, EVEN ON WINDOWS.\nconsole.log("omg");\nconsole.error("yay");\n\n// process.exit(5);\nexit(5);\n\n// These lines shouldn\'t appear in the output.\nconsole.log("wtf");\nconsole.error("bro");\n```\n\n## Don\'t believe me? Try it for yourself.\n\nIn Windows, clone the repo and cd to the `test\\fixtures` directory. The only difference between [log.js](test/fixtures/log.js) and [log-broken.js](test/fixtures/log-broken.js) is that the former uses `exit` while the latter calls `process.exit` directly.\n\nThis test was done using cmd.exe, but you can see the same results using `| grep "std"` in either PowerShell or git-bash.\n\n```\nC:\\node-exit\\test\\fixtures>node log.js 0 10 stdout stderr 2>&1 | find "std"\nstdout 0\nstderr 0\nstdout 1\nstderr 1\nstdout 2\nstderr 2\nstdout 3\nstderr 3\nstdout 4\nstderr 4\nstdout 5\nstderr 5\nstdout 6\nstderr 6\nstdout 7\nstderr 7\nstdout 8\nstderr 8\nstdout 9\nstderr 9\n\nC:\\node-exit\\test\\fixtures>node log-broken.js 0 10 stdout stderr 2>&1 | find "std"\n\nC:\\node-exit\\test\\fixtures>\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](http://gruntjs.com/).\n\n## Release History\n2013-11-26 - v0.1.2 - Fixed a bug with hanging processes. \n2013-09-26 - v0.1.1 - Fixed some bugs. It seems to actually work now! \n2013-09-20 - v0.1.0 - Initial release.\n\n## License\nCopyright (c) 2013 "Cowboy" Ben Alman \nLicensed under the MIT license.\n',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved _id: 'exit@0.1.2',
9046 silly resolved dist: { shasum: '5bb232c5829f18e2e942aca3ade560c22329ee50' },
9046 silly resolved _from: 'exit@~0.1.1',
9046 silly resolved _resolved: 'https://registry.npmjs.org/exit/-/exit-0.1.2.tgz' },
9046 silly resolved { author:
9046 silly resolved { name: 'Isaac Z. Schlueter',
9046 silly resolved email: 'i@izs.me',
9046 silly resolved url: 'http://blog.izs.me' },
9046 silly resolved name: 'which',
9046 silly resolved description: 'Like which(1) unix command. Find the first instance of an executable in the PATH.',
9046 silly resolved version: '1.0.5',
9046 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-which.git' },
9046 silly resolved main: 'which.js',
9046 silly resolved bin: { which: './bin/which' },
9046 silly resolved engines: { node: '*' },
9046 silly resolved dependencies: {},
9046 silly resolved devDependencies: {},
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved bugs: { url: 'https://github.com/isaacs/node-which/issues' },
9046 silly resolved homepage: 'https://github.com/isaacs/node-which',
9046 silly resolved _id: 'which@1.0.5',
9046 silly resolved _from: 'which@~1.0.5' },
9046 silly resolved { name: 'js-yaml',
9046 silly resolved version: '2.0.5',
9046 silly resolved description: 'YAML 1.2 parser and serializer',
9046 silly resolved keywords: [ 'yaml', 'parser', 'serializer', 'pyyaml' ],
9046 silly resolved homepage: 'https://github.com/nodeca/js-yaml',
9046 silly resolved author: { name: 'Dervus Grim', email: 'dervus@lavabit.com' },
9046 silly resolved contributors: [ [Object], [Object] ],
9046 silly resolved bugs: { url: 'https://github.com/nodeca/js-yaml/issues' },
9046 silly resolved license:
9046 silly resolved { type: 'MIT',
9046 silly resolved url: 'https://github.com/nodeca/js-yaml/blob/master/LICENSE' },
9046 silly resolved repository: { type: 'git', url: 'git://github.com/nodeca/js-yaml.git' },
9046 silly resolved main: './index.js',
9046 silly resolved bin: { 'js-yaml': 'bin/js-yaml.js' },
9046 silly resolved scripts: { test: 'make test' },
9046 silly resolved dependencies: { argparse: '~ 0.1.11', esprima: '~ 1.0.2' },
9046 silly resolved devDependencies: { mocha: '*' },
9046 silly resolved engines: { node: '>= 0.6.0' },
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved _id: 'js-yaml@2.0.5',
9046 silly resolved _from: 'js-yaml@~2.0.5' },
9046 silly resolved { name: 'getobject',
9046 silly resolved description: 'get.and.set.deep.objects.easily = true',
9046 silly resolved version: '0.1.0',
9046 silly resolved homepage: 'https://github.com/cowboy/node-getobject',
9046 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' },
9046 silly resolved repository:
9046 silly resolved { type: 'git',
9046 silly resolved url: 'git://github.com/cowboy/node-getobject.git' },
9046 silly resolved bugs: { url: 'https://github.com/cowboy/node-getobject/issues' },
9046 silly resolved licenses: [ [Object] ],
9046 silly resolved main: 'lib/getobject',
9046 silly resolved engines: { node: '>= 0.8.0' },
9046 silly resolved scripts: { test: 'grunt nodeunit' },
9046 silly resolved devDependencies:
9046 silly resolved { 'grunt-contrib-jshint': '~0.1.1',
9046 silly resolved 'grunt-contrib-nodeunit': '~0.1.2',
9046 silly resolved 'grunt-contrib-watch': '~0.2.0',
9046 silly resolved grunt: '~0.4.1' },
9046 silly resolved keywords: [ 'dot notation', 'properties', 'get', 'set', 'object', 'dot' ],
9046 silly resolved readme: '# getobject [![Build Status](https://secure.travis-ci.org/cowboy/node-getobject.png?branch=master)](http://travis-ci.org/cowboy/node-getobject)\n\nget.and.set.deep.objects.easily = true;\n\n## Getting Started\nInstall the module with: `npm install getobject`\n\n```javascript\nvar getobject = require(\'getobject\');\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](http://gruntjs.com/).\n\n## Release History\n_(Nothing yet)_\n\n## License\nCopyright (c) 2013 "Cowboy" Ben Alman\nLicensed under the MIT license.',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved _id: 'getobject@0.1.0',
9046 silly resolved dist: { shasum: '72a86facf869ff91ddff557b35011901bfdbc972' },
9046 silly resolved _from: 'getobject@~0.1.0',
9046 silly resolved _resolved: 'https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz' },
9046 silly resolved { name: 'eventemitter2',
9046 silly resolved version: '0.4.13',
9046 silly resolved description: 'A Node.js event emitter implementation with namespaces, wildcards, TTL and browser support.',
9046 silly resolved keywords: [ 'event', 'events', 'emitter', 'eventemitter' ],
9046 silly resolved author: { name: 'hij1nx', email: 'paolo@async.ly' },
9046 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
9046 silly resolved license: 'MIT',
9046 silly resolved repository:
9046 silly resolved { type: 'git',
9046 silly resolved url: 'git://github.com/hij1nx/EventEmitter2.git' },
9046 silly resolved devDependencies: { nodeunit: '*', benchmark: '>= 0.2.2' },
9046 silly resolved main: './lib/eventemitter2.js',
9046 silly resolved scripts:
9046 silly resolved { test: 'nodeunit test/simple/ && nodeunit test/wildcardEvents/',
9046 silly resolved benchmark: 'node test/perf/benchmark.js' },
9046 silly resolved files: [ 'lib/eventemitter2.js', 'index.js' ],
9046 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',
9046 silly resolved readmeFilename: 'README.md',
9046 silly resolved bugs: { url: 'https://github.com/hij1nx/EventEmitter2/issues' },
9046 silly resolved homepage: 'https://github.com/hij1nx/EventEmitter2',
9046 silly resolved _id: 'eventemitter2@0.4.13',
9046 silly resolved _from: 'eventemitter2@~0.4.13' },
9046 silly resolved { name: 'dateformat',
9046 silly resolved description: 'A node.js package for Steven Levithan\'s excellent dateFormat() function.',
9046 silly resolved maintainers: 'Felix Geisendörfer <felix@debuggable.com>',
9046 silly resolved homepage: 'https://github.com/felixge/node-dateformat',
9046 silly resolved author: { name: 'Steven Levithan' },
9046 silly resolved version: '1.0.2-1.2.3',
9046 silly resolved main: './lib/dateformat',
9046 silly resolved dependencies: {},
9046 silly resolved devDependencies: {},
9046 silly resolved engines: { node: '*' },
9046 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',
9046 silly resolved readmeFilename: 'Readme.md',
9046 silly resolved _id: 'dateformat@1.0.2-1.2.3',
9046 silly resolved dist: { shasum: 'ab20933c408e06a81b20940f9b39a46280a445b3' },
9046 silly resolved _from: 'dateformat@1.0.2-1.2.3',
9046 silly resolved _resolved: 'https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz' } ]
9047 info install findup-sync@0.1.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9048 info install hooker@0.2.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9049 info install async@0.1.22 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9050 info install glob@3.1.21 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9051 info install colors@0.6.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9052 info install iconv-lite@0.2.11 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9053 info install minimatch@0.2.13 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9054 info install coffee-script@1.3.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9055 info install nopt@1.0.10 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9056 info install rimraf@2.0.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9057 info install lodash@0.9.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9058 info install underscore.string@2.2.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9059 info install exit@0.1.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9060 info install which@1.0.5 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9061 info install js-yaml@2.0.5 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9062 info install getobject@0.1.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9063 info install eventemitter2@0.4.13 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9064 info install dateformat@1.0.2-1.2.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt
9065 info installOne findup-sync@0.1.2
9066 info installOne hooker@0.2.3
9067 info installOne async@0.1.22
9068 info installOne glob@3.1.21
9069 info installOne colors@0.6.2
9070 info installOne iconv-lite@0.2.11
9071 info installOne minimatch@0.2.13
9072 info installOne coffee-script@1.3.3
9073 info installOne nopt@1.0.10
9074 info installOne rimraf@2.0.3
9075 info installOne lodash@0.9.2
9076 info installOne underscore.string@2.2.1
9077 info installOne exit@0.1.2
9078 info installOne which@1.0.5
9079 info installOne js-yaml@2.0.5
9080 info installOne getobject@0.1.0
9081 info installOne eventemitter2@0.4.13
9082 info installOne dateformat@1.0.2-1.2.3
9083 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync unbuild
9084 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/hooker unbuild
9085 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/async unbuild
9086 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob unbuild
9087 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/colors unbuild
9088 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/iconv-lite unbuild
9089 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch unbuild
9090 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/coffee-script unbuild
9091 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt unbuild
9092 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf unbuild
9093 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/lodash unbuild
9094 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/underscore.string unbuild
9095 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/exit unbuild
9096 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/which unbuild
9097 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/js-yaml unbuild
9098 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/getobject unbuild
9099 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/eventemitter2 unbuild
9100 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/dateformat unbuild
9101 verbose tar unpack /home/spike/.npm/findup-sync/0.1.2/package.tgz
9102 silly lockFile 013e61aa-s-grunt-node-modules-findup-sync tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync
9103 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync /home/spike/.npm/013e61aa-s-grunt-node-modules-findup-sync.lock
9104 silly lockFile fd1f971d-pm-findup-sync-0-1-2-package-tgz tar:///home/spike/.npm/findup-sync/0.1.2/package.tgz
9105 verbose lock tar:///home/spike/.npm/findup-sync/0.1.2/package.tgz /home/spike/.npm/fd1f971d-pm-findup-sync-0-1-2-package-tgz.lock
9106 verbose tar unpack /home/spike/.npm/hooker/0.2.3/package.tgz
9107 silly lockFile ab66a93f-odules-grunt-node-modules-hooker tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/hooker
9108 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/hooker /home/spike/.npm/ab66a93f-odules-grunt-node-modules-hooker.lock
9109 silly lockFile 2262c5a8-ike-npm-hooker-0-2-3-package-tgz tar:///home/spike/.npm/hooker/0.2.3/package.tgz
9110 verbose lock tar:///home/spike/.npm/hooker/0.2.3/package.tgz /home/spike/.npm/2262c5a8-ike-npm-hooker-0-2-3-package-tgz.lock
9111 verbose tar unpack /home/spike/.npm/async/0.1.22/package.tgz
9112 silly lockFile 63808735-modules-grunt-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/async
9113 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/async /home/spike/.npm/63808735-modules-grunt-node-modules-async.lock
9114 silly lockFile 2ea0afb1-ike-npm-async-0-1-22-package-tgz tar:///home/spike/.npm/async/0.1.22/package.tgz
9115 verbose lock tar:///home/spike/.npm/async/0.1.22/package.tgz /home/spike/.npm/2ea0afb1-ike-npm-async-0-1-22-package-tgz.lock
9116 verbose tar unpack /home/spike/.npm/glob/3.1.21/package.tgz
9117 silly lockFile be25430c--modules-grunt-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob
9118 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob /home/spike/.npm/be25430c--modules-grunt-node-modules-glob.lock
9119 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
9120 verbose lock tar:///home/spike/.npm/glob/3.1.21/package.tgz /home/spike/.npm/14998653-pike-npm-glob-3-1-21-package-tgz.lock
9121 verbose tar unpack /home/spike/.npm/colors/0.6.2/package.tgz
9122 silly lockFile 2c421639-odules-grunt-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/colors
9123 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/colors /home/spike/.npm/2c421639-odules-grunt-node-modules-colors.lock
9124 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
9125 verbose lock tar:///home/spike/.npm/colors/0.6.2/package.tgz /home/spike/.npm/70b312f2-ike-npm-colors-0-6-2-package-tgz.lock
9126 verbose tar unpack /home/spike/.npm/iconv-lite/0.2.11/package.tgz
9127 silly lockFile 8ca54c06-es-grunt-node-modules-iconv-lite tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/iconv-lite
9128 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/iconv-lite /home/spike/.npm/8ca54c06-es-grunt-node-modules-iconv-lite.lock
9129 silly lockFile e20ffa06-pm-iconv-lite-0-2-11-package-tgz tar:///home/spike/.npm/iconv-lite/0.2.11/package.tgz
9130 verbose lock tar:///home/spike/.npm/iconv-lite/0.2.11/package.tgz /home/spike/.npm/e20ffa06-pm-iconv-lite-0-2-11-package-tgz.lock
9131 verbose tar unpack /home/spike/.npm/minimatch/0.2.13/package.tgz
9132 silly lockFile b829a6c1-les-grunt-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch
9133 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch /home/spike/.npm/b829a6c1-les-grunt-node-modules-minimatch.lock
9134 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
9135 verbose lock tar:///home/spike/.npm/minimatch/0.2.13/package.tgz /home/spike/.npm/49020a58-npm-minimatch-0-2-13-package-tgz.lock
9136 verbose tar unpack /home/spike/.npm/coffee-script/1.3.3/package.tgz
9137 silly lockFile de7ed149-grunt-node-modules-coffee-script tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/coffee-script
9138 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/coffee-script /home/spike/.npm/de7ed149-grunt-node-modules-coffee-script.lock
9139 silly lockFile 2c638035--coffee-script-1-3-3-package-tgz tar:///home/spike/.npm/coffee-script/1.3.3/package.tgz
9140 verbose lock tar:///home/spike/.npm/coffee-script/1.3.3/package.tgz /home/spike/.npm/2c638035--coffee-script-1-3-3-package-tgz.lock
9141 verbose tar unpack /home/spike/.npm/nopt/1.0.10/package.tgz
9142 silly lockFile 987c0183--modules-grunt-node-modules-nopt tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt
9143 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt /home/spike/.npm/987c0183--modules-grunt-node-modules-nopt.lock
9144 silly lockFile b2377f8f-pike-npm-nopt-1-0-10-package-tgz tar:///home/spike/.npm/nopt/1.0.10/package.tgz
9145 verbose lock tar:///home/spike/.npm/nopt/1.0.10/package.tgz /home/spike/.npm/b2377f8f-pike-npm-nopt-1-0-10-package-tgz.lock
9146 verbose tar unpack /home/spike/.npm/rimraf/2.0.3/package.tgz
9147 silly lockFile 3f382fff-odules-grunt-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf
9148 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf /home/spike/.npm/3f382fff-odules-grunt-node-modules-rimraf.lock
9149 silly lockFile 845aa153-ike-npm-rimraf-2-0-3-package-tgz tar:///home/spike/.npm/rimraf/2.0.3/package.tgz
9150 verbose lock tar:///home/spike/.npm/rimraf/2.0.3/package.tgz /home/spike/.npm/845aa153-ike-npm-rimraf-2-0-3-package-tgz.lock
9151 verbose tar unpack /home/spike/.npm/lodash/0.9.2/package.tgz
9152 silly lockFile b5e4f40a-odules-grunt-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/lodash
9153 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/lodash /home/spike/.npm/b5e4f40a-odules-grunt-node-modules-lodash.lock
9154 silly lockFile 3e4ce494-ike-npm-lodash-0-9-2-package-tgz tar:///home/spike/.npm/lodash/0.9.2/package.tgz
9155 verbose lock tar:///home/spike/.npm/lodash/0.9.2/package.tgz /home/spike/.npm/3e4ce494-ike-npm-lodash-0-9-2-package-tgz.lock
9156 verbose tar unpack /home/spike/.npm/underscore.string/2.2.1/package.tgz
9157 silly lockFile 733233e3-t-node-modules-underscore-string tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/underscore.string
9158 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/underscore.string /home/spike/.npm/733233e3-t-node-modules-underscore-string.lock
9159 silly lockFile 76c634ed-erscore-string-2-2-1-package-tgz tar:///home/spike/.npm/underscore.string/2.2.1/package.tgz
9160 verbose lock tar:///home/spike/.npm/underscore.string/2.2.1/package.tgz /home/spike/.npm/76c634ed-erscore-string-2-2-1-package-tgz.lock
9161 verbose tar unpack /home/spike/.npm/exit/0.1.2/package.tgz
9162 silly lockFile 5a4792ef--modules-grunt-node-modules-exit tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/exit
9163 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/exit /home/spike/.npm/5a4792ef--modules-grunt-node-modules-exit.lock
9164 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
9165 verbose lock tar:///home/spike/.npm/exit/0.1.2/package.tgz /home/spike/.npm/913e10fe-spike-npm-exit-0-1-2-package-tgz.lock
9166 verbose tar unpack /home/spike/.npm/which/1.0.5/package.tgz
9167 silly lockFile d917edd6-modules-grunt-node-modules-which tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/which
9168 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/which /home/spike/.npm/d917edd6-modules-grunt-node-modules-which.lock
9169 silly lockFile d36bdad2-pike-npm-which-1-0-5-package-tgz tar:///home/spike/.npm/which/1.0.5/package.tgz
9170 verbose lock tar:///home/spike/.npm/which/1.0.5/package.tgz /home/spike/.npm/d36bdad2-pike-npm-which-1-0-5-package-tgz.lock
9171 verbose tar unpack /home/spike/.npm/js-yaml/2.0.5/package.tgz
9172 silly lockFile 8517f36e-dules-grunt-node-modules-js-yaml tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/js-yaml
9173 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/js-yaml /home/spike/.npm/8517f36e-dules-grunt-node-modules-js-yaml.lock
9174 silly lockFile 3a7ce121-ke-npm-js-yaml-2-0-5-package-tgz tar:///home/spike/.npm/js-yaml/2.0.5/package.tgz
9175 verbose lock tar:///home/spike/.npm/js-yaml/2.0.5/package.tgz /home/spike/.npm/3a7ce121-ke-npm-js-yaml-2-0-5-package-tgz.lock
9176 verbose tar unpack /home/spike/.npm/getobject/0.1.0/package.tgz
9177 silly lockFile 7a72fd1f-les-grunt-node-modules-getobject tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/getobject
9178 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/getobject /home/spike/.npm/7a72fd1f-les-grunt-node-modules-getobject.lock
9179 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
9180 verbose lock tar:///home/spike/.npm/getobject/0.1.0/package.tgz /home/spike/.npm/74d7f1f0--npm-getobject-0-1-0-package-tgz.lock
9181 verbose tar unpack /home/spike/.npm/eventemitter2/0.4.13/package.tgz
9182 silly lockFile 48974c2d-grunt-node-modules-eventemitter2 tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/eventemitter2
9183 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/eventemitter2 /home/spike/.npm/48974c2d-grunt-node-modules-eventemitter2.lock
9184 silly lockFile 41fb5858-eventemitter2-0-4-13-package-tgz tar:///home/spike/.npm/eventemitter2/0.4.13/package.tgz
9185 verbose lock tar:///home/spike/.npm/eventemitter2/0.4.13/package.tgz /home/spike/.npm/41fb5858-eventemitter2-0-4-13-package-tgz.lock
9186 verbose tar unpack /home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9187 silly lockFile 42e7ff37-es-grunt-node-modules-dateformat tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/dateformat
9188 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/dateformat /home/spike/.npm/42e7ff37-es-grunt-node-modules-dateformat.lock
9189 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9190 verbose lock tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz /home/spike/.npm/34553465-teformat-1-0-2-1-2-3-package-tgz.lock
9191 silly gunzTarPerm modes [ '755', '644' ]
9192 silly gunzTarPerm modes [ '755', '644' ]
9193 silly gunzTarPerm modes [ '755', '644' ]
9194 silly gunzTarPerm modes [ '755', '644' ]
9195 silly gunzTarPerm modes [ '755', '644' ]
9196 silly gunzTarPerm modes [ '755', '644' ]
9197 silly gunzTarPerm modes [ '755', '644' ]
9198 silly gunzTarPerm modes [ '755', '644' ]
9199 silly gunzTarPerm modes [ '755', '644' ]
9200 silly gunzTarPerm modes [ '755', '644' ]
9201 silly gunzTarPerm modes [ '755', '644' ]
9202 silly gunzTarPerm modes [ '755', '644' ]
9203 silly gunzTarPerm modes [ '755', '644' ]
9204 silly gunzTarPerm modes [ '755', '644' ]
9205 silly gunzTarPerm modes [ '755', '644' ]
9206 silly gunzTarPerm modes [ '755', '644' ]
9207 silly gunzTarPerm modes [ '755', '644' ]
9208 silly gunzTarPerm modes [ '755', '644' ]
9209 silly gunzTarPerm extractEntry lib/autoprefixer/processor.js
9210 silly gunzTarPerm extractEntry lib/autoprefixer/rule.js
9211 http 304 https://registry.npmjs.org/esprima
9212 silly registry.get cb [ 304,
9212 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
9212 silly registry.get etag: '"6B69DHUWLCB00ZJRRIW4V26YG"',
9212 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
9212 silly registry.get 'content-length': '0' } ]
9213 verbose etag esprima from cache
9214 silly gunzTarPerm extractEntry package.json
9215 silly gunzTarPerm extractEntry package.json
9216 silly gunzTarPerm extractEntry package.json
9217 silly gunzTarPerm extractEntry package.json
9218 silly gunzTarPerm extractEntry package.json
9219 silly gunzTarPerm extractEntry package.json
9220 silly gunzTarPerm extractEntry package.json
9221 silly gunzTarPerm extractEntry package.json
9222 silly gunzTarPerm extractEntry package.json
9223 silly gunzTarPerm extractEntry package.json
9224 silly gunzTarPerm extractEntry package.json
9225 silly gunzTarPerm extractEntry package.json
9226 silly gunzTarPerm extractEntry package.json
9227 silly gunzTarPerm extractEntry package.json
9228 silly gunzTarPerm extractEntry package.json
9229 silly gunzTarPerm extractEntry package.json
9230 silly gunzTarPerm extractEntry package.json
9231 silly gunzTarPerm extractEntry package.json
9232 silly gunzTarPerm extractEntry .npmignore
9233 silly gunzTarPerm extractEntry README.md
9234 silly addNameRange number 2 { name: 'esprima', range: '>=1.0.2-0 <1.1.0-0', hasData: true }
9235 silly addNameRange versions [ 'esprima',
9235 silly addNameRange [ '0.7.0',
9235 silly addNameRange '0.8.0',
9235 silly addNameRange '0.8.1',
9235 silly addNameRange '0.8.2',
9235 silly addNameRange '0.9.0',
9235 silly addNameRange '0.9.1',
9235 silly addNameRange '0.9.2',
9235 silly addNameRange '0.9.3',
9235 silly addNameRange '0.9.4',
9235 silly addNameRange '0.9.5',
9235 silly addNameRange '0.9.6',
9235 silly addNameRange '0.9.7',
9235 silly addNameRange '0.9.8',
9235 silly addNameRange '0.9.9',
9235 silly addNameRange '1.0.0',
9235 silly addNameRange '1.0.1',
9235 silly addNameRange '1.0.2',
9235 silly addNameRange '1.0.3',
9235 silly addNameRange '1.0.4' ] ]
9236 verbose addNamed [ 'esprima', '1.0.4' ]
9237 verbose addNamed [ '1.0.4', '1.0.4' ]
9238 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
9239 verbose lock esprima@1.0.4 /home/spike/.npm/758953aa-esprima-1-0-4.lock
9240 silly gunzTarPerm extractEntry README.md
9241 silly gunzTarPerm extractEntry child.js
9242 silly gunzTarPerm extractEntry .npmignore
9243 silly gunzTarPerm extractEntry README.md
9244 silly gunzTarPerm extractEntry colors.js
9245 silly gunzTarPerm extractEntry example.js
9246 silly gunzTarPerm extractEntry .npmignore
9247 silly gunzTarPerm extractEntry README.md
9248 silly gunzTarPerm extractEntry .npmignore
9249 silly gunzTarPerm extractEntry README.md
9250 silly gunzTarPerm extractEntry .npmignore
9251 silly gunzTarPerm extractEntry README.md
9252 silly gunzTarPerm extractEntry README.md
9253 silly gunzTarPerm extractEntry LICENSE
9254 silly gunzTarPerm extractEntry .npmignore
9255 silly gunzTarPerm extractEntry README.md
9256 silly gunzTarPerm extractEntry README.md
9257 silly gunzTarPerm extractEntry LICENSE
9258 silly gunzTarPerm extractEntry .npmignore
9259 silly gunzTarPerm extractEntry README.md
9260 silly gunzTarPerm extractEntry README.md
9261 silly gunzTarPerm extractEntry LICENSE
9262 silly gunzTarPerm extractEntry .npmignore
9263 silly gunzTarPerm extractEntry README.md
9264 silly gunzTarPerm extractEntry README.md
9265 silly gunzTarPerm extractEntry index.js
9266 silly gunzTarPerm extractEntry Readme.md
9267 silly gunzTarPerm extractEntry lib/dateformat.js
9268 silly gunzTarPerm extractEntry .travis.yml
9269 silly gunzTarPerm extractEntry Gemfile
9270 silly gunzTarPerm extractEntry README.md
9271 silly gunzTarPerm extractEntry lodash.js
9272 silly gunzTarPerm extractEntry .npmignore
9273 silly gunzTarPerm extractEntry README
9274 silly gunzTarPerm extractEntry lib/autoprefixer/rules.js
9275 silly gunzTarPerm extractEntry lib/autoprefixer/selector.js
9276 silly gunzTarPerm extractEntry Gruntfile.js
9277 silly gunzTarPerm extractEntry .jshintrc
9278 silly gunzTarPerm extractEntry test.js
9279 silly gunzTarPerm extractEntry MIT-LICENSE.txt
9280 silly gunzTarPerm extractEntry ReadMe.md
9281 silly gunzTarPerm extractEntry example.html
9282 silly gunzTarPerm extractEntry themes/winston-dark.js
9283 silly gunzTarPerm extractEntry themes/winston-light.js
9284 silly gunzTarPerm extractEntry rimraf.js
9285 silly gunzTarPerm extractEntry AUTHORS
9286 silly gunzTarPerm extractEntry which.js
9287 silly gunzTarPerm extractEntry bin/which
9288 silly gunzTarPerm extractEntry LICENSE
9289 silly gunzTarPerm extractEntry bin/nopt.js
9290 silly gunzTarPerm extractEntry test/test_weekofyear.js
9291 silly gunzTarPerm extractEntry test/test_weekofyear.sh
9292 silly gunzTarPerm extractEntry grunt.js
9293 silly gunzTarPerm extractEntry parent.js
9294 silly gunzTarPerm extractEntry LICENSE
9295 silly gunzTarPerm extractEntry glob.js
9296 silly gunzTarPerm extractEntry LICENSE
9297 silly gunzTarPerm extractEntry minimatch.js
9298 silly gunzTarPerm extractEntry LICENSE
9299 silly gunzTarPerm extractEntry Gruntfile.js
9300 silly gunzTarPerm extractEntry .jshintrc
9301 silly gunzTarPerm extractEntry Gruntfile.js
9302 silly gunzTarPerm extractEntry .jshintrc
9303 silly gunzTarPerm extractEntry LICENSE
9304 silly gunzTarPerm extractEntry index.js
9305 silly gunzTarPerm extractEntry build.js
9306 silly gunzTarPerm extractEntry index.js
9307 silly gunzTarPerm extractEntry HISTORY.md
9308 silly gunzTarPerm extractEntry lib/eventemitter2.js
9309 silly gunzTarPerm extractEntry LICENSE
9310 silly gunzTarPerm extractEntry CNAME
9311 silly gunzTarPerm extractEntry Gemfile.lock
9312 silly gunzTarPerm extractEntry README.markdown
9313 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
9314 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
9315 silly lockFile de249c7a-esprima-1-0-2 esprima@~1.0.2
9316 silly lockFile de249c7a-esprima-1-0-2 esprima@~1.0.2
9317 silly gunzTarPerm extractEntry LICENSE-MIT
9318 silly gunzTarPerm extractEntry lib/findup-sync.js
9319 silly gunzTarPerm extractEntry examples/my-program.js
9320 silly gunzTarPerm extractEntry lib/nopt.js
9321 silly gunzTarPerm extractEntry .travis.yml
9322 silly gunzTarPerm extractEntry LICENSE-MIT
9323 silly gunzTarPerm extractEntry .travis.yml
9324 silly gunzTarPerm extractEntry test/basic.js
9325 silly gunzTarPerm extractEntry index.js
9326 silly gunzTarPerm extractEntry .gitmodules
9327 silly gunzTarPerm extractEntry test/test-async.js
9328 silly gunzTarPerm extractEntry test/test-fiber.js
9329 silly gunzTarPerm extractEntry .travis.yml
9330 silly gunzTarPerm extractEntry LICENSE-MIT
9331 silly gunzTarPerm extractEntry .travis.yml
9332 silly gunzTarPerm extractEntry Rakefile
9333 silly gunzTarPerm extractEntry bin/cake
9334 silly gunzTarPerm extractEntry Rakefile
9335 silly gunzTarPerm extractEntry test/findup-sync_test.js
9336 silly gunzTarPerm extractEntry test/fixtures/a/b/bar.txt
9337 silly gunzTarPerm extractEntry lib/getobject.js
9338 silly gunzTarPerm extractEntry test/namespace_test.js
9339 silly gunzTarPerm extractEntry test/test-sync.js
9340 silly gunzTarPerm extractEntry test/run.sh
9341 silly gunzTarPerm extractEntry dist/underscore.string.min.js
9342 silly gunzTarPerm extractEntry lib/underscore.string.js
9343 silly gunzTarPerm extractEntry LICENSE-MIT
9344 silly gunzTarPerm extractEntry dist/ba-hooker.js
9345 silly gunzTarPerm extractEntry dist/ba-hooker.min.js
9346 silly gunzTarPerm extractEntry lib/hooker.js
9347 silly gunzTarPerm extractEntry test/hooker_test.js
9348 silly gunzTarPerm extractEntry lib/exit.js
9349 silly gunzTarPerm extractEntry test/exit_test.js
9350 silly gunzTarPerm extractEntry lib/autoprefixer/css.js
9351 silly gunzTarPerm extractEntry lib/autoprefixer/updater.js
9352 silly gunzTarPerm extractEntry bin/coffee
9353 silly gunzTarPerm extractEntry extras/jsl.conf
9354 silly gunzTarPerm extractEntry README.md~
9355 silly gunzTarPerm extractEntry encodings/big5.js
9356 silly gunzTarPerm extractEntry bin/js-yaml.js
9357 silly gunzTarPerm extractEntry test/fixtures/a/foo.txt
9358 silly gunzTarPerm extractEntry test/fixtures/a.txt
9359 silly gunzTarPerm extractEntry test/run-qunit.js
9360 silly gunzTarPerm extractEntry test/speed.js
9361 silly gunzTarPerm extractEntry test/brace-expand.js
9362 silly gunzTarPerm extractEntry test/caching.js
9363 silly gunzTarPerm extractEntry test/fixtures/log.js
9364 silly gunzTarPerm extractEntry lib/autoprefixer/old-value.js
9365 silly gunzTarPerm extractEntry lib/autoprefixer/value.js
9366 silly gunzTarPerm extractEntry lib/coffee-script/browser.js
9367 silly gunzTarPerm extractEntry encodings/gbk.js
9368 silly gunzTarPerm extractEntry encodings/singlebyte.js
9369 silly gunzTarPerm extractEntry examples/custom_types.js
9370 silly gunzTarPerm extractEntry examples/dumper.js
9371 silly gunzTarPerm extractEntry test/fixtures/aaa.txt
9372 silly gunzTarPerm extractEntry test/setup.sh
9373 silly gunzTarPerm extractEntry index.js
9374 silly gunzTarPerm extractEntry lodash.min.js
9375 silly gunzTarPerm extractEntry examples/g.js
9376 silly gunzTarPerm extractEntry examples/usr-local.js
9377 silly gunzTarPerm extractEntry test/fixtures/log-broken.js
9378 silly gunzTarPerm extractEntry test/fixtures/10-stdout.txt
9379 silly gunzTarPerm extractEntry test/defaults.js
9380 silly gunzTarPerm extractEntry test/extglob-ending-with-state-char.js
9381 silly gunzTarPerm extractEntry lib/coffee-script/command.js
9382 silly gunzTarPerm extractEntry lib/coffee-script/grammar.js
9383 silly gunzTarPerm extractEntry examples/sample_document.js
9384 silly gunzTarPerm extractEntry examples/custom_types.yaml
9385 silly gunzTarPerm extractEntry test/00-setup.js
9386 silly gunzTarPerm extractEntry test/bash-comparison.js
9387 silly gunzTarPerm extractEntry lib/autoprefixer/prefixes.js
9388 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-content.js
9389 silly gunzTarPerm extractEntry test/fixtures/100-stderr.txt
9390 silly gunzTarPerm extractEntry test/fixtures/100-stdout-stderr.txt
9391 silly lockFile d917edd6-modules-grunt-node-modules-which tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/which
9392 silly lockFile d917edd6-modules-grunt-node-modules-which tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/which
9393 silly lockFile d36bdad2-pike-npm-which-1-0-5-package-tgz tar:///home/spike/.npm/which/1.0.5/package.tgz
9394 silly lockFile d36bdad2-pike-npm-which-1-0-5-package-tgz tar:///home/spike/.npm/which/1.0.5/package.tgz
9395 silly gunzTarPerm extractEntry lib/coffee-script/helpers.js
9396 silly gunzTarPerm extractEntry lib/coffee-script/index.js
9397 info preinstall which@1.0.5
9398 silly gunzTarPerm extractEntry examples/dumper.json
9399 silly gunzTarPerm extractEntry examples/sample_document.yaml
9400 silly gunzTarPerm extractEntry encodings/table/big5.js
9401 silly gunzTarPerm extractEntry test/fixtures/100-stdout.txt
9402 silly gunzTarPerm extractEntry test/fixtures/10-stdout-stderr.txt
9403 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/filter.js
9404 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-basis.js
9405 silly gunzTarPerm extractEntry encodings/table/gbk.js
9406 verbose readDependencies using package.json deps
9407 verbose readDependencies using package.json deps
9408 silly resolved []
9409 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/which
9410 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/which
9411 verbose linkStuff [ false,
9411 verbose linkStuff false,
9411 verbose linkStuff false,
9411 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9412 info linkStuff which@1.0.5
9413 verbose linkBins which@1.0.5
9414 verbose link bins [ { which: './bin/which' },
9414 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/.bin',
9414 verbose link bins false ]
9415 verbose linkMans which@1.0.5
9416 verbose rebuildBundles which@1.0.5
9417 silly lockFile 42e7ff37-es-grunt-node-modules-dateformat tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/dateformat
9418 silly lockFile 42e7ff37-es-grunt-node-modules-dateformat tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/dateformat
9419 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9420 silly lockFile 34553465-teformat-1-0-2-1-2-3-package-tgz tar:///home/spike/.npm/dateformat/1.0.2-1.2.3/package.tgz
9421 silly gunzTarPerm extractEntry lib/coffee-script/coffee-script.js
9422 silly gunzTarPerm extractEntry lib/coffee-script/nodes.js
9423 info preinstall dateformat@1.0.2-1.2.3
9424 info install which@1.0.5
9425 info postinstall which@1.0.5
9426 verbose readDependencies using package.json deps
9427 silly gunzTarPerm extractEntry test/fixtures/1000-stdout-stderr.txt
9428 silly gunzTarPerm extractEntry test/fixtures/1000-stdout.txt
9429 verbose readDependencies using package.json deps
9430 silly resolved []
9431 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/dateformat
9432 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/dateformat
9433 verbose linkStuff [ false,
9433 verbose linkStuff false,
9433 verbose linkStuff false,
9433 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9434 info linkStuff dateformat@1.0.2-1.2.3
9435 verbose linkBins dateformat@1.0.2-1.2.3
9436 verbose linkMans dateformat@1.0.2-1.2.3
9437 verbose rebuildBundles dateformat@1.0.2-1.2.3
9438 silly gunzTarPerm extractEntry test/strings.js
9439 silly gunzTarPerm extractEntry test/strings_standalone.js
9440 silly gunzTarPerm extractEntry lib/js-yaml.js
9441 silly gunzTarPerm extractEntry lib/js-yaml/common.js
9442 info install dateformat@1.0.2-1.2.3
9443 silly gunzTarPerm extractEntry lib/coffee-script/optparse.js
9444 silly gunzTarPerm extractEntry lib/coffee-script/parser.js
9445 info postinstall dateformat@1.0.2-1.2.3
9446 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-declaration.js
9447 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-direction.js
9448 silly gunzTarPerm extractEntry generation/generate-big5-table.js
9449 silly gunzTarPerm extractEntry test/underscore.js
9450 silly gunzTarPerm extractEntry test/test.html
9451 silly gunzTarPerm extractEntry Makefile
9452 silly gunzTarPerm extractEntry lib/async.js
9453 silly lockFile 48974c2d-grunt-node-modules-eventemitter2 tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/eventemitter2
9454 silly lockFile 48974c2d-grunt-node-modules-eventemitter2 tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/eventemitter2
9455 silly lockFile 41fb5858-eventemitter2-0-4-13-package-tgz tar:///home/spike/.npm/eventemitter2/0.4.13/package.tgz
9456 silly lockFile 41fb5858-eventemitter2-0-4-13-package-tgz tar:///home/spike/.npm/eventemitter2/0.4.13/package.tgz
9457 silly gunzTarPerm extractEntry test/fixtures/create-files.sh
9458 silly gunzTarPerm extractEntry test/fixtures/10-stderr.txt
9459 silly gunzTarPerm extractEntry lib/js-yaml/dumper.js
9460 silly gunzTarPerm extractEntry lib/js-yaml/exception.js
9461 silly gunzTarPerm extractEntry generation/generate-singlebyte.js
9462 silly gunzTarPerm extractEntry test/big5-test.js
9463 info preinstall eventemitter2@0.4.13
9464 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/fill-available.js
9465 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-grow.js
9466 silly gunzTarPerm extractEntry lib/coffee-script/repl.js
9467 silly gunzTarPerm extractEntry lib/coffee-script/rewriter.js
9468 silly lockFile 7a72fd1f-les-grunt-node-modules-getobject tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/getobject
9469 silly lockFile 7a72fd1f-les-grunt-node-modules-getobject tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/getobject
9470 silly gunzTarPerm extractEntry test/cwd-test.js
9471 silly gunzTarPerm extractEntry test/mark.js
9472 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
9473 silly lockFile 74d7f1f0--npm-getobject-0-1-0-package-tgz tar:///home/spike/.npm/getobject/0.1.0/package.tgz
9474 verbose readDependencies using package.json deps
9475 verbose readDependencies using package.json deps
9476 silly resolved []
9477 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/eventemitter2
9478 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/eventemitter2
9479 verbose linkStuff [ false,
9479 verbose linkStuff false,
9479 verbose linkStuff false,
9479 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9480 info linkStuff eventemitter2@0.4.13
9481 verbose linkBins eventemitter2@0.4.13
9482 verbose linkMans eventemitter2@0.4.13
9483 verbose rebuildBundles eventemitter2@0.4.13
9484 silly lockFile 3f382fff-odules-grunt-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf
9485 silly lockFile 3f382fff-odules-grunt-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf
9486 info install eventemitter2@0.4.13
9487 silly gunzTarPerm extractEntry test/cyrillic-test.js
9488 silly gunzTarPerm extractEntry test/gbk-test.js
9489 silly lockFile 845aa153-ike-npm-rimraf-2-0-3-package-tgz tar:///home/spike/.npm/rimraf/2.0.3/package.tgz
9490 silly lockFile 845aa153-ike-npm-rimraf-2-0-3-package-tgz tar:///home/spike/.npm/rimraf/2.0.3/package.tgz
9491 info preinstall getobject@0.1.0
9492 silly gunzTarPerm extractEntry lib/js-yaml/loader.js
9493 silly gunzTarPerm extractEntry lib/js-yaml/mark.js
9494 silly gunzTarPerm extractEntry test/fixtures/1000-stderr.txt
9495 info postinstall eventemitter2@0.4.13
9496 silly gunzTarPerm extractEntry test/nocase-nomagic.js
9497 silly gunzTarPerm extractEntry test/pause-resume.js
9498 verbose readDependencies using package.json deps
9499 info preinstall rimraf@2.0.3
9500 verbose readDependencies using package.json deps
9501 silly resolved []
9502 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/getobject
9503 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/getobject
9504 verbose linkStuff [ false,
9504 verbose linkStuff false,
9504 verbose linkStuff false,
9504 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9505 info linkStuff getobject@0.1.0
9506 verbose linkBins getobject@0.1.0
9507 verbose linkMans getobject@0.1.0
9508 verbose rebuildBundles getobject@0.1.0
9509 info install getobject@0.1.0
9510 silly gunzTarPerm extractEntry test/test_standalone.html
9511 silly gunzTarPerm extractEntry test/test_underscore/arrays.js
9512 verbose readDependencies using package.json deps
9513 info postinstall getobject@0.1.0
9514 verbose readDependencies using package.json deps
9515 silly gunzTarPerm extractEntry lib/js-yaml/require.js
9516 silly gunzTarPerm extractEntry lib/js-yaml/schema.js
9517 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-shrink.js
9518 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-wrap.js
9519 verbose cache add [ 'graceful-fs@~1.1', null ]
9520 verbose cache add name=undefined spec="graceful-fs@~1.1" args=["graceful-fs@~1.1",null]
9521 verbose parsed url { protocol: null,
9521 verbose parsed url slashes: null,
9521 verbose parsed url auth: null,
9521 verbose parsed url host: null,
9521 verbose parsed url port: null,
9521 verbose parsed url hostname: null,
9521 verbose parsed url hash: null,
9521 verbose parsed url search: null,
9521 verbose parsed url query: null,
9521 verbose parsed url pathname: 'graceful-fs@~1.1',
9521 verbose parsed url path: 'graceful-fs@~1.1',
9521 verbose parsed url href: 'graceful-fs@~1.1' }
9522 verbose cache add name="graceful-fs" spec="~1.1" args=["graceful-fs","~1.1"]
9523 verbose parsed url { protocol: null,
9523 verbose parsed url slashes: null,
9523 verbose parsed url auth: null,
9523 verbose parsed url host: null,
9523 verbose parsed url port: null,
9523 verbose parsed url hostname: null,
9523 verbose parsed url hash: null,
9523 verbose parsed url search: null,
9523 verbose parsed url query: null,
9523 verbose parsed url pathname: '~1.1',
9523 verbose parsed url path: '~1.1',
9523 verbose parsed url href: '~1.1' }
9524 verbose addNamed [ 'graceful-fs', '~1.1' ]
9525 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
9526 silly lockFile 0502dd56-graceful-fs-1-1 graceful-fs@~1.1
9527 verbose lock graceful-fs@~1.1 /home/spike/.npm/0502dd56-graceful-fs-1-1.lock
9528 silly gunzTarPerm extractEntry lib/coffee-script/cake.js
9529 silly gunzTarPerm extractEntry lib/coffee-script/scope.js
9530 silly addNameRange { name: 'graceful-fs',
9530 silly addNameRange range: '>=1.1.0-0 <1.2.0-0',
9530 silly addNameRange hasData: false }
9531 silly gunzTarPerm extractEntry test/root-nomount.js
9532 silly gunzTarPerm extractEntry test/root.js
9533 silly lockFile 987c0183--modules-grunt-node-modules-nopt tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt
9534 silly lockFile 987c0183--modules-grunt-node-modules-nopt tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt
9535 silly gunzTarPerm extractEntry lib/js-yaml/type.js
9536 silly gunzTarPerm extractEntry lib/js-yaml/schema/default.js
9537 verbose url raw graceful-fs
9538 verbose url resolving [ 'https://registry.npmjs.org/', './graceful-fs' ]
9539 verbose url resolved https://registry.npmjs.org/graceful-fs
9540 info trying registry request attempt 1 at 11:44:47
9541 verbose etag "73QVR94NLELWB7CWCR6K3IJJY"
9542 http GET https://registry.npmjs.org/graceful-fs
9543 silly lockFile b2377f8f-pike-npm-nopt-1-0-10-package-tgz tar:///home/spike/.npm/nopt/1.0.10/package.tgz
9544 silly lockFile b2377f8f-pike-npm-nopt-1-0-10-package-tgz tar:///home/spike/.npm/nopt/1.0.10/package.tgz
9545 silly lockFile 2c421639-odules-grunt-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/colors
9546 silly lockFile 2c421639-odules-grunt-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/colors
9547 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
9548 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
9549 silly gunzTarPerm extractEntry test/zz-cleanup.js
9550 silly gunzTarPerm extractEntry test/bash-results.json
9551 silly lockFile 013e61aa-s-grunt-node-modules-findup-sync tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync
9552 silly lockFile 013e61aa-s-grunt-node-modules-findup-sync tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync
9553 info preinstall nopt@1.0.10
9554 silly lockFile fd1f971d-pm-findup-sync-0-1-2-package-tgz tar:///home/spike/.npm/findup-sync/0.1.2/package.tgz
9555 silly lockFile fd1f971d-pm-findup-sync-0-1-2-package-tgz tar:///home/spike/.npm/findup-sync/0.1.2/package.tgz
9556 info preinstall colors@0.6.2
9557 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex.js
9558 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/fullscreen.js
9559 silly gunzTarPerm extractEntry lib/js-yaml/schema/minimal.js
9560 silly gunzTarPerm extractEntry lib/js-yaml/schema/safe.js
9561 verbose readDependencies using package.json deps
9562 verbose readDependencies using package.json deps
9563 verbose readDependencies using package.json deps
9564 info preinstall findup-sync@0.1.2
9565 verbose readDependencies using package.json deps
9566 silly resolved []
9567 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/colors
9568 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/colors
9569 verbose linkStuff [ false,
9569 verbose linkStuff false,
9569 verbose linkStuff false,
9569 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9570 info linkStuff colors@0.6.2
9571 verbose linkBins colors@0.6.2
9572 verbose linkMans colors@0.6.2
9573 verbose rebuildBundles colors@0.6.2
9574 verbose cache add [ 'abbrev@1', null ]
9575 verbose cache add name=undefined spec="abbrev@1" args=["abbrev@1",null]
9576 verbose parsed url { protocol: null,
9576 verbose parsed url slashes: null,
9576 verbose parsed url auth: null,
9576 verbose parsed url host: null,
9576 verbose parsed url port: null,
9576 verbose parsed url hostname: null,
9576 verbose parsed url hash: null,
9576 verbose parsed url search: null,
9576 verbose parsed url query: null,
9576 verbose parsed url pathname: 'abbrev@1',
9576 verbose parsed url path: 'abbrev@1',
9576 verbose parsed url href: 'abbrev@1' }
9577 verbose cache add name="abbrev" spec="1" args=["abbrev","1"]
9578 verbose parsed url { protocol: null,
9578 verbose parsed url slashes: null,
9578 verbose parsed url auth: null,
9578 verbose parsed url host: null,
9578 verbose parsed url port: null,
9578 verbose parsed url hostname: null,
9578 verbose parsed url hash: null,
9578 verbose parsed url search: null,
9578 verbose parsed url query: null,
9578 verbose parsed url pathname: '1',
9578 verbose parsed url path: '1',
9578 verbose parsed url href: '1' }
9579 verbose addNamed [ 'abbrev', '1' ]
9580 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
9581 silly lockFile 6830b531-abbrev-1 abbrev@1
9582 verbose lock abbrev@1 /home/spike/.npm/6830b531-abbrev-1.lock
9583 info install colors@0.6.2
9584 verbose readDependencies using package.json deps
9585 silly addNameRange { name: 'abbrev', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
9586 info postinstall colors@0.6.2
9587 verbose readDependencies using package.json deps
9588 verbose cache add [ 'lodash@~1.0.1', null ]
9589 verbose cache add name=undefined spec="lodash@~1.0.1" args=["lodash@~1.0.1",null]
9590 verbose parsed url { protocol: null,
9590 verbose parsed url slashes: null,
9590 verbose parsed url auth: null,
9590 verbose parsed url host: null,
9590 verbose parsed url port: null,
9590 verbose parsed url hostname: null,
9590 verbose parsed url hash: null,
9590 verbose parsed url search: null,
9590 verbose parsed url query: null,
9590 verbose parsed url pathname: 'lodash@~1.0.1',
9590 verbose parsed url path: 'lodash@~1.0.1',
9590 verbose parsed url href: 'lodash@~1.0.1' }
9591 verbose cache add name="lodash" spec="~1.0.1" args=["lodash","~1.0.1"]
9592 verbose parsed url { protocol: null,
9592 verbose parsed url slashes: null,
9592 verbose parsed url auth: null,
9592 verbose parsed url host: null,
9592 verbose parsed url port: null,
9592 verbose parsed url hostname: null,
9592 verbose parsed url hash: null,
9592 verbose parsed url search: null,
9592 verbose parsed url query: null,
9592 verbose parsed url pathname: '~1.0.1',
9592 verbose parsed url path: '~1.0.1',
9592 verbose parsed url href: '~1.0.1' }
9593 verbose addNamed [ 'lodash', '~1.0.1' ]
9594 verbose addNamed [ null, '>=1.0.1-0 <1.1.0-0' ]
9595 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
9596 verbose lock lodash@~1.0.1 /home/spike/.npm/7309cd5e-lodash-1-0-1.lock
9597 silly addNameRange { name: 'lodash', range: '>=1.0.1-0 <1.1.0-0', hasData: false }
9598 verbose registry.get abbrev not expired, no request
9599 silly addNameRange number 2 { name: 'abbrev', range: '>=1.0.0-0 <2.0.0-0', hasData: true }
9600 silly addNameRange versions [ 'abbrev', [ '1.0.3', '1.0.4' ] ]
9601 verbose addNamed [ 'abbrev', '1.0.4' ]
9602 verbose addNamed [ '1.0.4', '1.0.4' ]
9603 silly lockFile 64a4e3a6-abbrev-1-0-4 abbrev@1.0.4
9604 verbose lock abbrev@1.0.4 /home/spike/.npm/64a4e3a6-abbrev-1-0-4.lock
9605 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/display-flex.js
9606 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/gradient.js
9607 silly lockFile 64a4e3a6-abbrev-1-0-4 abbrev@1.0.4
9608 silly lockFile 64a4e3a6-abbrev-1-0-4 abbrev@1.0.4
9609 verbose registry.get lodash not expired, no request
9610 silly addNameRange number 2 { name: 'lodash', range: '>=1.0.1-0 <1.1.0-0', hasData: true }
9611 silly addNameRange versions [ 'lodash',
9611 silly addNameRange [ '0.1.0',
9611 silly addNameRange '0.2.0',
9611 silly addNameRange '0.2.1',
9611 silly addNameRange '0.2.2',
9611 silly addNameRange '0.3.0',
9611 silly addNameRange '0.3.1',
9611 silly addNameRange '0.3.2',
9611 silly addNameRange '0.4.0',
9611 silly addNameRange '0.4.1',
9611 silly addNameRange '0.4.2',
9611 silly addNameRange '0.5.0-rc.1',
9611 silly addNameRange '0.5.0',
9611 silly addNameRange '0.5.1',
9611 silly addNameRange '0.5.2',
9611 silly addNameRange '0.6.0',
9611 silly addNameRange '0.6.1',
9611 silly addNameRange '0.7.0',
9611 silly addNameRange '0.8.0',
9611 silly addNameRange '0.8.1',
9611 silly addNameRange '0.8.2',
9611 silly addNameRange '0.9.0',
9611 silly addNameRange '0.9.1',
9611 silly addNameRange '0.9.2',
9611 silly addNameRange '0.10.0',
9611 silly addNameRange '1.0.0-rc.1',
9611 silly addNameRange '1.0.0-rc.2',
9611 silly addNameRange '1.0.0-rc.3',
9611 silly addNameRange '1.0.0',
9611 silly addNameRange '1.0.1',
9611 silly addNameRange '1.1.0',
9611 silly addNameRange '1.1.1',
9611 silly addNameRange '1.2.0',
9611 silly addNameRange '1.2.1',
9611 silly addNameRange '1.3.0',
9611 silly addNameRange '1.3.1',
9611 silly addNameRange '2.0.0',
9611 silly addNameRange '2.1.0',
9611 silly addNameRange '2.2.0',
9611 silly addNameRange '2.2.1',
9611 silly addNameRange '2.3.0',
9611 silly addNameRange '2.4.0',
9611 silly addNameRange '2.4.1' ] ]
9612 verbose addNamed [ 'lodash', '1.0.1' ]
9613 verbose addNamed [ '1.0.1', '1.0.1' ]
9614 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
9615 verbose lock lodash@1.0.1 /home/spike/.npm/e2e1e8db-lodash-1-0-1.lock
9616 silly lockFile 6830b531-abbrev-1 abbrev@1
9617 silly lockFile 6830b531-abbrev-1 abbrev@1
9618 silly resolved [ { name: 'abbrev',
9618 silly resolved version: '1.0.4',
9618 silly resolved description: 'Like ruby\'s abbrev module, but in js',
9618 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
9618 silly resolved main: './lib/abbrev.js',
9618 silly resolved scripts: { test: 'node lib/abbrev.js' },
9618 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/abbrev-js' },
9618 silly resolved license:
9618 silly resolved { type: 'MIT',
9618 silly resolved url: 'https://github.com/isaacs/abbrev-js/raw/master/LICENSE' },
9618 silly resolved readme: '# abbrev-js\n\nJust like [ruby\'s Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require("abbrev");\n abbrev("foo", "fool", "folding", "flop");\n \n // returns:\n { fl: \'flop\'\n , flo: \'flop\'\n , flop: \'flop\'\n , fol: \'folding\'\n , fold: \'folding\'\n , foldi: \'folding\'\n , foldin: \'folding\'\n , folding: \'folding\'\n , foo: \'foo\'\n , fool: \'fool\'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n',
9618 silly resolved readmeFilename: 'README.md',
9618 silly resolved bugs: { url: 'https://github.com/isaacs/abbrev-js/issues' },
9618 silly resolved homepage: 'https://github.com/isaacs/abbrev-js',
9618 silly resolved _id: 'abbrev@1.0.4',
9618 silly resolved _from: 'abbrev@1' } ]
9619 info install abbrev@1.0.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt
9620 info installOne abbrev@1.0.4
9621 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules/abbrev unbuild
9622 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
9623 silly lockFile e2e1e8db-lodash-1-0-1 lodash@1.0.1
9624 silly gunzTarPerm extractEntry lib/js-yaml/type/binary.js
9625 silly gunzTarPerm extractEntry lib/js-yaml/type/int.js
9626 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
9627 silly lockFile 7309cd5e-lodash-1-0-1 lodash@~1.0.1
9628 silly resolved [ { name: 'lodash',
9628 silly resolved version: '1.0.1',
9628 silly resolved description: 'An alternative to Underscore.js, delivering consistency, customization, performance, and extra features.',
9628 silly resolved homepage: 'http://lodash.com',
9628 silly resolved main: './dist/lodash',
9628 silly resolved keywords:
9628 silly resolved [ 'browser',
9628 silly resolved 'client',
9628 silly resolved 'functional',
9628 silly resolved 'performance',
9628 silly resolved 'server',
9628 silly resolved 'speed',
9628 silly resolved 'util' ],
9628 silly resolved licenses: [ [Object] ],
9628 silly resolved author:
9628 silly resolved { name: 'John-David Dalton',
9628 silly resolved email: 'john.david.dalton@gmail.com',
9628 silly resolved url: 'http://allyoucanleet.com/' },
9628 silly resolved bugs: { url: 'https://github.com/bestiejs/lodash/issues' },
9628 silly resolved repository: { type: 'git', url: 'https://github.com/bestiejs/lodash.git' },
9628 silly resolved bin: { lodash: './build.js' },
9628 silly resolved directories: { doc: './doc', test: './test' },
9628 silly resolved engines: [ 'node', 'rhino' ],
9628 silly resolved jam: { main: './lodash.js' },
9628 silly resolved scripts:
9628 silly resolved { build: 'node ./build.js',
9628 silly resolved test: 'node ./test/test.js ./dist/lodash.js && node ./test/test.js ./dist/lodash.min.js && node ./test/test-build.js' },
9628 silly resolved readme: '# Lo-Dash <sup>v1.0.1</sup>\n[![build status](https://secure.travis-ci.org/bestiejs/lodash.png)](http://travis-ci.org/bestiejs/lodash)\n\nAn alternative to Underscore.js, delivering consistency, [customization](https://github.com/bestiejs/lodash#custom-builds), [performance](http://lodash.com/benchmarks), and [extra features](https://github.com/bestiejs/lodash#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/bestiejs/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/bestiejs/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1s 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](https://github.com/bestiejs/lodash#custom-builds) with only the features you need\n\n## Dive in\n\nWeve 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/bestiejs/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-Dashs origin and why its a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dashs 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 objects own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an objects 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## Custom builds\n\nCustom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need.\nTo top it off, we handle all method dependency and alias mapping for you.\n\n * Backbone builds, with only methods required by Backbone, may be created using the `backbone` modifier argument.\n```bash\nlodash backbone\n```\n\n * CSP builds, supporting default [Content Security Policy](https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html) restrictions, may be created using the `csp` modifier argument.\n The `csp` modifier is an alais of the `mobile` modifier. Lo-Dash may be used in Chrome extensions by using either the `csp`, `mobile`, or `underscore` build and using precompiled templates, or loading Lo-Dash in a [sandbox](http://developer.chrome.com/stable/extensions/sandboxingEval.html).\n```bash\nlodash csp\n```\n\n * Legacy builds, tailored for older environments without [ES5 support](http://es5.github.com/), may be created using the `legacy` modifier argument.\n```bash\nlodash legacy\n```\n\n * Modern builds, tailored for newer environments with ES5 support, may be created using the `modern` modifier argument.\n```bash\nlodash modern\n```\n\n * Mobile builds, without method compilation and most bug fixes for old browsers, may be created using the `mobile` modifier argument.\n```bash\nlodash mobile\n```\n\n * Strict builds, with `_.bindAll`, `_.defaults`, and `_.extend` in [strict mode](http://es5.github.com/#C), may be created using the `strict` modifier argument.\n```bash\nlodash strict\n```\n\n * Underscore builds, tailored for projects already using Underscore, may be created using the `underscore` modifier argument.\n```bash\nlodash underscore\n```\n\nCustom builds may be created using the following commands:\n\n * Use the `category` argument to pass comma separated categories of methods to include in the build.<br>\n Valid categories (case-insensitive) are *“arrays”*, *“chaining”*, *“collections”*, *“functions”*, *“objects”*, and *“utilities”*.\n```bash\nlodash category=collections,functions\nlodash category="collections, functions"\n```\n\n * Use the `exports` argument to pass comma separated names of ways to export the `LoDash` function.<br>\n Valid exports are *“amd”*, *“commonjs”*, *“global”*, *“node”*, and *“none”*.\n```bash\nlodash exports=amd,commonjs,node\nlodash exports="amd, commonjs, node"\n```\n\n * Use the `iife` argument to specify code to replace the immediately-invoked function expression that wraps Lo-Dash.\n```bash\nlodash iife="!function(window,undefined){%output%}(this)"\n```\n\n * Use the `include` argument to pass comma separated method/category names to include in the build.\n```bash\nlodash include=each,filter,map\nlodash include="each, filter, map"\n```\n\n * Use the `minus` argument to pass comma separated method/category names to remove from those included in the build.\n```bash\nlodash underscore minus=result,shuffle\nlodash underscore minus="result, shuffle"\n```\n\n * Use the `plus` argument to pass comma separated method/category names to add to those included in the build.\n```bash\nlodash backbone plus=random,template\nlodash backbone plus="random, template"\n```\n\n * Use the `template` argument to pass the file path pattern used to match template files to precompile.\n```bash\nlodash template="./*.jst"\n```\n\n * Use the `settings` argument to pass the template settings used when precompiling templates.\n```bash\nlodash settings="{interpolate:/\\{\\{([\\s\\S]+?)\\}\\}/g}"\n```\n\n * Use the `moduleId` argument to specify the AMD module ID of Lo-Dash, which defaults to “lodash”, used by precompiled templates.\n```bash\nlodash moduleId="underscore"\n```\n\nAll arguments, except `legacy` with `csp`, `mobile`, `modern`, or `underscore`, may be combined.<br>\nUnless specified by `-o` or `--output`, all files created are saved to the current working directory.\n\nThe following options are also supported:\n\n * `-c`, `--stdout` ......... Write output to standard output\n * `-d`, `--debug` ........... Write only the non-minified development output\n * `-h`, `--help` ............. Display help information\n * `-m`, `--minify` ......... Write only the minified production output\n * `-o`, `--output` ......... Write output to a given path/filename\n * `-p`, `--source-map` .. Generate a source map for the minified output, using an optional source map URL\n * `-s`, `--silent` ......... Skip status updates normally logged to the console\n * `-V`, `--version` ....... Output current version of Lo-Dash\n\nThe `lodash` command-line utility is available when Lo-Dash is installed as a global package (i.e. `npm install -g lodash`).\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 projects 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/bestiejs/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the 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* [John-David Dalton](http://allyoucanleet.com/)\n [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter")\n\n## Contributors\n\n* [Kit Cambridge](http://kitcambridge.github.com/)\n [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter")\n* [Mathias Bynens](http://mathiasbynens.be/)\n [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter")\n',
9628 silly resolved readmeFilename: 'README.md',
9628 silly resolved _id: 'lodash@1.0.1',
9628 silly resolved _from: 'lodash@~1.0.1' } ]
9629 info install lodash@1.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync
9630 info installOne lodash@1.0.1
9631 verbose tar unpack /home/spike/.npm/abbrev/1.0.4/package.tgz
9632 silly lockFile 2445042f-modules-nopt-node-modules-abbrev tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules/abbrev
9633 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules/abbrev /home/spike/.npm/2445042f-modules-nopt-node-modules-abbrev.lock
9634 silly lockFile c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz tar:///home/spike/.npm/abbrev/1.0.4/package.tgz
9635 verbose lock tar:///home/spike/.npm/abbrev/1.0.4/package.tgz /home/spike/.npm/c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz.lock
9636 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/lodash unbuild
9637 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/border-radius.js
9638 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/justify-content.js
9639 silly gunzTarPerm modes [ '755', '644' ]
9640 silly gunzTarPerm extractEntry test/test_underscore/collections.js
9641 silly gunzTarPerm extractEntry test/test_underscore/functions.js
9642 verbose tar unpack /home/spike/.npm/lodash/1.0.1/package.tgz
9643 silly lockFile 6ad0558b--findup-sync-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/lodash
9644 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/lodash /home/spike/.npm/6ad0558b--findup-sync-node-modules-lodash.lock
9645 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
9646 verbose lock tar:///home/spike/.npm/lodash/1.0.1/package.tgz /home/spike/.npm/807a5ae3-ike-npm-lodash-1-0-1-package-tgz.lock
9647 silly gunzTarPerm extractEntry test/greek-test.js
9648 silly gunzTarPerm extractEntry test/main-test.js
9649 silly gunzTarPerm extractEntry lib/coffee-script/lexer.js
9650 silly gunzTarPerm modes [ '755', '644' ]
9651 silly gunzTarPerm extractEntry package.json
9652 silly gunzTarPerm extractEntry lib/js-yaml/type/str.js
9653 silly gunzTarPerm extractEntry lib/js-yaml/type/map.js
9654 silly gunzTarPerm extractEntry package.json
9655 silly gunzTarPerm extractEntry README.md
9656 silly gunzTarPerm extractEntry LICENSE
9657 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/border-image.js
9658 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/order.js
9659 silly gunzTarPerm extractEntry test/test_underscore/objects.js
9660 silly gunzTarPerm extractEntry test/test_underscore/chaining.js
9661 silly gunzTarPerm extractEntry README.md
9662 silly gunzTarPerm extractEntry index.js
9663 silly gunzTarPerm extractEntry lib/abbrev.js
9664 silly gunzTarPerm extractEntry lib/js-yaml/type/float.js
9665 silly gunzTarPerm extractEntry lib/js-yaml/type/bool.js
9666 silly gunzTarPerm extractEntry build.js
9667 silly gunzTarPerm extractEntry test/test_underscore/temp.js
9668 silly gunzTarPerm extractEntry test/test_underscore/utility.js
9669 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-self.js
9670 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/placeholder.js
9671 silly lockFile ab66a93f-odules-grunt-node-modules-hooker tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/hooker
9672 silly lockFile ab66a93f-odules-grunt-node-modules-hooker tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/hooker
9673 silly lockFile 2262c5a8-ike-npm-hooker-0-2-3-package-tgz tar:///home/spike/.npm/hooker/0.2.3/package.tgz
9674 silly lockFile 2262c5a8-ike-npm-hooker-0-2-3-package-tgz tar:///home/spike/.npm/hooker/0.2.3/package.tgz
9675 silly lockFile 63808735-modules-grunt-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/async
9676 silly lockFile 63808735-modules-grunt-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/async
9677 silly lockFile 2ea0afb1-ike-npm-async-0-1-22-package-tgz tar:///home/spike/.npm/async/0.1.22/package.tgz
9678 silly lockFile 2ea0afb1-ike-npm-async-0-1-22-package-tgz tar:///home/spike/.npm/async/0.1.22/package.tgz
9679 info preinstall hooker@0.2.3
9680 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/align-items.js
9681 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/transition.js
9682 info preinstall async@0.1.22
9683 verbose readDependencies using package.json deps
9684 verbose readDependencies using package.json deps
9685 silly resolved []
9686 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/hooker
9687 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/hooker
9688 verbose linkStuff [ false,
9688 verbose linkStuff false,
9688 verbose linkStuff false,
9688 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9689 info linkStuff hooker@0.2.3
9690 verbose linkBins hooker@0.2.3
9691 verbose linkMans hooker@0.2.3
9692 verbose rebuildBundles hooker@0.2.3
9693 info install hooker@0.2.3
9694 verbose readDependencies using package.json deps
9695 verbose readDependencies using package.json deps
9696 silly resolved []
9697 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/async
9698 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/async
9699 verbose linkStuff [ false,
9699 verbose linkStuff false,
9699 verbose linkStuff false,
9699 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9700 info linkStuff async@0.1.22
9701 verbose linkBins async@0.1.22
9702 verbose linkMans async@0.1.22
9703 verbose rebuildBundles async@0.1.22
9704 info postinstall hooker@0.2.3
9705 info install async@0.1.22
9706 info postinstall async@0.1.22
9707 silly gunzTarPerm extractEntry lib/js-yaml/type/omap.js
9708 silly gunzTarPerm extractEntry lib/js-yaml/type/pairs.js
9709 silly gunzTarPerm extractEntry lib/autoprefixer/hacks/flex-flow.js
9710 silly gunzTarPerm extractEntry updaters/browsers.js
9711 silly gunzTarPerm extractEntry lodash.js
9712 silly gunzTarPerm extractEntry lib/js-yaml/type/seq.js
9713 silly gunzTarPerm extractEntry lib/js-yaml/type/set.js
9714 silly lockFile 2445042f-modules-nopt-node-modules-abbrev tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules/abbrev
9715 silly lockFile 2445042f-modules-nopt-node-modules-abbrev tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules/abbrev
9716 silly gunzTarPerm extractEntry doc/README.md
9717 silly lockFile c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz tar:///home/spike/.npm/abbrev/1.0.4/package.tgz
9718 silly lockFile c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz tar:///home/spike/.npm/abbrev/1.0.4/package.tgz
9719 silly lockFile b829a6c1-les-grunt-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch
9720 silly lockFile b829a6c1-les-grunt-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch
9721 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
9722 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
9723 info preinstall abbrev@1.0.4
9724 silly gunzTarPerm extractEntry build/minify.js
9725 verbose readDependencies using package.json deps
9726 info preinstall minimatch@0.2.13
9727 verbose readDependencies using package.json deps
9728 silly resolved []
9729 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules/abbrev
9730 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules/abbrev
9731 verbose linkStuff [ false,
9731 verbose linkStuff false,
9731 verbose linkStuff false,
9731 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt/node_modules' ]
9732 info linkStuff abbrev@1.0.4
9733 verbose linkBins abbrev@1.0.4
9734 verbose linkMans abbrev@1.0.4
9735 verbose rebuildBundles abbrev@1.0.4
9736 info install abbrev@1.0.4
9737 silly gunzTarPerm extractEntry updaters/prefixes.js
9738 verbose readDependencies using package.json deps
9739 info postinstall abbrev@1.0.4
9740 silly gunzTarPerm extractEntry test/test_underscore/speed.js
9741 silly gunzTarPerm extractEntry test/test_underscore/test.html
9742 verbose readDependencies using package.json deps
9743 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt
9744 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/nopt
9745 verbose linkStuff [ false,
9745 verbose linkStuff false,
9745 verbose linkStuff false,
9745 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9746 info linkStuff nopt@1.0.10
9747 verbose linkBins nopt@1.0.10
9748 verbose link bins [ { nopt: './bin/nopt.js' },
9748 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/.bin',
9748 verbose link bins false ]
9749 verbose linkMans nopt@1.0.10
9750 verbose rebuildBundles nopt@1.0.10
9751 verbose rebuildBundles [ 'abbrev' ]
9752 silly gunzTarPerm extractEntry test/test_underscore/temp_tests.html
9753 silly gunzTarPerm extractEntry test/test_underscore/vendor/jquery.js
9754 info install nopt@1.0.10
9755 verbose cache add [ 'sigmund@~1.0.0', null ]
9756 verbose cache add name=undefined spec="sigmund@~1.0.0" args=["sigmund@~1.0.0",null]
9757 verbose parsed url { protocol: null,
9757 verbose parsed url slashes: null,
9757 verbose parsed url auth: null,
9757 verbose parsed url host: null,
9757 verbose parsed url port: null,
9757 verbose parsed url hostname: null,
9757 verbose parsed url hash: null,
9757 verbose parsed url search: null,
9757 verbose parsed url query: null,
9757 verbose parsed url pathname: 'sigmund@~1.0.0',
9757 verbose parsed url path: 'sigmund@~1.0.0',
9757 verbose parsed url href: 'sigmund@~1.0.0' }
9758 verbose cache add name="sigmund" spec="~1.0.0" args=["sigmund","~1.0.0"]
9759 verbose parsed url { protocol: null,
9759 verbose parsed url slashes: null,
9759 verbose parsed url auth: null,
9759 verbose parsed url host: null,
9759 verbose parsed url port: null,
9759 verbose parsed url hostname: null,
9759 verbose parsed url hash: null,
9759 verbose parsed url search: null,
9759 verbose parsed url query: null,
9759 verbose parsed url pathname: '~1.0.0',
9759 verbose parsed url path: '~1.0.0',
9759 verbose parsed url href: '~1.0.0' }
9760 verbose addNamed [ 'sigmund', '~1.0.0' ]
9761 verbose cache add [ 'lru-cache@2', null ]
9762 verbose cache add name=undefined spec="lru-cache@2" args=["lru-cache@2",null]
9763 verbose parsed url { protocol: null,
9763 verbose parsed url slashes: null,
9763 verbose parsed url auth: null,
9763 verbose parsed url host: null,
9763 verbose parsed url port: null,
9763 verbose parsed url hostname: null,
9763 verbose parsed url hash: null,
9763 verbose parsed url search: null,
9763 verbose parsed url query: null,
9763 verbose parsed url pathname: 'lru-cache@2',
9763 verbose parsed url path: 'lru-cache@2',
9763 verbose parsed url href: 'lru-cache@2' }
9764 verbose cache add name="lru-cache" spec="2" args=["lru-cache","2"]
9765 verbose parsed url { protocol: null,
9765 verbose parsed url slashes: null,
9765 verbose parsed url auth: null,
9765 verbose parsed url host: null,
9765 verbose parsed url port: null,
9765 verbose parsed url hostname: null,
9765 verbose parsed url hash: null,
9765 verbose parsed url search: null,
9765 verbose parsed url query: null,
9765 verbose parsed url pathname: '2',
9765 verbose parsed url path: '2',
9765 verbose parsed url href: '2' }
9766 verbose addNamed [ 'lru-cache', '2' ]
9767 info postinstall nopt@1.0.10
9768 silly lockFile be25430c--modules-grunt-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob
9769 silly lockFile be25430c--modules-grunt-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob
9770 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
9771 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
9772 silly gunzTarPerm extractEntry lib/js-yaml/type/merge.js
9773 silly gunzTarPerm extractEntry lib/js-yaml/type/timestamp.js
9774 info preinstall glob@3.1.21
9775 silly gunzTarPerm extractEntry test/test_underscore/vendor/jslitmus.js
9776 silly gunzTarPerm extractEntry test/test_underscore/vendor/qunit.js
9777 silly gunzTarPerm extractEntry test/test_underscore/vendor/qunit.css
9778 verbose readDependencies using package.json deps
9779 verbose readDependencies using package.json deps
9780 verbose cache add [ 'graceful-fs@~1.2.0', null ]
9781 verbose cache add name=undefined spec="graceful-fs@~1.2.0" args=["graceful-fs@~1.2.0",null]
9782 verbose parsed url { protocol: null,
9782 verbose parsed url slashes: null,
9782 verbose parsed url auth: null,
9782 verbose parsed url host: null,
9782 verbose parsed url port: null,
9782 verbose parsed url hostname: null,
9782 verbose parsed url hash: null,
9782 verbose parsed url search: null,
9782 verbose parsed url query: null,
9782 verbose parsed url pathname: 'graceful-fs@~1.2.0',
9782 verbose parsed url path: 'graceful-fs@~1.2.0',
9782 verbose parsed url href: 'graceful-fs@~1.2.0' }
9783 verbose cache add name="graceful-fs" spec="~1.2.0" args=["graceful-fs","~1.2.0"]
9784 verbose parsed url { protocol: null,
9784 verbose parsed url slashes: null,
9784 verbose parsed url auth: null,
9784 verbose parsed url host: null,
9784 verbose parsed url port: null,
9784 verbose parsed url hostname: null,
9784 verbose parsed url hash: null,
9784 verbose parsed url search: null,
9784 verbose parsed url query: null,
9784 verbose parsed url pathname: '~1.2.0',
9784 verbose parsed url path: '~1.2.0',
9784 verbose parsed url href: '~1.2.0' }
9785 verbose addNamed [ 'graceful-fs', '~1.2.0' ]
9786 verbose cache add [ 'inherits@1', null ]
9787 verbose cache add name=undefined spec="inherits@1" args=["inherits@1",null]
9788 verbose parsed url { protocol: null,
9788 verbose parsed url slashes: null,
9788 verbose parsed url auth: null,
9788 verbose parsed url host: null,
9788 verbose parsed url port: null,
9788 verbose parsed url hostname: null,
9788 verbose parsed url hash: null,
9788 verbose parsed url search: null,
9788 verbose parsed url query: null,
9788 verbose parsed url pathname: 'inherits@1',
9788 verbose parsed url path: 'inherits@1',
9788 verbose parsed url href: 'inherits@1' }
9789 verbose cache add name="inherits" spec="1" args=["inherits","1"]
9790 verbose parsed url { protocol: null,
9790 verbose parsed url slashes: null,
9790 verbose parsed url auth: null,
9790 verbose parsed url host: null,
9790 verbose parsed url port: null,
9790 verbose parsed url hostname: null,
9790 verbose parsed url hash: null,
9790 verbose parsed url search: null,
9790 verbose parsed url query: null,
9790 verbose parsed url pathname: '1',
9790 verbose parsed url path: '1',
9790 verbose parsed url href: '1' }
9791 verbose addNamed [ 'inherits', '1' ]
9792 silly gunzTarPerm extractEntry lib/js-yaml/type/null.js
9793 silly gunzTarPerm extractEntry lib/js-yaml/type/js/function.js
9794 silly gunzTarPerm extractEntry lodash.underscore.js
9795 silly lockFile 5a4792ef--modules-grunt-node-modules-exit tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/exit
9796 silly lockFile 5a4792ef--modules-grunt-node-modules-exit tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/exit
9797 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
9798 silly lockFile 913e10fe-spike-npm-exit-0-1-2-package-tgz tar:///home/spike/.npm/exit/0.1.2/package.tgz
9799 silly gunzTarPerm extractEntry lib/js-yaml/type/js/regexp.js
9800 silly gunzTarPerm extractEntry lib/js-yaml/type/js/undefined.js
9801 silly gunzTarPerm extractEntry lodash.underscore.min.js
9802 info preinstall exit@0.1.2
9803 verbose readDependencies using package.json deps
9804 verbose readDependencies using package.json deps
9805 silly resolved []
9806 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/exit
9807 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/exit
9808 verbose linkStuff [ false,
9808 verbose linkStuff false,
9808 verbose linkStuff false,
9808 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9809 info linkStuff exit@0.1.2
9810 verbose linkBins exit@0.1.2
9811 verbose linkMans exit@0.1.2
9812 verbose rebuildBundles exit@0.1.2
9813 info install exit@0.1.2
9814 info postinstall exit@0.1.2
9815 silly gunzTarPerm extractEntry build/post-compile.js
9816 silly gunzTarPerm extractEntry build/pre-compile.js
9817 silly gunzTarPerm extractEntry build/minify.js
9818 silly gunzTarPerm extractEntry build/post-compile.js
9819 silly gunzTarPerm extractEntry build/pre-compile.js
9820 silly gunzTarPerm extractEntry LICENSE.txt
9821 silly gunzTarPerm extractEntry vendor/tar/README.md
9822 silly gunzTarPerm extractEntry vendor/tar/LICENCE
9823 silly gunzTarPerm extractEntry vendor/tar/tar.js
9824 silly gunzTarPerm extractEntry vendor/tar/lib/buffer-entry.js
9825 silly gunzTarPerm extractEntry vendor/tar/lib/entry-writer.js
9826 silly gunzTarPerm extractEntry vendor/tar/lib/entry.js
9827 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header-writer.js
9828 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header.js
9829 silly gunzTarPerm extractEntry vendor/tar/lib/extract.js
9830 silly gunzTarPerm extractEntry vendor/tar/lib/global-header-writer.js
9831 silly gunzTarPerm extractEntry vendor/tar/lib/header.js
9832 silly gunzTarPerm extractEntry vendor/tar/lib/pack.js
9833 silly gunzTarPerm extractEntry vendor/tar/lib/parse.js
9834 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/README.md
9835 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/LICENCE
9836 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/block-stream.js
9837 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/README.md
9838 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/LICENSE
9839 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/fstream.js
9840 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/abstract.js
9841 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-writer.js
9842 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-reader.js
9843 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-writer.js
9844 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/get-type.js
9845 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-reader.js
9846 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-writer.js
9847 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-reader.js
9848 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-writer.js
9849 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/reader.js
9850 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/socket-reader.js
9851 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/collect.js
9852 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/writer.js
9853 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-reader.js
9854 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/README.md
9855 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/LICENSE
9856 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/graceful-fs.js
9857 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/README.md
9858 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/inherits.js
9859 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/LICENSE
9860 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/index.js
9861 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/readme.markdown
9862 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/README.md
9863 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/LICENSE
9864 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/rimraf.js
9865 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/AUTHORS
9866 silly lockFile 94edcd5b-efixer-node-modules-autoprefixer tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-autoprefixer/node_modules/autoprefixer
9867 silly lockFile 94edcd5b-efixer-node-modules-autoprefixer tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-autoprefixer/node_modules/autoprefixer
9868 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
9869 silly lockFile bcab228c-refixer-0-8-20131213-package-tgz tar:///home/spike/.npm/autoprefixer/0.8.20131213/package.tgz
9870 info preinstall autoprefixer@0.8.20131213
9871 verbose readDependencies using package.json deps
9872 verbose readDependencies using package.json deps
9873 verbose cache add [ 'css-parse@~> 1.6.0', null ]
9874 verbose cache add name=undefined spec="css-parse@~> 1.6.0" args=["css-parse@~> 1.6.0",null]
9875 verbose parsed url { protocol: null,
9875 verbose parsed url slashes: null,
9875 verbose parsed url auth: null,
9875 verbose parsed url host: null,
9875 verbose parsed url port: null,
9875 verbose parsed url hostname: null,
9875 verbose parsed url hash: null,
9875 verbose parsed url search: null,
9875 verbose parsed url query: null,
9875 verbose parsed url pathname: 'css-parse@~%3E%201.6.0',
9875 verbose parsed url path: 'css-parse@~%3E%201.6.0',
9875 verbose parsed url href: 'css-parse@~%3E%201.6.0' }
9876 verbose cache add name="css-parse" spec="~> 1.6.0" args=["css-parse","~> 1.6.0"]
9877 verbose parsed url { protocol: null,
9877 verbose parsed url slashes: null,
9877 verbose parsed url auth: null,
9877 verbose parsed url host: null,
9877 verbose parsed url port: null,
9877 verbose parsed url hostname: null,
9877 verbose parsed url hash: null,
9877 verbose parsed url search: null,
9877 verbose parsed url query: null,
9877 verbose parsed url pathname: '~%3E%201.6.0',
9877 verbose parsed url path: '~%3E%201.6.0',
9877 verbose parsed url href: '~%3E%201.6.0' }
9878 verbose addNamed [ 'css-parse', '~> 1.6.0' ]
9879 verbose addNamed [ null, '>=1.6.0-0 <1.7.0-0' ]
9880 silly lockFile 26fb2221-css-parse-1-6-0 css-parse@~> 1.6.0
9881 verbose lock css-parse@~> 1.6.0 /home/spike/.npm/26fb2221-css-parse-1-6-0.lock
9882 verbose cache add [ 'css-stringify@~> 1.4.1', null ]
9883 verbose cache add name=undefined spec="css-stringify@~> 1.4.1" args=["css-stringify@~> 1.4.1",null]
9884 verbose parsed url { protocol: null,
9884 verbose parsed url slashes: null,
9884 verbose parsed url auth: null,
9884 verbose parsed url host: null,
9884 verbose parsed url port: null,
9884 verbose parsed url hostname: null,
9884 verbose parsed url hash: null,
9884 verbose parsed url search: null,
9884 verbose parsed url query: null,
9884 verbose parsed url pathname: 'css-stringify@~%3E%201.4.1',
9884 verbose parsed url path: 'css-stringify@~%3E%201.4.1',
9884 verbose parsed url href: 'css-stringify@~%3E%201.4.1' }
9885 verbose cache add name="css-stringify" spec="~> 1.4.1" args=["css-stringify","~> 1.4.1"]
9886 verbose parsed url { protocol: null,
9886 verbose parsed url slashes: null,
9886 verbose parsed url auth: null,
9886 verbose parsed url host: null,
9886 verbose parsed url port: null,
9886 verbose parsed url hostname: null,
9886 verbose parsed url hash: null,
9886 verbose parsed url search: null,
9886 verbose parsed url query: null,
9886 verbose parsed url pathname: '~%3E%201.4.1',
9886 verbose parsed url path: '~%3E%201.4.1',
9886 verbose parsed url href: '~%3E%201.4.1' }
9887 verbose addNamed [ 'css-stringify', '~> 1.4.1' ]
9888 verbose addNamed [ null, '>=1.4.1-0 <1.5.0-0' ]
9889 silly lockFile 89783a71-css-stringify-1-4-1 css-stringify@~> 1.4.1
9890 verbose lock css-stringify@~> 1.4.1 /home/spike/.npm/89783a71-css-stringify-1-4-1.lock
9891 silly addNameRange { name: 'css-parse',
9891 silly addNameRange range: '>=1.6.0-0 <1.7.0-0',
9891 silly addNameRange hasData: false }
9892 silly addNameRange { name: 'css-stringify',
9892 silly addNameRange range: '>=1.4.1-0 <1.5.0-0',
9892 silly addNameRange hasData: false }
9893 silly lockFile 8517f36e-dules-grunt-node-modules-js-yaml tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/js-yaml
9894 silly lockFile 8517f36e-dules-grunt-node-modules-js-yaml tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/js-yaml
9895 silly lockFile 3a7ce121-ke-npm-js-yaml-2-0-5-package-tgz tar:///home/spike/.npm/js-yaml/2.0.5/package.tgz
9896 silly lockFile 3a7ce121-ke-npm-js-yaml-2-0-5-package-tgz tar:///home/spike/.npm/js-yaml/2.0.5/package.tgz
9897 info preinstall js-yaml@2.0.5
9898 verbose readDependencies using package.json deps
9899 verbose readDependencies using package.json deps
9900 verbose url raw css-stringify
9901 verbose url resolving [ 'https://registry.npmjs.org/', './css-stringify' ]
9902 verbose url resolved https://registry.npmjs.org/css-stringify
9903 info trying registry request attempt 1 at 11:44:48
9904 verbose etag "72599PMG0TPAYKXN7WEWGQAOC"
9905 http GET https://registry.npmjs.org/css-stringify
9906 verbose cache add [ 'argparse@~ 0.1.11', null ]
9907 verbose cache add name=undefined spec="argparse@~ 0.1.11" args=["argparse@~ 0.1.11",null]
9908 verbose parsed url { protocol: null,
9908 verbose parsed url slashes: null,
9908 verbose parsed url auth: null,
9908 verbose parsed url host: null,
9908 verbose parsed url port: null,
9908 verbose parsed url hostname: null,
9908 verbose parsed url hash: null,
9908 verbose parsed url search: null,
9908 verbose parsed url query: null,
9908 verbose parsed url pathname: 'argparse@~%200.1.11',
9908 verbose parsed url path: 'argparse@~%200.1.11',
9908 verbose parsed url href: 'argparse@~%200.1.11' }
9909 verbose cache add name="argparse" spec="~ 0.1.11" args=["argparse","~ 0.1.11"]
9910 verbose parsed url { protocol: null,
9910 verbose parsed url slashes: null,
9910 verbose parsed url auth: null,
9910 verbose parsed url host: null,
9910 verbose parsed url port: null,
9910 verbose parsed url hostname: null,
9910 verbose parsed url hash: null,
9910 verbose parsed url search: null,
9910 verbose parsed url query: null,
9910 verbose parsed url pathname: '~%200.1.11',
9910 verbose parsed url path: '~%200.1.11',
9910 verbose parsed url href: '~%200.1.11' }
9911 verbose addNamed [ 'argparse', '~ 0.1.11' ]
9912 verbose addNamed [ null, '>=0.1.11-0 <0.2.0-0' ]
9913 silly lockFile 4775a11d-argparse-0-1-11 argparse@~ 0.1.11
9914 verbose lock argparse@~ 0.1.11 /home/spike/.npm/4775a11d-argparse-0-1-11.lock
9915 verbose cache add [ 'esprima@~ 1.0.2', null ]
9916 verbose cache add name=undefined spec="esprima@~ 1.0.2" args=["esprima@~ 1.0.2",null]
9917 verbose parsed url { protocol: null,
9917 verbose parsed url slashes: null,
9917 verbose parsed url auth: null,
9917 verbose parsed url host: null,
9917 verbose parsed url port: null,
9917 verbose parsed url hostname: null,
9917 verbose parsed url hash: null,
9917 verbose parsed url search: null,
9917 verbose parsed url query: null,
9917 verbose parsed url pathname: 'esprima@~%201.0.2',
9917 verbose parsed url path: 'esprima@~%201.0.2',
9917 verbose parsed url href: 'esprima@~%201.0.2' }
9918 verbose cache add name="esprima" spec="~ 1.0.2" args=["esprima","~ 1.0.2"]
9919 verbose parsed url { protocol: null,
9919 verbose parsed url slashes: null,
9919 verbose parsed url auth: null,
9919 verbose parsed url host: null,
9919 verbose parsed url port: null,
9919 verbose parsed url hostname: null,
9919 verbose parsed url hash: null,
9919 verbose parsed url search: null,
9919 verbose parsed url query: null,
9919 verbose parsed url pathname: '~%201.0.2',
9919 verbose parsed url path: '~%201.0.2',
9919 verbose parsed url href: '~%201.0.2' }
9920 verbose addNamed [ 'esprima', '~ 1.0.2' ]
9921 verbose addNamed [ null, '>=1.0.2-0 <1.1.0-0' ]
9922 silly lockFile f16a0183-esprima-1-0-2 esprima@~ 1.0.2
9923 verbose lock esprima@~ 1.0.2 /home/spike/.npm/f16a0183-esprima-1-0-2.lock
9924 silly addNameRange { name: 'argparse',
9924 silly addNameRange range: '>=0.1.11-0 <0.2.0-0',
9924 silly addNameRange hasData: false }
9925 silly addNameRange { name: 'esprima', range: '>=1.0.2-0 <1.1.0-0', hasData: false }
9926 verbose url raw css-parse
9927 verbose url resolving [ 'https://registry.npmjs.org/', './css-parse' ]
9928 verbose url resolved https://registry.npmjs.org/css-parse
9929 info trying registry request attempt 1 at 11:44:48
9930 verbose etag "9LAZCA6U32123IEERDHUBL8NJ"
9931 http GET https://registry.npmjs.org/css-parse
9932 verbose registry.get esprima not expired, no request
9933 silly addNameRange number 2 { name: 'esprima', range: '>=1.0.2-0 <1.1.0-0', hasData: true }
9934 silly addNameRange versions [ 'esprima',
9934 silly addNameRange [ '0.7.0',
9934 silly addNameRange '0.8.0',
9934 silly addNameRange '0.8.1',
9934 silly addNameRange '0.8.2',
9934 silly addNameRange '0.9.0',
9934 silly addNameRange '0.9.1',
9934 silly addNameRange '0.9.2',
9934 silly addNameRange '0.9.3',
9934 silly addNameRange '0.9.4',
9934 silly addNameRange '0.9.5',
9934 silly addNameRange '0.9.6',
9934 silly addNameRange '0.9.7',
9934 silly addNameRange '0.9.8',
9934 silly addNameRange '0.9.9',
9934 silly addNameRange '1.0.0',
9934 silly addNameRange '1.0.1',
9934 silly addNameRange '1.0.2',
9934 silly addNameRange '1.0.3',
9934 silly addNameRange '1.0.4' ] ]
9935 verbose addNamed [ 'esprima', '1.0.4' ]
9936 verbose addNamed [ '1.0.4', '1.0.4' ]
9937 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
9938 verbose lock esprima@1.0.4 /home/spike/.npm/758953aa-esprima-1-0-4.lock
9939 verbose url raw argparse
9940 verbose url resolving [ 'https://registry.npmjs.org/', './argparse' ]
9941 verbose url resolved https://registry.npmjs.org/argparse
9942 info trying registry request attempt 1 at 11:44:48
9943 verbose etag "2XW5JI0U3URG9CVXBQMP3SM7J"
9944 http GET https://registry.npmjs.org/argparse
9945 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
9946 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
9947 silly lockFile f16a0183-esprima-1-0-2 esprima@~ 1.0.2
9948 silly lockFile f16a0183-esprima-1-0-2 esprima@~ 1.0.2
9949 silly gunzTarPerm extractEntry LICENSE.txt
9950 silly gunzTarPerm extractEntry dist/lodash.compat.js
9951 silly gunzTarPerm extractEntry test/performance.js
9952 silly gunzTarPerm extractEntry test/turkish-test.js
9953 silly gunzTarPerm extractEntry test/big5File.txt
9954 silly gunzTarPerm extractEntry test/gbkFile.txt
9955 silly lockFile de7ed149-grunt-node-modules-coffee-script tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/coffee-script
9956 silly lockFile de7ed149-grunt-node-modules-coffee-script tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/coffee-script
9957 silly lockFile 2c638035--coffee-script-1-3-3-package-tgz tar:///home/spike/.npm/coffee-script/1.3.3/package.tgz
9958 silly lockFile 2c638035--coffee-script-1-3-3-package-tgz tar:///home/spike/.npm/coffee-script/1.3.3/package.tgz
9959 info preinstall coffee-script@1.3.3
9960 verbose readDependencies using package.json deps
9961 verbose readDependencies using package.json deps
9962 silly resolved []
9963 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/coffee-script
9964 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/coffee-script
9965 verbose linkStuff [ false,
9965 verbose linkStuff false,
9965 verbose linkStuff false,
9965 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9966 info linkStuff coffee-script@1.3.3
9967 verbose linkBins coffee-script@1.3.3
9968 verbose link bins [ { coffee: './bin/coffee', cake: './bin/cake' },
9968 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/.bin',
9968 verbose link bins false ]
9969 verbose linkMans coffee-script@1.3.3
9970 verbose rebuildBundles coffee-script@1.3.3
9971 info install coffee-script@1.3.3
9972 info postinstall coffee-script@1.3.3
9973 silly lockFile 733233e3-t-node-modules-underscore-string tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/underscore.string
9974 silly lockFile 733233e3-t-node-modules-underscore-string tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/underscore.string
9975 silly lockFile 76c634ed-erscore-string-2-2-1-package-tgz tar:///home/spike/.npm/underscore.string/2.2.1/package.tgz
9976 silly lockFile 76c634ed-erscore-string-2-2-1-package-tgz tar:///home/spike/.npm/underscore.string/2.2.1/package.tgz
9977 info preinstall underscore.string@2.2.1
9978 verbose readDependencies using package.json deps
9979 verbose readDependencies using package.json deps
9980 silly resolved []
9981 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/underscore.string
9982 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/underscore.string
9983 verbose linkStuff [ false,
9983 verbose linkStuff false,
9983 verbose linkStuff false,
9983 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
9984 info linkStuff underscore.string@2.2.1
9985 verbose linkBins underscore.string@2.2.1
9986 verbose linkMans underscore.string@2.2.1
9987 verbose rebuildBundles underscore.string@2.2.1
9988 info install underscore.string@2.2.1
9989 info postinstall underscore.string@2.2.1
9990 silly gunzTarPerm extractEntry dist/lodash.compat.min.js
9991 silly gunzTarPerm extractEntry dist/lodash.js
9992 silly gunzTarPerm extractEntry dist/lodash.min.js
9993 silly gunzTarPerm extractEntry dist/lodash.underscore.js
9994 silly gunzTarPerm extractEntry dist/lodash.underscore.min.js
9995 silly gunzTarPerm extractEntry perf/perf.js
9996 silly gunzTarPerm extractEntry test/test-build.js
9997 silly gunzTarPerm extractEntry test/test.js
9998 silly gunzTarPerm extractEntry test/template/a.jst
9999 silly gunzTarPerm extractEntry test/template/b.jst
10000 silly gunzTarPerm extractEntry test/template/c.jst
10001 silly gunzTarPerm extractEntry test/template/d.tpl
10002 silly gunzTarPerm extractEntry vendor/benchmark.js/README.md
10003 silly lockFile 8ca54c06-es-grunt-node-modules-iconv-lite tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/iconv-lite
10004 silly lockFile 8ca54c06-es-grunt-node-modules-iconv-lite tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/iconv-lite
10005 silly lockFile e20ffa06-pm-iconv-lite-0-2-11-package-tgz tar:///home/spike/.npm/iconv-lite/0.2.11/package.tgz
10006 silly lockFile e20ffa06-pm-iconv-lite-0-2-11-package-tgz tar:///home/spike/.npm/iconv-lite/0.2.11/package.tgz
10007 info preinstall iconv-lite@0.2.11
10008 verbose readDependencies using package.json deps
10009 verbose readDependencies using package.json deps
10010 silly resolved []
10011 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/iconv-lite
10012 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/iconv-lite
10013 verbose linkStuff [ false,
10013 verbose linkStuff false,
10013 verbose linkStuff false,
10013 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
10014 info linkStuff iconv-lite@0.2.11
10015 verbose linkBins iconv-lite@0.2.11
10016 verbose linkMans iconv-lite@0.2.11
10017 verbose rebuildBundles iconv-lite@0.2.11
10018 info install iconv-lite@0.2.11
10019 info postinstall iconv-lite@0.2.11
10020 silly lockFile b5e4f40a-odules-grunt-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/lodash
10021 silly lockFile b5e4f40a-odules-grunt-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/lodash
10022 silly lockFile 3e4ce494-ike-npm-lodash-0-9-2-package-tgz tar:///home/spike/.npm/lodash/0.9.2/package.tgz
10023 silly lockFile 3e4ce494-ike-npm-lodash-0-9-2-package-tgz tar:///home/spike/.npm/lodash/0.9.2/package.tgz
10024 info preinstall lodash@0.9.2
10025 verbose readDependencies using package.json deps
10026 verbose readDependencies using package.json deps
10027 silly resolved []
10028 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/lodash
10029 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/lodash
10030 verbose linkStuff [ false,
10030 verbose linkStuff false,
10030 verbose linkStuff false,
10030 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
10031 info linkStuff lodash@0.9.2
10032 verbose linkBins lodash@0.9.2
10033 verbose link bins [ { lodash: './build.js' },
10033 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/.bin',
10033 verbose link bins false ]
10034 verbose linkMans lodash@0.9.2
10035 verbose rebuildBundles lodash@0.9.2
10036 info install lodash@0.9.2
10037 info postinstall lodash@0.9.2
10038 silly gunzTarPerm extractEntry vendor/benchmark.js/benchmark.js
10039 silly gunzTarPerm extractEntry vendor/benchmark.js/LICENSE.txt
10040 silly gunzTarPerm extractEntry vendor/platform.js/README.md
10041 silly gunzTarPerm extractEntry vendor/platform.js/platform.js
10042 silly gunzTarPerm extractEntry vendor/platform.js/LICENSE.txt
10043 silly gunzTarPerm extractEntry vendor/qunit/README.md
10044 silly gunzTarPerm extractEntry vendor/qunit/qunit/qunit.js
10045 silly gunzTarPerm extractEntry vendor/qunit-clib/README.md
10046 silly gunzTarPerm extractEntry vendor/qunit-clib/qunit-clib.js
10047 silly gunzTarPerm extractEntry vendor/qunit-clib/LICENSE.txt
10048 silly gunzTarPerm extractEntry vendor/tar/README.md
10049 silly gunzTarPerm extractEntry vendor/tar/tar.js
10050 silly gunzTarPerm extractEntry vendor/tar/lib/buffer-entry.js
10051 silly gunzTarPerm extractEntry vendor/tar/lib/entry-writer.js
10052 silly gunzTarPerm extractEntry vendor/tar/lib/entry.js
10053 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header-writer.js
10054 silly gunzTarPerm extractEntry vendor/tar/lib/extended-header.js
10055 silly gunzTarPerm extractEntry vendor/tar/lib/extract.js
10056 silly gunzTarPerm extractEntry vendor/tar/lib/global-header-writer.js
10057 silly gunzTarPerm extractEntry vendor/tar/lib/header.js
10058 silly gunzTarPerm extractEntry vendor/tar/lib/pack.js
10059 silly gunzTarPerm extractEntry vendor/tar/lib/parse.js
10060 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/README.md
10061 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/LICENCE
10062 silly gunzTarPerm extractEntry vendor/tar/vendor/block-stream/block-stream.js
10063 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/README.md
10064 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/LICENCE
10065 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/fstream.js
10066 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/abstract.js
10067 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-writer.js
10068 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-reader.js
10069 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/file-writer.js
10070 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/get-type.js
10071 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/dir-reader.js
10072 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-writer.js
10073 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-reader.js
10074 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/proxy-writer.js
10075 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/reader.js
10076 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/socket-reader.js
10077 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/collect.js
10078 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/writer.js
10079 silly gunzTarPerm extractEntry vendor/tar/vendor/fstream/lib/link-reader.js
10080 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/README.md
10081 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/LICENSE
10082 silly gunzTarPerm extractEntry vendor/tar/vendor/graceful-fs/graceful-fs.js
10083 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/README.md
10084 silly gunzTarPerm extractEntry vendor/tar/vendor/inherits/inherits.js
10085 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/LICENSE
10086 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/index.js
10087 silly gunzTarPerm extractEntry vendor/tar/vendor/mkdirp/README.markdown
10088 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/README.md
10089 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/LICENSE
10090 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/rimraf.js
10091 silly gunzTarPerm extractEntry vendor/tar/vendor/rimraf/AUTHORS
10092 silly gunzTarPerm extractEntry vendor/underscore/README.md
10093 silly gunzTarPerm extractEntry vendor/underscore/LICENSE
10094 silly gunzTarPerm extractEntry vendor/underscore/underscore.js
10095 silly lockFile 6ad0558b--findup-sync-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/lodash
10096 silly lockFile 6ad0558b--findup-sync-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/lodash
10097 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
10098 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
10099 info preinstall lodash@1.0.1
10100 verbose readDependencies using package.json deps
10101 verbose readDependencies using package.json deps
10102 silly resolved []
10103 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/lodash
10104 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/lodash
10105 verbose linkStuff [ false,
10105 verbose linkStuff false,
10105 verbose linkStuff false,
10105 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules' ]
10106 info linkStuff lodash@1.0.1
10107 verbose linkBins lodash@1.0.1
10108 verbose link bins [ { lodash: './build.js' },
10108 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync/node_modules/.bin',
10108 verbose link bins false ]
10109 verbose linkMans lodash@1.0.1
10110 verbose rebuildBundles lodash@1.0.1
10111 info install lodash@1.0.1
10112 info postinstall lodash@1.0.1
10113 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync
10114 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/findup-sync
10115 verbose linkStuff [ false,
10115 verbose linkStuff false,
10115 verbose linkStuff false,
10115 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
10116 info linkStuff findup-sync@0.1.2
10117 verbose linkBins findup-sync@0.1.2
10118 verbose linkMans findup-sync@0.1.2
10119 verbose rebuildBundles findup-sync@0.1.2
10120 verbose rebuildBundles [ '.bin', 'lodash' ]
10121 info install findup-sync@0.1.2
10122 info postinstall findup-sync@0.1.2
10123 http 200 https://registry.npmjs.org/stable/-/stable-0.1.4.tgz
10124 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/tmp.tgz
10125 silly lockFile f713cdda-7628-0-37777360691688955-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package
10126 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package /home/spike/.npm/f713cdda-7628-0-37777360691688955-package.lock
10127 silly lockFile 1dec74b5-7628-0-37777360691688955-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/tmp.tgz
10128 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/tmp.tgz /home/spike/.npm/1dec74b5-7628-0-37777360691688955-tmp-tgz.lock
10129 silly gunzTarPerm modes [ '755', '644' ]
10130 silly gunzTarPerm extractEntry package.json
10131 silly gunzTarPerm extractEntry .npmignore
10132 silly gunzTarPerm extractEntry README.md
10133 silly gunzTarPerm extractEntry stable.js
10134 silly gunzTarPerm extractEntry test.js
10135 silly gunzTarPerm extractEntry .travis.yml
10136 silly lockFile f713cdda-7628-0-37777360691688955-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package
10137 silly lockFile f713cdda-7628-0-37777360691688955-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package
10138 silly lockFile 1dec74b5-7628-0-37777360691688955-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/tmp.tgz
10139 silly lockFile 1dec74b5-7628-0-37777360691688955-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/tmp.tgz
10140 verbose tar pack [ '/home/spike/.npm/stable/0.1.4/package.tgz',
10140 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package' ]
10141 verbose tarball /home/spike/.npm/stable/0.1.4/package.tgz
10142 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package
10143 silly lockFile f713cdda-7628-0-37777360691688955-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package
10144 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package /home/spike/.npm/f713cdda-7628-0-37777360691688955-package.lock
10145 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
10146 verbose lock tar:///home/spike/.npm/stable/0.1.4/package.tgz /home/spike/.npm/680dfaf6-ike-npm-stable-0-1-4-package-tgz.lock
10147 silly lockFile f713cdda-7628-0-37777360691688955-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package
10148 silly lockFile f713cdda-7628-0-37777360691688955-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687628-0.37777360691688955/package
10149 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
10150 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
10151 silly lockFile ea9fb7c4-e-spike-npm-stable-0-1-4-package /home/spike/.npm/stable/0.1.4/package
10152 verbose lock /home/spike/.npm/stable/0.1.4/package /home/spike/.npm/ea9fb7c4-e-spike-npm-stable-0-1-4-package.lock
10153 silly lockFile ea9fb7c4-e-spike-npm-stable-0-1-4-package /home/spike/.npm/stable/0.1.4/package
10154 silly lockFile ea9fb7c4-e-spike-npm-stable-0-1-4-package /home/spike/.npm/stable/0.1.4/package
10155 verbose tar unpack /home/spike/.npm/stable/0.1.4/package.tgz
10156 silly lockFile 0c6dd8fa-e-spike-npm-stable-0-1-4-package tar:///home/spike/.npm/stable/0.1.4/package
10157 verbose lock tar:///home/spike/.npm/stable/0.1.4/package /home/spike/.npm/0c6dd8fa-e-spike-npm-stable-0-1-4-package.lock
10158 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
10159 verbose lock tar:///home/spike/.npm/stable/0.1.4/package.tgz /home/spike/.npm/680dfaf6-ike-npm-stable-0-1-4-package-tgz.lock
10160 silly gunzTarPerm modes [ '755', '644' ]
10161 silly gunzTarPerm extractEntry package.json
10162 silly gunzTarPerm extractEntry .npmignore
10163 silly gunzTarPerm extractEntry README.md
10164 silly gunzTarPerm extractEntry stable.js
10165 silly gunzTarPerm extractEntry test.js
10166 silly gunzTarPerm extractEntry .travis.yml
10167 silly lockFile 0c6dd8fa-e-spike-npm-stable-0-1-4-package tar:///home/spike/.npm/stable/0.1.4/package
10168 silly lockFile 0c6dd8fa-e-spike-npm-stable-0-1-4-package tar:///home/spike/.npm/stable/0.1.4/package
10169 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
10170 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
10171 verbose chmod /home/spike/.npm/stable/0.1.4/package.tgz 644
10172 verbose chown /home/spike/.npm/stable/0.1.4/package.tgz [ 1000, 1000 ]
10173 silly lockFile 0a1720b7-pmjs-org-stable-stable-0-1-4-tgz https://registry.npmjs.org/stable/-/stable-0.1.4.tgz
10174 silly lockFile 0a1720b7-pmjs-org-stable-stable-0-1-4-tgz https://registry.npmjs.org/stable/-/stable-0.1.4.tgz
10175 silly lockFile c942a0f5-stable-0-1-4 stable@0.1.4
10176 silly lockFile c942a0f5-stable-0-1-4 stable@0.1.4
10177 silly lockFile 248113cb-stable-0-1-2 stable@~0.1.2
10178 silly lockFile 248113cb-stable-0-1-2 stable@~0.1.2
10179 http 200 https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz
10180 http 200 https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
10181 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/tmp.tgz
10182 silly lockFile 6fd193db-87237-0-6391639572102576-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package
10183 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package /home/spike/.npm/6fd193db-87237-0-6391639572102576-package.lock
10184 silly lockFile c21fd878-87237-0-6391639572102576-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/tmp.tgz
10185 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/tmp.tgz /home/spike/.npm/c21fd878-87237-0-6391639572102576-tmp-tgz.lock
10186 silly gunzTarPerm modes [ '755', '644' ]
10187 silly gunzTarPerm extractEntry package.json
10188 silly gunzTarPerm extractEntry .npmignore
10189 silly gunzTarPerm extractEntry README.md
10190 silly gunzTarPerm extractEntry LICENSE
10191 silly gunzTarPerm extractEntry unzip.js
10192 silly gunzTarPerm extractEntry .travis.yml
10193 silly gunzTarPerm extractEntry lib/entry.js
10194 silly gunzTarPerm extractEntry lib/extract.js
10195 silly gunzTarPerm extractEntry lib/parse.js
10196 silly gunzTarPerm extractEntry test/compressed.js
10197 silly gunzTarPerm extractEntry test/fileSizeUnknownFlag.js
10198 silly gunzTarPerm extractEntry test/pipeSingleEntry.js
10199 silly gunzTarPerm extractEntry test/uncompressed.js
10200 silly gunzTarPerm extractEntry testData/compressed-flags-set/archive.zip
10201 silly gunzTarPerm extractEntry testData/compressed-flags-set/inflated/dir/fileInsideDir.txt
10202 silly gunzTarPerm extractEntry testData/compressed-flags-set/inflated/file.txt
10203 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/archive.zip
10204 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/inflated/dir/fileInsideDir.txt
10205 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/inflated/file.txt
10206 silly gunzTarPerm extractEntry testData/compressed-standard/archive.zip
10207 silly gunzTarPerm extractEntry testData/compressed-standard/inflated/dir/fileInsideDir.txt
10208 silly gunzTarPerm extractEntry testData/compressed-standard/inflated/file.txt
10209 silly gunzTarPerm extractEntry testData/uncompressed/archive.zip
10210 silly gunzTarPerm extractEntry testData/uncompressed/inflated/dir/fileInsideDir.txt
10211 silly gunzTarPerm extractEntry testData/uncompressed/inflated/file.txt
10212 silly lockFile 6fd193db-87237-0-6391639572102576-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package
10213 silly lockFile 6fd193db-87237-0-6391639572102576-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package
10214 silly lockFile c21fd878-87237-0-6391639572102576-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/tmp.tgz
10215 silly lockFile c21fd878-87237-0-6391639572102576-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/tmp.tgz
10216 verbose tar pack [ '/home/spike/.npm/unzip/0.1.7/package.tgz',
10216 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package' ]
10217 verbose tarball /home/spike/.npm/unzip/0.1.7/package.tgz
10218 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package
10219 silly lockFile 6fd193db-87237-0-6391639572102576-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package
10220 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package /home/spike/.npm/6fd193db-87237-0-6391639572102576-package.lock
10221 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
10222 verbose lock tar:///home/spike/.npm/unzip/0.1.7/package.tgz /home/spike/.npm/244864fc-pike-npm-unzip-0-1-7-package-tgz.lock
10223 silly lockFile 6fd193db-87237-0-6391639572102576-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package
10224 silly lockFile 6fd193db-87237-0-6391639572102576-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687237-0.6391639572102576/package
10225 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
10226 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
10227 silly lockFile 01d8d983-me-spike-npm-unzip-0-1-7-package /home/spike/.npm/unzip/0.1.7/package
10228 verbose lock /home/spike/.npm/unzip/0.1.7/package /home/spike/.npm/01d8d983-me-spike-npm-unzip-0-1-7-package.lock
10229 silly lockFile 01d8d983-me-spike-npm-unzip-0-1-7-package /home/spike/.npm/unzip/0.1.7/package
10230 silly lockFile 01d8d983-me-spike-npm-unzip-0-1-7-package /home/spike/.npm/unzip/0.1.7/package
10231 verbose tar unpack /home/spike/.npm/unzip/0.1.7/package.tgz
10232 silly lockFile 51265741-me-spike-npm-unzip-0-1-7-package tar:///home/spike/.npm/unzip/0.1.7/package
10233 verbose lock tar:///home/spike/.npm/unzip/0.1.7/package /home/spike/.npm/51265741-me-spike-npm-unzip-0-1-7-package.lock
10234 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
10235 verbose lock tar:///home/spike/.npm/unzip/0.1.7/package.tgz /home/spike/.npm/244864fc-pike-npm-unzip-0-1-7-package-tgz.lock
10236 silly gunzTarPerm modes [ '755', '644' ]
10237 silly gunzTarPerm extractEntry package.json
10238 silly gunzTarPerm extractEntry .npmignore
10239 silly gunzTarPerm extractEntry README.md
10240 silly gunzTarPerm extractEntry LICENSE
10241 silly gunzTarPerm extractEntry unzip.js
10242 silly gunzTarPerm extractEntry .travis.yml
10243 silly gunzTarPerm extractEntry lib/entry.js
10244 silly gunzTarPerm extractEntry lib/extract.js
10245 silly gunzTarPerm extractEntry lib/parse.js
10246 silly gunzTarPerm extractEntry test/compressed.js
10247 silly gunzTarPerm extractEntry test/fileSizeUnknownFlag.js
10248 silly gunzTarPerm extractEntry test/pipeSingleEntry.js
10249 silly gunzTarPerm extractEntry test/uncompressed.js
10250 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/archive.zip
10251 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/inflated/dir/fileInsideDir.txt
10252 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/inflated/file.txt
10253 silly gunzTarPerm extractEntry testData/compressed-flags-set/archive.zip
10254 silly gunzTarPerm extractEntry testData/compressed-flags-set/inflated/dir/fileInsideDir.txt
10255 silly gunzTarPerm extractEntry testData/compressed-flags-set/inflated/file.txt
10256 silly gunzTarPerm extractEntry testData/compressed-standard/archive.zip
10257 silly gunzTarPerm extractEntry testData/compressed-standard/inflated/dir/fileInsideDir.txt
10258 silly gunzTarPerm extractEntry testData/compressed-standard/inflated/file.txt
10259 silly gunzTarPerm extractEntry testData/uncompressed/archive.zip
10260 silly gunzTarPerm extractEntry testData/uncompressed/inflated/dir/fileInsideDir.txt
10261 silly gunzTarPerm extractEntry testData/uncompressed/inflated/file.txt
10262 silly lockFile 51265741-me-spike-npm-unzip-0-1-7-package tar:///home/spike/.npm/unzip/0.1.7/package
10263 silly lockFile 51265741-me-spike-npm-unzip-0-1-7-package tar:///home/spike/.npm/unzip/0.1.7/package
10264 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
10265 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
10266 verbose chmod /home/spike/.npm/unzip/0.1.7/package.tgz 644
10267 verbose chown /home/spike/.npm/unzip/0.1.7/package.tgz [ 1000, 1000 ]
10268 silly lockFile 92a86b99--npmjs-org-unzip-unzip-0-1-7-tgz https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz
10269 silly lockFile 92a86b99--npmjs-org-unzip-unzip-0-1-7-tgz https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz
10270 silly lockFile d9f02e72-unzip-0-1-7 unzip@0.1.7
10271 silly lockFile d9f02e72-unzip-0-1-7 unzip@0.1.7
10272 http 200 https://registry.npmjs.org/gaze
10273 silly registry.get cb [ 200,
10273 silly registry.get { vary: 'Accept',
10273 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10273 silly registry.get etag: '"CFF8IGADPNTUE7FYGJ7Z178NU"',
10273 silly registry.get date: 'Mon, 16 Dec 2013 10:44:43 GMT',
10273 silly registry.get 'content-type': 'application/json',
10273 silly registry.get 'content-length': '133647' } ]
10274 silly addNameRange number 2 { name: 'gaze', range: '>=0.4.0-0 <0.5.0-0', hasData: true }
10275 silly addNameRange versions [ 'gaze',
10275 silly addNameRange [ '0.1.0',
10275 silly addNameRange '0.1.1',
10275 silly addNameRange '0.1.2',
10275 silly addNameRange '0.1.3',
10275 silly addNameRange '0.1.4',
10275 silly addNameRange '0.1.5',
10275 silly addNameRange '0.1.6',
10275 silly addNameRange '0.2.0',
10275 silly addNameRange '0.2.1',
10275 silly addNameRange '0.2.2',
10275 silly addNameRange '0.3.0',
10275 silly addNameRange '0.3.1',
10275 silly addNameRange '0.3.2',
10275 silly addNameRange '0.3.3',
10275 silly addNameRange '0.3.4',
10275 silly addNameRange '0.4.0',
10275 silly addNameRange '0.4.1',
10275 silly addNameRange '0.4.2',
10275 silly addNameRange '0.4.3' ] ]
10276 verbose addNamed [ 'gaze', '0.4.3' ]
10277 verbose addNamed [ '0.4.3', '0.4.3' ]
10278 silly lockFile 6119999c-gaze-0-4-3 gaze@0.4.3
10279 verbose lock gaze@0.4.3 /home/spike/.npm/6119999c-gaze-0-4-3.lock
10280 silly lockFile 23200fc8-ry-npmjs-org-gaze-gaze-0-4-3-tgz https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz
10281 verbose lock https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz /home/spike/.npm/23200fc8-ry-npmjs-org-gaze-gaze-0-4-3-tgz.lock
10282 verbose addRemoteTarball [ 'https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz',
10282 verbose addRemoteTarball 'e538f4ff5e4fe648f473a97e1ebb253d2de127b5' ]
10283 info retry fetch attempt 1 at 11:44:49
10284 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/tmp.tgz
10285 http GET https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz
10286 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/tmp.tgz
10287 silly lockFile 3f08aaa7-87674-0-8384565887972713-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package
10288 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package /home/spike/.npm/3f08aaa7-87674-0-8384565887972713-package.lock
10289 silly lockFile c8edc1d3-87674-0-8384565887972713-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/tmp.tgz
10290 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/tmp.tgz /home/spike/.npm/c8edc1d3-87674-0-8384565887972713-tmp-tgz.lock
10291 silly gunzTarPerm modes [ '755', '644' ]
10292 silly gunzTarPerm extractEntry package.json
10293 silly gunzTarPerm extractEntry .npmignore
10294 silly gunzTarPerm extractEntry index.js
10295 silly gunzTarPerm extractEntry zlib.js
10296 silly gunzTarPerm extractEntry readme.md
10297 silly gunzTarPerm extractEntry test/zlib.test.js
10298 silly lockFile 3f08aaa7-87674-0-8384565887972713-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package
10299 silly lockFile 3f08aaa7-87674-0-8384565887972713-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package
10300 silly lockFile c8edc1d3-87674-0-8384565887972713-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/tmp.tgz
10301 silly lockFile c8edc1d3-87674-0-8384565887972713-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/tmp.tgz
10302 verbose tar pack [ '/home/spike/.npm/zlib-browserify/0.0.1/package.tgz',
10302 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package' ]
10303 verbose tarball /home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10304 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package
10305 silly lockFile 3f08aaa7-87674-0-8384565887972713-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package
10306 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package /home/spike/.npm/3f08aaa7-87674-0-8384565887972713-package.lock
10307 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10308 verbose lock tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz /home/spike/.npm/727d9699-lib-browserify-0-0-1-package-tgz.lock
10309 silly lockFile 3f08aaa7-87674-0-8384565887972713-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package
10310 silly lockFile 3f08aaa7-87674-0-8384565887972713-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190687674-0.8384565887972713/package
10311 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10312 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10313 silly lockFile 407ecf26-pm-zlib-browserify-0-0-1-package /home/spike/.npm/zlib-browserify/0.0.1/package
10314 verbose lock /home/spike/.npm/zlib-browserify/0.0.1/package /home/spike/.npm/407ecf26-pm-zlib-browserify-0-0-1-package.lock
10315 silly lockFile 407ecf26-pm-zlib-browserify-0-0-1-package /home/spike/.npm/zlib-browserify/0.0.1/package
10316 silly lockFile 407ecf26-pm-zlib-browserify-0-0-1-package /home/spike/.npm/zlib-browserify/0.0.1/package
10317 verbose tar unpack /home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10318 silly lockFile 3dcf8d59-pm-zlib-browserify-0-0-1-package tar:///home/spike/.npm/zlib-browserify/0.0.1/package
10319 verbose lock tar:///home/spike/.npm/zlib-browserify/0.0.1/package /home/spike/.npm/3dcf8d59-pm-zlib-browserify-0-0-1-package.lock
10320 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10321 verbose lock tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz /home/spike/.npm/727d9699-lib-browserify-0-0-1-package-tgz.lock
10322 silly gunzTarPerm modes [ '755', '644' ]
10323 silly gunzTarPerm extractEntry package.json
10324 silly gunzTarPerm extractEntry .npmignore
10325 silly gunzTarPerm extractEntry index.js
10326 silly gunzTarPerm extractEntry zlib.js
10327 silly gunzTarPerm extractEntry readme.md
10328 silly gunzTarPerm extractEntry test/zlib.test.js
10329 silly lockFile 3dcf8d59-pm-zlib-browserify-0-0-1-package tar:///home/spike/.npm/zlib-browserify/0.0.1/package
10330 silly lockFile 3dcf8d59-pm-zlib-browserify-0-0-1-package tar:///home/spike/.npm/zlib-browserify/0.0.1/package
10331 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10332 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10333 verbose chmod /home/spike/.npm/zlib-browserify/0.0.1/package.tgz 644
10334 verbose chown /home/spike/.npm/zlib-browserify/0.0.1/package.tgz [ 1000, 1000 ]
10335 silly lockFile cb2295c0-serify-zlib-browserify-0-0-1-tgz https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
10336 silly lockFile cb2295c0-serify-zlib-browserify-0-0-1-tgz https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
10337 silly lockFile 84e77944-zlib-browserify-0-0-1 zlib-browserify@0.0.1
10338 silly lockFile 84e77944-zlib-browserify-0-0-1 zlib-browserify@0.0.1
10339 silly resolved [ { name: 'zlib-browserify',
10339 silly resolved version: '0.0.1',
10339 silly resolved description: 'Wrapper for zlib.js to allow for browserifyication',
10339 silly resolved main: 'index.js',
10339 silly resolved directories: { test: 'test' },
10339 silly resolved dependencies: {},
10339 silly resolved devDependencies: { tap: '~0.3.3' },
10339 silly resolved scripts: { test: './node_modules/tap test/*.test.js' },
10339 silly resolved repository:
10339 silly resolved { type: 'git',
10339 silly resolved url: 'git://github.com/brianloveswords/zlib-browserify.git' },
10339 silly resolved keywords: [ 'zlib', 'browserify' ],
10339 silly resolved author: { name: 'Brian J. Brennan' },
10339 silly resolved license: 'MIT',
10339 silly resolved gitHead: '4be9419f0e8e9dec9629c8a538b33a4efd7df17b',
10339 silly resolved readmeFilename: 'readme.md',
10339 silly resolved readme: 'Zlib in yo\' browser.\n',
10339 silly resolved bugs: { url: 'https://github.com/brianloveswords/zlib-browserify/issues' },
10339 silly resolved homepage: 'https://github.com/brianloveswords/zlib-browserify',
10339 silly resolved _id: 'zlib-browserify@0.0.1',
10339 silly resolved dist: { shasum: '7dad2915b314e9b1ea14f5be8211213f0cc2cf86' },
10339 silly resolved _from: 'zlib-browserify@0.0.1',
10339 silly resolved _resolved: 'https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz' } ]
10340 info install zlib-browserify@0.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib
10341 info installOne zlib-browserify@0.0.1
10342 silly resolved [ { name: 'zlib-browserify',
10342 silly resolved version: '0.0.1',
10342 silly resolved description: 'Wrapper for zlib.js to allow for browserifyication',
10342 silly resolved main: 'index.js',
10342 silly resolved directories: { test: 'test' },
10342 silly resolved dependencies: {},
10342 silly resolved devDependencies: { tap: '~0.3.3' },
10342 silly resolved scripts: { test: './node_modules/tap test/*.test.js' },
10342 silly resolved repository:
10342 silly resolved { type: 'git',
10342 silly resolved url: 'git://github.com/brianloveswords/zlib-browserify.git' },
10342 silly resolved keywords: [ 'zlib', 'browserify' ],
10342 silly resolved author: { name: 'Brian J. Brennan' },
10342 silly resolved license: 'MIT',
10342 silly resolved gitHead: '4be9419f0e8e9dec9629c8a538b33a4efd7df17b',
10342 silly resolved readmeFilename: 'readme.md',
10342 silly resolved readme: 'Zlib in yo\' browser.\n',
10342 silly resolved bugs: { url: 'https://github.com/brianloveswords/zlib-browserify/issues' },
10342 silly resolved homepage: 'https://github.com/brianloveswords/zlib-browserify',
10342 silly resolved _id: 'zlib-browserify@0.0.1',
10342 silly resolved dist: { shasum: '7dad2915b314e9b1ea14f5be8211213f0cc2cf86' },
10342 silly resolved _from: 'zlib-browserify@0.0.1',
10342 silly resolved _resolved: 'https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz' } ]
10343 info install zlib-browserify@0.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib
10344 info installOne zlib-browserify@0.0.1
10345 silly resolved [ { name: 'zlib-browserify',
10345 silly resolved version: '0.0.1',
10345 silly resolved description: 'Wrapper for zlib.js to allow for browserifyication',
10345 silly resolved main: 'index.js',
10345 silly resolved directories: { test: 'test' },
10345 silly resolved dependencies: {},
10345 silly resolved devDependencies: { tap: '~0.3.3' },
10345 silly resolved scripts: { test: './node_modules/tap test/*.test.js' },
10345 silly resolved repository:
10345 silly resolved { type: 'git',
10345 silly resolved url: 'git://github.com/brianloveswords/zlib-browserify.git' },
10345 silly resolved keywords: [ 'zlib', 'browserify' ],
10345 silly resolved author: { name: 'Brian J. Brennan' },
10345 silly resolved license: 'MIT',
10345 silly resolved gitHead: '4be9419f0e8e9dec9629c8a538b33a4efd7df17b',
10345 silly resolved readmeFilename: 'readme.md',
10345 silly resolved readme: 'Zlib in yo\' browser.\n',
10345 silly resolved bugs: { url: 'https://github.com/brianloveswords/zlib-browserify/issues' },
10345 silly resolved homepage: 'https://github.com/brianloveswords/zlib-browserify',
10345 silly resolved _id: 'zlib-browserify@0.0.1',
10345 silly resolved dist: { shasum: '7dad2915b314e9b1ea14f5be8211213f0cc2cf86' },
10345 silly resolved _from: 'zlib-browserify@0.0.1',
10345 silly resolved _resolved: 'https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz' } ]
10346 info install zlib-browserify@0.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib
10347 info installOne zlib-browserify@0.0.1
10348 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify unbuild
10349 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify unbuild
10350 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify unbuild
10351 verbose tar unpack /home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10352 silly lockFile 8b1b446e-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10353 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify /home/spike/.npm/8b1b446e-rib-node-modules-zlib-browserify.lock
10354 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10355 verbose lock tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz /home/spike/.npm/727d9699-lib-browserify-0-0-1-package-tgz.lock
10356 verbose tar unpack /home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10357 silly lockFile 11482919-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10358 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify /home/spike/.npm/11482919-rib-node-modules-zlib-browserify.lock
10359 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10360 verbose lock tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz /home/spike/.npm/727d9699-lib-browserify-0-0-1-package-tgz.lock
10361 verbose tar unpack /home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10362 silly lockFile 7c1b88e9-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10363 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify /home/spike/.npm/7c1b88e9-rib-node-modules-zlib-browserify.lock
10364 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10365 verbose lock tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz /home/spike/.npm/727d9699-lib-browserify-0-0-1-package-tgz.lock
10366 silly gunzTarPerm modes [ '755', '644' ]
10367 silly gunzTarPerm extractEntry package.json
10368 silly gunzTarPerm extractEntry .npmignore
10369 silly gunzTarPerm extractEntry index.js
10370 silly gunzTarPerm extractEntry zlib.js
10371 silly gunzTarPerm extractEntry readme.md
10372 silly gunzTarPerm extractEntry test/zlib.test.js
10373 silly lockFile 8b1b446e-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10374 silly lockFile 8b1b446e-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10375 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10376 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10377 info preinstall zlib-browserify@0.0.1
10378 verbose readDependencies using package.json deps
10379 verbose readDependencies using package.json deps
10380 silly resolved []
10381 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10382 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10383 verbose linkStuff [ false,
10383 verbose linkStuff false,
10383 verbose linkStuff false,
10383 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib/node_modules' ]
10384 info linkStuff zlib-browserify@0.0.1
10385 verbose linkBins zlib-browserify@0.0.1
10386 verbose linkMans zlib-browserify@0.0.1
10387 verbose rebuildBundles zlib-browserify@0.0.1
10388 info install zlib-browserify@0.0.1
10389 info postinstall zlib-browserify@0.0.1
10390 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib
10391 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules/grunt-lib-contrib
10392 verbose linkStuff [ false,
10392 verbose linkStuff false,
10392 verbose linkStuff false,
10392 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin/node_modules' ]
10393 info linkStuff grunt-lib-contrib@0.6.1
10394 verbose linkBins grunt-lib-contrib@0.6.1
10395 verbose linkMans grunt-lib-contrib@0.6.1
10396 verbose rebuildBundles grunt-lib-contrib@0.6.1
10397 verbose rebuildBundles [ 'zlib-browserify' ]
10398 info install grunt-lib-contrib@0.6.1
10399 info postinstall grunt-lib-contrib@0.6.1
10400 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin
10401 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-htmlmin
10402 verbose linkStuff [ false,
10402 verbose linkStuff false,
10402 verbose linkStuff false,
10402 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules' ]
10403 info linkStuff grunt-contrib-htmlmin@0.1.3
10404 verbose linkBins grunt-contrib-htmlmin@0.1.3
10405 verbose linkMans grunt-contrib-htmlmin@0.1.3
10406 verbose rebuildBundles grunt-contrib-htmlmin@0.1.3
10407 verbose rebuildBundles [ 'grunt-lib-contrib', 'html-minifier' ]
10408 info install grunt-contrib-htmlmin@0.1.3
10409 info postinstall grunt-contrib-htmlmin@0.1.3
10410 http 200 https://registry.npmjs.org/clone
10411 silly registry.get cb [ 200,
10411 silly registry.get { vary: 'Accept',
10411 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10411 silly registry.get etag: '"6NEV2ZWC9RLORM5UR10HZ21KW"',
10411 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
10411 silly registry.get 'content-type': 'application/json',
10411 silly registry.get 'content-length': '67309' } ]
10412 silly addNameRange number 2 { name: 'clone', range: '>=0.1.6-0 <0.2.0-0', hasData: true }
10413 silly addNameRange versions [ 'clone',
10413 silly addNameRange [ '0.0.0',
10413 silly addNameRange '0.0.1',
10413 silly addNameRange '0.0.2',
10413 silly addNameRange '0.0.3',
10413 silly addNameRange '0.0.4',
10413 silly addNameRange '0.0.5',
10413 silly addNameRange '0.0.6',
10413 silly addNameRange '0.0.7',
10413 silly addNameRange '0.1.0',
10413 silly addNameRange '0.1.1',
10413 silly addNameRange '0.1.2',
10413 silly addNameRange '0.1.3',
10413 silly addNameRange '0.1.4',
10413 silly addNameRange '0.1.5',
10413 silly addNameRange '0.1.6',
10413 silly addNameRange '0.1.7',
10413 silly addNameRange '0.1.8',
10413 silly addNameRange '0.1.9',
10413 silly addNameRange '0.1.10',
10413 silly addNameRange '0.1.11' ] ]
10414 verbose addNamed [ 'clone', '0.1.11' ]
10415 verbose addNamed [ '0.1.11', '0.1.11' ]
10416 silly lockFile b080d368-clone-0-1-11 clone@0.1.11
10417 verbose lock clone@0.1.11 /home/spike/.npm/b080d368-clone-0-1-11.lock
10418 silly lockFile b080d368-clone-0-1-11 clone@0.1.11
10419 silly lockFile b080d368-clone-0-1-11 clone@0.1.11
10420 silly lockFile de9ce9f0-clone-0-1-6 clone@~0.1.6
10421 silly lockFile de9ce9f0-clone-0-1-6 clone@~0.1.6
10422 silly gunzTarPerm modes [ '755', '644' ]
10423 silly gunzTarPerm extractEntry package.json
10424 silly gunzTarPerm extractEntry .npmignore
10425 silly gunzTarPerm extractEntry index.js
10426 silly gunzTarPerm extractEntry zlib.js
10427 silly gunzTarPerm extractEntry readme.md
10428 silly gunzTarPerm extractEntry test/zlib.test.js
10429 silly lockFile 11482919-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10430 silly lockFile 11482919-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10431 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10432 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10433 info preinstall zlib-browserify@0.0.1
10434 verbose readDependencies using package.json deps
10435 verbose readDependencies using package.json deps
10436 silly resolved []
10437 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10438 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10439 verbose linkStuff [ false,
10439 verbose linkStuff false,
10439 verbose linkStuff false,
10439 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib/node_modules' ]
10440 info linkStuff zlib-browserify@0.0.1
10441 verbose linkBins zlib-browserify@0.0.1
10442 verbose linkMans zlib-browserify@0.0.1
10443 verbose rebuildBundles zlib-browserify@0.0.1
10444 info install zlib-browserify@0.0.1
10445 info postinstall zlib-browserify@0.0.1
10446 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib
10447 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/grunt-lib-contrib
10448 verbose linkStuff [ false,
10448 verbose linkStuff false,
10448 verbose linkStuff false,
10448 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules' ]
10449 info linkStuff grunt-lib-contrib@0.6.1
10450 verbose linkBins grunt-lib-contrib@0.6.1
10451 verbose linkMans grunt-lib-contrib@0.6.1
10452 verbose rebuildBundles grunt-lib-contrib@0.6.1
10453 verbose rebuildBundles [ 'zlib-browserify' ]
10454 info install grunt-lib-contrib@0.6.1
10455 info postinstall grunt-lib-contrib@0.6.1
10456 http 200 https://registry.npmjs.org/astral
10457 silly registry.get cb [ 200,
10457 silly registry.get { vary: 'Accept',
10457 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10457 silly registry.get etag: '"30KHQDZKDHVKAQQU904GOH3N8"',
10457 silly registry.get date: 'Mon, 16 Dec 2013 10:44:49 GMT',
10457 silly registry.get 'content-type': 'application/json',
10457 silly registry.get 'content-length': '6807' } ]
10458 silly addNameRange number 2 { name: 'astral', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
10459 silly addNameRange versions [ 'astral', [ '0.0.1', '0.1.0' ] ]
10460 verbose addNamed [ 'astral', '0.1.0' ]
10461 verbose addNamed [ '0.1.0', '0.1.0' ]
10462 silly lockFile fae66955-astral-0-1-0 astral@0.1.0
10463 verbose lock astral@0.1.0 /home/spike/.npm/fae66955-astral-0-1-0.lock
10464 silly lockFile fae66955-astral-0-1-0 astral@0.1.0
10465 silly lockFile fae66955-astral-0-1-0 astral@0.1.0
10466 silly lockFile 8a786c2e-astral-0-1-0 astral@~0.1.0
10467 silly lockFile 8a786c2e-astral-0-1-0 astral@~0.1.0
10468 silly gunzTarPerm modes [ '755', '644' ]
10469 silly gunzTarPerm extractEntry package.json
10470 silly gunzTarPerm extractEntry .npmignore
10471 silly gunzTarPerm extractEntry index.js
10472 silly gunzTarPerm extractEntry zlib.js
10473 silly gunzTarPerm extractEntry readme.md
10474 silly gunzTarPerm extractEntry test/zlib.test.js
10475 silly lockFile 7c1b88e9-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10476 silly lockFile 7c1b88e9-rib-node-modules-zlib-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10477 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10478 silly lockFile 727d9699-lib-browserify-0-0-1-package-tgz tar:///home/spike/.npm/zlib-browserify/0.0.1/package.tgz
10479 info preinstall zlib-browserify@0.0.1
10480 verbose readDependencies using package.json deps
10481 verbose readDependencies using package.json deps
10482 silly resolved []
10483 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10484 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules/zlib-browserify
10485 verbose linkStuff [ false,
10485 verbose linkStuff false,
10485 verbose linkStuff false,
10485 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib/node_modules' ]
10486 info linkStuff zlib-browserify@0.0.1
10487 verbose linkBins zlib-browserify@0.0.1
10488 verbose linkMans zlib-browserify@0.0.1
10489 verbose rebuildBundles zlib-browserify@0.0.1
10490 info install zlib-browserify@0.0.1
10491 info postinstall zlib-browserify@0.0.1
10492 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib
10493 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules/grunt-lib-contrib
10494 verbose linkStuff [ false,
10494 verbose linkStuff false,
10494 verbose linkStuff false,
10494 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-cssmin/node_modules' ]
10495 info linkStuff grunt-lib-contrib@0.6.1
10496 verbose linkBins grunt-lib-contrib@0.6.1
10497 verbose linkMans grunt-lib-contrib@0.6.1
10498 verbose rebuildBundles grunt-lib-contrib@0.6.1
10499 verbose rebuildBundles [ 'zlib-browserify' ]
10500 info install grunt-lib-contrib@0.6.1
10501 info postinstall grunt-lib-contrib@0.6.1
10502 http 200 https://registry.npmjs.org/astral-angular-annotate
10503 silly registry.get cb [ 200,
10503 silly registry.get { vary: 'Accept',
10503 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10503 silly registry.get etag: '"66CIDX5G4IL7JI4KXKZCKV6WT"',
10503 silly registry.get date: 'Mon, 16 Dec 2013 10:44:49 GMT',
10503 silly registry.get 'content-type': 'application/json',
10503 silly registry.get 'content-length': '6410' } ]
10504 silly addNameRange number 2 { name: 'astral-angular-annotate',
10504 silly addNameRange range: '>=0.0.1-0 <0.1.0-0',
10504 silly addNameRange hasData: true }
10505 silly addNameRange versions [ 'astral-angular-annotate', [ '0.0.1', '0.0.2' ] ]
10506 verbose addNamed [ 'astral-angular-annotate', '0.0.2' ]
10507 verbose addNamed [ '0.0.2', '0.0.2' ]
10508 silly lockFile cf538833-astral-angular-annotate-0-0-2 astral-angular-annotate@0.0.2
10509 verbose lock astral-angular-annotate@0.0.2 /home/spike/.npm/cf538833-astral-angular-annotate-0-0-2.lock
10510 silly lockFile cf538833-astral-angular-annotate-0-0-2 astral-angular-annotate@0.0.2
10511 silly lockFile cf538833-astral-angular-annotate-0-0-2 astral-angular-annotate@0.0.2
10512 silly lockFile 255d5822-astral-angular-annotate-0-0-1 astral-angular-annotate@~0.0.1
10513 silly lockFile 255d5822-astral-angular-annotate-0-0-1 astral-angular-annotate@~0.0.1
10514 http 304 https://registry.npmjs.org/js-yaml
10515 silly registry.get cb [ 304,
10515 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10515 silly registry.get etag: '"90WSAAY245R9NKQACV7GEI0N6"',
10515 silly registry.get date: 'Mon, 16 Dec 2013 10:44:50 GMT',
10515 silly registry.get 'content-length': '0' } ]
10516 verbose etag js-yaml from cache
10517 silly addNameRange number 2 { name: 'js-yaml', range: '*', hasData: true }
10518 silly addNameRange versions [ 'js-yaml',
10518 silly addNameRange [ '0.2.0',
10518 silly addNameRange '0.2.1',
10518 silly addNameRange '0.2.2',
10518 silly addNameRange '0.3.0',
10518 silly addNameRange '0.3.1',
10518 silly addNameRange '0.3.2',
10518 silly addNameRange '0.3.3',
10518 silly addNameRange '0.3.4',
10518 silly addNameRange '0.3.5',
10518 silly addNameRange '0.3.6',
10518 silly addNameRange '0.3.7',
10518 silly addNameRange '1.0.0',
10518 silly addNameRange '1.0.1',
10518 silly addNameRange '1.0.2',
10518 silly addNameRange '1.0.3',
10518 silly addNameRange '2.0.0',
10518 silly addNameRange '2.0.1',
10518 silly addNameRange '2.0.2',
10518 silly addNameRange '2.0.3',
10518 silly addNameRange '2.0.4',
10518 silly addNameRange '2.0.5',
10518 silly addNameRange '2.1.0',
10518 silly addNameRange '2.1.1',
10518 silly addNameRange '2.1.2',
10518 silly addNameRange '2.1.3',
10518 silly addNameRange '3.0.0' ] ]
10519 verbose addNamed [ 'js-yaml', '3.0.0' ]
10520 verbose addNamed [ '3.0.0', '3.0.0' ]
10521 silly lockFile 6b7cc4d0-js-yaml-3-0-0 js-yaml@3.0.0
10522 verbose lock js-yaml@3.0.0 /home/spike/.npm/6b7cc4d0-js-yaml-3-0-0.lock
10523 silly lockFile be198697-js-org-js-yaml-js-yaml-3-0-0-tgz https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz
10524 verbose lock https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz /home/spike/.npm/be198697-js-org-js-yaml-js-yaml-3-0-0-tgz.lock
10525 verbose addRemoteTarball [ 'https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz',
10525 verbose addRemoteTarball '46a8ac74fcc6e35f2d42e08c36e2961adc76bf2d' ]
10526 info retry fetch attempt 1 at 11:44:50
10527 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/tmp.tgz
10528 http GET https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz
10529 http 200 https://registry.npmjs.org/bin-wrapper
10530 silly registry.get cb [ 200,
10530 silly registry.get { vary: 'Accept',
10530 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10530 silly registry.get etag: '"3DSUM5BFX7PY8H1WKSJAI7MTQ"',
10530 silly registry.get date: 'Mon, 16 Dec 2013 10:44:50 GMT',
10530 silly registry.get 'content-type': 'application/json',
10530 silly registry.get 'content-length': '22587' } ]
10531 silly addNameRange number 2 { name: 'bin-wrapper',
10531 silly addNameRange range: '>=0.1.3-0 <0.2.0-0',
10531 silly addNameRange hasData: true }
10532 silly addNameRange versions [ 'bin-wrapper',
10532 silly addNameRange [ '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7' ] ]
10533 verbose addNamed [ 'bin-wrapper', '0.1.7' ]
10534 verbose addNamed [ '0.1.7', '0.1.7' ]
10535 silly lockFile f28efa9b-bin-wrapper-0-1-7 bin-wrapper@0.1.7
10536 verbose lock bin-wrapper@0.1.7 /home/spike/.npm/f28efa9b-bin-wrapper-0-1-7.lock
10537 silly lockFile 9ec2efe2-in-wrapper-bin-wrapper-0-1-7-tgz https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz
10538 verbose lock https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz /home/spike/.npm/9ec2efe2-in-wrapper-bin-wrapper-0-1-7-tgz.lock
10539 verbose addRemoteTarball [ 'https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz',
10539 verbose addRemoteTarball '78a3c220b5eab1ccb2317a5666d36440e48dd9f2' ]
10540 info retry fetch attempt 1 at 11:44:51
10541 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/tmp.tgz
10542 http GET https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz
10543 http 200 https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz
10544 http 200 https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz
10545 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/tmp.tgz
10546 silly lockFile 0733ed96-90255-0-9599345689639449-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package
10547 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package /home/spike/.npm/0733ed96-90255-0-9599345689639449-package.lock
10548 silly lockFile 0eec282d-90255-0-9599345689639449-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/tmp.tgz
10549 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/tmp.tgz /home/spike/.npm/0eec282d-90255-0-9599345689639449-tmp-tgz.lock
10550 silly gunzTarPerm modes [ '755', '644' ]
10551 silly gunzTarPerm extractEntry package.json
10552 silly gunzTarPerm extractEntry README.md
10553 silly gunzTarPerm extractEntry LICENSE
10554 silly gunzTarPerm extractEntry index.js
10555 silly gunzTarPerm extractEntry index_browser.js
10556 silly gunzTarPerm extractEntry examples/custom_types.js
10557 silly gunzTarPerm extractEntry examples/dumper.js
10558 silly gunzTarPerm extractEntry examples/sample_document.js
10559 silly gunzTarPerm extractEntry examples/custom_types.yaml
10560 silly gunzTarPerm extractEntry examples/dumper.json
10561 silly gunzTarPerm extractEntry examples/sample_document.yaml
10562 silly gunzTarPerm extractEntry HISTORY.md
10563 silly gunzTarPerm extractEntry bin/js-yaml.js
10564 silly gunzTarPerm extractEntry bower.json
10565 silly gunzTarPerm extractEntry lib/js-yaml.js
10566 silly gunzTarPerm extractEntry lib/js-yaml/common.js
10567 silly gunzTarPerm extractEntry lib/js-yaml/dumper.js
10568 silly gunzTarPerm extractEntry lib/js-yaml/exception.js
10569 silly gunzTarPerm extractEntry lib/js-yaml/loader.js
10570 silly gunzTarPerm extractEntry lib/js-yaml/mark.js
10571 silly gunzTarPerm extractEntry lib/js-yaml/schema.js
10572 silly gunzTarPerm extractEntry lib/js-yaml/type.js
10573 silly gunzTarPerm extractEntry lib/js-yaml/schema/core.js
10574 silly gunzTarPerm extractEntry lib/js-yaml/schema/default_full.js
10575 silly gunzTarPerm extractEntry lib/js-yaml/schema/default_safe.js
10576 silly gunzTarPerm extractEntry lib/js-yaml/schema/failsafe.js
10577 silly gunzTarPerm extractEntry lib/js-yaml/schema/json.js
10578 silly gunzTarPerm extractEntry lib/js-yaml/type/binary.js
10579 silly gunzTarPerm extractEntry lib/js-yaml/type/int.js
10580 silly gunzTarPerm extractEntry lib/js-yaml/type/str.js
10581 silly gunzTarPerm extractEntry lib/js-yaml/type/map.js
10582 silly gunzTarPerm extractEntry lib/js-yaml/type/float.js
10583 silly gunzTarPerm extractEntry lib/js-yaml/type/bool.js
10584 silly gunzTarPerm extractEntry lib/js-yaml/type/omap.js
10585 silly gunzTarPerm extractEntry lib/js-yaml/type/pairs.js
10586 silly gunzTarPerm extractEntry lib/js-yaml/type/seq.js
10587 silly gunzTarPerm extractEntry lib/js-yaml/type/set.js
10588 silly gunzTarPerm extractEntry lib/js-yaml/type/merge.js
10589 silly gunzTarPerm extractEntry lib/js-yaml/type/timestamp.js
10590 silly gunzTarPerm extractEntry lib/js-yaml/type/null.js
10591 silly gunzTarPerm extractEntry lib/js-yaml/type/js/function.js
10592 silly gunzTarPerm extractEntry lib/js-yaml/type/js/regexp.js
10593 silly gunzTarPerm extractEntry lib/js-yaml/type/js/undefined.js
10594 silly lockFile 0733ed96-90255-0-9599345689639449-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package
10595 silly lockFile 0733ed96-90255-0-9599345689639449-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package
10596 silly lockFile 0eec282d-90255-0-9599345689639449-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/tmp.tgz
10597 silly lockFile 0eec282d-90255-0-9599345689639449-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/tmp.tgz
10598 verbose tar pack [ '/home/spike/.npm/js-yaml/3.0.0/package.tgz',
10598 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package' ]
10599 verbose tarball /home/spike/.npm/js-yaml/3.0.0/package.tgz
10600 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package
10601 silly lockFile 0733ed96-90255-0-9599345689639449-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package
10602 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package /home/spike/.npm/0733ed96-90255-0-9599345689639449-package.lock
10603 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
10604 verbose lock tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz /home/spike/.npm/f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz.lock
10605 silly lockFile 0733ed96-90255-0-9599345689639449-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package
10606 silly lockFile 0733ed96-90255-0-9599345689639449-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190690255-0.9599345689639449/package
10607 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
10608 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
10609 silly lockFile 25f2acc6--spike-npm-js-yaml-3-0-0-package /home/spike/.npm/js-yaml/3.0.0/package
10610 verbose lock /home/spike/.npm/js-yaml/3.0.0/package /home/spike/.npm/25f2acc6--spike-npm-js-yaml-3-0-0-package.lock
10611 silly lockFile 25f2acc6--spike-npm-js-yaml-3-0-0-package /home/spike/.npm/js-yaml/3.0.0/package
10612 silly lockFile 25f2acc6--spike-npm-js-yaml-3-0-0-package /home/spike/.npm/js-yaml/3.0.0/package
10613 verbose tar unpack /home/spike/.npm/js-yaml/3.0.0/package.tgz
10614 silly lockFile b816d523--spike-npm-js-yaml-3-0-0-package tar:///home/spike/.npm/js-yaml/3.0.0/package
10615 verbose lock tar:///home/spike/.npm/js-yaml/3.0.0/package /home/spike/.npm/b816d523--spike-npm-js-yaml-3-0-0-package.lock
10616 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
10617 verbose lock tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz /home/spike/.npm/f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz.lock
10618 silly gunzTarPerm modes [ '755', '644' ]
10619 silly gunzTarPerm extractEntry package.json
10620 silly gunzTarPerm extractEntry README.md
10621 silly gunzTarPerm extractEntry LICENSE
10622 silly gunzTarPerm extractEntry index.js
10623 silly gunzTarPerm extractEntry index_browser.js
10624 silly gunzTarPerm extractEntry HISTORY.md
10625 silly gunzTarPerm extractEntry bin/js-yaml.js
10626 silly gunzTarPerm extractEntry bower.json
10627 silly gunzTarPerm extractEntry examples/custom_types.js
10628 silly gunzTarPerm extractEntry examples/dumper.js
10629 silly gunzTarPerm extractEntry examples/sample_document.js
10630 silly gunzTarPerm extractEntry examples/custom_types.yaml
10631 silly gunzTarPerm extractEntry examples/dumper.json
10632 silly gunzTarPerm extractEntry examples/sample_document.yaml
10633 silly gunzTarPerm extractEntry lib/js-yaml.js
10634 silly gunzTarPerm extractEntry lib/js-yaml/common.js
10635 silly gunzTarPerm extractEntry lib/js-yaml/dumper.js
10636 silly gunzTarPerm extractEntry lib/js-yaml/exception.js
10637 silly gunzTarPerm extractEntry lib/js-yaml/loader.js
10638 silly gunzTarPerm extractEntry lib/js-yaml/mark.js
10639 silly gunzTarPerm extractEntry lib/js-yaml/schema.js
10640 silly gunzTarPerm extractEntry lib/js-yaml/type.js
10641 silly gunzTarPerm extractEntry lib/js-yaml/schema/core.js
10642 silly gunzTarPerm extractEntry lib/js-yaml/schema/default_full.js
10643 silly gunzTarPerm extractEntry lib/js-yaml/schema/default_safe.js
10644 silly gunzTarPerm extractEntry lib/js-yaml/schema/failsafe.js
10645 silly gunzTarPerm extractEntry lib/js-yaml/schema/json.js
10646 silly gunzTarPerm extractEntry lib/js-yaml/type/binary.js
10647 silly gunzTarPerm extractEntry lib/js-yaml/type/int.js
10648 silly gunzTarPerm extractEntry lib/js-yaml/type/str.js
10649 silly gunzTarPerm extractEntry lib/js-yaml/type/map.js
10650 silly gunzTarPerm extractEntry lib/js-yaml/type/float.js
10651 silly gunzTarPerm extractEntry lib/js-yaml/type/bool.js
10652 silly gunzTarPerm extractEntry lib/js-yaml/type/omap.js
10653 silly gunzTarPerm extractEntry lib/js-yaml/type/pairs.js
10654 silly gunzTarPerm extractEntry lib/js-yaml/type/seq.js
10655 silly gunzTarPerm extractEntry lib/js-yaml/type/set.js
10656 silly gunzTarPerm extractEntry lib/js-yaml/type/merge.js
10657 silly gunzTarPerm extractEntry lib/js-yaml/type/timestamp.js
10658 silly gunzTarPerm extractEntry lib/js-yaml/type/null.js
10659 silly gunzTarPerm extractEntry lib/js-yaml/type/js/function.js
10660 silly gunzTarPerm extractEntry lib/js-yaml/type/js/regexp.js
10661 silly gunzTarPerm extractEntry lib/js-yaml/type/js/undefined.js
10662 silly lockFile b816d523--spike-npm-js-yaml-3-0-0-package tar:///home/spike/.npm/js-yaml/3.0.0/package
10663 silly lockFile b816d523--spike-npm-js-yaml-3-0-0-package tar:///home/spike/.npm/js-yaml/3.0.0/package
10664 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
10665 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
10666 verbose chmod /home/spike/.npm/js-yaml/3.0.0/package.tgz 644
10667 verbose chown /home/spike/.npm/js-yaml/3.0.0/package.tgz [ 1000, 1000 ]
10668 silly lockFile be198697-js-org-js-yaml-js-yaml-3-0-0-tgz https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz
10669 silly lockFile be198697-js-org-js-yaml-js-yaml-3-0-0-tgz https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz
10670 silly lockFile 6b7cc4d0-js-yaml-3-0-0 js-yaml@3.0.0
10671 silly lockFile 6b7cc4d0-js-yaml-3-0-0 js-yaml@3.0.0
10672 silly lockFile 84650e8c-js-yaml js-yaml@
10673 silly lockFile 84650e8c-js-yaml js-yaml@
10674 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/tmp.tgz
10675 silly lockFile 0889fa80-89590-0-8044492166955024-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package
10676 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package /home/spike/.npm/0889fa80-89590-0-8044492166955024-package.lock
10677 silly lockFile 969d352b-89590-0-8044492166955024-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/tmp.tgz
10678 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/tmp.tgz /home/spike/.npm/969d352b-89590-0-8044492166955024-tmp-tgz.lock
10679 silly gunzTarPerm modes [ '755', '644' ]
10680 silly gunzTarPerm extractEntry package.json
10681 silly gunzTarPerm extractEntry .npmignore
10682 silly gunzTarPerm extractEntry README.md
10683 silly gunzTarPerm extractEntry Gruntfile.js
10684 silly gunzTarPerm extractEntry LICENSE-MIT
10685 silly gunzTarPerm extractEntry .editorconfig
10686 silly gunzTarPerm extractEntry .jshintrc
10687 silly gunzTarPerm extractEntry .travis.yml
10688 silly gunzTarPerm extractEntry benchmarks/gaze100s.js
10689 silly gunzTarPerm extractEntry lib/gaze.js
10690 silly gunzTarPerm extractEntry lib/helper.js
10691 silly gunzTarPerm extractEntry AUTHORS
10692 silly gunzTarPerm extractEntry test/add_test.js
10693 silly gunzTarPerm extractEntry test/file_poller.js
10694 silly gunzTarPerm extractEntry test/watch_race_test.js
10695 silly gunzTarPerm extractEntry test/helper.js
10696 silly gunzTarPerm extractEntry test/matching_test.js
10697 silly gunzTarPerm extractEntry test/api_test.js
10698 silly gunzTarPerm extractEntry test/relative_test.js
10699 silly gunzTarPerm extractEntry test/rename_test.js
10700 silly gunzTarPerm extractEntry test/safewrite_test.js
10701 silly gunzTarPerm extractEntry test/watch_test.js
10702 silly gunzTarPerm extractEntry test/patterns_test.js
10703 silly gunzTarPerm extractEntry test/fixtures/one.js
10704 silly gunzTarPerm extractEntry test/fixtures/Project (LO)/one.js
10705 silly gunzTarPerm extractEntry test/fixtures/nested/one.js
10706 silly gunzTarPerm extractEntry test/fixtures/nested/three.js
10707 silly gunzTarPerm extractEntry test/fixtures/nested/sub/two.js
10708 silly gunzTarPerm extractEntry test/fixtures/nested/sub2/two.js
10709 silly gunzTarPerm extractEntry test/fixtures/sub/one.js
10710 silly gunzTarPerm extractEntry test/fixtures/sub/two.js
10711 silly lockFile 0889fa80-89590-0-8044492166955024-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package
10712 silly lockFile 0889fa80-89590-0-8044492166955024-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package
10713 silly lockFile 969d352b-89590-0-8044492166955024-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/tmp.tgz
10714 silly lockFile 969d352b-89590-0-8044492166955024-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/tmp.tgz
10715 verbose tar pack [ '/home/spike/.npm/gaze/0.4.3/package.tgz',
10715 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package' ]
10716 verbose tarball /home/spike/.npm/gaze/0.4.3/package.tgz
10717 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package
10718 silly lockFile 0889fa80-89590-0-8044492166955024-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package
10719 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package /home/spike/.npm/0889fa80-89590-0-8044492166955024-package.lock
10720 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10721 verbose lock tar:///home/spike/.npm/gaze/0.4.3/package.tgz /home/spike/.npm/16137a83-spike-npm-gaze-0-4-3-package-tgz.lock
10722 silly lockFile 0889fa80-89590-0-8044492166955024-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package
10723 silly lockFile 0889fa80-89590-0-8044492166955024-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190689590-0.8044492166955024/package
10724 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10725 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10726 silly lockFile 076f7fd0-ome-spike-npm-gaze-0-4-3-package /home/spike/.npm/gaze/0.4.3/package
10727 verbose lock /home/spike/.npm/gaze/0.4.3/package /home/spike/.npm/076f7fd0-ome-spike-npm-gaze-0-4-3-package.lock
10728 silly lockFile 076f7fd0-ome-spike-npm-gaze-0-4-3-package /home/spike/.npm/gaze/0.4.3/package
10729 silly lockFile 076f7fd0-ome-spike-npm-gaze-0-4-3-package /home/spike/.npm/gaze/0.4.3/package
10730 verbose tar unpack /home/spike/.npm/gaze/0.4.3/package.tgz
10731 silly lockFile 6579b363-ome-spike-npm-gaze-0-4-3-package tar:///home/spike/.npm/gaze/0.4.3/package
10732 verbose lock tar:///home/spike/.npm/gaze/0.4.3/package /home/spike/.npm/6579b363-ome-spike-npm-gaze-0-4-3-package.lock
10733 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10734 verbose lock tar:///home/spike/.npm/gaze/0.4.3/package.tgz /home/spike/.npm/16137a83-spike-npm-gaze-0-4-3-package-tgz.lock
10735 silly gunzTarPerm modes [ '755', '644' ]
10736 silly gunzTarPerm extractEntry package.json
10737 silly gunzTarPerm extractEntry .npmignore
10738 silly gunzTarPerm extractEntry README.md
10739 silly gunzTarPerm extractEntry Gruntfile.js
10740 silly gunzTarPerm extractEntry LICENSE-MIT
10741 silly gunzTarPerm extractEntry .editorconfig
10742 silly gunzTarPerm extractEntry .jshintrc
10743 silly gunzTarPerm extractEntry .travis.yml
10744 silly gunzTarPerm extractEntry benchmarks/gaze100s.js
10745 silly gunzTarPerm extractEntry lib/gaze.js
10746 silly gunzTarPerm extractEntry lib/helper.js
10747 silly gunzTarPerm extractEntry AUTHORS
10748 silly gunzTarPerm extractEntry test/add_test.js
10749 silly gunzTarPerm extractEntry test/file_poller.js
10750 silly gunzTarPerm extractEntry test/watch_race_test.js
10751 silly gunzTarPerm extractEntry test/helper.js
10752 silly gunzTarPerm extractEntry test/matching_test.js
10753 silly gunzTarPerm extractEntry test/api_test.js
10754 silly gunzTarPerm extractEntry test/relative_test.js
10755 silly gunzTarPerm extractEntry test/rename_test.js
10756 silly gunzTarPerm extractEntry test/safewrite_test.js
10757 silly gunzTarPerm extractEntry test/watch_test.js
10758 silly gunzTarPerm extractEntry test/patterns_test.js
10759 silly gunzTarPerm extractEntry test/fixtures/one.js
10760 silly gunzTarPerm extractEntry test/fixtures/Project (LO)/one.js
10761 silly gunzTarPerm extractEntry test/fixtures/nested/one.js
10762 silly gunzTarPerm extractEntry test/fixtures/nested/three.js
10763 silly gunzTarPerm extractEntry test/fixtures/nested/sub/two.js
10764 silly gunzTarPerm extractEntry test/fixtures/nested/sub2/two.js
10765 silly gunzTarPerm extractEntry test/fixtures/sub/one.js
10766 silly gunzTarPerm extractEntry test/fixtures/sub/two.js
10767 silly lockFile 6579b363-ome-spike-npm-gaze-0-4-3-package tar:///home/spike/.npm/gaze/0.4.3/package
10768 silly lockFile 6579b363-ome-spike-npm-gaze-0-4-3-package tar:///home/spike/.npm/gaze/0.4.3/package
10769 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10770 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10771 verbose chmod /home/spike/.npm/gaze/0.4.3/package.tgz 644
10772 verbose chown /home/spike/.npm/gaze/0.4.3/package.tgz [ 1000, 1000 ]
10773 silly lockFile 23200fc8-ry-npmjs-org-gaze-gaze-0-4-3-tgz https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz
10774 silly lockFile 23200fc8-ry-npmjs-org-gaze-gaze-0-4-3-tgz https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz
10775 silly lockFile 6119999c-gaze-0-4-3 gaze@0.4.3
10776 silly lockFile 6119999c-gaze-0-4-3 gaze@0.4.3
10777 silly lockFile 7f0764ad-gaze-0-4-0 gaze@~0.4.0
10778 silly lockFile 7f0764ad-gaze-0-4-0 gaze@~0.4.0
10779 silly resolved [ { author: { name: 'mklabs' },
10779 silly resolved name: 'tiny-lr',
10779 silly resolved description: 'Tiny LiveReload server, background-friendly',
10779 silly resolved version: '0.0.4',
10779 silly resolved homepage: 'https://github.com/mklabs/tiny-lr',
10779 silly resolved repository: { url: 'git://github.com/mklabs/tiny-lr.git' },
10779 silly resolved bin: { 'tiny-lr': './bin/tiny-lr' },
10779 silly resolved main: './lib',
10779 silly resolved scripts:
10779 silly resolved { 'prepublish:': 'npm test',
10779 silly resolved test: 'mocha --reporter list',
10779 silly resolved 'test-debug': 'DEBUG=tinylr:* mocha --reporter list',
10779 silly resolved 'test-debug-all': 'DEBUG=* mocha --reporter list' },
10779 silly resolved dependencies:
10779 silly resolved { qs: '~0.5.2',
10779 silly resolved 'faye-websocket': '~0.4.3',
10779 silly resolved noptify: 'latest',
10779 silly resolved debug: '~0.7.0' },
10779 silly resolved devDependencies:
10779 silly resolved { mocha: '~1.7.1',
10779 silly resolved request: '~2.12.0',
10779 silly resolved supertest: '~0.4.2',
10779 silly resolved express: '~3.0.6',
10779 silly resolved connect: '~2.7.2' },
10779 silly resolved config: { test_port: '9001' },
10779 silly resolved readme: 'tiny-lr\n-------\n\nThis script manages a tiny [LiveReload](http://livereload.com/) server\nimplementation you can spawn in the background.\n\nIt exposes:\n\n- a background-friendly bin wrapper (thanks to\n [@FGRibreau](https://github.com/FGRibreau) [pid.js\n gist](https://gist.github.com/1846952))\n\n- [Grunt tasks](https://github.com/mklabs/tiny-lr#using-grunt) to start the server and trigger reload notification. Every task\n name is prefixed by `tinylr-`.\n\n- [Generic targets](https://github.com/mklabs/tiny-lr#using-make) to include in\n your Makefile (`include node_modules/tiny-lr/tasks/tiny-lr.mk`)\n\nIt doesn\'t have any watch ability, it must be done at the build process or\napplication level.\n\nInstead, it exposes a very simple API to notify the server that some\nchanges have been made, that is then broadcasted to every livereload client\nconnected.\n\n # notify a single change\n curl http://localhost:35729/changed?files=style.css\n\n # notify using a longer path\n curl http://localhost:35729/changed?files=js/app.js\n\n # notify multiple changes, comma or space delimited\n curl http://localhost:35729/changed?files=index.html,style.css,docs/docco.css\n\nOr you can bulk the information into a POST request, with body as a JSON array of files.\n\n curl -X POST http://localhost:35729/changed -d \'{ "files": ["style.css", "app.js"] }\'\n\nAs for the livereload client, you need to install the browser extension:\nhttp://feedback.livereload.com/knowledgebase/articles/86242-how-do-i-install-and-use-the-browser-extensions-\n(**note**: you need to listen on port 35729 to be able to use with your\nbrower extension)\n\nor add the livereload script tag manually:\nhttp://feedback.livereload.com/knowledgebase/articles/86180-how-do-i-add-the-script-tag-manually-\n(and here you can choose whatever port you want)\n\n## Integration\n\nThis package exposes a `bin` you can decide to install globally, but it\'s not recommended.\n\n tiny-lr --help\n\n Usage: tiny-lr [options]\n\n Options:\n -h, --help - Show help usage\n -v, --version - Show package version\n -p, --port - Port to listen on (default: 35729)\n --pid - Path to the generated PID file (default: ./tiny-lr.pid)\n\n\nThe best way to integrate the runner in your workflow is to add it as a `reload`\nstep within your build tool. This build tool can then use the internal binary\nlinked by npm in `node_modules/.bin/tiny-lr` to not rely on global installs (or\nuse the server programmtically).\n\nYou can start the server using the binary provided, or use your own start script.\n\n```js\nvar tinylr = require(\'tiny-lr\');\n\n// standard LiveReload port\nvar port = 35729;\n\n// tinylr(opts) => new tinylr.Server(opts);\ntinylr().listen(port, function() {\n if(err) {\n // deal with err\n return;\n }\n\n console.log(\'... Listening on %s (pid: %s) ...\', port);\n})\n```\n\nYou can define your own route and listen for specific request:\n\n```js\nvar server = tinylr();\n\nserver.on(\'GET /myplace\', function(req, res) {\n res.write(\'Mine\');\n res.end();\n})\n```\n\nAnd stop the server manually:\n\n```js\nserver.close();\n```\n\nThis will close any websocket connection established and emit a close event.\n\n### Middleware\n\nTo use as a connect / express middleware, tiny-lr needs query /\nbodyParse middlewares prior in the stack.\n\nAny handled requests ends at the tinylr level, not found and errors are\nnexted to the rest of the stack.\n\n```js\n// This binds both express app and tinylr on the same port\nvar app = express();\napp.use(express.query())\n .use(express.bodyParser())\n .use(tinylr.middleware({ app: app }))\n .use(express.static(path.resolve(\'./\')))\n .use(express.directory(path.resolve(\'./\')))\n .listen(35729, function() {\n console.log(\'Listening on %d\', 35729);\n })\n```\n\nThe port you listen on is important, and tinylr should **always** listen on\nthe LiveReload standard one: `35729`. Otherwise, you won\'t be able to rely\non the browser extensions, though you can still use the manual snippet\napproach.\n\nYou can also start two different servers, one on your app port, the\nother listening on the LiveReload port. Check the\n`examples/express/server.js` file to see how.\n\n### Using grunt\n\nThis package exposes a `tasks/` directory, that you can use within your Gruntfile with:\n\n```js\ngrunt.loadNpmTasks(\'tiny-lr\');\n```\n\n- tinylr-start - Starts a new tiny-lr Server, with the provided port.\n- tinylr-reload - Sends a reload notification to the previously started server.\n\n`tinylr-start` should be used with the `watch` task, probably with an alias\nthat triggers both `tinylr-start watch` tasks.\n\n`tinylr-reload` should be configured as a "watch" task in your Gruntfile.\n\n```js\ngrunt.initConfig({\n watch: {\n reload: {\n files: [\'**/*.html\', \'**/*.js\', \'**/*.css\', \'**/*.{png,jpg}\'],\n tasks: \'tinylr-reload\'\n }\n }\n});\n\ngrunt.registerTask(\'reload\', \'tinylr-start watch\');\n```\n\n\n### Using make\n\nSee `tasks/tiny-lr.mk`.\n\nInclude this file into your project Makefile to bring in the following targets:\n\n- start \t\t\t\t\t\t- Start the LiveReload server\n- stop \t\t\t\t\t\t\t- Stops the LiveReload server\n- livereload \t\t\t\t- alias to start\n- livereload-stop \t- aias to stop\n\nThen define your "empty" targets, and the list of files you want to monitor.\n\n```make\nCSS_DIR = app/styles\nCSS_FILES = $(shell find $(CSS_DIR) -name \'*.css\')\n\n# include the livereload targets\ninclude node_modules/tiny-lr/tasks/*.mk\n\n$(CSS_DIR): $(CSS_FILES)\n @echo CSS files changed: $?\n @touch $@\n curl -X POST http://localhost:35729/changed -d \'{ "files": "$?" }\'\n\nreload-css: livereload $(CSS_DIR)\n\n.PHONY: reload-css\n```\n\nThe pattern is always the same:\n\n- define a target for your root directory that triggers a POST request\n- `touch` the directory to update its mtime\n- add reload target with `livereload` and the list of files to "watch" as\n prerequisites\n\nYou can chain multiple "reload" targets in a single one:\n\n```make\nreload: reload-js reload-css reload-img reload-EVERYTHING\n```\n\nCombine this with [visionmedia/watch](https://github.com/visionmedia/watch) and\nyou have a livereload environment.\n\n watch make reload\n\n # add a -q flag to the watch command to suppress most of the annoying output\n watch -q reload\n\nThe `-q` flag only outputs STDERR, you can in your Makefile redirect the\noutput of your commands to `>&2` to see them in `watch -q` mode.\n\n\n## Tests\n\n npm test\n\n---\n\n\n# TOC\n - [tiny-lr](#tiny-lr)\n - [GET /](#tiny-lr-get-)\n - [GET /changed](#tiny-lr-get-changed)\n - [POST /changed](#tiny-lr-post-changed)\n - [GET /livereload.js](#tiny-lr-get-livereloadjs)\n - [GET /kill](#tiny-lr-get-kill)\n<a name="" />\n\n<a name="tiny-lr" />\n# tiny-lr\naccepts ws clients.\n\n```js\nvar url = parse(this.request.url);\nvar server = this.app;\n\nvar ws = this.ws = new WebSocket(\'ws://\' + url.host + \'/livereload\');\n\nws.onopen = function(event) {\n var hello = {\n command: \'hello\',\n protocols: [\'http://livereload.com/protocols/official-7\']\n };\n\n ws.send(JSON.stringify(hello));\n};\n\nws.onmessage = function(event) {\n assert.deepEqual(event.data, JSON.stringify({\n command: \'hello\',\n protocols: [\'http://livereload.com/protocols/official-7\'],\n serverName: \'tiny-lr\'\n }));\n\n assert.ok(Object.keys(server.clients).length);\n done();\n};\n```\n\nproperly cleans up established connection on exit.\n\n```js\nvar ws = this.ws;\n\nws.onclose = done.bind(null, null);\n\nrequest(this.server)\n .get(\'/kill\')\n .expect(200, function() {\n console.log(\'server shutdown\');\n });\n```\n\n<a name="tiny-lr" />\n# tiny-lr\n<a name="tiny-lr-get-" />\n## GET /\nrespond with nothing, but respond.\n\n```js\nrequest(this.server)\n .get(\'/\')\n .expect(\'Content-Type\', /json/)\n .expect(\'{"tinylr":"Welcome","version":"0.0.1"}\')\n .expect(200, done);\n```\n\nunknown route respond with proper 404 and error message.\n\n```js\nrequest(this.server)\n .get(\'/whatev\')\n .expect(\'Content-Type\', /json/)\n .expect(\'{"error":"not_found","reason":"no such route"}\')\n .expect(404, done);\n```\n\n<a name="tiny-lr-get-changed" />\n## GET /changed\nwith no clients, no files.\n\n```js\nrequest(this.server)\n .get(\'/changed\')\n .expect(\'Content-Type\', /json/)\n .expect(/"clients":\\[\\]/)\n .expect(/"files":\\[\\]/)\n .expect(200, done);\n```\n\nwith no clients, some files.\n\n```js\nrequest(this.server)\n .get(\'/changed?files=gonna.css,test.css,it.css\')\n .expect(\'Content-Type\', /json/)\n .expect(\'{"clients":[],"files":["gonna.css","test.css","it.css"]}\')\n .expect(200, done);\n```\n\n<a name="tiny-lr-post-changed" />\n## POST /changed\nwith no clients, no files.\n\n```js\nrequest(this.server)\n .post(\'/changed\')\n .expect(\'Content-Type\', /json/)\n .expect(/"clients":\\[\\]/)\n .expect(/"files":\\[\\]/)\n .expect(200, done);\n```\n\nwith no clients, some files.\n\n```js\nvar data = { clients: [], files: [\'cat.css\', \'sed.css\', \'ack.js\'] };\n\nrequest(this.server)\n .post(\'/changed\')\n .send({ files: data.files })\n .expect(\'Content-Type\', /json/)\n .expect(JSON.stringify(data))\n .expect(200, done);\n```\n\n<a name="tiny-lr-get-livereloadjs" />\n## GET /livereload.js\nrespond with livereload script.\n\n```js\nrequest(this.server)\n .get(\'/livereload.js\')\n .expect(/LiveReload/)\n .expect(200, done);\n```\n\n<a name="tiny-lr-get-kill" />\n## GET /kill\nshutdown the server.\n\n```js\nvar server = this.server;\nrequest(server)\n .get(\'/kill\')\n .expect(200, function(err) {\n if(err) return done(err);\n assert.ok(!server._handle);\n done();\n });\n```\n\n---\n\n- 2013-01-21 - v0.0.4 - middleware support\n- 2013-01-20 - v0.0.3 - serve livereload from repo (#4)\n- 2013-01-12 - v0.0.2 - tasks - support for grunt 0.3.x (#1)\n- 2013-01-05 - v0.0.1 - Initial release\n',
10779 silly resolved readmeFilename: 'readme.md',
10779 silly resolved bugs: { url: 'https://github.com/mklabs/tiny-lr/issues' },
10779 silly resolved _id: 'tiny-lr@0.0.4',
10779 silly resolved dist: { shasum: '259f9a6ab16b124924e49372f3208d822e0c1782' },
10779 silly resolved _from: 'tiny-lr@0.0.4',
10779 silly resolved _resolved: 'https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz' },
10779 silly resolved { name: 'gaze',
10779 silly resolved description: 'A globbing fs.watch wrapper built from the best parts of other fine watch libs.',
10779 silly resolved version: '0.4.3',
10779 silly resolved homepage: 'https://github.com/shama/gaze',
10779 silly resolved author: { name: 'Kyle Robinson Young', email: 'kyle@dontkry.com' },
10779 silly resolved repository: { type: 'git', url: 'git://github.com/shama/gaze.git' },
10779 silly resolved bugs: { url: 'https://github.com/shama/gaze/issues' },
10779 silly resolved licenses: [ [Object] ],
10779 silly resolved main: 'lib/gaze',
10779 silly resolved engines: { node: '>= 0.8.0' },
10779 silly resolved scripts: { test: 'grunt nodeunit -v' },
10779 silly resolved dependencies: { globule: '~0.1.0' },
10779 silly resolved devDependencies:
10779 silly resolved { grunt: '~0.4.1',
10779 silly resolved 'grunt-contrib-nodeunit': '~0.2.0',
10779 silly resolved 'grunt-contrib-jshint': '~0.6.0',
10779 silly resolved 'grunt-benchmark': '~0.2.0' },
10779 silly resolved keywords: [ 'watch', 'glob' ],
10779 silly resolved contributors:
10779 silly resolved [ [Object],
10779 silly resolved [Object],
10779 silly resolved [Object],
10779 silly resolved [Object],
10779 silly resolved [Object],
10779 silly resolved [Object],
10779 silly resolved [Object],
10779 silly resolved [Object],
10779 silly resolved [Object],
10779 silly resolved [Object] ],
10779 silly resolved readme: '# gaze [![Build Status](https://secure.travis-ci.org/shama/gaze.png?branch=master)](http://travis-ci.org/shama/gaze)\n\nA globbing fs.watch wrapper built from the best parts of other fine watch libs. \nCompatible with Node.js 0.10/0.8, Windows, OSX and Linux.\n\n![gaze](http://dontkry.com/images/repos/gaze.png)\n\n## Usage\nInstall the module with: `npm install gaze` or place into your `package.json`\nand run `npm install`.\n\n```javascript\nvar gaze = require(\'gaze\');\n\n// Watch all .js files/dirs in process.cwd()\ngaze(\'**/*.js\', function(err, watcher) {\n // Files have all started watching\n // watcher === this\n\n // Get all watched files\n console.log(this.watched());\n\n // On file changed\n this.on(\'changed\', function(filepath) {\n console.log(filepath + \' was changed\');\n });\n\n // On file added\n this.on(\'added\', function(filepath) {\n console.log(filepath + \' was added\');\n });\n\n // On file deleted\n this.on(\'deleted\', function(filepath) {\n console.log(filepath + \' was deleted\');\n });\n\n // On changed/added/deleted\n this.on(\'all\', function(event, filepath) {\n console.log(filepath + \' was \' + event);\n });\n\n // Get watched files with relative paths\n console.log(this.relative());\n});\n\n// Also accepts an array of patterns\ngaze([\'stylesheets/*.css\', \'images/**/*.png\'], function() {\n // Add more patterns later to be watched\n this.add([\'js/*.js\']);\n});\n```\n\n### Alternate Interface\n\n```javascript\nvar Gaze = require(\'gaze\').Gaze;\n\nvar gaze = new Gaze(\'**/*\');\n\n// Files have all started watching\ngaze.on(\'ready\', function(watcher) { });\n\n// A file has been added/changed/deleted has occurred\ngaze.on(\'all\', function(event, filepath) { });\n```\n\n### Errors\n\n```javascript\ngaze(\'**/*\', function() {\n this.on(\'error\', function(err) {\n // Handle error here\n });\n});\n```\n\n### Minimatch / Glob\n\nSee [isaacs\'s minimatch](https://github.com/isaacs/minimatch) for more\ninformation on glob patterns.\n\n## Documentation\n\n### gaze(patterns, [options], callback)\n\n* `patterns` {String|Array} File patterns to be matched\n* `options` {Object}\n* `callback` {Function}\n * `err` {Error | null}\n * `watcher` {Object} Instance of the Gaze watcher\n\n### Class: gaze.Gaze\n\nCreate a Gaze object by instanting the `gaze.Gaze` class.\n\n```javascript\nvar Gaze = require(\'gaze\').Gaze;\nvar gaze = new Gaze(pattern, options, callback);\n```\n\n#### Properties\n\n* `options` The options object passed in.\n * `interval` {integer} Interval to pass to fs.watchFile\n * `debounceDelay` {integer} Delay for events called in succession for the same\n file/event\n\n#### Events\n\n* `ready(watcher)` When files have been globbed and watching has begun.\n* `all(event, filepath)` When an `added`, `changed` or `deleted` event occurs.\n* `added(filepath)` When a file has been added to a watch directory.\n* `changed(filepath)` When a file has been changed.\n* `deleted(filepath)` When a file has been deleted.\n* `renamed(newPath, oldPath)` When a file has been renamed.\n* `end()` When the watcher is closed and watches have been removed.\n* `error(err)` When an error occurs.\n\n#### Methods\n\n* `emit(event, [...])` Wrapper for the EventEmitter.emit.\n `added`|`changed`|`deleted` events will also trigger the `all` event.\n* `close()` Unwatch all files and reset the watch instance.\n* `add(patterns, callback)` Adds file(s) patterns to be watched.\n* `remove(filepath)` removes a file or directory from being watched. Does not\n recurse directories.\n* `watched()` Returns the currently watched files.\n* `relative([dir, unixify])` Returns the currently watched files with relative paths.\n * `dir` {string} Only return relative files for this directory.\n * `unixify` {boolean} Return paths with `/` instead of `\\\\` if on Windows.\n\n## FAQs\n\n### Why Another `fs.watch` Wrapper?\nI liked parts of other `fs.watch` wrappers but none had all the features I\nneeded. This lib combines the features I needed from other fine watch libs:\nSpeedy data behavior from\n[paulmillr\'s chokidar](https://github.com/paulmillr/chokidar), API interface\nfrom [mikeal\'s watch](https://github.com/mikeal/watch) and file globbing using\n[isaacs\'s glob](https://github.com/isaacs/node-glob) which is also used by\n[cowboy\'s Grunt](https://github.com/gruntjs/grunt).\n\n### How do I fix the error `EMFILE: Too many opened files.`?\nThis is because of your system\'s max opened file limit. For OSX the default is\nvery low (256). Increase your limit temporarily with `ulimit -n 10480`, the\nnumber being the new max limit.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style.\nAdd unit tests for any new or changed functionality. Lint and test your code\nusing [grunt](http://gruntjs.com/).\n\n## Release History\n* 0.4.3 - Track file additions in newly created folders (@brett-shwom).\n* 0.4.2 - Fix .remove() method to remove a single file in a directory (@kaelzhang). Fixing Cannot call method \'call\' of undefined (@krasimir). Track new file additions within folders (@brett-shwom).\n* 0.4.1 - Fix watchDir not respecting close in race condition (@chrisirhc).\n* 0.4.0 - Drop support for node v0.6. Use globule for file matching. Avoid node v0.10 path.resolve/join errors. Register new files when added to non-existent folder. Multiple instances can now poll the same files (@jpommerening).\n* 0.3.4 - Code clean up. Fix path must be strings errors (@groner). Fix incorrect added events (@groner).\n* 0.3.3 - Fix for multiple patterns with negate.\n* 0.3.2 - Emit `end` before removeAllListeners.\n* 0.3.1 - Fix added events within subfolder patterns.\n* 0.3.0 - Handle safewrite events, `forceWatchMethod` option removed, bug fixes and watch optimizations (@rgaskill).\n* 0.2.2 - Fix issue where subsequent add calls dont get watched (@samcday). removeAllListeners on close.\n* 0.2.1 - Fix issue with invalid `added` events in current working dir.\n* 0.2.0 - Support and mark folders with `path.sep`. Add `forceWatchMethod` option. Support `renamed` events.\n* 0.1.6 - Recognize the `cwd` option properly\n* 0.1.5 - Catch too many open file errors\n* 0.1.4 - Really fix the race condition with 2 watches\n* 0.1.3 - Fix race condition with 2 watches\n* 0.1.2 - Read triggering changed event fix\n* 0.1.1 - Minor fixes\n* 0.1.0 - Initial release\n\n## License\nCopyright (c) 2013 Kyle Robinson Young \nLicensed under the MIT license.\n',
10779 silly resolved readmeFilename: 'README.md',
10779 silly resolved _id: 'gaze@0.4.3',
10779 silly resolved dist: { shasum: '52b3976cdc7674bed16b15c05d5c86fd0c2da83e' },
10779 silly resolved _from: 'gaze@~0.4.0',
10779 silly resolved _resolved: 'https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz' } ]
10780 info install tiny-lr@0.0.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch
10781 info install gaze@0.4.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch
10782 info installOne tiny-lr@0.0.4
10783 info installOne gaze@0.4.3
10784 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/tiny-lr unbuild
10785 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/gaze unbuild
10786 verbose tar unpack /home/spike/.npm/tiny-lr/0.0.4/package.tgz
10787 silly lockFile 3582f5ed-ntrib-watch-node-modules-tiny-lr tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/tiny-lr
10788 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/tiny-lr /home/spike/.npm/3582f5ed-ntrib-watch-node-modules-tiny-lr.lock
10789 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
10790 verbose lock tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz /home/spike/.npm/dc921533-ke-npm-tiny-lr-0-0-4-package-tgz.lock
10791 verbose tar unpack /home/spike/.npm/gaze/0.4.3/package.tgz
10792 silly lockFile cc4f7303--contrib-watch-node-modules-gaze tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/gaze
10793 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/gaze /home/spike/.npm/cc4f7303--contrib-watch-node-modules-gaze.lock
10794 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10795 verbose lock tar:///home/spike/.npm/gaze/0.4.3/package.tgz /home/spike/.npm/16137a83-spike-npm-gaze-0-4-3-package-tgz.lock
10796 silly gunzTarPerm modes [ '755', '644' ]
10797 silly gunzTarPerm modes [ '755', '644' ]
10798 silly gunzTarPerm extractEntry package.json
10799 silly gunzTarPerm extractEntry package.json
10800 silly gunzTarPerm extractEntry .npmignore
10801 silly gunzTarPerm extractEntry .travis.yml
10802 silly gunzTarPerm extractEntry .npmignore
10803 silly gunzTarPerm extractEntry README.md
10804 silly gunzTarPerm extractEntry bin/tiny-lr
10805 silly gunzTarPerm extractEntry bin/update-livereload
10806 silly gunzTarPerm extractEntry Gruntfile.js
10807 silly gunzTarPerm extractEntry LICENSE-MIT
10808 silly gunzTarPerm extractEntry lib/client.js
10809 silly gunzTarPerm extractEntry lib/index.js
10810 silly gunzTarPerm extractEntry .editorconfig
10811 silly gunzTarPerm extractEntry .jshintrc
10812 silly gunzTarPerm extractEntry lib/server.js
10813 silly gunzTarPerm extractEntry lib/public/livereload.js
10814 silly gunzTarPerm extractEntry readme.md
10815 silly gunzTarPerm extractEntry tasks/tiny-lr.js
10816 silly gunzTarPerm extractEntry tasks/tiny-lr.mk
10817 silly gunzTarPerm extractEntry test/client.js
10818 silly gunzTarPerm extractEntry test/middleware.js
10819 silly gunzTarPerm extractEntry test/server.js
10820 silly gunzTarPerm extractEntry .travis.yml
10821 silly gunzTarPerm extractEntry benchmarks/gaze100s.js
10822 silly gunzTarPerm extractEntry lib/gaze.js
10823 silly gunzTarPerm extractEntry lib/helper.js
10824 silly gunzTarPerm extractEntry AUTHORS
10825 silly gunzTarPerm extractEntry test/add_test.js
10826 silly gunzTarPerm extractEntry test/file_poller.js
10827 silly gunzTarPerm extractEntry test/watch_race_test.js
10828 silly gunzTarPerm extractEntry test/helper.js
10829 silly gunzTarPerm extractEntry test/matching_test.js
10830 silly gunzTarPerm extractEntry test/api_test.js
10831 silly gunzTarPerm extractEntry test/relative_test.js
10832 silly gunzTarPerm extractEntry test/rename_test.js
10833 silly gunzTarPerm extractEntry test/safewrite_test.js
10834 silly gunzTarPerm extractEntry test/watch_test.js
10835 silly gunzTarPerm extractEntry test/patterns_test.js
10836 silly gunzTarPerm extractEntry test/fixtures/one.js
10837 silly gunzTarPerm extractEntry test/fixtures/Project (LO)/one.js
10838 silly gunzTarPerm extractEntry test/fixtures/nested/one.js
10839 silly gunzTarPerm extractEntry test/fixtures/nested/three.js
10840 silly gunzTarPerm extractEntry test/fixtures/nested/sub/two.js
10841 silly gunzTarPerm extractEntry test/fixtures/nested/sub2/two.js
10842 silly gunzTarPerm extractEntry test/fixtures/sub/one.js
10843 silly gunzTarPerm extractEntry test/fixtures/sub/two.js
10844 silly lockFile 3582f5ed-ntrib-watch-node-modules-tiny-lr tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/tiny-lr
10845 silly lockFile 3582f5ed-ntrib-watch-node-modules-tiny-lr tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/tiny-lr
10846 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
10847 silly lockFile dc921533-ke-npm-tiny-lr-0-0-4-package-tgz tar:///home/spike/.npm/tiny-lr/0.0.4/package.tgz
10848 info preinstall tiny-lr@0.0.4
10849 verbose readDependencies using package.json deps
10850 verbose readDependencies using package.json deps
10851 verbose cache add [ 'qs@~0.5.2', null ]
10852 verbose cache add name=undefined spec="qs@~0.5.2" args=["qs@~0.5.2",null]
10853 verbose parsed url { protocol: null,
10853 verbose parsed url slashes: null,
10853 verbose parsed url auth: null,
10853 verbose parsed url host: null,
10853 verbose parsed url port: null,
10853 verbose parsed url hostname: null,
10853 verbose parsed url hash: null,
10853 verbose parsed url search: null,
10853 verbose parsed url query: null,
10853 verbose parsed url pathname: 'qs@~0.5.2',
10853 verbose parsed url path: 'qs@~0.5.2',
10853 verbose parsed url href: 'qs@~0.5.2' }
10854 verbose cache add name="qs" spec="~0.5.2" args=["qs","~0.5.2"]
10855 verbose parsed url { protocol: null,
10855 verbose parsed url slashes: null,
10855 verbose parsed url auth: null,
10855 verbose parsed url host: null,
10855 verbose parsed url port: null,
10855 verbose parsed url hostname: null,
10855 verbose parsed url hash: null,
10855 verbose parsed url search: null,
10855 verbose parsed url query: null,
10855 verbose parsed url pathname: '~0.5.2',
10855 verbose parsed url path: '~0.5.2',
10855 verbose parsed url href: '~0.5.2' }
10856 verbose addNamed [ 'qs', '~0.5.2' ]
10857 verbose addNamed [ null, '>=0.5.2-0 <0.6.0-0' ]
10858 silly lockFile 60f93a07-qs-0-5-2 qs@~0.5.2
10859 verbose lock qs@~0.5.2 /home/spike/.npm/60f93a07-qs-0-5-2.lock
10860 verbose cache add [ 'faye-websocket@~0.4.3', null ]
10861 verbose cache add name=undefined spec="faye-websocket@~0.4.3" args=["faye-websocket@~0.4.3",null]
10862 verbose parsed url { protocol: null,
10862 verbose parsed url slashes: null,
10862 verbose parsed url auth: null,
10862 verbose parsed url host: null,
10862 verbose parsed url port: null,
10862 verbose parsed url hostname: null,
10862 verbose parsed url hash: null,
10862 verbose parsed url search: null,
10862 verbose parsed url query: null,
10862 verbose parsed url pathname: 'faye-websocket@~0.4.3',
10862 verbose parsed url path: 'faye-websocket@~0.4.3',
10862 verbose parsed url href: 'faye-websocket@~0.4.3' }
10863 verbose cache add name="faye-websocket" spec="~0.4.3" args=["faye-websocket","~0.4.3"]
10864 verbose parsed url { protocol: null,
10864 verbose parsed url slashes: null,
10864 verbose parsed url auth: null,
10864 verbose parsed url host: null,
10864 verbose parsed url port: null,
10864 verbose parsed url hostname: null,
10864 verbose parsed url hash: null,
10864 verbose parsed url search: null,
10864 verbose parsed url query: null,
10864 verbose parsed url pathname: '~0.4.3',
10864 verbose parsed url path: '~0.4.3',
10864 verbose parsed url href: '~0.4.3' }
10865 verbose addNamed [ 'faye-websocket', '~0.4.3' ]
10866 verbose addNamed [ null, '>=0.4.3-0 <0.5.0-0' ]
10867 silly lockFile 20d63c72-faye-websocket-0-4-3 faye-websocket@~0.4.3
10868 verbose lock faye-websocket@~0.4.3 /home/spike/.npm/20d63c72-faye-websocket-0-4-3.lock
10869 verbose cache add [ 'noptify@latest', null ]
10870 verbose cache add name=undefined spec="noptify@latest" args=["noptify@latest",null]
10871 verbose parsed url { protocol: null,
10871 verbose parsed url slashes: null,
10871 verbose parsed url auth: null,
10871 verbose parsed url host: null,
10871 verbose parsed url port: null,
10871 verbose parsed url hostname: null,
10871 verbose parsed url hash: null,
10871 verbose parsed url search: null,
10871 verbose parsed url query: null,
10871 verbose parsed url pathname: 'noptify@latest',
10871 verbose parsed url path: 'noptify@latest',
10871 verbose parsed url href: 'noptify@latest' }
10872 verbose cache add name="noptify" spec="latest" args=["noptify","latest"]
10873 verbose parsed url { protocol: null,
10873 verbose parsed url slashes: null,
10873 verbose parsed url auth: null,
10873 verbose parsed url host: null,
10873 verbose parsed url port: null,
10873 verbose parsed url hostname: null,
10873 verbose parsed url hash: null,
10873 verbose parsed url search: null,
10873 verbose parsed url query: null,
10873 verbose parsed url pathname: 'latest',
10873 verbose parsed url path: 'latest',
10873 verbose parsed url href: 'latest' }
10874 verbose addNamed [ 'noptify', 'latest' ]
10875 verbose addNamed [ null, null ]
10876 silly lockFile ca287262-noptify-latest noptify@latest
10877 verbose lock noptify@latest /home/spike/.npm/ca287262-noptify-latest.lock
10878 silly addNameRange { name: 'qs', range: '>=0.5.2-0 <0.6.0-0', hasData: false }
10879 verbose cache add [ 'debug@~0.7.0', null ]
10880 verbose cache add name=undefined spec="debug@~0.7.0" args=["debug@~0.7.0",null]
10881 verbose parsed url { protocol: null,
10881 verbose parsed url slashes: null,
10881 verbose parsed url auth: null,
10881 verbose parsed url host: null,
10881 verbose parsed url port: null,
10881 verbose parsed url hostname: null,
10881 verbose parsed url hash: null,
10881 verbose parsed url search: null,
10881 verbose parsed url query: null,
10881 verbose parsed url pathname: 'debug@~0.7.0',
10881 verbose parsed url path: 'debug@~0.7.0',
10881 verbose parsed url href: 'debug@~0.7.0' }
10882 verbose cache add name="debug" spec="~0.7.0" args=["debug","~0.7.0"]
10883 verbose parsed url { protocol: null,
10883 verbose parsed url slashes: null,
10883 verbose parsed url auth: null,
10883 verbose parsed url host: null,
10883 verbose parsed url port: null,
10883 verbose parsed url hostname: null,
10883 verbose parsed url hash: null,
10883 verbose parsed url search: null,
10883 verbose parsed url query: null,
10883 verbose parsed url pathname: '~0.7.0',
10883 verbose parsed url path: '~0.7.0',
10883 verbose parsed url href: '~0.7.0' }
10884 verbose addNamed [ 'debug', '~0.7.0' ]
10885 verbose addNamed [ null, '>=0.7.0-0 <0.8.0-0' ]
10886 silly lockFile 88a35dfc-debug-0-7-0 debug@~0.7.0
10887 verbose lock debug@~0.7.0 /home/spike/.npm/88a35dfc-debug-0-7-0.lock
10888 silly addNameRange { name: 'faye-websocket',
10888 silly addNameRange range: '>=0.4.3-0 <0.5.0-0',
10888 silly addNameRange hasData: false }
10889 info addNameTag [ 'noptify', 'latest' ]
10890 silly addNameRange { name: 'debug', range: '>=0.7.0-0 <0.8.0-0', hasData: false }
10891 verbose url raw qs
10892 verbose url resolving [ 'https://registry.npmjs.org/', './qs' ]
10893 verbose url resolved https://registry.npmjs.org/qs
10894 info trying registry request attempt 1 at 11:44:51
10895 verbose etag "ANEKPEJBMZNSXQGXV8HCDQBBQ"
10896 http GET https://registry.npmjs.org/qs
10897 verbose url raw debug
10898 verbose url resolving [ 'https://registry.npmjs.org/', './debug' ]
10899 verbose url resolved https://registry.npmjs.org/debug
10900 info trying registry request attempt 1 at 11:44:51
10901 verbose etag "6DRWHTWW7STZY5U5Q0NZX2DF0"
10902 http GET https://registry.npmjs.org/debug
10903 verbose url raw noptify
10904 verbose url resolving [ 'https://registry.npmjs.org/', './noptify' ]
10905 verbose url resolved https://registry.npmjs.org/noptify
10906 info trying registry request attempt 1 at 11:44:51
10907 verbose etag "9XVO9ETRVF9ARC290XT8LZJC3"
10908 http GET https://registry.npmjs.org/noptify
10909 verbose url raw faye-websocket
10910 verbose url resolving [ 'https://registry.npmjs.org/', './faye-websocket' ]
10911 verbose url resolved https://registry.npmjs.org/faye-websocket
10912 info trying registry request attempt 1 at 11:44:51
10913 verbose etag "BW2G5863XLS1E0YB31LIUJCQR"
10914 http GET https://registry.npmjs.org/faye-websocket
10915 silly lockFile cc4f7303--contrib-watch-node-modules-gaze tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/gaze
10916 silly lockFile cc4f7303--contrib-watch-node-modules-gaze tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-watch/node_modules/gaze
10917 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10918 silly lockFile 16137a83-spike-npm-gaze-0-4-3-package-tgz tar:///home/spike/.npm/gaze/0.4.3/package.tgz
10919 info preinstall gaze@0.4.3
10920 verbose readDependencies using package.json deps
10921 verbose readDependencies using package.json deps
10922 verbose cache add [ 'globule@~0.1.0', null ]
10923 verbose cache add name=undefined spec="globule@~0.1.0" args=["globule@~0.1.0",null]
10924 verbose parsed url { protocol: null,
10924 verbose parsed url slashes: null,
10924 verbose parsed url auth: null,
10924 verbose parsed url host: null,
10924 verbose parsed url port: null,
10924 verbose parsed url hostname: null,
10924 verbose parsed url hash: null,
10924 verbose parsed url search: null,
10924 verbose parsed url query: null,
10924 verbose parsed url pathname: 'globule@~0.1.0',
10924 verbose parsed url path: 'globule@~0.1.0',
10924 verbose parsed url href: 'globule@~0.1.0' }
10925 verbose cache add name="globule" spec="~0.1.0" args=["globule","~0.1.0"]
10926 verbose parsed url { protocol: null,
10926 verbose parsed url slashes: null,
10926 verbose parsed url auth: null,
10926 verbose parsed url host: null,
10926 verbose parsed url port: null,
10926 verbose parsed url hostname: null,
10926 verbose parsed url hash: null,
10926 verbose parsed url search: null,
10926 verbose parsed url query: null,
10926 verbose parsed url pathname: '~0.1.0',
10926 verbose parsed url path: '~0.1.0',
10926 verbose parsed url href: '~0.1.0' }
10927 verbose addNamed [ 'globule', '~0.1.0' ]
10928 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
10929 silly lockFile 95d0eb0c-globule-0-1-0 globule@~0.1.0
10930 verbose lock globule@~0.1.0 /home/spike/.npm/95d0eb0c-globule-0-1-0.lock
10931 silly addNameRange { name: 'globule', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
10932 verbose url raw globule
10933 verbose url resolving [ 'https://registry.npmjs.org/', './globule' ]
10934 verbose url resolved https://registry.npmjs.org/globule
10935 info trying registry request attempt 1 at 11:44:51
10936 verbose etag "21EI4L9KVYPTXXLSKLC1XLFG6"
10937 http GET https://registry.npmjs.org/globule
10938 http 200 https://registry.npmjs.org/colors
10939 silly registry.get cb [ 200,
10939 silly registry.get { vary: 'Accept',
10939 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10939 silly registry.get etag: '"8QPVO2Y1B0G10I8ROG4XD7FFS"',
10939 silly registry.get date: 'Mon, 16 Dec 2013 10:44:51 GMT',
10939 silly registry.get 'content-type': 'application/json',
10939 silly registry.get 'content-length': '9618' } ]
10940 silly addNameRange number 2 { name: 'colors', range: '>=0.6.0-0 <0.7.0-0', hasData: true }
10941 silly addNameRange versions [ 'colors',
10941 silly addNameRange [ '0.3.0', '0.5.0', '0.5.1', '0.6.0', '0.6.0-1', '0.6.1', '0.6.2' ] ]
10942 verbose addNamed [ 'colors', '0.6.2' ]
10943 verbose addNamed [ '0.6.2', '0.6.2' ]
10944 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
10945 verbose lock colors@0.6.2 /home/spike/.npm/1ce149d5-colors-0-6-2.lock
10946 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
10947 silly lockFile 1ce149d5-colors-0-6-2 colors@0.6.2
10948 silly lockFile 87ce7fc7-colors-0-6-0 colors@~0.6.0
10949 silly lockFile 87ce7fc7-colors-0-6-0 colors@~0.6.0
10950 http 304 https://registry.npmjs.org/sax
10951 silly registry.get cb [ 304,
10951 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10951 silly registry.get etag: '"9W59AMFC8TJ05JMY7JINFNY51"',
10951 silly registry.get date: 'Mon, 16 Dec 2013 10:44:52 GMT',
10951 silly registry.get 'content-length': '0' } ]
10952 verbose etag sax from cache
10953 silly addNameRange number 2 { name: 'sax', range: '>=0.5.0-0 <0.6.0-0', hasData: true }
10954 silly addNameRange versions [ 'sax',
10954 silly addNameRange [ '0.1.0',
10954 silly addNameRange '0.1.1',
10954 silly addNameRange '0.1.2',
10954 silly addNameRange '0.1.3',
10954 silly addNameRange '0.1.4',
10954 silly addNameRange '0.1.5',
10954 silly addNameRange '0.2.0',
10954 silly addNameRange '0.2.1',
10954 silly addNameRange '0.2.2',
10954 silly addNameRange '0.2.3',
10954 silly addNameRange '0.2.4',
10954 silly addNameRange '0.2.5',
10954 silly addNameRange '0.3.0',
10954 silly addNameRange '0.3.1',
10954 silly addNameRange '0.3.2',
10954 silly addNameRange '0.3.3',
10954 silly addNameRange '0.3.4',
10954 silly addNameRange '0.3.5',
10954 silly addNameRange '0.4.1',
10954 silly addNameRange '0.4.0',
10954 silly addNameRange '0.4.2',
10954 silly addNameRange '0.4.3',
10954 silly addNameRange '0.5.0',
10954 silly addNameRange '0.5.1',
10954 silly addNameRange '0.5.2',
10954 silly addNameRange '0.5.3',
10954 silly addNameRange '0.5.4',
10954 silly addNameRange '0.5.5',
10954 silly addNameRange '0.5.6',
10954 silly addNameRange '0.5.7',
10954 silly addNameRange '0.5.8' ] ]
10955 verbose addNamed [ 'sax', '0.5.8' ]
10956 verbose addNamed [ '0.5.8', '0.5.8' ]
10957 silly lockFile c9464f8a-sax-0-5-8 sax@0.5.8
10958 verbose lock sax@0.5.8 /home/spike/.npm/c9464f8a-sax-0-5-8.lock
10959 silly lockFile c9464f8a-sax-0-5-8 sax@0.5.8
10960 silly lockFile c9464f8a-sax-0-5-8 sax@0.5.8
10961 silly lockFile b2f813d5-sax-0-5-0 sax@~0.5.0
10962 silly lockFile b2f813d5-sax-0-5-0 sax@~0.5.0
10963 http 200 https://registry.npmjs.org/commander
10964 silly registry.get cb [ 200,
10964 silly registry.get { vary: 'Accept',
10964 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10964 silly registry.get etag: '"7LJH07U8PHDEBNX5MC5AXLLVQ"',
10964 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
10964 silly registry.get 'content-type': 'application/json',
10964 silly registry.get 'content-length': '153579' } ]
10965 silly addNameRange number 2 { name: 'commander', range: '>=1.1.1-0 <1.2.0-0', hasData: true }
10966 silly addNameRange versions [ 'commander',
10966 silly addNameRange [ '0.0.1',
10966 silly addNameRange '0.0.3',
10966 silly addNameRange '0.0.4',
10966 silly addNameRange '0.0.5',
10966 silly addNameRange '0.1.0',
10966 silly addNameRange '0.2.0',
10966 silly addNameRange '0.2.1',
10966 silly addNameRange '0.3.0',
10966 silly addNameRange '0.3.1',
10966 silly addNameRange '0.3.2',
10966 silly addNameRange '0.3.3',
10966 silly addNameRange '0.4.0',
10966 silly addNameRange '0.4.1',
10966 silly addNameRange '0.4.2',
10966 silly addNameRange '0.4.3',
10966 silly addNameRange '0.5.0',
10966 silly addNameRange '0.5.1',
10966 silly addNameRange '0.6.0',
10966 silly addNameRange '0.6.1',
10966 silly addNameRange '0.5.2',
10966 silly addNameRange '1.0.0',
10966 silly addNameRange '1.0.1',
10966 silly addNameRange '1.0.2',
10966 silly addNameRange '1.0.3',
10966 silly addNameRange '1.0.4',
10966 silly addNameRange '1.0.5',
10966 silly addNameRange '1.1.0',
10966 silly addNameRange '1.1.1',
10966 silly addNameRange '1.2.0',
10966 silly addNameRange '1.3.0',
10966 silly addNameRange '1.3.1',
10966 silly addNameRange '1.3.2',
10966 silly addNameRange '2.0.0',
10966 silly addNameRange '2.1.0' ] ]
10967 verbose addNamed [ 'commander', '1.1.1' ]
10968 verbose addNamed [ '1.1.1', '1.1.1' ]
10969 silly lockFile e890879a-commander-1-1-1 commander@1.1.1
10970 verbose lock commander@1.1.1 /home/spike/.npm/e890879a-commander-1-1-1.lock
10971 silly lockFile e890879a-commander-1-1-1 commander@1.1.1
10972 silly lockFile e890879a-commander-1-1-1 commander@1.1.1
10973 silly lockFile f812655f-commander-1-1-1 commander@~1.1.1
10974 silly lockFile f812655f-commander-1-1-1 commander@~1.1.1
10975 http 304 https://registry.npmjs.org/underscore
10976 silly registry.get cb [ 304,
10976 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
10976 silly registry.get etag: '"1ORROIGBAG4C8L0BXAJ9F507C"',
10976 silly registry.get date: 'Mon, 16 Dec 2013 10:44:52 GMT',
10976 silly registry.get 'content-length': '0' } ]
10977 verbose etag underscore from cache
10978 silly addNameRange number 2 { name: 'underscore',
10978 silly addNameRange range: '>=1.4.0-0 <1.5.0-0',
10978 silly addNameRange hasData: true }
10979 silly addNameRange versions [ 'underscore',
10979 silly addNameRange [ '1.0.3',
10979 silly addNameRange '1.0.4',
10979 silly addNameRange '1.1.0',
10979 silly addNameRange '1.1.1',
10979 silly addNameRange '1.1.2',
10979 silly addNameRange '1.1.3',
10979 silly addNameRange '1.1.4',
10979 silly addNameRange '1.1.5',
10979 silly addNameRange '1.1.6',
10979 silly addNameRange '1.1.7',
10979 silly addNameRange '1.2.0',
10979 silly addNameRange '1.2.1',
10979 silly addNameRange '1.2.2',
10979 silly addNameRange '1.2.3',
10979 silly addNameRange '1.2.4',
10979 silly addNameRange '1.3.0',
10979 silly addNameRange '1.3.1',
10979 silly addNameRange '1.3.2',
10979 silly addNameRange '1.3.3',
10979 silly addNameRange '1.4.0',
10979 silly addNameRange '1.4.1',
10979 silly addNameRange '1.4.2',
10979 silly addNameRange '1.4.3',
10979 silly addNameRange '1.4.4',
10979 silly addNameRange '1.5.0',
10979 silly addNameRange '1.5.1',
10979 silly addNameRange '1.5.2' ] ]
10980 verbose addNamed [ 'underscore', '1.4.4' ]
10981 verbose addNamed [ '1.4.4', '1.4.4' ]
10982 silly lockFile c6b5e825-underscore-1-4-4 underscore@1.4.4
10983 verbose lock underscore@1.4.4 /home/spike/.npm/c6b5e825-underscore-1-4-4.lock
10984 silly lockFile c6b5e825-underscore-1-4-4 underscore@1.4.4
10985 silly lockFile c6b5e825-underscore-1-4-4 underscore@1.4.4
10986 silly lockFile 53dcd9dd-underscore-1-4-x underscore@1.4.x
10987 silly lockFile 53dcd9dd-underscore-1-4-x underscore@1.4.x
10988 http 200 https://registry.npmjs.org/whet.extend
10989 silly registry.get cb [ 200,
10989 silly registry.get { vary: 'Accept',
10989 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
10989 silly registry.get etag: '"7M9ZMMLFERTJA3YVKLOFKQ9FQ"',
10989 silly registry.get date: 'Mon, 16 Dec 2013 10:44:52 GMT',
10989 silly registry.get 'content-type': 'application/json',
10989 silly registry.get 'content-length': '5987' } ]
10990 silly addNameRange number 2 { name: 'whet.extend', range: '*', hasData: true }
10991 silly addNameRange versions [ 'whet.extend', [ '0.9.4', '0.9.5', '0.9.7', '0.9.9' ] ]
10992 verbose addNamed [ 'whet.extend', '0.9.9' ]
10993 verbose addNamed [ '0.9.9', '0.9.9' ]
10994 silly lockFile 03e1eac6-whet-extend-0-9-9 whet.extend@0.9.9
10995 verbose lock whet.extend@0.9.9 /home/spike/.npm/03e1eac6-whet-extend-0-9-9.lock
10996 silly lockFile 03e1eac6-whet-extend-0-9-9 whet.extend@0.9.9
10997 silly lockFile 03e1eac6-whet-extend-0-9-9 whet.extend@0.9.9
10998 silly lockFile 596e473e-whet-extend whet.extend@
10999 silly lockFile 596e473e-whet-extend whet.extend@
11000 http 200 https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz
11001 http 304 https://registry.npmjs.org/minimatch
11002 silly registry.get cb [ 304,
11002 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
11002 silly registry.get etag: '"64XOX37UTQ30T56XVE341LIFE"',
11002 silly registry.get date: 'Mon, 16 Dec 2013 10:44:52 GMT',
11002 silly registry.get 'content-length': '0' } ]
11003 verbose etag minimatch from cache
11004 silly addNameRange number 2 { name: 'minimatch', range: '>=0.0.0-0 <1.0.0-0', hasData: true }
11005 silly addNameRange versions [ 'minimatch',
11005 silly addNameRange [ '0.0.1',
11005 silly addNameRange '0.0.2',
11005 silly addNameRange '0.0.4',
11005 silly addNameRange '0.0.5',
11005 silly addNameRange '0.1.1',
11005 silly addNameRange '0.1.2',
11005 silly addNameRange '0.1.3',
11005 silly addNameRange '0.1.4',
11005 silly addNameRange '0.1.5',
11005 silly addNameRange '0.2.0',
11005 silly addNameRange '0.2.2',
11005 silly addNameRange '0.2.3',
11005 silly addNameRange '0.2.4',
11005 silly addNameRange '0.2.5',
11005 silly addNameRange '0.2.6',
11005 silly addNameRange '0.2.7',
11005 silly addNameRange '0.2.8',
11005 silly addNameRange '0.2.9',
11005 silly addNameRange '0.2.10',
11005 silly addNameRange '0.2.11',
11005 silly addNameRange '0.2.12',
11005 silly addNameRange '0.2.13' ] ]
11006 verbose addNamed [ 'minimatch', '0.2.13' ]
11007 verbose addNamed [ '0.2.13', '0.2.13' ]
11008 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
11009 verbose lock minimatch@0.2.13 /home/spike/.npm/1a041349-minimatch-0-2-13.lock
11010 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
11011 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
11012 silly lockFile 38c78372-minimatch-0-x-x minimatch@0.x.x
11013 silly lockFile 38c78372-minimatch-0-x-x minimatch@0.x.x
11014 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/tmp.tgz
11015 silly lockFile 4f29c87e-1160-0-17552340403199196-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package
11016 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package /home/spike/.npm/4f29c87e-1160-0-17552340403199196-package.lock
11017 silly lockFile f606b747-1160-0-17552340403199196-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/tmp.tgz
11018 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/tmp.tgz /home/spike/.npm/f606b747-1160-0-17552340403199196-tmp-tgz.lock
11019 silly gunzTarPerm modes [ '755', '644' ]
11020 silly gunzTarPerm extractEntry package.json
11021 silly gunzTarPerm extractEntry README.md
11022 silly gunzTarPerm extractEntry bin-wrapper.js
11023 silly lockFile 4f29c87e-1160-0-17552340403199196-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package
11024 silly lockFile 4f29c87e-1160-0-17552340403199196-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package
11025 silly lockFile f606b747-1160-0-17552340403199196-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/tmp.tgz
11026 silly lockFile f606b747-1160-0-17552340403199196-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/tmp.tgz
11027 verbose tar pack [ '/home/spike/.npm/bin-wrapper/0.1.7/package.tgz',
11027 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package' ]
11028 verbose tarball /home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11029 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package
11030 silly lockFile 4f29c87e-1160-0-17552340403199196-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package
11031 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package /home/spike/.npm/4f29c87e-1160-0-17552340403199196-package.lock
11032 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11033 verbose lock tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz /home/spike/.npm/4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz.lock
11034 silly lockFile 4f29c87e-1160-0-17552340403199196-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package
11035 silly lockFile 4f29c87e-1160-0-17552340403199196-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190691160-0.17552340403199196/package
11036 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11037 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11038 silly lockFile 7d808cc7-ke-npm-bin-wrapper-0-1-7-package /home/spike/.npm/bin-wrapper/0.1.7/package
11039 verbose lock /home/spike/.npm/bin-wrapper/0.1.7/package /home/spike/.npm/7d808cc7-ke-npm-bin-wrapper-0-1-7-package.lock
11040 silly lockFile 7d808cc7-ke-npm-bin-wrapper-0-1-7-package /home/spike/.npm/bin-wrapper/0.1.7/package
11041 silly lockFile 7d808cc7-ke-npm-bin-wrapper-0-1-7-package /home/spike/.npm/bin-wrapper/0.1.7/package
11042 verbose tar unpack /home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11043 silly lockFile 59dea01a-ke-npm-bin-wrapper-0-1-7-package tar:///home/spike/.npm/bin-wrapper/0.1.7/package
11044 verbose lock tar:///home/spike/.npm/bin-wrapper/0.1.7/package /home/spike/.npm/59dea01a-ke-npm-bin-wrapper-0-1-7-package.lock
11045 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11046 verbose lock tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz /home/spike/.npm/4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz.lock
11047 silly gunzTarPerm modes [ '755', '644' ]
11048 silly gunzTarPerm extractEntry package.json
11049 silly gunzTarPerm extractEntry README.md
11050 silly gunzTarPerm extractEntry bin-wrapper.js
11051 silly lockFile 59dea01a-ke-npm-bin-wrapper-0-1-7-package tar:///home/spike/.npm/bin-wrapper/0.1.7/package
11052 silly lockFile 59dea01a-ke-npm-bin-wrapper-0-1-7-package tar:///home/spike/.npm/bin-wrapper/0.1.7/package
11053 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11054 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11055 verbose chmod /home/spike/.npm/bin-wrapper/0.1.7/package.tgz 644
11056 verbose chown /home/spike/.npm/bin-wrapper/0.1.7/package.tgz [ 1000, 1000 ]
11057 silly lockFile 9ec2efe2-in-wrapper-bin-wrapper-0-1-7-tgz https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz
11058 silly lockFile 9ec2efe2-in-wrapper-bin-wrapper-0-1-7-tgz https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz
11059 silly lockFile f28efa9b-bin-wrapper-0-1-7 bin-wrapper@0.1.7
11060 silly lockFile f28efa9b-bin-wrapper-0-1-7 bin-wrapper@0.1.7
11061 silly lockFile b8a6567d-bin-wrapper-0-1-3 bin-wrapper@~0.1.3
11062 silly lockFile b8a6567d-bin-wrapper-0-1-3 bin-wrapper@~0.1.3
11063 silly resolved [ { name: 'bin-wrapper',
11063 silly resolved version: '0.1.7',
11063 silly resolved description: 'Binary wrapper for Node.js that makes your programs seamlessly available as local dependencies',
11063 silly resolved keywords: [ 'bin', 'build', 'make', 'wrapper' ],
11063 silly resolved homepage: 'https://github.com/kevva/bin-wrapper',
11063 silly resolved bugs: { url: 'https://github.com/kevva/bin-wrapper/issues' },
11063 silly resolved author:
11063 silly resolved { name: 'Kevin Martensson',
11063 silly resolved email: 'kevinmartensson@gmail.com',
11063 silly resolved url: 'http://kevinmartensson.com' },
11063 silly resolved license: 'MIT',
11063 silly resolved repository: { type: 'git', url: 'git://github.com/kevva/bin-wrapper.git' },
11063 silly resolved scripts: { test: 'mocha --reporter list' },
11063 silly resolved main: 'bin-wrapper.js',
11063 silly resolved files: [ 'bin-wrapper.js' ],
11063 silly resolved dependencies:
11063 silly resolved { download: '~0.1.2',
11063 silly resolved isbin: '0.0.2',
11063 silly resolved mout: '~0.6.0',
11063 silly resolved progress: '~1.1.0',
11063 silly resolved which: '~1.0.5' },
11063 silly resolved devDependencies: { mocha: '~1.12.0' },
11063 silly resolved engines: { node: '>=0.8.0' },
11063 silly resolved readme: '# bin-wrapper [![Build Status](https://secure.travis-ci.org/kevva/bin-wrapper.png?branch=master)](http://travis-ci.org/kevva/bin-wrapper)\n\nBinary wrapper for Node.js that makes your programs seamlessly available as local dependencies\n\n## Getting started\n\nInstall with [npm](https://npmjs.org/package/bin-wrapper): `npm install bin-wrapper`\n\n## Examples\n\nAll `platform` and `arch` specific options takes precedence over the base \noptions. See [test.js](test.js) for a full fleshed example.\n\n```js\nvar Bin = require(\'bin-wrapper\');\n\nvar opts = {\n name: \'Gifsicle\',\n bin: \'gifsicle\',\n path: \'vendor\',\n url: \'http://url/to/gifsicle\',\n src: \'http://www.lcdf.org/gifsicle/gifsicle-1.71.tar.gz\',\n buildScript: \'./configure --bindir="vendor" && make install\',\n platform: {\n win32: {\n bin: \'gifsicle.exe\',\n url: [\n \'http://url/to/gifsicle.exe\'\n \'http://url/to/gifsicle.dll\'\n ]\n }\n }\n}\nvar bin = new Bin(opts);\n\nbin.check(\'--version\', function (works) {\n if (!works) {\n console.log(\'Pre-build test failed, compiling from source\');\n return bin.build();\n }\n\n console.log(\'Binary passed the test\');\n});\n```\n\nGet the path to your binary with `bin.path`.\n\n```js\nconsole.log(bin.path);\n// => path/to/vendor/gifsicle\n```\n\n## API\n\n### .check(cmd, cb)\n\nCheck if a binary is present and working. If it isn\'t, download and test it by \nrunning the binary with `cmd` and see if it exits correctly.\n\n### .build(cb)\n\nDownload the source archive defined in the `src` property and build it using the \nbuild script defined in the `buildScript` property.\n\n## License\n\n[MIT License](http://en.wikipedia.org/wiki/MIT_License) (c) [Kevin Mårtensson](http://kevinmartensson.com)\n',
11063 silly resolved readmeFilename: 'README.md',
11063 silly resolved _id: 'bin-wrapper@0.1.7',
11063 silly resolved dist: { shasum: 'bc5dd9a63cef84fc51efc20b85bc61f39780e4bd' },
11063 silly resolved _from: 'bin-wrapper@~0.1.3',
11063 silly resolved _resolved: 'https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz' } ]
11064 info install bin-wrapper@0.1.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin
11065 info installOne bin-wrapper@0.1.7
11066 silly resolved [ { name: 'bin-wrapper',
11066 silly resolved version: '0.1.7',
11066 silly resolved description: 'Binary wrapper for Node.js that makes your programs seamlessly available as local dependencies',
11066 silly resolved keywords: [ 'bin', 'build', 'make', 'wrapper' ],
11066 silly resolved homepage: 'https://github.com/kevva/bin-wrapper',
11066 silly resolved bugs: { url: 'https://github.com/kevva/bin-wrapper/issues' },
11066 silly resolved author:
11066 silly resolved { name: 'Kevin Martensson',
11066 silly resolved email: 'kevinmartensson@gmail.com',
11066 silly resolved url: 'http://kevinmartensson.com' },
11066 silly resolved license: 'MIT',
11066 silly resolved repository: { type: 'git', url: 'git://github.com/kevva/bin-wrapper.git' },
11066 silly resolved scripts: { test: 'mocha --reporter list' },
11066 silly resolved main: 'bin-wrapper.js',
11066 silly resolved files: [ 'bin-wrapper.js' ],
11066 silly resolved dependencies:
11066 silly resolved { download: '~0.1.2',
11066 silly resolved isbin: '0.0.2',
11066 silly resolved mout: '~0.6.0',
11066 silly resolved progress: '~1.1.0',
11066 silly resolved which: '~1.0.5' },
11066 silly resolved devDependencies: { mocha: '~1.12.0' },
11066 silly resolved engines: { node: '>=0.8.0' },
11066 silly resolved readme: '# bin-wrapper [![Build Status](https://secure.travis-ci.org/kevva/bin-wrapper.png?branch=master)](http://travis-ci.org/kevva/bin-wrapper)\n\nBinary wrapper for Node.js that makes your programs seamlessly available as local dependencies\n\n## Getting started\n\nInstall with [npm](https://npmjs.org/package/bin-wrapper): `npm install bin-wrapper`\n\n## Examples\n\nAll `platform` and `arch` specific options takes precedence over the base \noptions. See [test.js](test.js) for a full fleshed example.\n\n```js\nvar Bin = require(\'bin-wrapper\');\n\nvar opts = {\n name: \'Gifsicle\',\n bin: \'gifsicle\',\n path: \'vendor\',\n url: \'http://url/to/gifsicle\',\n src: \'http://www.lcdf.org/gifsicle/gifsicle-1.71.tar.gz\',\n buildScript: \'./configure --bindir="vendor" && make install\',\n platform: {\n win32: {\n bin: \'gifsicle.exe\',\n url: [\n \'http://url/to/gifsicle.exe\'\n \'http://url/to/gifsicle.dll\'\n ]\n }\n }\n}\nvar bin = new Bin(opts);\n\nbin.check(\'--version\', function (works) {\n if (!works) {\n console.log(\'Pre-build test failed, compiling from source\');\n return bin.build();\n }\n\n console.log(\'Binary passed the test\');\n});\n```\n\nGet the path to your binary with `bin.path`.\n\n```js\nconsole.log(bin.path);\n// => path/to/vendor/gifsicle\n```\n\n## API\n\n### .check(cmd, cb)\n\nCheck if a binary is present and working. If it isn\'t, download and test it by \nrunning the binary with `cmd` and see if it exits correctly.\n\n### .build(cb)\n\nDownload the source archive defined in the `src` property and build it using the \nbuild script defined in the `buildScript` property.\n\n## License\n\n[MIT License](http://en.wikipedia.org/wiki/MIT_License) (c) [Kevin Mårtensson](http://kevinmartensson.com)\n',
11066 silly resolved readmeFilename: 'README.md',
11066 silly resolved _id: 'bin-wrapper@0.1.7',
11066 silly resolved dist: { shasum: 'bc5dd9a63cef84fc51efc20b85bc61f39780e4bd' },
11066 silly resolved _from: 'bin-wrapper@~0.1.3',
11066 silly resolved _resolved: 'https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz' } ]
11067 info install bin-wrapper@0.1.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin
11068 info installOne bin-wrapper@0.1.7
11069 silly resolved [ { name: 'bin-wrapper',
11069 silly resolved version: '0.1.7',
11069 silly resolved description: 'Binary wrapper for Node.js that makes your programs seamlessly available as local dependencies',
11069 silly resolved keywords: [ 'bin', 'build', 'make', 'wrapper' ],
11069 silly resolved homepage: 'https://github.com/kevva/bin-wrapper',
11069 silly resolved bugs: { url: 'https://github.com/kevva/bin-wrapper/issues' },
11069 silly resolved author:
11069 silly resolved { name: 'Kevin Martensson',
11069 silly resolved email: 'kevinmartensson@gmail.com',
11069 silly resolved url: 'http://kevinmartensson.com' },
11069 silly resolved license: 'MIT',
11069 silly resolved repository: { type: 'git', url: 'git://github.com/kevva/bin-wrapper.git' },
11069 silly resolved scripts: { test: 'mocha --reporter list' },
11069 silly resolved main: 'bin-wrapper.js',
11069 silly resolved files: [ 'bin-wrapper.js' ],
11069 silly resolved dependencies:
11069 silly resolved { download: '~0.1.2',
11069 silly resolved isbin: '0.0.2',
11069 silly resolved mout: '~0.6.0',
11069 silly resolved progress: '~1.1.0',
11069 silly resolved which: '~1.0.5' },
11069 silly resolved devDependencies: { mocha: '~1.12.0' },
11069 silly resolved engines: { node: '>=0.8.0' },
11069 silly resolved readme: '# bin-wrapper [![Build Status](https://secure.travis-ci.org/kevva/bin-wrapper.png?branch=master)](http://travis-ci.org/kevva/bin-wrapper)\n\nBinary wrapper for Node.js that makes your programs seamlessly available as local dependencies\n\n## Getting started\n\nInstall with [npm](https://npmjs.org/package/bin-wrapper): `npm install bin-wrapper`\n\n## Examples\n\nAll `platform` and `arch` specific options takes precedence over the base \noptions. See [test.js](test.js) for a full fleshed example.\n\n```js\nvar Bin = require(\'bin-wrapper\');\n\nvar opts = {\n name: \'Gifsicle\',\n bin: \'gifsicle\',\n path: \'vendor\',\n url: \'http://url/to/gifsicle\',\n src: \'http://www.lcdf.org/gifsicle/gifsicle-1.71.tar.gz\',\n buildScript: \'./configure --bindir="vendor" && make install\',\n platform: {\n win32: {\n bin: \'gifsicle.exe\',\n url: [\n \'http://url/to/gifsicle.exe\'\n \'http://url/to/gifsicle.dll\'\n ]\n }\n }\n}\nvar bin = new Bin(opts);\n\nbin.check(\'--version\', function (works) {\n if (!works) {\n console.log(\'Pre-build test failed, compiling from source\');\n return bin.build();\n }\n\n console.log(\'Binary passed the test\');\n});\n```\n\nGet the path to your binary with `bin.path`.\n\n```js\nconsole.log(bin.path);\n// => path/to/vendor/gifsicle\n```\n\n## API\n\n### .check(cmd, cb)\n\nCheck if a binary is present and working. If it isn\'t, download and test it by \nrunning the binary with `cmd` and see if it exits correctly.\n\n### .build(cb)\n\nDownload the source archive defined in the `src` property and build it using the \nbuild script defined in the `buildScript` property.\n\n## License\n\n[MIT License](http://en.wikipedia.org/wiki/MIT_License) (c) [Kevin Mårtensson](http://kevinmartensson.com)\n',
11069 silly resolved readmeFilename: 'README.md',
11069 silly resolved _id: 'bin-wrapper@0.1.7',
11069 silly resolved dist: { shasum: 'bc5dd9a63cef84fc51efc20b85bc61f39780e4bd' },
11069 silly resolved _from: 'bin-wrapper@~0.1.3',
11069 silly resolved _resolved: 'https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz' } ]
11070 info install bin-wrapper@0.1.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle
11071 info installOne bin-wrapper@0.1.7
11072 silly resolved [ { name: 'bin-wrapper',
11072 silly resolved version: '0.1.7',
11072 silly resolved description: 'Binary wrapper for Node.js that makes your programs seamlessly available as local dependencies',
11072 silly resolved keywords: [ 'bin', 'build', 'make', 'wrapper' ],
11072 silly resolved homepage: 'https://github.com/kevva/bin-wrapper',
11072 silly resolved bugs: { url: 'https://github.com/kevva/bin-wrapper/issues' },
11072 silly resolved author:
11072 silly resolved { name: 'Kevin Martensson',
11072 silly resolved email: 'kevinmartensson@gmail.com',
11072 silly resolved url: 'http://kevinmartensson.com' },
11072 silly resolved license: 'MIT',
11072 silly resolved repository: { type: 'git', url: 'git://github.com/kevva/bin-wrapper.git' },
11072 silly resolved scripts: { test: 'mocha --reporter list' },
11072 silly resolved main: 'bin-wrapper.js',
11072 silly resolved files: [ 'bin-wrapper.js' ],
11072 silly resolved dependencies:
11072 silly resolved { download: '~0.1.2',
11072 silly resolved isbin: '0.0.2',
11072 silly resolved mout: '~0.6.0',
11072 silly resolved progress: '~1.1.0',
11072 silly resolved which: '~1.0.5' },
11072 silly resolved devDependencies: { mocha: '~1.12.0' },
11072 silly resolved engines: { node: '>=0.8.0' },
11072 silly resolved readme: '# bin-wrapper [![Build Status](https://secure.travis-ci.org/kevva/bin-wrapper.png?branch=master)](http://travis-ci.org/kevva/bin-wrapper)\n\nBinary wrapper for Node.js that makes your programs seamlessly available as local dependencies\n\n## Getting started\n\nInstall with [npm](https://npmjs.org/package/bin-wrapper): `npm install bin-wrapper`\n\n## Examples\n\nAll `platform` and `arch` specific options takes precedence over the base \noptions. See [test.js](test.js) for a full fleshed example.\n\n```js\nvar Bin = require(\'bin-wrapper\');\n\nvar opts = {\n name: \'Gifsicle\',\n bin: \'gifsicle\',\n path: \'vendor\',\n url: \'http://url/to/gifsicle\',\n src: \'http://www.lcdf.org/gifsicle/gifsicle-1.71.tar.gz\',\n buildScript: \'./configure --bindir="vendor" && make install\',\n platform: {\n win32: {\n bin: \'gifsicle.exe\',\n url: [\n \'http://url/to/gifsicle.exe\'\n \'http://url/to/gifsicle.dll\'\n ]\n }\n }\n}\nvar bin = new Bin(opts);\n\nbin.check(\'--version\', function (works) {\n if (!works) {\n console.log(\'Pre-build test failed, compiling from source\');\n return bin.build();\n }\n\n console.log(\'Binary passed the test\');\n});\n```\n\nGet the path to your binary with `bin.path`.\n\n```js\nconsole.log(bin.path);\n// => path/to/vendor/gifsicle\n```\n\n## API\n\n### .check(cmd, cb)\n\nCheck if a binary is present and working. If it isn\'t, download and test it by \nrunning the binary with `cmd` and see if it exits correctly.\n\n### .build(cb)\n\nDownload the source archive defined in the `src` property and build it using the \nbuild script defined in the `buildScript` property.\n\n## License\n\n[MIT License](http://en.wikipedia.org/wiki/MIT_License) (c) [Kevin Mårtensson](http://kevinmartensson.com)\n',
11072 silly resolved readmeFilename: 'README.md',
11072 silly resolved _id: 'bin-wrapper@0.1.7',
11072 silly resolved dist: { shasum: 'bc5dd9a63cef84fc51efc20b85bc61f39780e4bd' },
11072 silly resolved _from: 'bin-wrapper@~0.1.3',
11072 silly resolved _resolved: 'https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.1.7.tgz' } ]
11073 info install bin-wrapper@0.1.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin
11074 info installOne bin-wrapper@0.1.7
11075 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper unbuild
11076 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin/node_modules/bin-wrapper unbuild
11077 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle/node_modules/bin-wrapper unbuild
11078 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin/node_modules/bin-wrapper unbuild
11079 verbose tar unpack /home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11080 silly lockFile 025cc59a-png-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper
11081 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper /home/spike/.npm/025cc59a-png-bin-node-modules-bin-wrapper.lock
11082 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11083 verbose lock tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz /home/spike/.npm/4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz.lock
11084 verbose tar unpack /home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11085 silly lockFile d07bd41c-ant-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin/node_modules/bin-wrapper
11086 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin/node_modules/bin-wrapper /home/spike/.npm/d07bd41c-ant-bin-node-modules-bin-wrapper.lock
11087 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11088 verbose lock tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz /home/spike/.npm/4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz.lock
11089 verbose tar unpack /home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11090 silly lockFile e0f0acd1-ifsicle-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle/node_modules/bin-wrapper
11091 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle/node_modules/bin-wrapper /home/spike/.npm/e0f0acd1-ifsicle-node-modules-bin-wrapper.lock
11092 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11093 verbose lock tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz /home/spike/.npm/4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz.lock
11094 verbose tar unpack /home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11095 silly lockFile 01064b07-ran-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin/node_modules/bin-wrapper
11096 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin/node_modules/bin-wrapper /home/spike/.npm/01064b07-ran-bin-node-modules-bin-wrapper.lock
11097 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11098 verbose lock tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz /home/spike/.npm/4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz.lock
11099 silly gunzTarPerm modes [ '755', '644' ]
11100 silly gunzTarPerm extractEntry package.json
11101 silly gunzTarPerm extractEntry README.md
11102 silly gunzTarPerm extractEntry bin-wrapper.js
11103 silly lockFile 025cc59a-png-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper
11104 silly lockFile 025cc59a-png-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/optipng-bin/node_modules/bin-wrapper
11105 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11106 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11107 info preinstall bin-wrapper@0.1.7
11108 verbose readDependencies using package.json deps
11109 verbose readDependencies using package.json deps
11110 verbose cache add [ 'download@~0.1.2', null ]
11111 verbose cache add name=undefined spec="download@~0.1.2" args=["download@~0.1.2",null]
11112 verbose parsed url { protocol: null,
11112 verbose parsed url slashes: null,
11112 verbose parsed url auth: null,
11112 verbose parsed url host: null,
11112 verbose parsed url port: null,
11112 verbose parsed url hostname: null,
11112 verbose parsed url hash: null,
11112 verbose parsed url search: null,
11112 verbose parsed url query: null,
11112 verbose parsed url pathname: 'download@~0.1.2',
11112 verbose parsed url path: 'download@~0.1.2',
11112 verbose parsed url href: 'download@~0.1.2' }
11113 verbose cache add name="download" spec="~0.1.2" args=["download","~0.1.2"]
11114 verbose parsed url { protocol: null,
11114 verbose parsed url slashes: null,
11114 verbose parsed url auth: null,
11114 verbose parsed url host: null,
11114 verbose parsed url port: null,
11114 verbose parsed url hostname: null,
11114 verbose parsed url hash: null,
11114 verbose parsed url search: null,
11114 verbose parsed url query: null,
11114 verbose parsed url pathname: '~0.1.2',
11114 verbose parsed url path: '~0.1.2',
11114 verbose parsed url href: '~0.1.2' }
11115 verbose addNamed [ 'download', '~0.1.2' ]
11116 verbose addNamed [ null, '>=0.1.2-0 <0.2.0-0' ]
11117 silly lockFile feda01fa-download-0-1-2 download@~0.1.2
11118 verbose lock download@~0.1.2 /home/spike/.npm/feda01fa-download-0-1-2.lock
11119 verbose cache add [ 'isbin@0.0.2', null ]
11120 verbose cache add name=undefined spec="isbin@0.0.2" args=["isbin@0.0.2",null]
11121 verbose parsed url { protocol: null,
11121 verbose parsed url slashes: null,
11121 verbose parsed url auth: null,
11121 verbose parsed url host: null,
11121 verbose parsed url port: null,
11121 verbose parsed url hostname: null,
11121 verbose parsed url hash: null,
11121 verbose parsed url search: null,
11121 verbose parsed url query: null,
11121 verbose parsed url pathname: 'isbin@0.0.2',
11121 verbose parsed url path: 'isbin@0.0.2',
11121 verbose parsed url href: 'isbin@0.0.2' }
11122 verbose cache add name="isbin" spec="0.0.2" args=["isbin","0.0.2"]
11123 verbose parsed url { protocol: null,
11123 verbose parsed url slashes: null,
11123 verbose parsed url auth: null,
11123 verbose parsed url host: null,
11123 verbose parsed url port: null,
11123 verbose parsed url hostname: null,
11123 verbose parsed url hash: null,
11123 verbose parsed url search: null,
11123 verbose parsed url query: null,
11123 verbose parsed url pathname: '0.0.2',
11123 verbose parsed url path: '0.0.2',
11123 verbose parsed url href: '0.0.2' }
11124 verbose addNamed [ 'isbin', '0.0.2' ]
11125 verbose addNamed [ '0.0.2', '0.0.2' ]
11126 silly lockFile bf94287f-isbin-0-0-2 isbin@0.0.2
11127 verbose lock isbin@0.0.2 /home/spike/.npm/bf94287f-isbin-0-0-2.lock
11128 verbose cache add [ 'mout@~0.6.0', null ]
11129 verbose cache add name=undefined spec="mout@~0.6.0" args=["mout@~0.6.0",null]
11130 verbose parsed url { protocol: null,
11130 verbose parsed url slashes: null,
11130 verbose parsed url auth: null,
11130 verbose parsed url host: null,
11130 verbose parsed url port: null,
11130 verbose parsed url hostname: null,
11130 verbose parsed url hash: null,
11130 verbose parsed url search: null,
11130 verbose parsed url query: null,
11130 verbose parsed url pathname: 'mout@~0.6.0',
11130 verbose parsed url path: 'mout@~0.6.0',
11130 verbose parsed url href: 'mout@~0.6.0' }
11131 verbose cache add name="mout" spec="~0.6.0" args=["mout","~0.6.0"]
11132 verbose parsed url { protocol: null,
11132 verbose parsed url slashes: null,
11132 verbose parsed url auth: null,
11132 verbose parsed url host: null,
11132 verbose parsed url port: null,
11132 verbose parsed url hostname: null,
11132 verbose parsed url hash: null,
11132 verbose parsed url search: null,
11132 verbose parsed url query: null,
11132 verbose parsed url pathname: '~0.6.0',
11132 verbose parsed url path: '~0.6.0',
11132 verbose parsed url href: '~0.6.0' }
11133 verbose addNamed [ 'mout', '~0.6.0' ]
11134 verbose addNamed [ null, '>=0.6.0-0 <0.7.0-0' ]
11135 silly lockFile 74162dbc-mout-0-6-0 mout@~0.6.0
11136 verbose lock mout@~0.6.0 /home/spike/.npm/74162dbc-mout-0-6-0.lock
11137 silly addNameRange { name: 'download', range: '>=0.1.2-0 <0.2.0-0', hasData: false }
11138 silly addNameRange { name: 'mout', range: '>=0.6.0-0 <0.7.0-0', hasData: false }
11139 verbose url raw isbin/0.0.2
11140 verbose url resolving [ 'https://registry.npmjs.org/', './isbin/0.0.2' ]
11141 verbose url resolved https://registry.npmjs.org/isbin/0.0.2
11142 info trying registry request attempt 1 at 11:44:52
11143 http GET https://registry.npmjs.org/isbin/0.0.2
11144 verbose cache add [ 'which@~1.0.5', null ]
11145 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
11146 verbose parsed url { protocol: null,
11146 verbose parsed url slashes: null,
11146 verbose parsed url auth: null,
11146 verbose parsed url host: null,
11146 verbose parsed url port: null,
11146 verbose parsed url hostname: null,
11146 verbose parsed url hash: null,
11146 verbose parsed url search: null,
11146 verbose parsed url query: null,
11146 verbose parsed url pathname: 'which@~1.0.5',
11146 verbose parsed url path: 'which@~1.0.5',
11146 verbose parsed url href: 'which@~1.0.5' }
11147 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
11148 verbose parsed url { protocol: null,
11148 verbose parsed url slashes: null,
11148 verbose parsed url auth: null,
11148 verbose parsed url host: null,
11148 verbose parsed url port: null,
11148 verbose parsed url hostname: null,
11148 verbose parsed url hash: null,
11148 verbose parsed url search: null,
11148 verbose parsed url query: null,
11148 verbose parsed url pathname: '~1.0.5',
11148 verbose parsed url path: '~1.0.5',
11148 verbose parsed url href: '~1.0.5' }
11149 verbose addNamed [ 'which', '~1.0.5' ]
11150 verbose addNamed [ null, '>=1.0.5-0 <1.1.0-0' ]
11151 silly lockFile d158d65e-which-1-0-5 which@~1.0.5
11152 verbose lock which@~1.0.5 /home/spike/.npm/d158d65e-which-1-0-5.lock
11153 verbose cache add [ 'progress@~1.1.0', null ]
11154 verbose cache add name=undefined spec="progress@~1.1.0" args=["progress@~1.1.0",null]
11155 verbose parsed url { protocol: null,
11155 verbose parsed url slashes: null,
11155 verbose parsed url auth: null,
11155 verbose parsed url host: null,
11155 verbose parsed url port: null,
11155 verbose parsed url hostname: null,
11155 verbose parsed url hash: null,
11155 verbose parsed url search: null,
11155 verbose parsed url query: null,
11155 verbose parsed url pathname: 'progress@~1.1.0',
11155 verbose parsed url path: 'progress@~1.1.0',
11155 verbose parsed url href: 'progress@~1.1.0' }
11156 verbose cache add name="progress" spec="~1.1.0" args=["progress","~1.1.0"]
11157 verbose parsed url { protocol: null,
11157 verbose parsed url slashes: null,
11157 verbose parsed url auth: null,
11157 verbose parsed url host: null,
11157 verbose parsed url port: null,
11157 verbose parsed url hostname: null,
11157 verbose parsed url hash: null,
11157 verbose parsed url search: null,
11157 verbose parsed url query: null,
11157 verbose parsed url pathname: '~1.1.0',
11157 verbose parsed url path: '~1.1.0',
11157 verbose parsed url href: '~1.1.0' }
11158 verbose addNamed [ 'progress', '~1.1.0' ]
11159 verbose addNamed [ null, '>=1.1.0-0 <1.2.0-0' ]
11160 silly lockFile 5a866e91-progress-1-1-0 progress@~1.1.0
11161 verbose lock progress@~1.1.0 /home/spike/.npm/5a866e91-progress-1-1-0.lock
11162 silly addNameRange { name: 'which', range: '>=1.0.5-0 <1.1.0-0', hasData: false }
11163 silly addNameRange { name: 'progress', range: '>=1.1.0-0 <1.2.0-0', hasData: false }
11164 verbose url raw progress
11165 verbose url resolving [ 'https://registry.npmjs.org/', './progress' ]
11166 verbose url resolved https://registry.npmjs.org/progress
11167 info trying registry request attempt 1 at 11:44:52
11168 http GET https://registry.npmjs.org/progress
11169 verbose url raw mout
11170 verbose url resolving [ 'https://registry.npmjs.org/', './mout' ]
11171 verbose url resolved https://registry.npmjs.org/mout
11172 info trying registry request attempt 1 at 11:44:52
11173 verbose etag "19QNYYXZ9B4FRHHQW4SCOERIZ"
11174 http GET https://registry.npmjs.org/mout
11175 verbose url raw download
11176 verbose url resolving [ 'https://registry.npmjs.org/', './download' ]
11177 verbose url resolved https://registry.npmjs.org/download
11178 info trying registry request attempt 1 at 11:44:52
11179 verbose etag "1MEVKMMW7W567ZPL3EGGHC55W"
11180 http GET https://registry.npmjs.org/download
11181 verbose url raw which
11182 verbose url resolving [ 'https://registry.npmjs.org/', './which' ]
11183 verbose url resolved https://registry.npmjs.org/which
11184 info trying registry request attempt 1 at 11:44:52
11185 verbose etag "BKGQ58BIN1M32T3RBZMYWBPDZ"
11186 http GET https://registry.npmjs.org/which
11187 http 200 https://registry.npmjs.org/escodegen
11188 silly registry.get cb [ 200,
11188 silly registry.get { vary: 'Accept',
11188 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11188 silly registry.get etag: '"64GME9SCVM16DQTC5L3OKK7CO"',
11188 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
11188 silly registry.get 'content-type': 'application/json',
11188 silly registry.get 'content-length': '144443' } ]
11189 silly addNameRange number 2 { name: 'escodegen',
11189 silly addNameRange range: '>=0.0.15-0 <0.1.0-0',
11189 silly addNameRange hasData: true }
11190 silly addNameRange versions [ 'escodegen',
11190 silly addNameRange [ '0.0.1',
11190 silly addNameRange '0.0.2',
11190 silly addNameRange '0.0.3',
11190 silly addNameRange '0.0.4',
11190 silly addNameRange '0.0.5',
11190 silly addNameRange '0.0.6',
11190 silly addNameRange '0.0.7',
11190 silly addNameRange '0.0.8',
11190 silly addNameRange '0.0.9',
11190 silly addNameRange '0.0.10',
11190 silly addNameRange '0.0.11',
11190 silly addNameRange '0.0.12',
11190 silly addNameRange '0.0.14',
11190 silly addNameRange '0.0.15',
11190 silly addNameRange '0.0.16',
11190 silly addNameRange '0.0.17',
11190 silly addNameRange '0.0.18',
11190 silly addNameRange '0.0.19',
11190 silly addNameRange '0.0.20',
11190 silly addNameRange '0.0.21',
11190 silly addNameRange '0.0.22',
11190 silly addNameRange '0.0.23',
11190 silly addNameRange '0.0.24',
11190 silly addNameRange '0.0.25',
11190 silly addNameRange '0.0.26',
11190 silly addNameRange '0.0.27',
11190 silly addNameRange '0.0.28',
11190 silly addNameRange '1.0.0',
11190 silly addNameRange '1.0.1' ] ]
11191 verbose addNamed [ 'escodegen', '0.0.28' ]
11192 verbose addNamed [ '0.0.28', '0.0.28' ]
11193 silly lockFile cb311dc7-escodegen-0-0-28 escodegen@0.0.28
11194 verbose lock escodegen@0.0.28 /home/spike/.npm/cb311dc7-escodegen-0-0-28.lock
11195 silly lockFile cfeb77b0-g-escodegen-escodegen-0-0-28-tgz https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz
11196 verbose lock https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz /home/spike/.npm/cfeb77b0-g-escodegen-escodegen-0-0-28-tgz.lock
11197 verbose addRemoteTarball [ 'https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz',
11197 verbose addRemoteTarball '0e4ff1715f328775d6cab51ac44a406cd7abffd3' ]
11198 info retry fetch attempt 1 at 11:44:52
11199 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/tmp.tgz
11200 http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz
11201 silly gunzTarPerm modes [ '755', '644' ]
11202 silly gunzTarPerm extractEntry package.json
11203 silly gunzTarPerm extractEntry README.md
11204 silly gunzTarPerm extractEntry bin-wrapper.js
11205 silly lockFile d07bd41c-ant-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin/node_modules/bin-wrapper
11206 silly lockFile d07bd41c-ant-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/pngquant-bin/node_modules/bin-wrapper
11207 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11208 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11209 info preinstall bin-wrapper@0.1.7
11210 verbose readDependencies using package.json deps
11211 verbose readDependencies using package.json deps
11212 verbose cache add [ 'download@~0.1.2', null ]
11213 verbose cache add name=undefined spec="download@~0.1.2" args=["download@~0.1.2",null]
11214 verbose parsed url { protocol: null,
11214 verbose parsed url slashes: null,
11214 verbose parsed url auth: null,
11214 verbose parsed url host: null,
11214 verbose parsed url port: null,
11214 verbose parsed url hostname: null,
11214 verbose parsed url hash: null,
11214 verbose parsed url search: null,
11214 verbose parsed url query: null,
11214 verbose parsed url pathname: 'download@~0.1.2',
11214 verbose parsed url path: 'download@~0.1.2',
11214 verbose parsed url href: 'download@~0.1.2' }
11215 verbose cache add name="download" spec="~0.1.2" args=["download","~0.1.2"]
11216 verbose parsed url { protocol: null,
11216 verbose parsed url slashes: null,
11216 verbose parsed url auth: null,
11216 verbose parsed url host: null,
11216 verbose parsed url port: null,
11216 verbose parsed url hostname: null,
11216 verbose parsed url hash: null,
11216 verbose parsed url search: null,
11216 verbose parsed url query: null,
11216 verbose parsed url pathname: '~0.1.2',
11216 verbose parsed url path: '~0.1.2',
11216 verbose parsed url href: '~0.1.2' }
11217 verbose addNamed [ 'download', '~0.1.2' ]
11218 verbose cache add [ 'isbin@0.0.2', null ]
11219 verbose cache add name=undefined spec="isbin@0.0.2" args=["isbin@0.0.2",null]
11220 verbose parsed url { protocol: null,
11220 verbose parsed url slashes: null,
11220 verbose parsed url auth: null,
11220 verbose parsed url host: null,
11220 verbose parsed url port: null,
11220 verbose parsed url hostname: null,
11220 verbose parsed url hash: null,
11220 verbose parsed url search: null,
11220 verbose parsed url query: null,
11220 verbose parsed url pathname: 'isbin@0.0.2',
11220 verbose parsed url path: 'isbin@0.0.2',
11220 verbose parsed url href: 'isbin@0.0.2' }
11221 verbose cache add name="isbin" spec="0.0.2" args=["isbin","0.0.2"]
11222 verbose parsed url { protocol: null,
11222 verbose parsed url slashes: null,
11222 verbose parsed url auth: null,
11222 verbose parsed url host: null,
11222 verbose parsed url port: null,
11222 verbose parsed url hostname: null,
11222 verbose parsed url hash: null,
11222 verbose parsed url search: null,
11222 verbose parsed url query: null,
11222 verbose parsed url pathname: '0.0.2',
11222 verbose parsed url path: '0.0.2',
11222 verbose parsed url href: '0.0.2' }
11223 verbose addNamed [ 'isbin', '0.0.2' ]
11224 verbose cache add [ 'mout@~0.6.0', null ]
11225 verbose cache add name=undefined spec="mout@~0.6.0" args=["mout@~0.6.0",null]
11226 verbose parsed url { protocol: null,
11226 verbose parsed url slashes: null,
11226 verbose parsed url auth: null,
11226 verbose parsed url host: null,
11226 verbose parsed url port: null,
11226 verbose parsed url hostname: null,
11226 verbose parsed url hash: null,
11226 verbose parsed url search: null,
11226 verbose parsed url query: null,
11226 verbose parsed url pathname: 'mout@~0.6.0',
11226 verbose parsed url path: 'mout@~0.6.0',
11226 verbose parsed url href: 'mout@~0.6.0' }
11227 verbose cache add name="mout" spec="~0.6.0" args=["mout","~0.6.0"]
11228 verbose parsed url { protocol: null,
11228 verbose parsed url slashes: null,
11228 verbose parsed url auth: null,
11228 verbose parsed url host: null,
11228 verbose parsed url port: null,
11228 verbose parsed url hostname: null,
11228 verbose parsed url hash: null,
11228 verbose parsed url search: null,
11228 verbose parsed url query: null,
11228 verbose parsed url pathname: '~0.6.0',
11228 verbose parsed url path: '~0.6.0',
11228 verbose parsed url href: '~0.6.0' }
11229 verbose addNamed [ 'mout', '~0.6.0' ]
11230 verbose cache add [ 'which@~1.0.5', null ]
11231 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
11232 verbose parsed url { protocol: null,
11232 verbose parsed url slashes: null,
11232 verbose parsed url auth: null,
11232 verbose parsed url host: null,
11232 verbose parsed url port: null,
11232 verbose parsed url hostname: null,
11232 verbose parsed url hash: null,
11232 verbose parsed url search: null,
11232 verbose parsed url query: null,
11232 verbose parsed url pathname: 'which@~1.0.5',
11232 verbose parsed url path: 'which@~1.0.5',
11232 verbose parsed url href: 'which@~1.0.5' }
11233 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
11234 verbose parsed url { protocol: null,
11234 verbose parsed url slashes: null,
11234 verbose parsed url auth: null,
11234 verbose parsed url host: null,
11234 verbose parsed url port: null,
11234 verbose parsed url hostname: null,
11234 verbose parsed url hash: null,
11234 verbose parsed url search: null,
11234 verbose parsed url query: null,
11234 verbose parsed url pathname: '~1.0.5',
11234 verbose parsed url path: '~1.0.5',
11234 verbose parsed url href: '~1.0.5' }
11235 verbose addNamed [ 'which', '~1.0.5' ]
11236 verbose cache add [ 'progress@~1.1.0', null ]
11237 verbose cache add name=undefined spec="progress@~1.1.0" args=["progress@~1.1.0",null]
11238 verbose parsed url { protocol: null,
11238 verbose parsed url slashes: null,
11238 verbose parsed url auth: null,
11238 verbose parsed url host: null,
11238 verbose parsed url port: null,
11238 verbose parsed url hostname: null,
11238 verbose parsed url hash: null,
11238 verbose parsed url search: null,
11238 verbose parsed url query: null,
11238 verbose parsed url pathname: 'progress@~1.1.0',
11238 verbose parsed url path: 'progress@~1.1.0',
11238 verbose parsed url href: 'progress@~1.1.0' }
11239 verbose cache add name="progress" spec="~1.1.0" args=["progress","~1.1.0"]
11240 verbose parsed url { protocol: null,
11240 verbose parsed url slashes: null,
11240 verbose parsed url auth: null,
11240 verbose parsed url host: null,
11240 verbose parsed url port: null,
11240 verbose parsed url hostname: null,
11240 verbose parsed url hash: null,
11240 verbose parsed url search: null,
11240 verbose parsed url query: null,
11240 verbose parsed url pathname: '~1.1.0',
11240 verbose parsed url path: '~1.1.0',
11240 verbose parsed url href: '~1.1.0' }
11241 verbose addNamed [ 'progress', '~1.1.0' ]
11242 silly gunzTarPerm modes [ '755', '644' ]
11243 silly gunzTarPerm extractEntry package.json
11244 silly gunzTarPerm extractEntry README.md
11245 silly gunzTarPerm extractEntry bin-wrapper.js
11246 silly lockFile e0f0acd1-ifsicle-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle/node_modules/bin-wrapper
11247 silly lockFile e0f0acd1-ifsicle-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/gifsicle/node_modules/bin-wrapper
11248 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11249 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11250 info preinstall bin-wrapper@0.1.7
11251 verbose readDependencies using package.json deps
11252 verbose readDependencies using package.json deps
11253 verbose cache add [ 'download@~0.1.2', null ]
11254 verbose cache add name=undefined spec="download@~0.1.2" args=["download@~0.1.2",null]
11255 verbose parsed url { protocol: null,
11255 verbose parsed url slashes: null,
11255 verbose parsed url auth: null,
11255 verbose parsed url host: null,
11255 verbose parsed url port: null,
11255 verbose parsed url hostname: null,
11255 verbose parsed url hash: null,
11255 verbose parsed url search: null,
11255 verbose parsed url query: null,
11255 verbose parsed url pathname: 'download@~0.1.2',
11255 verbose parsed url path: 'download@~0.1.2',
11255 verbose parsed url href: 'download@~0.1.2' }
11256 verbose cache add name="download" spec="~0.1.2" args=["download","~0.1.2"]
11257 verbose parsed url { protocol: null,
11257 verbose parsed url slashes: null,
11257 verbose parsed url auth: null,
11257 verbose parsed url host: null,
11257 verbose parsed url port: null,
11257 verbose parsed url hostname: null,
11257 verbose parsed url hash: null,
11257 verbose parsed url search: null,
11257 verbose parsed url query: null,
11257 verbose parsed url pathname: '~0.1.2',
11257 verbose parsed url path: '~0.1.2',
11257 verbose parsed url href: '~0.1.2' }
11258 verbose addNamed [ 'download', '~0.1.2' ]
11259 verbose cache add [ 'isbin@0.0.2', null ]
11260 verbose cache add name=undefined spec="isbin@0.0.2" args=["isbin@0.0.2",null]
11261 verbose parsed url { protocol: null,
11261 verbose parsed url slashes: null,
11261 verbose parsed url auth: null,
11261 verbose parsed url host: null,
11261 verbose parsed url port: null,
11261 verbose parsed url hostname: null,
11261 verbose parsed url hash: null,
11261 verbose parsed url search: null,
11261 verbose parsed url query: null,
11261 verbose parsed url pathname: 'isbin@0.0.2',
11261 verbose parsed url path: 'isbin@0.0.2',
11261 verbose parsed url href: 'isbin@0.0.2' }
11262 verbose cache add name="isbin" spec="0.0.2" args=["isbin","0.0.2"]
11263 verbose parsed url { protocol: null,
11263 verbose parsed url slashes: null,
11263 verbose parsed url auth: null,
11263 verbose parsed url host: null,
11263 verbose parsed url port: null,
11263 verbose parsed url hostname: null,
11263 verbose parsed url hash: null,
11263 verbose parsed url search: null,
11263 verbose parsed url query: null,
11263 verbose parsed url pathname: '0.0.2',
11263 verbose parsed url path: '0.0.2',
11263 verbose parsed url href: '0.0.2' }
11264 verbose addNamed [ 'isbin', '0.0.2' ]
11265 http 304 https://registry.npmjs.org/shelljs
11266 silly registry.get cb [ 304,
11266 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11266 silly registry.get etag: '"50FWBGTIOK6RD4Q5LU2Y86NB6"',
11266 silly registry.get date: 'Mon, 16 Dec 2013 10:44:52 GMT',
11266 silly registry.get 'content-length': '0' } ]
11267 verbose etag shelljs from cache
11268 verbose cache add [ 'mout@~0.6.0', null ]
11269 verbose cache add name=undefined spec="mout@~0.6.0" args=["mout@~0.6.0",null]
11270 verbose parsed url { protocol: null,
11270 verbose parsed url slashes: null,
11270 verbose parsed url auth: null,
11270 verbose parsed url host: null,
11270 verbose parsed url port: null,
11270 verbose parsed url hostname: null,
11270 verbose parsed url hash: null,
11270 verbose parsed url search: null,
11270 verbose parsed url query: null,
11270 verbose parsed url pathname: 'mout@~0.6.0',
11270 verbose parsed url path: 'mout@~0.6.0',
11270 verbose parsed url href: 'mout@~0.6.0' }
11271 verbose cache add name="mout" spec="~0.6.0" args=["mout","~0.6.0"]
11272 verbose parsed url { protocol: null,
11272 verbose parsed url slashes: null,
11272 verbose parsed url auth: null,
11272 verbose parsed url host: null,
11272 verbose parsed url port: null,
11272 verbose parsed url hostname: null,
11272 verbose parsed url hash: null,
11272 verbose parsed url search: null,
11272 verbose parsed url query: null,
11272 verbose parsed url pathname: '~0.6.0',
11272 verbose parsed url path: '~0.6.0',
11272 verbose parsed url href: '~0.6.0' }
11273 verbose addNamed [ 'mout', '~0.6.0' ]
11274 verbose cache add [ 'which@~1.0.5', null ]
11275 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
11276 verbose parsed url { protocol: null,
11276 verbose parsed url slashes: null,
11276 verbose parsed url auth: null,
11276 verbose parsed url host: null,
11276 verbose parsed url port: null,
11276 verbose parsed url hostname: null,
11276 verbose parsed url hash: null,
11276 verbose parsed url search: null,
11276 verbose parsed url query: null,
11276 verbose parsed url pathname: 'which@~1.0.5',
11276 verbose parsed url path: 'which@~1.0.5',
11276 verbose parsed url href: 'which@~1.0.5' }
11277 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
11278 verbose parsed url { protocol: null,
11278 verbose parsed url slashes: null,
11278 verbose parsed url auth: null,
11278 verbose parsed url host: null,
11278 verbose parsed url port: null,
11278 verbose parsed url hostname: null,
11278 verbose parsed url hash: null,
11278 verbose parsed url search: null,
11278 verbose parsed url query: null,
11278 verbose parsed url pathname: '~1.0.5',
11278 verbose parsed url path: '~1.0.5',
11278 verbose parsed url href: '~1.0.5' }
11279 verbose addNamed [ 'which', '~1.0.5' ]
11280 verbose cache add [ 'progress@~1.1.0', null ]
11281 verbose cache add name=undefined spec="progress@~1.1.0" args=["progress@~1.1.0",null]
11282 verbose parsed url { protocol: null,
11282 verbose parsed url slashes: null,
11282 verbose parsed url auth: null,
11282 verbose parsed url host: null,
11282 verbose parsed url port: null,
11282 verbose parsed url hostname: null,
11282 verbose parsed url hash: null,
11282 verbose parsed url search: null,
11282 verbose parsed url query: null,
11282 verbose parsed url pathname: 'progress@~1.1.0',
11282 verbose parsed url path: 'progress@~1.1.0',
11282 verbose parsed url href: 'progress@~1.1.0' }
11283 verbose cache add name="progress" spec="~1.1.0" args=["progress","~1.1.0"]
11284 verbose parsed url { protocol: null,
11284 verbose parsed url slashes: null,
11284 verbose parsed url auth: null,
11284 verbose parsed url host: null,
11284 verbose parsed url port: null,
11284 verbose parsed url hostname: null,
11284 verbose parsed url hash: null,
11284 verbose parsed url search: null,
11284 verbose parsed url query: null,
11284 verbose parsed url pathname: '~1.1.0',
11284 verbose parsed url path: '~1.1.0',
11284 verbose parsed url href: '~1.1.0' }
11285 verbose addNamed [ 'progress', '~1.1.0' ]
11286 silly addNameRange number 2 { name: 'shelljs', range: '>=0.1.0-0 <0.2.0-0', hasData: true }
11287 silly addNameRange versions [ 'shelljs',
11287 silly addNameRange [ '0.0.1',
11287 silly addNameRange '0.0.2',
11287 silly addNameRange '0.0.3',
11287 silly addNameRange '0.0.4',
11287 silly addNameRange '0.0.5',
11287 silly addNameRange '0.0.6',
11287 silly addNameRange '0.0.7',
11287 silly addNameRange '0.0.8',
11287 silly addNameRange '0.0.9',
11287 silly addNameRange '0.1.0',
11287 silly addNameRange '0.1.1',
11287 silly addNameRange '0.1.2',
11287 silly addNameRange '0.1.3',
11287 silly addNameRange '0.1.4',
11287 silly addNameRange '0.2.0',
11287 silly addNameRange '0.2.1',
11287 silly addNameRange '0.2.2',
11287 silly addNameRange '0.2.3',
11287 silly addNameRange '0.2.4',
11287 silly addNameRange '0.2.5',
11287 silly addNameRange '0.2.6',
11287 silly addNameRange '0.0.1-alpha1',
11287 silly addNameRange '0.0.2-pre1',
11287 silly addNameRange '0.0.4-pre1',
11287 silly addNameRange '0.0.5-pre1',
11287 silly addNameRange '0.0.5-pre2',
11287 silly addNameRange '0.0.5-pre3',
11287 silly addNameRange '0.0.5-pre4',
11287 silly addNameRange '0.0.6-pre1',
11287 silly addNameRange '0.0.6-pre2' ] ]
11288 verbose addNamed [ 'shelljs', '0.1.4' ]
11289 verbose addNamed [ '0.1.4', '0.1.4' ]
11290 silly lockFile 77595a32-shelljs-0-1-4 shelljs@0.1.4
11291 verbose lock shelljs@0.1.4 /home/spike/.npm/77595a32-shelljs-0-1-4.lock
11292 silly lockFile 77595a32-shelljs-0-1-4 shelljs@0.1.4
11293 silly lockFile 77595a32-shelljs-0-1-4 shelljs@0.1.4
11294 silly lockFile cc65d7ed-shelljs-0-1-x shelljs@0.1.x
11295 silly lockFile cc65d7ed-shelljs-0-1-x shelljs@0.1.x
11296 silly gunzTarPerm modes [ '755', '644' ]
11297 silly gunzTarPerm extractEntry package.json
11298 silly gunzTarPerm extractEntry README.md
11299 silly gunzTarPerm extractEntry bin-wrapper.js
11300 silly lockFile 01064b07-ran-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin/node_modules/bin-wrapper
11301 silly lockFile 01064b07-ran-bin-node-modules-bin-wrapper tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin/node_modules/bin-wrapper
11302 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11303 silly lockFile 4bbe4b57-pm-bin-wrapper-0-1-7-package-tgz tar:///home/spike/.npm/bin-wrapper/0.1.7/package.tgz
11304 info preinstall bin-wrapper@0.1.7
11305 verbose readDependencies using package.json deps
11306 verbose readDependencies using package.json deps
11307 verbose cache add [ 'download@~0.1.2', null ]
11308 verbose cache add name=undefined spec="download@~0.1.2" args=["download@~0.1.2",null]
11309 verbose parsed url { protocol: null,
11309 verbose parsed url slashes: null,
11309 verbose parsed url auth: null,
11309 verbose parsed url host: null,
11309 verbose parsed url port: null,
11309 verbose parsed url hostname: null,
11309 verbose parsed url hash: null,
11309 verbose parsed url search: null,
11309 verbose parsed url query: null,
11309 verbose parsed url pathname: 'download@~0.1.2',
11309 verbose parsed url path: 'download@~0.1.2',
11309 verbose parsed url href: 'download@~0.1.2' }
11310 verbose cache add name="download" spec="~0.1.2" args=["download","~0.1.2"]
11311 verbose parsed url { protocol: null,
11311 verbose parsed url slashes: null,
11311 verbose parsed url auth: null,
11311 verbose parsed url host: null,
11311 verbose parsed url port: null,
11311 verbose parsed url hostname: null,
11311 verbose parsed url hash: null,
11311 verbose parsed url search: null,
11311 verbose parsed url query: null,
11311 verbose parsed url pathname: '~0.1.2',
11311 verbose parsed url path: '~0.1.2',
11311 verbose parsed url href: '~0.1.2' }
11312 verbose addNamed [ 'download', '~0.1.2' ]
11313 verbose cache add [ 'isbin@0.0.2', null ]
11314 verbose cache add name=undefined spec="isbin@0.0.2" args=["isbin@0.0.2",null]
11315 verbose parsed url { protocol: null,
11315 verbose parsed url slashes: null,
11315 verbose parsed url auth: null,
11315 verbose parsed url host: null,
11315 verbose parsed url port: null,
11315 verbose parsed url hostname: null,
11315 verbose parsed url hash: null,
11315 verbose parsed url search: null,
11315 verbose parsed url query: null,
11315 verbose parsed url pathname: 'isbin@0.0.2',
11315 verbose parsed url path: 'isbin@0.0.2',
11315 verbose parsed url href: 'isbin@0.0.2' }
11316 verbose cache add name="isbin" spec="0.0.2" args=["isbin","0.0.2"]
11317 verbose parsed url { protocol: null,
11317 verbose parsed url slashes: null,
11317 verbose parsed url auth: null,
11317 verbose parsed url host: null,
11317 verbose parsed url port: null,
11317 verbose parsed url hostname: null,
11317 verbose parsed url hash: null,
11317 verbose parsed url search: null,
11317 verbose parsed url query: null,
11317 verbose parsed url pathname: '0.0.2',
11317 verbose parsed url path: '0.0.2',
11317 verbose parsed url href: '0.0.2' }
11318 verbose addNamed [ 'isbin', '0.0.2' ]
11319 verbose cache add [ 'mout@~0.6.0', null ]
11320 verbose cache add name=undefined spec="mout@~0.6.0" args=["mout@~0.6.0",null]
11321 verbose parsed url { protocol: null,
11321 verbose parsed url slashes: null,
11321 verbose parsed url auth: null,
11321 verbose parsed url host: null,
11321 verbose parsed url port: null,
11321 verbose parsed url hostname: null,
11321 verbose parsed url hash: null,
11321 verbose parsed url search: null,
11321 verbose parsed url query: null,
11321 verbose parsed url pathname: 'mout@~0.6.0',
11321 verbose parsed url path: 'mout@~0.6.0',
11321 verbose parsed url href: 'mout@~0.6.0' }
11322 verbose cache add name="mout" spec="~0.6.0" args=["mout","~0.6.0"]
11323 verbose parsed url { protocol: null,
11323 verbose parsed url slashes: null,
11323 verbose parsed url auth: null,
11323 verbose parsed url host: null,
11323 verbose parsed url port: null,
11323 verbose parsed url hostname: null,
11323 verbose parsed url hash: null,
11323 verbose parsed url search: null,
11323 verbose parsed url query: null,
11323 verbose parsed url pathname: '~0.6.0',
11323 verbose parsed url path: '~0.6.0',
11323 verbose parsed url href: '~0.6.0' }
11324 verbose addNamed [ 'mout', '~0.6.0' ]
11325 verbose cache add [ 'progress@~1.1.0', null ]
11326 verbose cache add name=undefined spec="progress@~1.1.0" args=["progress@~1.1.0",null]
11327 verbose parsed url { protocol: null,
11327 verbose parsed url slashes: null,
11327 verbose parsed url auth: null,
11327 verbose parsed url host: null,
11327 verbose parsed url port: null,
11327 verbose parsed url hostname: null,
11327 verbose parsed url hash: null,
11327 verbose parsed url search: null,
11327 verbose parsed url query: null,
11327 verbose parsed url pathname: 'progress@~1.1.0',
11327 verbose parsed url path: 'progress@~1.1.0',
11327 verbose parsed url href: 'progress@~1.1.0' }
11328 verbose cache add name="progress" spec="~1.1.0" args=["progress","~1.1.0"]
11329 verbose parsed url { protocol: null,
11329 verbose parsed url slashes: null,
11329 verbose parsed url auth: null,
11329 verbose parsed url host: null,
11329 verbose parsed url port: null,
11329 verbose parsed url hostname: null,
11329 verbose parsed url hash: null,
11329 verbose parsed url search: null,
11329 verbose parsed url query: null,
11329 verbose parsed url pathname: '~1.1.0',
11329 verbose parsed url path: '~1.1.0',
11329 verbose parsed url href: '~1.1.0' }
11330 verbose addNamed [ 'progress', '~1.1.0' ]
11331 verbose cache add [ 'which@~1.0.5', null ]
11332 verbose cache add name=undefined spec="which@~1.0.5" args=["which@~1.0.5",null]
11333 verbose parsed url { protocol: null,
11333 verbose parsed url slashes: null,
11333 verbose parsed url auth: null,
11333 verbose parsed url host: null,
11333 verbose parsed url port: null,
11333 verbose parsed url hostname: null,
11333 verbose parsed url hash: null,
11333 verbose parsed url search: null,
11333 verbose parsed url query: null,
11333 verbose parsed url pathname: 'which@~1.0.5',
11333 verbose parsed url path: 'which@~1.0.5',
11333 verbose parsed url href: 'which@~1.0.5' }
11334 verbose cache add name="which" spec="~1.0.5" args=["which","~1.0.5"]
11335 verbose parsed url { protocol: null,
11335 verbose parsed url slashes: null,
11335 verbose parsed url auth: null,
11335 verbose parsed url host: null,
11335 verbose parsed url port: null,
11335 verbose parsed url hostname: null,
11335 verbose parsed url hash: null,
11335 verbose parsed url search: null,
11335 verbose parsed url query: null,
11335 verbose parsed url pathname: '~1.0.5',
11335 verbose parsed url path: '~1.0.5',
11335 verbose parsed url href: '~1.0.5' }
11336 verbose addNamed [ 'which', '~1.0.5' ]
11337 http 304 https://registry.npmjs.org/graceful-fs
11338 silly registry.get cb [ 304,
11338 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11338 silly registry.get etag: '"73QVR94NLELWB7CWCR6K3IJJY"',
11338 silly registry.get date: 'Mon, 16 Dec 2013 10:44:52 GMT',
11338 silly registry.get 'content-length': '0' } ]
11339 verbose etag graceful-fs from cache
11340 silly addNameRange number 2 { name: 'graceful-fs',
11340 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
11340 silly addNameRange hasData: true }
11341 silly addNameRange versions [ 'graceful-fs',
11341 silly addNameRange [ '1.0.0',
11341 silly addNameRange '1.0.1',
11341 silly addNameRange '1.0.2',
11341 silly addNameRange '1.1.0',
11341 silly addNameRange '1.1.1',
11341 silly addNameRange '1.1.2',
11341 silly addNameRange '1.1.3',
11341 silly addNameRange '1.1.4',
11341 silly addNameRange '1.1.5',
11341 silly addNameRange '1.1.6',
11341 silly addNameRange '1.1.7',
11341 silly addNameRange '1.1.8',
11341 silly addNameRange '1.1.9',
11341 silly addNameRange '1.1.10',
11341 silly addNameRange '1.1.11',
11341 silly addNameRange '1.1.12',
11341 silly addNameRange '1.1.13',
11341 silly addNameRange '1.1.14',
11341 silly addNameRange '1.2.0',
11341 silly addNameRange '1.2.1',
11341 silly addNameRange '1.2.2',
11341 silly addNameRange '1.2.3',
11341 silly addNameRange '2.0.0',
11341 silly addNameRange '2.0.1' ] ]
11342 verbose addNamed [ 'graceful-fs', '1.2.3' ]
11343 verbose addNamed [ '1.2.3', '1.2.3' ]
11344 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
11345 verbose lock graceful-fs@1.2.3 /home/spike/.npm/6c7102cf-graceful-fs-1-2-3.lock
11346 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
11347 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
11348 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
11349 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
11350 http 304 https://registry.npmjs.org/inherits
11351 silly registry.get cb [ 304,
11351 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11351 silly registry.get etag: '"6RM1RRLSSACJ8ZJXSF6A9JDAR"',
11351 silly registry.get date: 'Mon, 16 Dec 2013 10:44:53 GMT',
11351 silly registry.get 'content-length': '0' } ]
11352 verbose etag inherits from cache
11353 silly addNameRange number 2 { name: 'inherits', range: '>=1.0.0-0 <2.0.0-0', hasData: true }
11354 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
11355 verbose addNamed [ 'inherits', '1.0.0' ]
11356 verbose addNamed [ '1.0.0', '1.0.0' ]
11357 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
11358 verbose lock inherits@1.0.0 /home/spike/.npm/776fbe77-inherits-1-0-0.lock
11359 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
11360 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
11361 silly lockFile 4bca46d0-inherits-1 inherits@1
11362 silly lockFile 4bca46d0-inherits-1 inherits@1
11363 silly resolved [ { author:
11363 silly resolved { name: 'Isaac Z. Schlueter',
11363 silly resolved email: 'i@izs.me',
11363 silly resolved url: 'http://blog.izs.me' },
11363 silly resolved name: 'minimatch',
11363 silly resolved description: 'a glob matcher in javascript',
11363 silly resolved version: '0.2.13',
11363 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
11363 silly resolved main: 'minimatch.js',
11363 silly resolved scripts: { test: 'tap test/*.js' },
11363 silly resolved engines: { node: '*' },
11363 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
11363 silly resolved devDependencies: { tap: '' },
11363 silly resolved license:
11363 silly resolved { type: 'MIT',
11363 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
11363 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\nminimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. 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\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n',
11363 silly resolved readmeFilename: 'README.md',
11363 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
11363 silly resolved homepage: 'https://github.com/isaacs/minimatch',
11363 silly resolved _id: 'minimatch@0.2.13',
11363 silly resolved _from: 'minimatch@0.x.x' },
11363 silly resolved { author:
11363 silly resolved { name: 'Isaac Z. Schlueter',
11363 silly resolved email: 'i@izs.me',
11363 silly resolved url: 'http://blog.izs.me' },
11363 silly resolved name: 'graceful-fs',
11363 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
11363 silly resolved version: '1.2.3',
11363 silly resolved repository:
11363 silly resolved { type: 'git',
11363 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
11363 silly resolved main: 'graceful-fs.js',
11363 silly resolved engines: { node: '>=0.4.0' },
11363 silly resolved directories: { test: 'test' },
11363 silly resolved scripts: { test: 'tap test/*.js' },
11363 silly resolved keywords:
11363 silly resolved [ 'fs',
11363 silly resolved 'module',
11363 silly resolved 'reading',
11363 silly resolved 'retry',
11363 silly resolved 'retries',
11363 silly resolved 'queue',
11363 silly resolved 'error',
11363 silly resolved 'errors',
11363 silly resolved 'handling',
11363 silly resolved 'EMFILE',
11363 silly resolved 'EAGAIN',
11363 silly resolved 'EINVAL',
11363 silly resolved 'EPERM',
11363 silly resolved 'EACCESS' ],
11363 silly resolved license: 'BSD',
11363 silly resolved readme: '# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n limits this to 1024. Any further requests to open a file are put in a\n queue until new slots become available. If 1024 turns out to be too\n much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n',
11363 silly resolved readmeFilename: 'README.md',
11363 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
11363 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
11363 silly resolved _id: 'graceful-fs@1.2.3',
11363 silly resolved _from: 'graceful-fs@~1.2.0' },
11363 silly resolved { name: 'inherits',
11363 silly resolved description: 'A tiny simple way to do classic inheritance in js',
11363 silly resolved version: '1.0.0',
11363 silly resolved keywords: [ 'inheritance', 'class', 'klass', 'oop', 'object-oriented' ],
11363 silly resolved main: './inherits.js',
11363 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/inherits' },
11363 silly resolved author:
11363 silly resolved { name: 'Isaac Z. Schlueter',
11363 silly resolved email: 'i@izs.me',
11363 silly resolved url: 'http://blog.izs.me/' },
11363 silly resolved readme: 'A dead simple way to do inheritance in JS.\n\n var inherits = require("inherits")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say("sniff sniff")\n }\n Dog.prototype.bark = function () {\n this.say("woof woof")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say("yip yip")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say("CHSKKSS!!")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say("miao miao") }\n })\n Cat.prototype.purr = function () {\n this.say("purr purr")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n',
11363 silly resolved readmeFilename: 'README.md',
11363 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
11363 silly resolved homepage: 'https://github.com/isaacs/inherits',
11363 silly resolved _id: 'inherits@1.0.0',
11363 silly resolved _from: 'inherits@1' } ]
11364 info install minimatch@0.2.13 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob
11365 info install graceful-fs@1.2.3 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob
11366 info install inherits@1.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob
11367 info installOne minimatch@0.2.13
11368 info installOne graceful-fs@1.2.3
11369 info installOne inherits@1.0.0
11370 silly resolved [ { author:
11370 silly resolved { name: 'Isaac Z. Schlueter',
11370 silly resolved email: 'i@izs.me',
11370 silly resolved url: 'http://blog.izs.me' },
11370 silly resolved name: 'graceful-fs',
11370 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
11370 silly resolved version: '1.2.3',
11370 silly resolved repository:
11370 silly resolved { type: 'git',
11370 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
11370 silly resolved main: 'graceful-fs.js',
11370 silly resolved engines: { node: '>=0.4.0' },
11370 silly resolved directories: { test: 'test' },
11370 silly resolved scripts: { test: 'tap test/*.js' },
11370 silly resolved keywords:
11370 silly resolved [ 'fs',
11370 silly resolved 'module',
11370 silly resolved 'reading',
11370 silly resolved 'retry',
11370 silly resolved 'retries',
11370 silly resolved 'queue',
11370 silly resolved 'error',
11370 silly resolved 'errors',
11370 silly resolved 'handling',
11370 silly resolved 'EMFILE',
11370 silly resolved 'EAGAIN',
11370 silly resolved 'EINVAL',
11370 silly resolved 'EPERM',
11370 silly resolved 'EACCESS' ],
11370 silly resolved license: 'BSD',
11370 silly resolved readme: '# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n limits this to 1024. Any further requests to open a file are put in a\n queue until new slots become available. If 1024 turns out to be too\n much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n',
11370 silly resolved readmeFilename: 'README.md',
11370 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
11370 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
11370 silly resolved _id: 'graceful-fs@1.2.3',
11370 silly resolved _from: 'graceful-fs@~1.2.0' },
11370 silly resolved { name: 'inherits',
11370 silly resolved description: 'A tiny simple way to do classic inheritance in js',
11370 silly resolved version: '1.0.0',
11370 silly resolved keywords: [ 'inheritance', 'class', 'klass', 'oop', 'object-oriented' ],
11370 silly resolved main: './inherits.js',
11370 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/inherits' },
11370 silly resolved author:
11370 silly resolved { name: 'Isaac Z. Schlueter',
11370 silly resolved email: 'i@izs.me',
11370 silly resolved url: 'http://blog.izs.me/' },
11370 silly resolved readme: 'A dead simple way to do inheritance in JS.\n\n var inherits = require("inherits")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say("sniff sniff")\n }\n Dog.prototype.bark = function () {\n this.say("woof woof")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say("yip yip")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say("CHSKKSS!!")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say("miao miao") }\n })\n Cat.prototype.purr = function () {\n this.say("purr purr")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n',
11370 silly resolved readmeFilename: 'README.md',
11370 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
11370 silly resolved homepage: 'https://github.com/isaacs/inherits',
11370 silly resolved _id: 'inherits@1.0.0',
11370 silly resolved _from: 'inherits@1' } ]
11371 info install graceful-fs@1.2.3 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob
11372 info install inherits@1.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob
11373 info installOne graceful-fs@1.2.3
11374 info installOne inherits@1.0.0
11375 silly resolved [ { author:
11375 silly resolved { name: 'Isaac Z. Schlueter',
11375 silly resolved email: 'i@izs.me',
11375 silly resolved url: 'http://blog.izs.me' },
11375 silly resolved name: 'graceful-fs',
11375 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
11375 silly resolved version: '1.2.3',
11375 silly resolved repository:
11375 silly resolved { type: 'git',
11375 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
11375 silly resolved main: 'graceful-fs.js',
11375 silly resolved engines: { node: '>=0.4.0' },
11375 silly resolved directories: { test: 'test' },
11375 silly resolved scripts: { test: 'tap test/*.js' },
11375 silly resolved keywords:
11375 silly resolved [ 'fs',
11375 silly resolved 'module',
11375 silly resolved 'reading',
11375 silly resolved 'retry',
11375 silly resolved 'retries',
11375 silly resolved 'queue',
11375 silly resolved 'error',
11375 silly resolved 'errors',
11375 silly resolved 'handling',
11375 silly resolved 'EMFILE',
11375 silly resolved 'EAGAIN',
11375 silly resolved 'EINVAL',
11375 silly resolved 'EPERM',
11375 silly resolved 'EACCESS' ],
11375 silly resolved license: 'BSD',
11375 silly resolved readme: '# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n limits this to 1024. Any further requests to open a file are put in a\n queue until new slots become available. If 1024 turns out to be too\n much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n',
11375 silly resolved readmeFilename: 'README.md',
11375 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
11375 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
11375 silly resolved _id: 'graceful-fs@1.2.3',
11375 silly resolved _from: 'graceful-fs@~1.2.0' },
11375 silly resolved { name: 'inherits',
11375 silly resolved description: 'A tiny simple way to do classic inheritance in js',
11375 silly resolved version: '1.0.0',
11375 silly resolved keywords: [ 'inheritance', 'class', 'klass', 'oop', 'object-oriented' ],
11375 silly resolved main: './inherits.js',
11375 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/inherits' },
11375 silly resolved author:
11375 silly resolved { name: 'Isaac Z. Schlueter',
11375 silly resolved email: 'i@izs.me',
11375 silly resolved url: 'http://blog.izs.me/' },
11375 silly resolved readme: 'A dead simple way to do inheritance in JS.\n\n var inherits = require("inherits")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say("sniff sniff")\n }\n Dog.prototype.bark = function () {\n this.say("woof woof")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say("yip yip")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say("CHSKKSS!!")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say("miao miao") }\n })\n Cat.prototype.purr = function () {\n this.say("purr purr")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n',
11375 silly resolved readmeFilename: 'README.md',
11375 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
11375 silly resolved homepage: 'https://github.com/isaacs/inherits',
11375 silly resolved _id: 'inherits@1.0.0',
11375 silly resolved _from: 'inherits@1' } ]
11376 info install graceful-fs@1.2.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob
11377 info install inherits@1.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob
11378 info installOne graceful-fs@1.2.3
11379 info installOne inherits@1.0.0
11380 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch unbuild
11381 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/graceful-fs unbuild
11382 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/inherits unbuild
11383 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/graceful-fs unbuild
11384 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/inherits unbuild
11385 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/graceful-fs unbuild
11386 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/inherits unbuild
11387 verbose tar unpack /home/spike/.npm/minimatch/0.2.13/package.tgz
11388 silly lockFile c2103e3e-ules-glob-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch
11389 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch /home/spike/.npm/c2103e3e-ules-glob-node-modules-minimatch.lock
11390 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
11391 verbose lock tar:///home/spike/.npm/minimatch/0.2.13/package.tgz /home/spike/.npm/49020a58-npm-minimatch-0-2-13-package-tgz.lock
11392 verbose tar unpack /home/spike/.npm/graceful-fs/1.2.3/package.tgz
11393 silly lockFile a4fb4efa-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/graceful-fs
11394 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/graceful-fs /home/spike/.npm/a4fb4efa-es-glob-node-modules-graceful-fs.lock
11395 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11396 verbose lock tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz /home/spike/.npm/a4f357da-pm-graceful-fs-1-2-3-package-tgz.lock
11397 verbose tar unpack /home/spike/.npm/inherits/1.0.0/package.tgz
11398 silly lockFile 9c8bffa3-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/inherits
11399 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/inherits /home/spike/.npm/9c8bffa3-dules-glob-node-modules-inherits.lock
11400 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11401 verbose lock tar:///home/spike/.npm/inherits/1.0.0/package.tgz /home/spike/.npm/a20693c1-e-npm-inherits-1-0-0-package-tgz.lock
11402 verbose tar unpack /home/spike/.npm/graceful-fs/1.2.3/package.tgz
11403 silly lockFile e397ef03-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/graceful-fs
11404 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/graceful-fs /home/spike/.npm/e397ef03-es-glob-node-modules-graceful-fs.lock
11405 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11406 verbose lock tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz /home/spike/.npm/a4f357da-pm-graceful-fs-1-2-3-package-tgz.lock
11407 verbose tar unpack /home/spike/.npm/inherits/1.0.0/package.tgz
11408 silly lockFile 0e8df9c8-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/inherits
11409 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/inherits /home/spike/.npm/0e8df9c8-dules-glob-node-modules-inherits.lock
11410 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11411 verbose lock tar:///home/spike/.npm/inherits/1.0.0/package.tgz /home/spike/.npm/a20693c1-e-npm-inherits-1-0-0-package-tgz.lock
11412 verbose tar unpack /home/spike/.npm/graceful-fs/1.2.3/package.tgz
11413 silly lockFile ac54ee41-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/graceful-fs
11414 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/graceful-fs /home/spike/.npm/ac54ee41-es-glob-node-modules-graceful-fs.lock
11415 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11416 verbose lock tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz /home/spike/.npm/a4f357da-pm-graceful-fs-1-2-3-package-tgz.lock
11417 verbose tar unpack /home/spike/.npm/inherits/1.0.0/package.tgz
11418 silly lockFile bcfe74fc-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/inherits
11419 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/inherits /home/spike/.npm/bcfe74fc-dules-glob-node-modules-inherits.lock
11420 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11421 verbose lock tar:///home/spike/.npm/inherits/1.0.0/package.tgz /home/spike/.npm/a20693c1-e-npm-inherits-1-0-0-package-tgz.lock
11422 silly gunzTarPerm modes [ '755', '644' ]
11423 silly gunzTarPerm modes [ '755', '644' ]
11424 silly gunzTarPerm modes [ '755', '644' ]
11425 silly gunzTarPerm extractEntry package.json
11426 silly gunzTarPerm extractEntry package.json
11427 silly gunzTarPerm extractEntry package.json
11428 silly gunzTarPerm extractEntry .npmignore
11429 silly gunzTarPerm extractEntry README.md
11430 silly gunzTarPerm extractEntry .npmignore
11431 silly gunzTarPerm extractEntry README.md
11432 silly gunzTarPerm extractEntry README.md
11433 silly gunzTarPerm extractEntry inherits.js
11434 silly gunzTarPerm extractEntry LICENSE
11435 silly gunzTarPerm extractEntry minimatch.js
11436 silly gunzTarPerm extractEntry LICENSE
11437 silly gunzTarPerm extractEntry graceful-fs.js
11438 silly gunzTarPerm extractEntry test/basic.js
11439 silly gunzTarPerm extractEntry test/open.js
11440 silly gunzTarPerm extractEntry test/ulimit.js
11441 silly lockFile 9c8bffa3-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/inherits
11442 silly lockFile 9c8bffa3-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/inherits
11443 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11444 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11445 silly gunzTarPerm extractEntry test/brace-expand.js
11446 silly gunzTarPerm extractEntry test/caching.js
11447 info preinstall inherits@1.0.0
11448 http 200 https://registry.npmjs.org/coa
11449 silly registry.get cb [ 200,
11449 silly registry.get { vary: 'Accept',
11449 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
11449 silly registry.get etag: '"URB4FDBOTI7QEL73TI4TX1QT"',
11449 silly registry.get date: 'Mon, 16 Dec 2013 10:44:50 GMT',
11449 silly registry.get 'content-type': 'application/json',
11449 silly registry.get 'content-length': '118754' } ]
11450 verbose readDependencies using package.json deps
11451 verbose readDependencies using package.json deps
11452 silly resolved []
11453 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/inherits
11454 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/inherits
11455 verbose linkStuff [ false,
11455 verbose linkStuff false,
11455 verbose linkStuff false,
11455 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules' ]
11456 info linkStuff inherits@1.0.0
11457 verbose linkBins inherits@1.0.0
11458 verbose linkMans inherits@1.0.0
11459 verbose rebuildBundles inherits@1.0.0
11460 info install inherits@1.0.0
11461 silly gunzTarPerm extractEntry test/defaults.js
11462 silly gunzTarPerm extractEntry test/extglob-ending-with-state-char.js
11463 info postinstall inherits@1.0.0
11464 silly addNameRange number 2 { name: 'coa', range: '>=0.3.7-0 <0.4.0-0', hasData: true }
11465 silly addNameRange versions [ 'coa',
11465 silly addNameRange [ '0.0.1',
11465 silly addNameRange '0.0.2',
11465 silly addNameRange '0.0.4',
11465 silly addNameRange '0.0.5',
11465 silly addNameRange '0.0.6',
11465 silly addNameRange '0.1.0',
11465 silly addNameRange '0.1.1',
11465 silly addNameRange '0.2.0',
11465 silly addNameRange '0.2.1',
11465 silly addNameRange '0.3.0',
11465 silly addNameRange '0.3.1',
11465 silly addNameRange '0.3.2',
11465 silly addNameRange '0.3.3',
11465 silly addNameRange '0.3.4',
11465 silly addNameRange '0.3.5',
11465 silly addNameRange '0.3.6',
11465 silly addNameRange '0.3.7',
11465 silly addNameRange '0.3.8',
11465 silly addNameRange '0.3.9',
11465 silly addNameRange '0.4.0' ] ]
11466 verbose addNamed [ 'coa', '0.3.9' ]
11467 verbose addNamed [ '0.3.9', '0.3.9' ]
11468 silly lockFile 4c06c47d-coa-0-3-9 coa@0.3.9
11469 verbose lock coa@0.3.9 /home/spike/.npm/4c06c47d-coa-0-3-9.lock
11470 silly lockFile a4fb4efa-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/graceful-fs
11471 silly lockFile a4fb4efa-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/graceful-fs
11472 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11473 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11474 info preinstall graceful-fs@1.2.3
11475 verbose readDependencies using package.json deps
11476 verbose readDependencies using package.json deps
11477 silly resolved []
11478 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/graceful-fs
11479 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/graceful-fs
11480 verbose linkStuff [ false,
11480 verbose linkStuff false,
11480 verbose linkStuff false,
11480 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules' ]
11481 info linkStuff graceful-fs@1.2.3
11482 verbose linkBins graceful-fs@1.2.3
11483 verbose linkMans graceful-fs@1.2.3
11484 verbose rebuildBundles graceful-fs@1.2.3
11485 info install graceful-fs@1.2.3
11486 info postinstall graceful-fs@1.2.3
11487 silly lockFile 4c06c47d-coa-0-3-9 coa@0.3.9
11488 silly lockFile 4c06c47d-coa-0-3-9 coa@0.3.9
11489 silly lockFile 1c44f139-coa-0-3-7 coa@~0.3.7
11490 silly lockFile 1c44f139-coa-0-3-7 coa@~0.3.7
11491 silly resolved [ { name: 'js-yaml',
11491 silly resolved version: '3.0.0',
11491 silly resolved description: 'YAML 1.2 parser and serializer',
11491 silly resolved keywords: [ 'yaml', 'parser', 'serializer', 'pyyaml' ],
11491 silly resolved homepage: 'https://github.com/nodeca/js-yaml',
11491 silly resolved author: { name: 'Dervus Grim', email: 'dervus.grim@gmail.com' },
11491 silly resolved contributors: [ [Object], [Object] ],
11491 silly resolved bugs: { url: 'https://github.com/nodeca/js-yaml/issues' },
11491 silly resolved license:
11491 silly resolved { type: 'MIT',
11491 silly resolved url: 'https://github.com/nodeca/js-yaml/blob/master/LICENSE' },
11491 silly resolved repository: { type: 'git', url: 'git://github.com/nodeca/js-yaml.git' },
11491 silly resolved main: './index.js',
11491 silly resolved bin: { 'js-yaml': 'bin/js-yaml.js' },
11491 silly resolved scripts: { test: 'make test' },
11491 silly resolved dependencies: { argparse: '~ 0.1.11', esprima: '~ 1.0.2' },
11491 silly resolved devDependencies: { mocha: '*' },
11491 silly resolved engines: { node: '>= 0.6.0' },
11491 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\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 -g js-yaml\n```\n\n#### Usage\n\n```\nusage: js-yaml [-h] [-v] [-c] [-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 -t, --trace Show stack trace on error\n```\n\n\n### Bundled YAML library for browsers\n\n``` html\n<!-- esprima required only for !!js/function -->\n<script src="esprima.js"></script>\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\nNotes:\n\n1. We have no resourses to support browserified version. Don\'t expect it to be\n well tested. Don\'t expect fast fixes if something goes wrong there.\n2. `!!js/function` in browser bundle will not work by default. If you really need\n it - load `esprima` parser first (via amd or directly).\n3. `!!bin` in browser will return `Array`, because browsers do not support\n node.js `Buffer` and adding Buffer shims is completely useless on practice.\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\n``` javascript\nyaml = require(\'js-yaml\');\nfs = require(\'fs\');\n\n// Get document, or throw exception on error\ntry {\n var doc = yaml.safeLoad(fs.readFileSync(\'/home/ixti/example.yml\', \'utf8\'));\n console.log(doc);\n} catch (e) {\n console.log(e);\n}\n```\n\n\n### safeLoad (string [ , options ])\n\n**Recommended loading way.** Parses `string` as single YAML document. Returns a JavaScript\nobject or throws `YAMLException` on error. By default, does not support regexps,\nfunctions and undefined. This method is safe for untrusted data.\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_SAFE_SCHEMA`)_ - specifies a schema to use.\n - `FAILSAFE_SCHEMA` - only strings, arrays and plain objects:\n http://www.yaml.org/spec/1.2/spec.html#id2802346\n - `JSON_SCHEMA` - all JSON-supported types:\n http://www.yaml.org/spec/1.2/spec.html#id2803231\n - `CORE_SCHEMA` - same as `JSON_SCHEMA`:\n http://www.yaml.org/spec/1.2/spec.html#id2804923\n - `DEFAULT_SAFE_SCHEMA` - all supported YAML types, without unsafe ones\n (`!!js/undefined`, `!!js/regexp` and `!!js/function`):\n http://yaml.org/type/\n - `DEFAULT_FULL_SCHEMA` - all supported YAML types.\n\nNOTE: This function **does not** understand multi-document sources, it throws\nexception on those.\n\nNOTE: JS-YAML **does not** support schema-specific tag resolution restrictions.\nSo, JSON schema is not as strict as defined in the YAML specification.\nIt allows numbers in any notaion, use `Null` and `NULL` as `null`, etc.\nCore schema also has no such restrictions. It allows binary notation for integers.\n\n\n### load (string [ , options ])\n\n**Use with care with untrusted sources**. The same as `safeLoad()` but uses\n`DEFAULT_FULL_SCHEMA` by default - adds some JavaScript-specific types:\n`!!js/function`, `!!js/regexp` and `!!js/undefined`. For untrusted sources you\nmust additionally validate object structure, to avoid injections:\n\n``` javascript\nvar untrusted_code = \'"toString": !<tag:yaml.org,2002:js/function> "function (){very_evil_thing();}"\';\n\n// I\'m just converting that string, what could possibly go wrong?\nrequire(\'js-yaml\').load(untrusted_code) + \'\'\n```\n\n\n### safeLoadAll (string, iterator [ , options ])\n\nSame as `safeLoad()`, but understands multi-document sources and apply\n`iterator` to each document.\n\n``` javascript\nvar yaml = require(\'js-yaml\');\n\nyaml.safeLoadAll(data, function (doc) {\n console.log(doc);\n});\n```\n\n\n### loadAll (string, iterator [ , options ])\n\nSame as `safeLoadAll()` but uses `DEFAULT_FULL_SCHEMA` by default.\n\n\n### safeDump (object [ , options ])\n\nSerializes `object` as YAML document. Uses `DEFAULT_SAFE_SCHEMA`, so it will\nthrow exception if you try to dump regexps or functions. However, you can\ndisable exceptions by `skipInvalid` option.\n\noptions:\n\n- `indent` _(default: 2)_ - indentation width to use (in spaces).\n- `skipInvalid` _(default: false)_ - do not throw on invalid types (like function\n in the safe schema) and skip pairs and single values with such types.\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_SAFE_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\n### dump (object [ , options ])\n\nSame as `safeDump()` but without limits (uses `DEFAULT_FULL_SCHEMA` by default).\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\nCaveats\n-------\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\nBreaking changes in 2.x.x -> 3.0.x\n----------------------------------\n\nIf your have not used __custom__ tags or loader classes and not loaded yaml\nfiles fia require - no changes needed. Just upgrade library.\n\nIn other case, you should:\n\n1. Replace all occurences of `require(\'xxxx.yml\')` by `fs.readFileSync()` +\n `yaml.safeLoad()`.\n2. rewrite your custom tags constructors and custom loader\n classes, to conform new 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.\n\n\nLicense\n-------\n\nView the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file\n(MIT).\n',
11491 silly resolved readmeFilename: 'README.md',
11491 silly resolved _id: 'js-yaml@3.0.0',
11491 silly resolved dist: { shasum: 'ccccbae2071bb8faa44b653e6046ca8be6b83997' },
11491 silly resolved _from: 'js-yaml@',
11491 silly resolved _resolved: 'https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.0.tgz' },
11491 silly resolved { name: 'colors',
11491 silly resolved description: 'get colors in your node.js console like what',
11491 silly resolved version: '0.6.2',
11491 silly resolved author: { name: 'Marak Squires' },
11491 silly resolved homepage: 'https://github.com/Marak/colors.js',
11491 silly resolved bugs: { url: 'https://github.com/Marak/colors.js/issues' },
11491 silly resolved keywords: [ 'ansi', 'terminal', 'colors' ],
11491 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
11491 silly resolved engines: { node: '>=0.1.90' },
11491 silly resolved main: 'colors',
11491 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',
11491 silly resolved readmeFilename: 'ReadMe.md',
11491 silly resolved _id: 'colors@0.6.2',
11491 silly resolved _from: 'colors@~0.6.0',
11491 silly resolved scripts: {} },
11491 silly resolved { name: 'sax',
11491 silly resolved description: 'An evented streaming XML parser in JavaScript',
11491 silly resolved author:
11491 silly resolved { name: 'Isaac Z. Schlueter',
11491 silly resolved email: 'i@izs.me',
11491 silly resolved url: 'http://blog.izs.me/' },
11491 silly resolved version: '0.5.8',
11491 silly resolved main: 'lib/sax.js',
11491 silly resolved license: 'BSD',
11491 silly resolved scripts: { test: 'node test/index.js' },
11491 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/sax-js.git' },
11491 silly resolved contributors:
11491 silly resolved [ [Object],
11491 silly resolved [Object],
11491 silly resolved [Object],
11491 silly resolved [Object],
11491 silly resolved [Object],
11491 silly resolved [Object],
11491 silly resolved [Object],
11491 silly resolved [Object],
11491 silly resolved [Object] ],
11491 silly resolved readme: '# sax js\n\nA sax-style parser for XML and HTML.\n\nDesigned with [node](http://nodejs.org/) in mind, but should work fine in\nthe browser or other CommonJS implementations.\n\n## What This Is\n\n* A very simple tool to parse through an XML string.\n* A stepping stone to a streaming HTML parser.\n* A handy way to deal with RSS and other mostly-ok-but-kinda-broken XML \n docs.\n\n## What This Is (probably) Not\n\n* An HTML Parser - That\'s a fine goal, but this isn\'t it. It\'s just\n XML.\n* A DOM Builder - You can use it to build an object model out of XML,\n but it doesn\'t do that out of the box.\n* XSLT - No DOM = no querying.\n* 100% Compliant with (some other SAX implementation) - Most SAX\n implementations are in Java and do a lot more than this does.\n* An XML Validator - It does a little validation when in strict mode, but\n not much.\n* A Schema-Aware XSD Thing - Schemas are an exercise in fetishistic \n masochism.\n* A DTD-aware Thing - Fetching DTDs is a much bigger job.\n\n## Regarding `<!DOCTYPE`s and `<!ENTITY`s\n\nThe parser will handle the basic XML entities in text nodes and attribute\nvalues: `&amp; &lt; &gt; &apos; &quot;`. It\'s possible to define additional\nentities in XML by putting them in the DTD. This parser doesn\'t do anything\nwith that. If you want to listen to the `ondoctype` event, and then fetch\nthe doctypes, and read the entities and add them to `parser.ENTITIES`, then\nbe my guest.\n\nUnknown entities will fail in strict mode, and in loose mode, will pass\nthrough unmolested.\n\n## Usage\n\n var sax = require("./lib/sax"),\n strict = true, // set to false for html-mode\n parser = sax.parser(strict);\n\n parser.onerror = function (e) {\n // an error happened.\n };\n parser.ontext = function (t) {\n // got some text. t is the string of text.\n };\n parser.onopentag = function (node) {\n // opened a tag. node has "name" and "attributes"\n };\n parser.onattribute = function (attr) {\n // an attribute. attr has "name" and "value"\n };\n parser.onend = function () {\n // parser stream is done, and ready to have more stuff written to it.\n };\n\n parser.write(\'<xml>Hello, <who name="world">world</who>!</xml>\').close();\n\n // stream usage\n // takes the same options as the parser\n var saxStream = require("sax").createStream(strict, options)\n saxStream.on("error", function (e) {\n // unhandled errors will throw, since this is a proper node\n // event emitter.\n console.error("error!", e)\n // clear the error\n this._parser.error = null\n this._parser.resume()\n })\n saxStream.on("opentag", function (node) {\n // same object as above\n })\n // pipe is supported, and it\'s readable/writable\n // same chunks coming in also go out.\n fs.createReadStream("file.xml")\n .pipe(saxStream)\n .pipe(fs.createWriteStream("file-copy.xml"))\n\n\n\n## Arguments\n\nPass the following arguments to the parser function. All are optional.\n\n`strict` - Boolean. Whether or not to be a jerk. Default: `false`.\n\n`opt` - Object bag of settings regarding string formatting. All default to `false`.\n\nSettings supported:\n\n* `trim` - Boolean. Whether or not to trim text and comment nodes.\n* `normalize` - Boolean. If true, then turn any whitespace into a single\n space.\n* `lowercase` - Boolean. If true, then lowercase tag names and attribute names\n in loose mode, rather than uppercasing them.\n* `xmlns` - Boolean. If true, then namespaces are supported.\n* `position` - Boolean. If false, then don\'t track line/col/position.\n\n## Methods\n\n`write` - Write bytes onto the stream. You don\'t have to do this all at\nonce. You can keep writing as much as you want.\n\n`close` - Close the stream. Once closed, no more data may be written until\nit is done processing the buffer, which is signaled by the `end` event.\n\n`resume` - To gracefully handle errors, assign a listener to the `error`\nevent. Then, when the error is taken care of, you can call `resume` to\ncontinue parsing. Otherwise, the parser will not continue while in an error\nstate.\n\n## Members\n\nAt all times, the parser object will have the following members:\n\n`line`, `column`, `position` - Indications of the position in the XML\ndocument where the parser currently is looking.\n\n`startTagPosition` - Indicates the position where the current tag starts.\n\n`closed` - Boolean indicating whether or not the parser can be written to.\nIf it\'s `true`, then wait for the `ready` event to write again.\n\n`strict` - Boolean indicating whether or not the parser is a jerk.\n\n`opt` - Any options passed into the constructor.\n\n`tag` - The current tag being dealt with.\n\nAnd a bunch of other stuff that you probably shouldn\'t touch.\n\n## Events\n\nAll events emit with a single argument. To listen to an event, assign a\nfunction to `on<eventname>`. Functions get executed in the this-context of\nthe parser object. The list of supported events are also in the exported\n`EVENTS` array.\n\nWhen using the stream interface, assign handlers using the EventEmitter\n`on` function in the normal fashion.\n\n`error` - Indication that something bad happened. The error will be hanging\nout on `parser.error`, and must be deleted before parsing can continue. By\nlistening to this event, you can keep an eye on that kind of stuff. Note:\nthis happens *much* more in strict mode. Argument: instance of `Error`.\n\n`text` - Text node. Argument: string of text.\n\n`doctype` - The `<!DOCTYPE` declaration. Argument: doctype string.\n\n`processinginstruction` - Stuff like `<?xml foo="blerg" ?>`. Argument:\nobject with `name` and `body` members. Attributes are not parsed, as\nprocessing instructions have implementation dependent semantics.\n\n`sgmldeclaration` - Random SGML declarations. Stuff like `<!ENTITY p>`\nwould trigger this kind of event. This is a weird thing to support, so it\nmight go away at some point. SAX isn\'t intended to be used to parse SGML,\nafter all.\n\n`opentag` - An opening tag. Argument: object with `name` and `attributes`.\nIn non-strict mode, tag names are uppercased, unless the `lowercase`\noption is set. If the `xmlns` option is set, then it will contain\nnamespace binding information on the `ns` member, and will have a\n`local`, `prefix`, and `uri` member.\n\n`closetag` - A closing tag. In loose mode, tags are auto-closed if their\nparent closes. In strict mode, well-formedness is enforced. Note that\nself-closing tags will have `closeTag` emitted immediately after `openTag`.\nArgument: tag name.\n\n`attribute` - An attribute node. Argument: object with `name` and `value`.\nIn non-strict mode, attribute names are uppercased, unless the `lowercase`\noption is set. If the `xmlns` option is set, it will also contains namespace\ninformation.\n\n`comment` - A comment node. Argument: the string of the comment.\n\n`opencdata` - The opening tag of a `<![CDATA[` block.\n\n`cdata` - The text of a `<![CDATA[` block. Since `<![CDATA[` blocks can get\nquite large, this event may fire multiple times for a single block, if it\nis broken up into multiple `write()`s. Argument: the string of random\ncharacter data.\n\n`closecdata` - The closing tag (`]]>`) of a `<![CDATA[` block.\n\n`opennamespace` - If the `xmlns` option is set, then this event will\nsignal the start of a new namespace binding.\n\n`closenamespace` - If the `xmlns` option is set, then this event will\nsignal the end of a namespace binding.\n\n`end` - Indication that the closed stream has ended.\n\n`ready` - Indication that the stream has reset, and is ready to be written\nto.\n\n`noscript` - In non-strict mode, `<script>` tags trigger a `"script"`\nevent, and their contents are not checked for special xml characters.\nIf you pass `noscript: true`, then this behavior is suppressed.\n\n## Reporting Problems\n\nIt\'s best to write a failing test if you find an issue. I will always\naccept pull requests with failing tests if they demonstrate intended\nbehavior, but it is very hard to figure out what issue you\'re describing\nwithout a test. Writing a test is also the best way for you yourself\nto figure out if you really understand the issue you think you have with\nsax-js.\n',
11491 silly resolved readmeFilename: 'README.md',
11491 silly resolved bugs: { url: 'https://github.com/isaacs/sax-js/issues' },
11491 silly resolved homepage: 'https://github.com/isaacs/sax-js',
11491 silly resolved _id: 'sax@0.5.8',
11491 silly resolved _from: 'sax@~0.5.0' },
11491 silly resolved { name: 'whet.extend',
11491 silly resolved version: '0.9.9',
11491 silly resolved description: 'A sharped version of port of jQuery.extend that actually works on node.js',
11491 silly resolved keywords: [ 'extend', 'jQuery', 'jQuery extend', 'clone', 'copy', 'inherit' ],
11491 silly resolved author: { name: 'Dmitrii Karpich', email: 'meettya@gmail.com' },
11491 silly resolved devDependencies:
11491 silly resolved { should: '0.5.1',
11491 silly resolved 'coffee-script': '>=1.3.3',
11491 silly resolved chai: '~1.4.2',
11491 silly resolved mocha: '~1.8.1' },
11491 silly resolved scripts: { test: 'cake test' },
11491 silly resolved repository:
11491 silly resolved { type: 'git',
11491 silly resolved url: 'https://github.com/Meettya/whet.extend.git' },
11491 silly resolved main: 'index.js',
11491 silly resolved engines: { node: '>=0.6.0' },
11491 silly resolved license: 'MIT',
11491 silly resolved readme: '[![Build Status](https://secure.travis-ci.org/Meettya/whet.extend.png)](http://travis-ci.org/Meettya/whet.extend)\n\n# whet.extend\n\nA sharped version of node.extend as port of jQuery.extend that **actually works** on node.js\n\n\n\n## Description\n\nIts drop-in replacement of [node.extend](https://github.com/dreamerslab/node.extend), re-factored and re-written with CoffeeScript\n\nI just need some more CS practice AND its fun :)\n\n\n## Usage\n\nCheckout the doc from [jQuery](http://api.jquery.com/jQuery.extend/)\n\n\n\n',
11491 silly resolved readmeFilename: 'Readme.md',
11491 silly resolved bugs: { url: 'https://github.com/Meettya/whet.extend/issues' },
11491 silly resolved homepage: 'https://github.com/Meettya/whet.extend',
11491 silly resolved _id: 'whet.extend@0.9.9',
11491 silly resolved _from: 'whet.extend@' },
11491 silly resolved { name: 'coa',
11491 silly resolved description: 'Command-Option-Argument: Yet another parser for command line options.',
11491 silly resolved version: '0.3.9',
11491 silly resolved homepage: 'http://github.com/veged/coa',
11491 silly resolved author:
11491 silly resolved { name: 'Sergey Berezhnoy',
11491 silly resolved email: 'veged@ya.ru',
11491 silly resolved url: 'http://github.com/veged' },
11491 silly resolved maintainers: [ [Object], [Object] ],
11491 silly resolved contributors: [ [Object] ],
11491 silly resolved repository: { type: 'git', url: 'git://github.com/veged/coa.git' },
11491 silly resolved directories: { lib: './lib' },
11491 silly resolved dependencies: { q: '~0.8.10' },
11491 silly resolved devDependencies:
11491 silly resolved { 'coffee-script': '~1.4.0',
11491 silly resolved istanbul: '~0.1.11',
11491 silly resolved 'mocha-as-promised': '*',
11491 silly resolved 'mocha-istanbul': '*',
11491 silly resolved mocha: '~1.6.0',
11491 silly resolved chai: '~1.3.0' },
11491 silly resolved scripts: { test: 'make test', coverage: 'make coverage' },
11491 silly resolved engines: { node: '>= 0.6.0' },
11491 silly resolved licenses: [ [Object] ],
11491 silly resolved optionalDependencies: {},
11491 silly resolved readme: '# Command-Option-Argument\n[![build status](https://secure.travis-ci.org/veged/coa.png)](http://travis-ci.org/veged/coa)\n\n## What is it?\n\nCOA is a parser for command line options that aim to get maximum profit from formalization your program API.\nOnce you write definition in terms of commands, options and arguments you automaticaly get:\n\n* Command line help text\n* Program API for use COA-based programs as modules\n* Shell completion\n\n### Other features\n\n* Rich types for options and arguments, such as arrays, boolean flags and required\n* Commands can be async throught using promising (powered by [Q](https://github.com/kriskowal/q))\n* Easy submoduling some existing commands to new top-level one\n* Combined validation and complex parsing of values\n\n### TODO\n\n* Localization\n* Shell-mode\n* Configs\n * Aliases\n * Defaults\n\n## Examples\n\n````javascript\nrequire(\'coa\').Cmd() // main (top level) command declaration\n .name(process.argv[1]) // set top level command name from program name\n .title(\'My awesome command line util\') // title for use in text messages\n .helpful() // make command "helpful", i.e. options -h --help with usage message\n .opt() // add some option\n .name(\'version\') // name for use in API\n .title(\'Version\') // title for use in text messages\n .short(\'v\') // short key: -v\n .long(\'version\') // long key: --version\n .flag() // for options without value\n .act(function(opts) { // add action for option\n // return message as result of action\n return JSON.parse(require(\'fs\').readFileSync(__dirname + \'/package.json\'))\n .version;\n })\n .end() // end option chain and return to main command\n .cmd().name(\'subcommand\').apply(require(\'./subcommand\').COA).end() // load subcommand from module\n .cmd() // inplace subcommand declaration\n .name(\'othercommand\').title(\'Awesome other subcommand\').helpful()\n .opt()\n .name(\'input\').title(\'input file, required\')\n .short(\'i\').long(\'input\')\n .val(function(v) { // validator function, also for translate simple values\n return require(\'fs\').createReadStream(v) })\n .req() // make option required\n .end() // end option chain and return to command\n .end() // end subcommand chain and return to parent command\n .run(process.argv.slice(2)); // parse and run on process.argv\n````\n\n````javascript\n// subcommand.js\nexports.COA = function() {\n this\n .title(\'Awesome subcommand\').helpful()\n .opt()\n .name(\'output\').title(\'output file\')\n .short(\'o\').long(\'output\')\n .output() // use default preset for "output" option declaration\n .end()\n};\n````\n\n## API reference\n\n### Cmd\nCommand is a top level entity. Commands may have options and arguments.\n\n#### Cmd.api\nReturns object containing all its subcommands as methods to use from other programs.<br>\n**@returns** *{Object}*\n\n#### Cmd.name\nSet a canonical command identifier to be used anywhere in the API.<br>\n**@param** *String* `_name` command name<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.title\nSet a long description for command to be used anywhere in text messages.<br>\n**@param** *String* `_title` command title<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.cmd\nCreate new or add existing subcommand for current command.<br>\n**@param** *COA.Cmd* `[cmd]` existing command instance<br>\n**@returns** *COA.Cmd* new or added subcommand instance\n\n#### Cmd.opt\nCreate option for current command.<br>\n**@returns** *COA.Opt* `new` option instance\n\n#### Cmd.arg\nCreate argument for current command.<br>\n**@returns** *COA.Opt* `new` argument instance\n\n#### Cmd.act\nAdd (or set) action for current command.<br>\n**@param** *Function* `act` action function,\n invoked in the context of command instance\n and has the parameters:<br>\n - *Object* `opts` parsed options<br>\n - *Array* `args` parsed arguments<br>\n - *Object* `res` actions result accumulator<br>\n It can return rejected promise by Cmd.reject (in case of error)\n or any other value treated as result.<br>\n**@param** *{Boolean}* [force=false] flag for set action instead add to existings<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.apply\nApply function with arguments in context of command instance.<br>\n**@param** *Function* `fn`<br>\n**@param** *Array* `args`<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.comp\nSet custom additional completion for current command.<br>\n**@param** *Function* `fn` completion generation function,\n invoked in the context of command instance.\n Accepts parameters:<br>\n - *Object* `opts` completion options<br>\n It can return promise or any other value treated as result.<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.helpful\nMake command "helpful", i.e. add -h --help flags for print usage.<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.completable\nAdds shell completion to command, adds "completion" subcommand, that makes all the magic.<br>\nMust be called only on root command.<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.usage\nBuild full usage text for current command instance.<br>\n**@returns** *String* `usage` text\n\n#### Cmd.run\nParse arguments from simple format like NodeJS process.argv\nand run ahead current program, i.e. call process.exit when all actions done.<br>\n**@param** *Array* `argv`<br>\n**@returns** *COA.Cmd* `this` instance (for chainability)\n\n#### Cmd.invoke\nInvoke specified (or current) command using provided options and arguments.<br>\n**@param** *String|Array* `cmds` subcommand to invoke (optional)<br>\n**@param** *Object* `opts` command options (optional)<br>\n**@param** *Object* `args` command arguments (optional)<br>\n**@returns** *Q.Promise*\n\n#### Cmd.reject\nReturn reject of actions results promise.<br>\nUse in .act() for return with error.<br>\n**@param** *Object* `reason` reject reason<br>\n You can customize toString() method and exitCode property\n of reason object.<br>\n**@returns** *Q.promise* rejected promise\n\n#### Cmd.end\nFinish chain for current subcommand and return parent command instance.<br>\n**@returns** *COA.Cmd* `parent` command\n\n### Opt\nOption is a named entity. Options may have short and long keys for use from command line.<br>\n**@namespace**<br>\n**@class** Presents option\n\n#### Opt.name\nSet a canonical option identifier to be used anywhere in the API.<br>\n**@param** *String* `_name` option name<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.title\nSet a long description for option to be used anywhere in text messages.<br>\n**@param** *String* `_title` option title<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.short\nSet a short key for option to be used with one hyphen from command line.<br>\n**@param** *String* `_short`<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.long\nSet a short key for option to be used with double hyphens from command line.<br>\n**@param** *String* `_long`<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.flag\nMake an option boolean, i.e. option without value.<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.arr\nMakes an option accepts multiple values.<br>\nOtherwise, the value will be used by the latter passed.<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.req\nMakes an option req.<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.only\nMakes an option to act as a command,\ni.e. program will exit just after option action.<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.val\nSet a validation (or value) function for argument.<br>\nValue from command line passes through before becoming available from API.<br>\nUsing for validation and convertion simple types to any values.<br>\n**@param** *Function* `_val` validating function,\n invoked in the context of option instance\n and has one parameter with value from command line<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.def\nSet a default value for option.\nDefault value passed through validation function as ordinary value.<br>\n**@param** *Object* `_def`<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.output\nMake option value outputing stream.<br>\nIt\'s add useful validation and shortcut for STDOUT.<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.act\nAdd action for current option command.\nThis action is performed if the current option\nis present in parsed options (with any value).<br>\n**@param** *Function* `act` action function,\n invoked in the context of command instance\n and has the parameters:<br>\n - *Object* `opts` parsed options<br>\n - *Array* `args` parsed arguments<br>\n - *Object* `res` actions result accumulator<br>\n It can return rejected promise by Cmd.reject (in case of error)\n or any other value treated as result.<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.comp\nSet custom additional completion for current option.<br>\n**@param** *Function* `fn` completion generation function,\n invoked in the context of command instance.\n Accepts parameters:<br>\n - *Object* `opts` completion options<br>\n It can return promise or any other value treated as result.<br>\n**@returns** *COA.Opt* `this` instance (for chainability)\n\n#### Opt.end\nFinish chain for current option and return parent command instance.<br>\n**@returns** *COA.Cmd* `parent` command\n\n\n### Arg\nArgument is a unnamed entity.<br>\nFrom command line arguments passed as list of unnamed values.\n\n#### Arg.name\nSet a canonical argument identifier to be used anywhere in text messages.<br>\n**@param** *String* `_name` argument name<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Arg.title\nSet a long description for argument to be used anywhere in text messages.<br>\n**@param** *String* `_title` argument title<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Arg.arr\nMakes an argument accepts multiple values.<br>\nOtherwise, the value will be used by the latter passed.<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Arg.req\nMakes an argument req.<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Arg.val\nSet a validation (or value) function for argument.<br>\nValue from command line passes through before becoming available from API.<br>\nUsing for validation and convertion simple types to any values.<br>\n**@param** *Function* `_val` validating function,\n invoked in the context of argument instance\n and has one parameter with value from command line<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Arg.def\nSet a default value for argument.\nDefault value passed through validation function as ordinary value.<br>\n**@param** *Object* `_def`<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Arg.output\nMake argument value outputing stream.<br>\nIt\'s add useful validation and shortcut for STDOUT.<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Opt.comp\nSet custom additional completion for current argument.<br>\n**@param** *Function* `fn` completion generation function,\n invoked in the context of command instance.\n Accepts parameters:<br>\n - *Object* `opts` completion options<br>\n It can return promise or any other value treated as result.<br>\n**@returns** *COA.Arg* `this` instance (for chainability)\n\n#### Arg.end\nFinish chain for current option and return parent command instance.<br>\n**@returns** *COA.Cmd* `parent` command\n',
11491 silly resolved readmeFilename: 'README.md',
11491 silly resolved bugs: { url: 'https://github.com/veged/coa/issues' },
11491 silly resolved _id: 'coa@0.3.9',
11491 silly resolved _from: 'coa@~0.3.7' } ]
11492 info install js-yaml@3.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
11493 info install colors@0.6.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
11494 info install sax@0.5.8 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
11495 info install whet.extend@0.9.9 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
11496 info install coa@0.3.9 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo
11497 info installOne js-yaml@3.0.0
11498 info installOne colors@0.6.2
11499 info installOne sax@0.5.8
11500 info installOne whet.extend@0.9.9
11501 info installOne coa@0.3.9
11502 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/js-yaml unbuild
11503 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/colors unbuild
11504 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/sax unbuild
11505 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/whet.extend unbuild
11506 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/coa unbuild
11507 verbose tar unpack /home/spike/.npm/js-yaml/3.0.0/package.tgz
11508 silly lockFile 076acbd6-odules-svgo-node-modules-js-yaml tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/js-yaml
11509 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/js-yaml /home/spike/.npm/076acbd6-odules-svgo-node-modules-js-yaml.lock
11510 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
11511 verbose lock tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz /home/spike/.npm/f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz.lock
11512 verbose tar unpack /home/spike/.npm/colors/0.6.2/package.tgz
11513 silly lockFile 51e394e4-modules-svgo-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/colors
11514 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/colors /home/spike/.npm/51e394e4-modules-svgo-node-modules-colors.lock
11515 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
11516 verbose lock tar:///home/spike/.npm/colors/0.6.2/package.tgz /home/spike/.npm/70b312f2-ike-npm-colors-0-6-2-package-tgz.lock
11517 verbose tar unpack /home/spike/.npm/sax/0.5.8/package.tgz
11518 silly lockFile 0e89151a-de-modules-svgo-node-modules-sax tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/sax
11519 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/sax /home/spike/.npm/0e89151a-de-modules-svgo-node-modules-sax.lock
11520 silly lockFile 885569ba--spike-npm-sax-0-5-8-package-tgz tar:///home/spike/.npm/sax/0.5.8/package.tgz
11521 verbose lock tar:///home/spike/.npm/sax/0.5.8/package.tgz /home/spike/.npm/885569ba--spike-npm-sax-0-5-8-package-tgz.lock
11522 verbose tar unpack /home/spike/.npm/whet.extend/0.9.9/package.tgz
11523 silly lockFile 81c770da-es-svgo-node-modules-whet-extend tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/whet.extend
11524 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/whet.extend /home/spike/.npm/81c770da-es-svgo-node-modules-whet-extend.lock
11525 silly lockFile da99c250-pm-whet-extend-0-9-9-package-tgz tar:///home/spike/.npm/whet.extend/0.9.9/package.tgz
11526 verbose lock tar:///home/spike/.npm/whet.extend/0.9.9/package.tgz /home/spike/.npm/da99c250-pm-whet-extend-0-9-9-package-tgz.lock
11527 verbose tar unpack /home/spike/.npm/coa/0.3.9/package.tgz
11528 silly lockFile b57922ce-de-modules-svgo-node-modules-coa tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/coa
11529 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/coa /home/spike/.npm/b57922ce-de-modules-svgo-node-modules-coa.lock
11530 silly lockFile 828d396d--spike-npm-coa-0-3-9-package-tgz tar:///home/spike/.npm/coa/0.3.9/package.tgz
11531 verbose lock tar:///home/spike/.npm/coa/0.3.9/package.tgz /home/spike/.npm/828d396d--spike-npm-coa-0-3-9-package-tgz.lock
11532 silly gunzTarPerm modes [ '755', '644' ]
11533 silly gunzTarPerm modes [ '755', '644' ]
11534 silly gunzTarPerm modes [ '755', '644' ]
11535 silly gunzTarPerm modes [ '755', '644' ]
11536 silly gunzTarPerm modes [ '755', '644' ]
11537 silly gunzTarPerm extractEntry package.json
11538 silly gunzTarPerm extractEntry package.json
11539 silly gunzTarPerm extractEntry package.json
11540 silly gunzTarPerm extractEntry package.json
11541 silly gunzTarPerm extractEntry package.json
11542 silly gunzTarPerm extractEntry README.md
11543 silly gunzTarPerm extractEntry LICENSE
11544 silly gunzTarPerm extractEntry .npmignore
11545 silly gunzTarPerm extractEntry LICENSE
11546 silly gunzTarPerm extractEntry colors.js
11547 silly gunzTarPerm extractEntry example.js
11548 silly gunzTarPerm extractEntry .npmignore
11549 silly gunzTarPerm extractEntry README.md
11550 silly gunzTarPerm extractEntry README.md
11551 silly gunzTarPerm extractEntry LICENSE
11552 silly gunzTarPerm extractEntry test.js
11553 silly gunzTarPerm extractEntry MIT-LICENSE.txt
11554 silly gunzTarPerm extractEntry ReadMe.md
11555 silly gunzTarPerm extractEntry example.html
11556 silly gunzTarPerm extractEntry themes/winston-dark.js
11557 silly gunzTarPerm extractEntry themes/winston-light.js
11558 silly gunzTarPerm extractEntry index.js
11559 silly gunzTarPerm extractEntry index_browser.js
11560 silly gunzTarPerm extractEntry AUTHORS
11561 silly gunzTarPerm extractEntry LICENSE-W3C.html
11562 silly gunzTarPerm extractEntry index.js
11563 silly gunzTarPerm extractEntry History.md
11564 silly gunzTarPerm extractEntry index.js
11565 silly gunzTarPerm extractEntry tests/h.js
11566 silly gunzTarPerm extractEntry tests/api-h.js
11567 silly gunzTarPerm extractEntry src/completion.coffee
11568 silly gunzTarPerm extractEntry src/index.coffee
11569 silly gunzTarPerm extractEntry src/opt.coffee
11570 silly gunzTarPerm extractEntry src/cmd.coffee
11571 silly gunzTarPerm extractEntry src/shell.coffee
11572 silly gunzTarPerm extractEntry src/color.coffee
11573 silly gunzTarPerm extractEntry src/arg.coffee
11574 silly gunzTarPerm extractEntry GNUmakefile
11575 silly gunzTarPerm extractEntry test/shell-test.js
11576 silly gunzTarPerm extractEntry test/coa.js
11577 silly gunzTarPerm extractEntry test/common.js
11578 silly gunzTarPerm extractEntry test/mocha.opts
11579 silly gunzTarPerm extractEntry lib/shell.js
11580 silly gunzTarPerm extractEntry lib/color.js
11581 silly gunzTarPerm extractEntry lib/completion.js
11582 silly gunzTarPerm extractEntry lib/arg.js
11583 silly gunzTarPerm extractEntry lib/cmd.js
11584 silly gunzTarPerm extractEntry lib/index.js
11585 silly gunzTarPerm extractEntry lib/opt.js
11586 silly gunzTarPerm extractEntry lib/completion.sh
11587 silly gunzTarPerm extractEntry .travis.yml
11588 silly gunzTarPerm extractEntry src/whet.extend.coffee
11589 silly gunzTarPerm extractEntry .travis.yml
11590 silly gunzTarPerm extractEntry Cakefile
11591 silly gunzTarPerm extractEntry Readme.md
11592 silly gunzTarPerm extractEntry component.json
11593 silly gunzTarPerm extractEntry HISTORY.md
11594 silly gunzTarPerm extractEntry bin/js-yaml.js
11595 silly gunzTarPerm extractEntry bower.json
11596 silly gunzTarPerm extractEntry examples/custom_types.js
11597 silly gunzTarPerm extractEntry examples/dumper.js
11598 silly gunzTarPerm extractEntry examples/sample_document.js
11599 silly gunzTarPerm extractEntry examples/custom_types.yaml
11600 silly gunzTarPerm extractEntry examples/dumper.json
11601 silly gunzTarPerm extractEntry examples/sample_document.yaml
11602 silly gunzTarPerm extractEntry lib/js-yaml.js
11603 silly gunzTarPerm extractEntry lib/js-yaml/common.js
11604 silly gunzTarPerm extractEntry lib/js-yaml/dumper.js
11605 silly gunzTarPerm extractEntry lib/js-yaml/exception.js
11606 silly gunzTarPerm extractEntry lib/js-yaml/loader.js
11607 silly gunzTarPerm extractEntry lib/js-yaml/mark.js
11608 silly gunzTarPerm extractEntry lib/js-yaml/schema.js
11609 silly gunzTarPerm extractEntry lib/js-yaml/type.js
11610 silly gunzTarPerm extractEntry lib/js-yaml/schema/core.js
11611 silly gunzTarPerm extractEntry lib/js-yaml/schema/default_full.js
11612 silly gunzTarPerm extractEntry lib/js-yaml/schema/default_safe.js
11613 silly gunzTarPerm extractEntry lib/js-yaml/schema/failsafe.js
11614 silly gunzTarPerm extractEntry lib/js-yaml/schema/json.js
11615 silly gunzTarPerm extractEntry lib/js-yaml/type/binary.js
11616 silly gunzTarPerm extractEntry lib/js-yaml/type/int.js
11617 silly gunzTarPerm extractEntry lib/js-yaml/type/str.js
11618 silly gunzTarPerm extractEntry lib/js-yaml/type/map.js
11619 silly gunzTarPerm extractEntry lib/js-yaml/type/float.js
11620 silly gunzTarPerm extractEntry lib/js-yaml/type/bool.js
11621 silly gunzTarPerm extractEntry lib/js-yaml/type/omap.js
11622 silly gunzTarPerm extractEntry lib/js-yaml/type/pairs.js
11623 silly gunzTarPerm extractEntry lib/js-yaml/type/seq.js
11624 silly gunzTarPerm extractEntry lib/js-yaml/type/set.js
11625 silly gunzTarPerm extractEntry lib/js-yaml/type/merge.js
11626 silly gunzTarPerm extractEntry lib/js-yaml/type/timestamp.js
11627 silly gunzTarPerm extractEntry lib/js-yaml/type/null.js
11628 silly gunzTarPerm extractEntry lib/js-yaml/type/js/function.js
11629 silly gunzTarPerm extractEntry lib/js-yaml/type/js/regexp.js
11630 silly gunzTarPerm extractEntry lib/js-yaml/type/js/undefined.js
11631 silly gunzTarPerm extractEntry test/extend_test.coffee
11632 silly gunzTarPerm extractEntry test/mocha.opts
11633 silly gunzTarPerm extractEntry test/test_helper.coffee
11634 silly gunzTarPerm extractEntry lib/whet.extend.js
11635 silly gunzTarPerm extractEntry examples/example.js
11636 silly gunzTarPerm extractEntry examples/get-products.js
11637 silly gunzTarPerm extractEntry examples/hello-world.js
11638 silly gunzTarPerm extractEntry examples/pretty-print.js
11639 silly lockFile c2103e3e-ules-glob-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch
11640 silly lockFile c2103e3e-ules-glob-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch
11641 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
11642 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
11643 info preinstall minimatch@0.2.13
11644 verbose readDependencies using package.json deps
11645 verbose readDependencies using package.json deps
11646 verbose cache add [ 'lru-cache@2', null ]
11647 verbose cache add name=undefined spec="lru-cache@2" args=["lru-cache@2",null]
11648 verbose parsed url { protocol: null,
11648 verbose parsed url slashes: null,
11648 verbose parsed url auth: null,
11648 verbose parsed url host: null,
11648 verbose parsed url port: null,
11648 verbose parsed url hostname: null,
11648 verbose parsed url hash: null,
11648 verbose parsed url search: null,
11648 verbose parsed url query: null,
11648 verbose parsed url pathname: 'lru-cache@2',
11648 verbose parsed url path: 'lru-cache@2',
11648 verbose parsed url href: 'lru-cache@2' }
11649 verbose cache add name="lru-cache" spec="2" args=["lru-cache","2"]
11650 verbose parsed url { protocol: null,
11650 verbose parsed url slashes: null,
11650 verbose parsed url auth: null,
11650 verbose parsed url host: null,
11650 verbose parsed url port: null,
11650 verbose parsed url hostname: null,
11650 verbose parsed url hash: null,
11650 verbose parsed url search: null,
11650 verbose parsed url query: null,
11650 verbose parsed url pathname: '2',
11650 verbose parsed url path: '2',
11650 verbose parsed url href: '2' }
11651 verbose addNamed [ 'lru-cache', '2' ]
11652 verbose cache add [ 'sigmund@~1.0.0', null ]
11653 verbose cache add name=undefined spec="sigmund@~1.0.0" args=["sigmund@~1.0.0",null]
11654 verbose parsed url { protocol: null,
11654 verbose parsed url slashes: null,
11654 verbose parsed url auth: null,
11654 verbose parsed url host: null,
11654 verbose parsed url port: null,
11654 verbose parsed url hostname: null,
11654 verbose parsed url hash: null,
11654 verbose parsed url search: null,
11654 verbose parsed url query: null,
11654 verbose parsed url pathname: 'sigmund@~1.0.0',
11654 verbose parsed url path: 'sigmund@~1.0.0',
11654 verbose parsed url href: 'sigmund@~1.0.0' }
11655 verbose cache add name="sigmund" spec="~1.0.0" args=["sigmund","~1.0.0"]
11656 verbose parsed url { protocol: null,
11656 verbose parsed url slashes: null,
11656 verbose parsed url auth: null,
11656 verbose parsed url host: null,
11656 verbose parsed url port: null,
11656 verbose parsed url hostname: null,
11656 verbose parsed url hash: null,
11656 verbose parsed url search: null,
11656 verbose parsed url query: null,
11656 verbose parsed url pathname: '~1.0.0',
11656 verbose parsed url path: '~1.0.0',
11656 verbose parsed url href: '~1.0.0' }
11657 verbose addNamed [ 'sigmund', '~1.0.0' ]
11658 silly gunzTarPerm extractEntry examples/big-not-pretty.xml
11659 silly gunzTarPerm extractEntry examples/not-pretty.xml
11660 silly gunzTarPerm extractEntry examples/shopping.xml
11661 silly gunzTarPerm extractEntry examples/strict.dtd
11662 silly gunzTarPerm extractEntry examples/test.html
11663 silly gunzTarPerm extractEntry examples/test.xml
11664 silly gunzTarPerm extractEntry lib/sax.js
11665 silly gunzTarPerm extractEntry test/attribute-name.js
11666 silly lockFile 51e394e4-modules-svgo-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/colors
11667 silly lockFile 51e394e4-modules-svgo-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/colors
11668 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
11669 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
11670 silly gunzTarPerm extractEntry test/issue-35.js
11671 silly gunzTarPerm extractEntry test/issue-47.js
11672 info preinstall colors@0.6.2
11673 verbose readDependencies using package.json deps
11674 verbose readDependencies using package.json deps
11675 silly resolved []
11676 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/colors
11677 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/colors
11678 verbose linkStuff [ false,
11678 verbose linkStuff false,
11678 verbose linkStuff false,
11678 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules' ]
11679 info linkStuff colors@0.6.2
11680 verbose linkBins colors@0.6.2
11681 verbose linkMans colors@0.6.2
11682 verbose rebuildBundles colors@0.6.2
11683 info install colors@0.6.2
11684 silly gunzTarPerm extractEntry test/issue-49.js
11685 silly gunzTarPerm extractEntry test/issue-84.js
11686 info postinstall colors@0.6.2
11687 silly lockFile 81c770da-es-svgo-node-modules-whet-extend tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/whet.extend
11688 silly lockFile 81c770da-es-svgo-node-modules-whet-extend tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/whet.extend
11689 silly lockFile da99c250-pm-whet-extend-0-9-9-package-tgz tar:///home/spike/.npm/whet.extend/0.9.9/package.tgz
11690 silly lockFile da99c250-pm-whet-extend-0-9-9-package-tgz tar:///home/spike/.npm/whet.extend/0.9.9/package.tgz
11691 info preinstall whet.extend@0.9.9
11692 verbose readDependencies using package.json deps
11693 verbose readDependencies using package.json deps
11694 silly resolved []
11695 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/whet.extend
11696 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/whet.extend
11697 verbose linkStuff [ false,
11697 verbose linkStuff false,
11697 verbose linkStuff false,
11697 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules' ]
11698 info linkStuff whet.extend@0.9.9
11699 verbose linkBins whet.extend@0.9.9
11700 verbose linkMans whet.extend@0.9.9
11701 verbose rebuildBundles whet.extend@0.9.9
11702 info install whet.extend@0.9.9
11703 info postinstall whet.extend@0.9.9
11704 silly lockFile b57922ce-de-modules-svgo-node-modules-coa tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/coa
11705 silly lockFile b57922ce-de-modules-svgo-node-modules-coa tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/coa
11706 silly lockFile 828d396d--spike-npm-coa-0-3-9-package-tgz tar:///home/spike/.npm/coa/0.3.9/package.tgz
11707 silly lockFile 828d396d--spike-npm-coa-0-3-9-package-tgz tar:///home/spike/.npm/coa/0.3.9/package.tgz
11708 info preinstall coa@0.3.9
11709 verbose readDependencies using package.json deps
11710 verbose readDependencies using package.json deps
11711 verbose cache add [ 'q@~0.8.10', null ]
11712 verbose cache add name=undefined spec="q@~0.8.10" args=["q@~0.8.10",null]
11713 verbose parsed url { protocol: null,
11713 verbose parsed url slashes: null,
11713 verbose parsed url auth: null,
11713 verbose parsed url host: null,
11713 verbose parsed url port: null,
11713 verbose parsed url hostname: null,
11713 verbose parsed url hash: null,
11713 verbose parsed url search: null,
11713 verbose parsed url query: null,
11713 verbose parsed url pathname: 'q@~0.8.10',
11713 verbose parsed url path: 'q@~0.8.10',
11713 verbose parsed url href: 'q@~0.8.10' }
11714 verbose cache add name="q" spec="~0.8.10" args=["q","~0.8.10"]
11715 verbose parsed url { protocol: null,
11715 verbose parsed url slashes: null,
11715 verbose parsed url auth: null,
11715 verbose parsed url host: null,
11715 verbose parsed url port: null,
11715 verbose parsed url hostname: null,
11715 verbose parsed url hash: null,
11715 verbose parsed url search: null,
11715 verbose parsed url query: null,
11715 verbose parsed url pathname: '~0.8.10',
11715 verbose parsed url path: '~0.8.10',
11715 verbose parsed url href: '~0.8.10' }
11716 verbose addNamed [ 'q', '~0.8.10' ]
11717 verbose addNamed [ null, '>=0.8.10-0 <0.9.0-0' ]
11718 silly lockFile 172efc64-q-0-8-10 q@~0.8.10
11719 verbose lock q@~0.8.10 /home/spike/.npm/172efc64-q-0-8-10.lock
11720 silly addNameRange { name: 'q', range: '>=0.8.10-0 <0.9.0-0', hasData: false }
11721 silly gunzTarPerm modes [ '755', '644' ]
11722 silly gunzTarPerm modes [ '755', '644' ]
11723 verbose url raw q
11724 verbose url resolving [ 'https://registry.npmjs.org/', './q' ]
11725 verbose url resolved https://registry.npmjs.org/q
11726 info trying registry request attempt 1 at 11:44:53
11727 verbose etag "4XKPYPTZTJOQM6NG0L0PS6XKV"
11728 http GET https://registry.npmjs.org/q
11729 silly gunzTarPerm extractEntry package.json
11730 silly gunzTarPerm extractEntry package.json
11731 silly gunzTarPerm extractEntry .npmignore
11732 silly gunzTarPerm extractEntry README.md
11733 silly gunzTarPerm extractEntry README.md
11734 silly gunzTarPerm extractEntry inherits.js
11735 silly gunzTarPerm extractEntry LICENSE
11736 silly gunzTarPerm extractEntry graceful-fs.js
11737 silly gunzTarPerm extractEntry test/open.js
11738 silly gunzTarPerm extractEntry test/issue-30.js
11739 silly gunzTarPerm extractEntry test/script-close-better.js
11740 silly gunzTarPerm extractEntry test/ulimit.js
11741 silly gunzTarPerm extractEntry test/script.js
11742 silly gunzTarPerm extractEntry test/self-closing-child-strict.js
11743 silly lockFile 0e8df9c8-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/inherits
11744 silly lockFile 0e8df9c8-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/inherits
11745 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11746 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11747 info preinstall inherits@1.0.0
11748 verbose readDependencies using package.json deps
11749 verbose readDependencies using package.json deps
11750 silly resolved []
11751 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/inherits
11752 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/inherits
11753 verbose linkStuff [ false,
11753 verbose linkStuff false,
11753 verbose linkStuff false,
11753 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules' ]
11754 info linkStuff inherits@1.0.0
11755 verbose linkBins inherits@1.0.0
11756 verbose linkMans inherits@1.0.0
11757 verbose rebuildBundles inherits@1.0.0
11758 info install inherits@1.0.0
11759 info postinstall inherits@1.0.0
11760 silly lockFile e397ef03-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/graceful-fs
11761 silly lockFile e397ef03-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/graceful-fs
11762 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11763 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11764 info preinstall graceful-fs@1.2.3
11765 verbose readDependencies using package.json deps
11766 verbose readDependencies using package.json deps
11767 silly resolved []
11768 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/graceful-fs
11769 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules/graceful-fs
11770 verbose linkStuff [ false,
11770 verbose linkStuff false,
11770 verbose linkStuff false,
11770 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob/node_modules' ]
11771 info linkStuff graceful-fs@1.2.3
11772 verbose linkBins graceful-fs@1.2.3
11773 verbose linkMans graceful-fs@1.2.3
11774 verbose rebuildBundles graceful-fs@1.2.3
11775 info install graceful-fs@1.2.3
11776 info postinstall graceful-fs@1.2.3
11777 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob
11778 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/glob
11779 verbose linkStuff [ false,
11779 verbose linkStuff false,
11779 verbose linkStuff false,
11779 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules' ]
11780 info linkStuff glob@3.1.21
11781 verbose linkBins glob@3.1.21
11782 verbose linkMans glob@3.1.21
11783 verbose rebuildBundles glob@3.1.21
11784 verbose rebuildBundles [ 'graceful-fs', 'inherits' ]
11785 info install glob@3.1.21
11786 info postinstall glob@3.1.21
11787 silly lockFile 076acbd6-odules-svgo-node-modules-js-yaml tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/js-yaml
11788 silly lockFile 076acbd6-odules-svgo-node-modules-js-yaml tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/js-yaml
11789 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
11790 silly lockFile f90c7ede-ke-npm-js-yaml-3-0-0-package-tgz tar:///home/spike/.npm/js-yaml/3.0.0/package.tgz
11791 info preinstall js-yaml@3.0.0
11792 verbose readDependencies using package.json deps
11793 verbose readDependencies using package.json deps
11794 verbose cache add [ 'argparse@~ 0.1.11', null ]
11795 verbose cache add name=undefined spec="argparse@~ 0.1.11" args=["argparse@~ 0.1.11",null]
11796 verbose parsed url { protocol: null,
11796 verbose parsed url slashes: null,
11796 verbose parsed url auth: null,
11796 verbose parsed url host: null,
11796 verbose parsed url port: null,
11796 verbose parsed url hostname: null,
11796 verbose parsed url hash: null,
11796 verbose parsed url search: null,
11796 verbose parsed url query: null,
11796 verbose parsed url pathname: 'argparse@~%200.1.11',
11796 verbose parsed url path: 'argparse@~%200.1.11',
11796 verbose parsed url href: 'argparse@~%200.1.11' }
11797 verbose cache add name="argparse" spec="~ 0.1.11" args=["argparse","~ 0.1.11"]
11798 verbose parsed url { protocol: null,
11798 verbose parsed url slashes: null,
11798 verbose parsed url auth: null,
11798 verbose parsed url host: null,
11798 verbose parsed url port: null,
11798 verbose parsed url hostname: null,
11798 verbose parsed url hash: null,
11798 verbose parsed url search: null,
11798 verbose parsed url query: null,
11798 verbose parsed url pathname: '~%200.1.11',
11798 verbose parsed url path: '~%200.1.11',
11798 verbose parsed url href: '~%200.1.11' }
11799 verbose addNamed [ 'argparse', '~ 0.1.11' ]
11800 verbose cache add [ 'esprima@~ 1.0.2', null ]
11801 verbose cache add name=undefined spec="esprima@~ 1.0.2" args=["esprima@~ 1.0.2",null]
11802 verbose parsed url { protocol: null,
11802 verbose parsed url slashes: null,
11802 verbose parsed url auth: null,
11802 verbose parsed url host: null,
11802 verbose parsed url port: null,
11802 verbose parsed url hostname: null,
11802 verbose parsed url hash: null,
11802 verbose parsed url search: null,
11802 verbose parsed url query: null,
11802 verbose parsed url pathname: 'esprima@~%201.0.2',
11802 verbose parsed url path: 'esprima@~%201.0.2',
11802 verbose parsed url href: 'esprima@~%201.0.2' }
11803 verbose cache add name="esprima" spec="~ 1.0.2" args=["esprima","~ 1.0.2"]
11804 verbose parsed url { protocol: null,
11804 verbose parsed url slashes: null,
11804 verbose parsed url auth: null,
11804 verbose parsed url host: null,
11804 verbose parsed url port: null,
11804 verbose parsed url hostname: null,
11804 verbose parsed url hash: null,
11804 verbose parsed url search: null,
11804 verbose parsed url query: null,
11804 verbose parsed url pathname: '~%201.0.2',
11804 verbose parsed url path: '~%201.0.2',
11804 verbose parsed url href: '~%201.0.2' }
11805 verbose addNamed [ 'esprima', '~ 1.0.2' ]
11806 verbose addNamed [ null, '>=1.0.2-0 <1.1.0-0' ]
11807 silly lockFile f16a0183-esprima-1-0-2 esprima@~ 1.0.2
11808 verbose lock esprima@~ 1.0.2 /home/spike/.npm/f16a0183-esprima-1-0-2.lock
11809 silly addNameRange { name: 'esprima', range: '>=1.0.2-0 <1.1.0-0', hasData: false }
11810 verbose registry.get esprima not expired, no request
11811 silly addNameRange number 2 { name: 'esprima', range: '>=1.0.2-0 <1.1.0-0', hasData: true }
11812 silly addNameRange versions [ 'esprima',
11812 silly addNameRange [ '0.7.0',
11812 silly addNameRange '0.8.0',
11812 silly addNameRange '0.8.1',
11812 silly addNameRange '0.8.2',
11812 silly addNameRange '0.9.0',
11812 silly addNameRange '0.9.1',
11812 silly addNameRange '0.9.2',
11812 silly addNameRange '0.9.3',
11812 silly addNameRange '0.9.4',
11812 silly addNameRange '0.9.5',
11812 silly addNameRange '0.9.6',
11812 silly addNameRange '0.9.7',
11812 silly addNameRange '0.9.8',
11812 silly addNameRange '0.9.9',
11812 silly addNameRange '1.0.0',
11812 silly addNameRange '1.0.1',
11812 silly addNameRange '1.0.2',
11812 silly addNameRange '1.0.3',
11812 silly addNameRange '1.0.4' ] ]
11813 verbose addNamed [ 'esprima', '1.0.4' ]
11814 verbose addNamed [ '1.0.4', '1.0.4' ]
11815 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
11816 verbose lock esprima@1.0.4 /home/spike/.npm/758953aa-esprima-1-0-4.lock
11817 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
11818 silly lockFile 758953aa-esprima-1-0-4 esprima@1.0.4
11819 silly lockFile f16a0183-esprima-1-0-2 esprima@~ 1.0.2
11820 silly lockFile f16a0183-esprima-1-0-2 esprima@~ 1.0.2
11821 silly gunzTarPerm extractEntry test/self-closing-child.js
11822 silly gunzTarPerm extractEntry test/self-closing-tag.js
11823 silly gunzTarPerm extractEntry test/issue-23.js
11824 silly gunzTarPerm extractEntry test/stray-ending.js
11825 silly gunzTarPerm extractEntry test/index.js
11826 silly gunzTarPerm extractEntry test/trailing-attribute-no-value.js
11827 silly gunzTarPerm extractEntry test/flush.js
11828 silly gunzTarPerm extractEntry test/trailing-non-whitespace.js
11829 silly gunzTarPerm extractEntry test/entity-mega.js
11830 silly gunzTarPerm extractEntry test/unclosed-root.js
11831 silly gunzTarPerm extractEntry test/entities.js
11832 silly gunzTarPerm extractEntry test/unquoted.js
11833 silly gunzTarPerm extractEntry test/end_empty_stream.js
11834 silly gunzTarPerm extractEntry test/utf8-split.js
11835 silly gunzTarPerm extractEntry test/duplicate-attribute.js
11836 silly gunzTarPerm extractEntry test/xmlns-as-tag-name.js
11837 silly gunzTarPerm extractEntry test/cyrillic.js
11838 silly gunzTarPerm extractEntry test/xmlns-issue-41.js
11839 silly gunzTarPerm extractEntry test/cdata.js
11840 silly gunzTarPerm extractEntry test/xmlns-rebinding.js
11841 silly gunzTarPerm extractEntry test/cdata-multiple.js
11842 silly gunzTarPerm extractEntry test/xmlns-strict.js
11843 silly gunzTarPerm extractEntry test/cdata-fake-end.js
11844 silly gunzTarPerm extractEntry test/xmlns-unbound-element.js
11845 silly gunzTarPerm extractEntry test/cdata-end-split.js
11846 silly gunzTarPerm extractEntry test/xmlns-unbound.js
11847 silly gunzTarPerm extractEntry test/cdata-chunked.js
11848 silly gunzTarPerm extractEntry test/xmlns-xml-default-ns.js
11849 silly gunzTarPerm extractEntry test/case.js
11850 silly gunzTarPerm extractEntry test/xmlns-xml-default-prefix-attribute.js
11851 silly gunzTarPerm extractEntry test/buffer-overrun.js
11852 silly gunzTarPerm extractEntry test/xmlns-xml-default-prefix.js
11853 silly gunzTarPerm extractEntry test/attribute-no-space.js
11854 silly gunzTarPerm extractEntry test/xmlns-xml-default-redefine.js
11855 silly gunzTarPerm extractEntry test/parser-position.js
11856 silly lockFile 0e89151a-de-modules-svgo-node-modules-sax tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/sax
11857 silly lockFile 0e89151a-de-modules-svgo-node-modules-sax tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/sax
11858 silly lockFile 885569ba--spike-npm-sax-0-5-8-package-tgz tar:///home/spike/.npm/sax/0.5.8/package.tgz
11859 silly lockFile 885569ba--spike-npm-sax-0-5-8-package-tgz tar:///home/spike/.npm/sax/0.5.8/package.tgz
11860 info preinstall sax@0.5.8
11861 verbose readDependencies using package.json deps
11862 verbose readDependencies using package.json deps
11863 silly resolved []
11864 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/sax
11865 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules/sax
11866 verbose linkStuff [ false,
11866 verbose linkStuff false,
11866 verbose linkStuff false,
11866 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-svgmin/node_modules/svgo/node_modules' ]
11867 info linkStuff sax@0.5.8
11868 verbose linkBins sax@0.5.8
11869 verbose linkMans sax@0.5.8
11870 verbose rebuildBundles sax@0.5.8
11871 info install sax@0.5.8
11872 info postinstall sax@0.5.8
11873 silly gunzTarPerm modes [ '755', '644' ]
11874 silly gunzTarPerm modes [ '755', '644' ]
11875 silly gunzTarPerm extractEntry package.json
11876 silly gunzTarPerm extractEntry package.json
11877 silly gunzTarPerm extractEntry .npmignore
11878 silly gunzTarPerm extractEntry README.md
11879 silly gunzTarPerm extractEntry README.md
11880 silly gunzTarPerm extractEntry inherits.js
11881 silly gunzTarPerm extractEntry LICENSE
11882 silly gunzTarPerm extractEntry graceful-fs.js
11883 silly gunzTarPerm extractEntry test/open.js
11884 silly gunzTarPerm extractEntry test/ulimit.js
11885 silly lockFile bcfe74fc-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/inherits
11886 silly lockFile bcfe74fc-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/inherits
11887 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11888 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
11889 info preinstall inherits@1.0.0
11890 verbose readDependencies using package.json deps
11891 verbose readDependencies using package.json deps
11892 silly resolved []
11893 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/inherits
11894 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/inherits
11895 verbose linkStuff [ false,
11895 verbose linkStuff false,
11895 verbose linkStuff false,
11895 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules' ]
11896 info linkStuff inherits@1.0.0
11897 verbose linkBins inherits@1.0.0
11898 verbose linkMans inherits@1.0.0
11899 verbose rebuildBundles inherits@1.0.0
11900 info install inherits@1.0.0
11901 info postinstall inherits@1.0.0
11902 silly lockFile ac54ee41-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/graceful-fs
11903 silly lockFile ac54ee41-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/graceful-fs
11904 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11905 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
11906 info preinstall graceful-fs@1.2.3
11907 verbose readDependencies using package.json deps
11908 verbose readDependencies using package.json deps
11909 silly resolved []
11910 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/graceful-fs
11911 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules/graceful-fs
11912 verbose linkStuff [ false,
11912 verbose linkStuff false,
11912 verbose linkStuff false,
11912 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob/node_modules' ]
11913 info linkStuff graceful-fs@1.2.3
11914 verbose linkBins graceful-fs@1.2.3
11915 verbose linkMans graceful-fs@1.2.3
11916 verbose rebuildBundles graceful-fs@1.2.3
11917 info install graceful-fs@1.2.3
11918 info postinstall graceful-fs@1.2.3
11919 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob
11920 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/glob
11921 verbose linkStuff [ false,
11921 verbose linkStuff false,
11921 verbose linkStuff false,
11921 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
11922 info linkStuff glob@3.1.21
11923 verbose linkBins glob@3.1.21
11924 verbose linkMans glob@3.1.21
11925 verbose rebuildBundles glob@3.1.21
11926 verbose rebuildBundles [ 'graceful-fs', 'inherits' ]
11927 info install glob@3.1.21
11928 info postinstall glob@3.1.21
11929 http 200 https://registry.npmjs.org/qs/0.6.5
11930 silly registry.get cb [ 200,
11930 silly registry.get { vary: 'Accept',
11930 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11930 silly registry.get etag: '"ANEKPEJBMZNSXQGXV8HCDQBBQ"',
11930 silly registry.get date: 'Mon, 16 Dec 2013 10:44:53 GMT',
11930 silly registry.get 'content-type': 'application/json',
11930 silly registry.get 'content-length': '2756' } ]
11931 silly lockFile 45ccff3d-gistry-npmjs-org-qs-qs-0-6-5-tgz https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
11932 verbose lock https://registry.npmjs.org/qs/-/qs-0.6.5.tgz /home/spike/.npm/45ccff3d-gistry-npmjs-org-qs-qs-0-6-5-tgz.lock
11933 verbose addRemoteTarball [ 'https://registry.npmjs.org/qs/-/qs-0.6.5.tgz',
11933 verbose addRemoteTarball '294b268e4b0d4250f6dde19b3b8b34935dff14ef' ]
11934 info retry fetch attempt 1 at 11:44:53
11935 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190693408-0.1400337398517877/tmp.tgz
11936 http GET https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
11937 http 200 https://registry.npmjs.org/cookie-signature/1.0.1
11938 silly registry.get cb [ 200,
11938 silly registry.get { vary: 'Accept',
11938 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
11938 silly registry.get etag: '"B19IGSHI4APO0HMQ592UNFE7G"',
11938 silly registry.get date: 'Mon, 16 Dec 2013 10:44:53 GMT',
11938 silly registry.get 'content-type': 'application/json',
11938 silly registry.get 'content-length': '2199' } ]
11939 silly lockFile 8b0b446f-ature-cookie-signature-1-0-1-tgz https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz
11940 verbose lock https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz /home/spike/.npm/8b0b446f-ature-cookie-signature-1-0-1-tgz.lock
11941 verbose addRemoteTarball [ 'https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz',
11941 verbose addRemoteTarball '44e072148af01e6e8e24afbf12690d68ae698ecb' ]
11942 info retry fetch attempt 1 at 11:44:53
11943 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190693426-0.028154784813523293/tmp.tgz
11944 http GET https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz
11945 http 200 https://registry.npmjs.org/console-browserify
11946 silly registry.get cb [ 200,
11946 silly registry.get { vary: 'Accept',
11946 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
11946 silly registry.get etag: '"B22VNPS7XITW4OM29UZRD0A07"',
11946 silly registry.get date: 'Mon, 16 Dec 2013 10:44:52 GMT',
11946 silly registry.get 'content-type': 'application/json',
11946 silly registry.get 'content-length': '22861' } ]
11947 silly addNameRange number 2 { name: 'console-browserify',
11947 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
11947 silly addNameRange hasData: true }
11948 silly addNameRange versions [ 'console-browserify',
11948 silly addNameRange [ '0.1.0',
11948 silly addNameRange '0.1.1',
11948 silly addNameRange '0.1.2',
11948 silly addNameRange '0.1.3',
11948 silly addNameRange '0.1.4',
11948 silly addNameRange '0.1.5',
11948 silly addNameRange '0.1.6',
11948 silly addNameRange '1.0.1',
11948 silly addNameRange '1.0.2',
11948 silly addNameRange '1.0.3' ] ]
11949 verbose addNamed [ 'console-browserify', '0.1.6' ]
11950 verbose addNamed [ '0.1.6', '0.1.6' ]
11951 silly lockFile f41566ee-console-browserify-0-1-6 console-browserify@0.1.6
11952 verbose lock console-browserify@0.1.6 /home/spike/.npm/f41566ee-console-browserify-0-1-6.lock
11953 silly lockFile f41566ee-console-browserify-0-1-6 console-browserify@0.1.6
11954 silly lockFile f41566ee-console-browserify-0-1-6 console-browserify@0.1.6
11955 silly lockFile e69eec4c-console-browserify-0-1-x console-browserify@0.1.x
11956 silly lockFile e69eec4c-console-browserify-0-1-x console-browserify@0.1.x
11957 http 200 https://registry.npmjs.org/cookie/0.0.5
11958 silly registry.get cb [ 200,
11958 silly registry.get { vary: 'Accept',
11958 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
11958 silly registry.get etag: '"4NICDUYCW89YVU37BM5DN74M3"',
11958 silly registry.get date: 'Mon, 16 Dec 2013 10:44:53 GMT',
11958 silly registry.get 'content-type': 'application/json',
11958 silly registry.get 'content-length': '1797' } ]
11959 silly lockFile 65da37ca-pmjs-org-cookie-cookie-0-0-5-tgz https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz
11960 verbose lock https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz /home/spike/.npm/65da37ca-pmjs-org-cookie-cookie-0-0-5-tgz.lock
11961 verbose addRemoteTarball [ 'https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz',
11961 verbose addRemoteTarball 'f9acf9db57eb7568c9fcc596256b7bb22e307c81' ]
11962 info retry fetch attempt 1 at 11:44:53
11963 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190693749-0.42346890713088214/tmp.tgz
11964 http GET https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz
11965 http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz
11966 verbose tar unpack /home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/tmp.tgz
11967 silly lockFile 1a57d196-92678-0-6017849163617939-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package
11968 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package /home/spike/.npm/1a57d196-92678-0-6017849163617939-package.lock
11969 silly lockFile 81fd7ac6-92678-0-6017849163617939-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/tmp.tgz
11970 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/tmp.tgz /home/spike/.npm/81fd7ac6-92678-0-6017849163617939-tmp-tgz.lock
11971 silly gunzTarPerm modes [ '755', '644' ]
11972 silly gunzTarPerm extractEntry package.json
11973 silly gunzTarPerm extractEntry README.md
11974 silly gunzTarPerm extractEntry Gruntfile.js
11975 silly gunzTarPerm extractEntry escodegen.js
11976 silly gunzTarPerm extractEntry .jshintrc
11977 silly gunzTarPerm extractEntry LICENSE.BSD
11978 silly gunzTarPerm extractEntry LICENSE.source-map
11979 silly gunzTarPerm extractEntry bin/escodegen.js
11980 silly gunzTarPerm extractEntry bin/esgenerate.js
11981 silly lockFile 1a57d196-92678-0-6017849163617939-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package
11982 silly lockFile 1a57d196-92678-0-6017849163617939-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package
11983 silly lockFile 81fd7ac6-92678-0-6017849163617939-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/tmp.tgz
11984 silly lockFile 81fd7ac6-92678-0-6017849163617939-tmp-tgz tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/tmp.tgz
11985 verbose tar pack [ '/home/spike/.npm/escodegen/0.0.28/package.tgz',
11985 verbose tar pack '/home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package' ]
11986 verbose tarball /home/spike/.npm/escodegen/0.0.28/package.tgz
11987 verbose folder /home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package
11988 silly lockFile 1a57d196-92678-0-6017849163617939-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package
11989 verbose lock tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package /home/spike/.npm/1a57d196-92678-0-6017849163617939-package.lock
11990 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
11991 verbose lock tar:///home/spike/.npm/escodegen/0.0.28/package.tgz /home/spike/.npm/8023da9d-npm-escodegen-0-0-28-package-tgz.lock
11992 silly lockFile 1a57d196-92678-0-6017849163617939-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package
11993 silly lockFile 1a57d196-92678-0-6017849163617939-package tar:///home/spike/tmp/npm-28710-_zgXwRNE/1387190692678-0.6017849163617939/package
11994 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
11995 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
11996 silly lockFile c62f0d14-ike-npm-escodegen-0-0-28-package /home/spike/.npm/escodegen/0.0.28/package
11997 verbose lock /home/spike/.npm/escodegen/0.0.28/package /home/spike/.npm/c62f0d14-ike-npm-escodegen-0-0-28-package.lock
11998 silly lockFile c62f0d14-ike-npm-escodegen-0-0-28-package /home/spike/.npm/escodegen/0.0.28/package
11999 silly lockFile c62f0d14-ike-npm-escodegen-0-0-28-package /home/spike/.npm/escodegen/0.0.28/package
12000 verbose tar unpack /home/spike/.npm/escodegen/0.0.28/package.tgz
12001 silly lockFile 42652694-ike-npm-escodegen-0-0-28-package tar:///home/spike/.npm/escodegen/0.0.28/package
12002 verbose lock tar:///home/spike/.npm/escodegen/0.0.28/package /home/spike/.npm/42652694-ike-npm-escodegen-0-0-28-package.lock
12003 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
12004 verbose lock tar:///home/spike/.npm/escodegen/0.0.28/package.tgz /home/spike/.npm/8023da9d-npm-escodegen-0-0-28-package-tgz.lock
12005 silly gunzTarPerm modes [ '755', '644' ]
12006 silly gunzTarPerm extractEntry package.json
12007 silly gunzTarPerm extractEntry README.md
12008 silly gunzTarPerm extractEntry Gruntfile.js
12009 silly gunzTarPerm extractEntry escodegen.js
12010 silly gunzTarPerm extractEntry .jshintrc
12011 silly gunzTarPerm extractEntry LICENSE.BSD
12012 silly gunzTarPerm extractEntry LICENSE.source-map
12013 silly gunzTarPerm extractEntry bin/escodegen.js
12014 silly gunzTarPerm extractEntry bin/esgenerate.js
12015 silly lockFile 42652694-ike-npm-escodegen-0-0-28-package tar:///home/spike/.npm/escodegen/0.0.28/package
12016 silly lockFile 42652694-ike-npm-escodegen-0-0-28-package tar:///home/spike/.npm/escodegen/0.0.28/package
12017 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
12018 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
12019 verbose chmod /home/spike/.npm/escodegen/0.0.28/package.tgz 644
12020 verbose chown /home/spike/.npm/escodegen/0.0.28/package.tgz [ 1000, 1000 ]
12021 silly lockFile cfeb77b0-g-escodegen-escodegen-0-0-28-tgz https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz
12022 silly lockFile cfeb77b0-g-escodegen-escodegen-0-0-28-tgz https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz
12023 silly lockFile cb311dc7-escodegen-0-0-28 escodegen@0.0.28
12024 silly lockFile cb311dc7-escodegen-0-0-28 escodegen@0.0.28
12025 silly lockFile cbc3c76c-escodegen-0-0-15 escodegen@~0.0.15
12026 silly lockFile cbc3c76c-escodegen-0-0-15 escodegen@~0.0.15
12027 silly resolved [ { name: 'esprima',
12027 silly resolved description: 'ECMAScript parsing infrastructure for multipurpose analysis',
12027 silly resolved homepage: 'http://esprima.org',
12027 silly resolved main: 'esprima.js',
12027 silly resolved bin:
12027 silly resolved { esparse: './bin/esparse.js',
12027 silly resolved esvalidate: './bin/esvalidate.js' },
12027 silly resolved files:
12027 silly resolved [ 'bin',
12027 silly resolved 'test/run.js',
12027 silly resolved 'test/runner.js',
12027 silly resolved 'test/test.js',
12027 silly resolved 'test/compat.js',
12027 silly resolved 'test/reflect.js',
12027 silly resolved 'esprima.js' ],
12027 silly resolved version: '1.0.4',
12027 silly resolved engines: { node: '>=0.4.0' },
12027 silly resolved maintainers: [ [Object] ],
12027 silly resolved repository: { type: 'git', url: 'http://github.com/ariya/esprima.git' },
12027 silly resolved licenses: [ [Object] ],
12027 silly resolved keywords: [ 'ast', 'ecmascript', 'javascript', 'parser', 'syntax' ],
12027 silly resolved scripts:
12027 silly resolved { test: 'node test/run.js',
12027 silly resolved benchmark: 'node test/benchmarks.js',
12027 silly resolved 'benchmark-quick': 'node test/benchmarks.js quick' },
12027 silly resolved readme: '**Esprima** ([esprima.org](http://esprima.org)) is a high performance,\nstandard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)\nparser written in ECMAScript (also popularly known as\n[JavaScript](http://en.wikipedia.org/wiki/JavaScript>JavaScript)).\nEsprima is created and maintained by [Ariya Hidayat](http://twitter.com/ariyahidayat),\nwith the help of [many contributors](https://github.com/ariya/esprima/contributors).\n\nEsprima runs on web browsers (IE 6+, Firefox 1+, Safari 3+, Chrome 1+, Konqueror 4.6+, Opera 8+) as well as\n[Node.js](http://nodejs.org).\n\n### Features\n\n- Full support for [ECMAScript 5.1](http://www.ecma-international.org/publications/standards/Ecma-262.htm)(ECMA-262)\n- Sensible [syntax tree format](http://esprima.org/doc/index.html#ast) compatible with Mozilla\n[Parser AST](https://developer.mozilla.org/en/SpiderMonkey/Parser_API)\n- Heavily tested (> 550 [unit tests](http://esprima.org/test/) with solid 100% statement coverage)\n- Optional tracking of syntax node location (index-based and line-column)\n- Experimental support for ES6/Harmony (module, class, destructuring, ...)\n\nEsprima is blazing fast (see the [benchmark suite](http://esprima.org/test/benchmarks.html)).\nIt is up to 3x faster than UglifyJS v1 and it is still [competitive](http://esprima.org/test/compare.html)\nwith the new generation of fast parsers.\n\n### Applications\n\nEsprima serves as the basis for many popular JavaScript development tools:\n\n- Code coverage analysis: [node-cover](https://github.com/itay/node-cover), [Istanbul](https://github.com/yahoo/Istanbul)\n- Documentation tool: [JFDoc](https://github.com/thejohnfreeman/jfdoc), [JSDuck](https://github.com/senchalabs/jsduck)\n- Language extension: [LLJS](http://mbebenita.github.com/LLJS/) (low-level JS),\n[Sweet.js](http://sweetjs.org/) (macro)\n- ES6/Harmony transpiler: [Six](https://github.com/matthewrobb/six), [Harmonizr](https://github.com/jdiamond/harmonizr)\n- Eclipse Orion smart editing ([outline view](https://github.com/aclement/esprima-outline), [content assist](http://contraptionsforprogramming.blogspot.com/2012/02/better-javascript-content-assist-in.html))\n- Source code modification: [Esmorph](https://github.com/ariya/esmorph), [Code Painter](https://github.com/fawek/codepainter),\n- Source transformation: [node-falafel](https://github.com/substack/node-falafel), [Esmangle](https://github.com/Constellation/esmangle), [escodegen](https://github.com/Constellation/escodegen)\n\n### Questions?\n- [Documentation](http://esprima.org/doc)\n- [Issue tracker](http://issues.esprima.org): [known problems](http://code.google.com/p/esprima/issues/list?q=Defect)\nand [future plans](http://code.google.com/p/esprima/issues/list?q=Enhancement)\n- [Mailing list](http://groups.google.com/group/esprima)\n- [Contribution guide](http://esprima.org/doc/index.html#contribution)\n\nFollow [@Esprima](http://twitter.com/Esprima) on Twitter to get the\ndevelopment updates.\nFeedback and contribution are welcomed!\n\n### License\n\nCopyright (C) 2012, 2011 [Ariya Hidayat](http://ariya.ofilabs.com/about)\n and other contributors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n',
12027 silly resolved readmeFilename: 'README.md',
12027 silly resolved bugs: { url: 'https://github.com/ariya/esprima/issues' },
12027 silly resolved _id: 'esprima@1.0.4',
12027 silly resolved _from: 'esprima@~ 1.0.2' },
12027 silly resolved { name: 'clone',
12027 silly resolved description: 'deep cloning of objects and arrays',
12027 silly resolved tags: [ 'clone', 'object', 'array', 'function', 'date' ],
12027 silly resolved version: '0.1.11',
12027 silly resolved repository: { type: 'git', url: 'git://github.com/pvorb/node-clone.git' },
12027 silly resolved bugs: { url: 'https://github.com/pvorb/node-clone/issues' },
12027 silly resolved main: 'clone.js',
12027 silly resolved author:
12027 silly resolved { name: 'Paul Vorbach',
12027 silly resolved email: 'paul@vorb.de',
12027 silly resolved url: 'http://vorb.de' },
12027 silly resolved contributors:
12027 silly resolved [ [Object],
12027 silly resolved [Object],
12027 silly resolved [Object],
12027 silly resolved [Object],
12027 silly resolved [Object],
12027 silly resolved [Object],
12027 silly resolved [Object],
12027 silly resolved [Object],
12027 silly resolved [Object],
12027 silly resolved [Object] ],
12027 silly resolved engines: { node: '*' },
12027 silly resolved dependencies: {},
12027 silly resolved devDependencies: { underscore: '*', nodeunit: '*' },
12027 silly resolved optionalDependencies: {},
12027 silly resolved scripts: { test: 'nodeunit test.js' },
12027 silly resolved readme: '# clone\n\n[![build status](https://secure.travis-ci.org/pvorb/node-clone.png)](http://travis-ci.org/pvorb/node-clone)\n\noffers foolproof _deep cloning_ of variables in JavaScript.\n\n\n## Installation\n\n npm install clone\n\nor\n\n ender build clone\n\n\n## Example\n\n~~~ javascript\nvar clone = require(\'clone\');\n\nvar a, b;\n\na = { foo: { bar: \'baz\' } }; // inital value of a\n\nb = clone(a); // clone a -> b\na.foo.bar = \'foo\'; // change a\n\nconsole.log(a); // show a\nconsole.log(b); // show b\n~~~\n\nThis will print:\n\n~~~ javascript\n{ foo: { bar: \'foo\' } }\n{ foo: { bar: \'baz\' } }\n~~~\n\n**clone** masters cloning simple objects (even with custom prototype), arrays,\nDate objects, and RegExp objects. Everything is cloned recursively, so that you\ncan clone dates in arrays in objects, for example.\n\n\n## API\n\n`clone(val, circular)`\n\n * `val` -- the value that you want to clone, any type allowed\n * `circular` -- boolean\n\n Call `clone` with `circular` set to `false` if you are certain that `obj`\n contains no circular references. This will give better performance if needed.\n There is no error if `undefined` or `null` is passed as `obj`.\n\n`clone.clonePrototype(obj)`\n\n * `obj` -- the object that you want to clone\n\nDoes a prototype clone as\n[described by Oran Looney](http://oranlooney.com/functional-javascript/).\n\n\n## Circular References\n\n~~~ javascript\nvar a, b;\n\na = { hello: \'world\' };\n\na.myself = a;\nb = clone(a);\n\nconsole.log(b);\n~~~\n\nThis will print:\n\n~~~ javascript\n{ hello: "world", myself: [Circular] }\n~~~\n\nSo, `b.myself` points to `b`, not `a`. Neat!\n\n\n## Test\n\n npm test\n\n\n## Caveat\n\nSome special objects like a socket or `process.stdout`/`stderr` are known to not\nbe cloneable. If you find other objects that cannot be cloned, please [open an\nissue](https://github.com/pvorb/node-clone/issues/new).\n\n\n## Bugs and Issues\n\nIf you encounter any bugs or issues, feel free to\n[open an issue at github](https://github.com/pvorb/node-clone/issues) or send me\nan email to <paul@vorb.de>. I also always like to hear from you, if youre using\nmy code.\n\n## License\n\nCopyright © 2011-2013 Paul Vorbach\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the “Software”), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies 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, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
12027 silly resolved readmeFilename: 'README.md',
12027 silly resolved homepage: 'https://github.com/pvorb/node-clone',
12027 silly resolved _id: 'clone@0.1.11',
12027 silly resolved _from: 'clone@~0.1.6' },
12027 silly resolved { name: 'astral',
12027 silly resolved version: '0.1.0',
12027 silly resolved description: 'AST tooling framework for JavaScript',
12027 silly resolved main: 'index.js',
12027 silly resolved scripts: { test: 'echo "Error: no test specified" && exit 1' },
12027 silly resolved repository: { type: 'git', url: 'git://github.com/btford/astral.git' },
12027 silly resolved keywords: [ 'ast', 'tool' ],
12027 silly resolved author: { name: 'Brian Ford' },
12027 silly resolved license: 'MIT',
12027 silly resolved readmeFilename: 'README.md',
12027 silly resolved gitHead: 'db055d670dd139c52e1741769e343baa56a8bdf0',
12027 silly resolved bugs: { url: 'https://github.com/btford/astral/issues' },
12027 silly resolved dependencies: { clone: '~0.1.9' },
12027 silly resolved readme: '# Astral\n\nAST tooling framework for JavaScript focused on modularity and performance.\nThe goal is to make it easy to create, share, and combine tools that operate on ASTs.\nThe architecture inspired by llvm.\n\n## How it Works\n\nVarious [passes](https://github.com/btford/astral-pass) are registered in Astral.\nEsprima (parser) creates AST.\nAstral runs the passes in order based on their prerequisites.\n\n## Install\n\n`npm install astral`\n\n## Example\n\n```javascript\nvar esprima = require(\'esprima\');\nvar escodegen = require(\'escodegen\');\n\nvar astral = require(\'astral\')();\nvar myPass = require(\'astral-pass\')();\n\nmyPass.name = \'myPass\';\n\nmyPass.\n when({\n // ... AST chunk\n }).\n when(function (chunk, info) {\n // return true or false\n }).\n transform(function (chunk, info) {\n\n });\n\nastral.register(myPass);\n\nvar ast = esprima.parse(\'var x = 42;\');\n\nvar newAst = astral.run(ast);\n\nvar newSrc = escodegen.generate(newAst);\n\nconsole.log(newSrc);\n```\n\n## Writing a Pass\n\nA pass is just an object with three properties:\n\n```\nvar myPass = {\n name: \'my:pass\',\n prereqs: [],\n run: function (ast, info) {\n return {};\n }\n}\n```\n\n### name\nThe name of the pass. Used to reference prereqs and info.\n\n### prereqs\nAn array of passes expected to be run before this pass is run.\n\n### run\nThe function for transforming the AST. It takes two arguments: `ast`, and `info`. It should return an `info` object to be associated with this pass.\n\n## Why?\n\nSource transform tools all have to solve the same problems:\n\n1. read the file(s)\n2. parse the code into an AST\n3. look for interesting features\n4. modify the AST\n5. generate code\n6. save the code back to a file(s)\n\nUsing multiple code transform tools results in a lot of expensive, repeated work.\nItems 1-2 and 5-6 above are usually *exactly* the same across tools,\nand 3-4 are often implemented with similar, generic algorithms using different parameters or slightly different behaviors.\n\nAstral is a framework that lets you plug in a set of "passes" that do steps 3-4,\nwhile generically sharing the rest of the process.\n\n### What about...\nHow does Astral compare to these projects?\n\n#### [Falafel](https://github.com/substack/node-falafel)\nFalafel is a lib for doing source transforms.\nYou could use it inside of an Astral pass.\n\n#### [Rocambole](https://github.com/millermedeiros/rocambole/)\nRocambole is like Falafel: a tool for making the changes.\nAgain, it\'d be great to make use of this library inside of a pass.\n\n#### [Browserify](https://github.com/substack/node-browserify)\nBrowserify is a tool that does source code transforms as a module/build solution.\nBrowserify has the option to include your own transforms that get run before Browserify transforms CommonJS-style modules into a format that\'s more suitable for web browsers.\nThe downside of this system is that you can\'t easily use these transforms if you\'re not using Browserify.\nIdeally, Browserify could be built on top of Astral.\n\n#### [ngmin](https://github.com/btford/ngmin)\nngmin does transforms on AngularJS apps to make the source easier to minify.\nIdeally, ngmin could also be built on top of Astral.\nThe advantage to this is that it would be easier and faster to combine a build process using both ngmin and Browserify.\nCurrently, both of these tools separately read files, parse into an AST, generate code form the AST, and save back to a file.\n\n#### [Grunt](http://gruntjs.com/)\nGrunt is a task runner.\nIt is often used as a build tool, concatenating and minifying files.\nGrunt typically runs on a per-file basis, which makes it great for a wide variety of cases, but a poor choice for source transforms since you typically end up reading/writing the same file multiple times.\nYou can think of Astral as "Grunt tasks, but for ASTs instead of files."\nYou could write a Grunt task to run Astral passes to integrate the two.\n\n## License\nMIT\n',
12027 silly resolved homepage: 'https://github.com/btford/astral',
12027 silly resolved _id: 'astral@0.1.0',
12027 silly resolved _from: 'astral@~0.1.0' },
12027 silly resolved { name: 'astral-angular-annotate',
12027 silly resolved version: '0.0.2',
12027 silly resolved description: 'AngularJS DI annotation pass for astral',
12027 silly resolved main: 'annotate.js',
12027 silly resolved scripts: { test: 'echo "Error: no test specified" && exit 1' },
12027 silly resolved repository:
12027 silly resolved { type: 'git',
12027 silly resolved url: 'git://github.com/btford/astral-angular-annotate.git' },
12027 silly resolved keywords: [ 'astral', 'angular' ],
12027 silly resolved author: { name: 'Brian Ford' },
12027 silly resolved license: 'MIT',
12027 silly resolved readmeFilename: 'README.md',
12027 silly resolved dependencies: { 'astral-pass': '~0.1.0', clone: '~0.1.9' },
12027 silly resolved readme: '# Astral Angular Annotator\n\nA pass for [Astral](https://github.com/btford/astral) to generate [AngularJS](http://angularjs.org) [DI annotations](TODO: find docs) automatically.\n\nFor a tool CLI, see `[ngmin](TODO: link).\n\n## Usage\n\nBelow is an example parsing, annotating, and generating JavaScript code. Note that this requires the `esprima`, `escodegen`, `astral`, and `astral-angular-annotator` npm packages.\n\n```javascript\nvar esprima = require(\'esprima\'),\n escodegen = require(\'escodegen\'),\n astral = require(\'astral\')();\n\n// register angular annotator pass\nrequire(\'astral-angular-annotator\')(astral);\n\nvar inputCode = "angular.module(\'myMod\').controller(\'FooCtrl\', function ($scope) {" +\n" // ..." +\n"});";\n\nvar ast = esprima.parse(inputCode, {\n tolerant: true\n});\n\nastral.run(ast);\n\nvar generatedCode = escodegen.generate(ast, {\n format: {\n indent: {\n style: \' \'\n }\n }\n});\n\nconsole.log(generatedCode);\n\n// logs:\n//\n// angular.module(\'myMod\').controller(\'FooCtrl\', [\'$scope\', function ($scope) {\n// // ...\n// });\n\n```\n\n## API\n\nYou can also access each of the individual passes like this:\n\n```\n\n```\n\nThis might be handy for more fine-tuned control.\n\n## License\nMIT\n',
12027 silly resolved bugs: { url: 'https://github.com/btford/astral-angular-annotate/issues' },
12027 silly resolved homepage: 'https://github.com/btford/astral-angular-annotate',
12027 silly resolved _id: 'astral-angular-annotate@0.0.2',
12027 silly resolved _from: 'astral-angular-annotate@~0.0.1' },
12027 silly resolved { name: 'commander',
12027 silly resolved version: '1.1.1',
12027 silly resolved description: 'the complete solution for node.js command-line programs',
12027 silly resolved keywords: [ 'command', 'option', 'parser', 'prompt', 'stdin' ],
12027 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' },
12027 silly resolved repository:
12027 silly resolved { type: 'git',
12027 silly resolved url: 'https://github.com/visionmedia/commander.js.git' },
12027 silly resolved dependencies: { keypress: '0.1.x' },
12027 silly resolved devDependencies: { should: '>= 0.0.1' },
12027 silly resolved scripts: { test: 'make test' },
12027 silly resolved main: 'index',
12027 silly resolved engines: { node: '>= 0.6.x' },
12027 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(\' - pineappe\');\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 pineappe\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## .prompt(msg, fn)\n\n Single-line prompt:\n\n```js\nprogram.prompt(\'name: \', function(name){\n console.log(\'hi %s\', name);\n});\n```\n\n Multi-line prompt:\n\n```js\nprogram.prompt(\'description:\', function(name){\n console.log(\'hi %s\', name);\n});\n```\n\n Coercion:\n\n```js\nprogram.prompt(\'Age: \', Number, function(age){\n console.log(\'age: %j\', age);\n});\n```\n\n```js\nprogram.prompt(\'Birthdate: \', Date, function(date){\n console.log(\'date: %s\', date);\n});\n```\n\n## .password(msg[, mask], fn)\n\nPrompt for password without echoing:\n\n```js\nprogram.password(\'Password: \', function(pass){\n console.log(\'got "%s"\', pass);\n process.stdin.destroy();\n});\n```\n\nPrompt for password with mask char "*":\n\n```js\nprogram.password(\'Password: \', \'*\', function(pass){\n console.log(\'got "%s"\', pass);\n process.stdin.destroy();\n});\n```\n\n## .confirm(msg, fn)\n\n Confirm with the given `msg`:\n\n```js\nprogram.confirm(\'continue? \', function(ok){\n console.log(\' got %j\', ok);\n});\n```\n\n## .choose(list, fn)\n\n Let the user choose from a `list`:\n\n```js\nvar list = [\'tobi\', \'loki\', \'jane\', \'manny\', \'luna\'];\n\nconsole.log(\'Choose the coolest pet:\');\nprogram.choose(list, function(i){\n console.log(\'you chose %d "%s"\', i, list[i]);\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.',
12027 silly resolved readmeFilename: 'Readme.md',
12027 silly resolved bugs: { url: 'https://github.com/visionmedia/commander.js/issues' },
12027 silly resolved homepage: 'https://github.com/visionmedia/commander.js',
12027 silly resolved _id: 'commander@1.1.1',
12027 silly resolved _from: 'commander@~1.1.1' },
12027 silly resolved { name: 'escodegen',
12027 silly resolved description: 'ECMAScript code generator',
12027 silly resolved homepage: 'http://github.com/Constellation/escodegen.html',
12027 silly resolved main: 'escodegen.js',
12027 silly resolved bin:
12027 silly resolved { esgenerate: './bin/esgenerate.js',
12027 silly resolved escodegen: './bin/escodegen.js' },
12027 silly resolved version: '0.0.28',
12027 silly resolved engines: { node: '>=0.4.0' },
12027 silly resolved maintainers: [ [Object] ],
12027 silly resolved repository:
12027 silly resolved { type: 'git',
12027 silly resolved url: 'http://github.com/Constellation/escodegen.git' },
12027 silly resolved dependencies:
12027 silly resolved { esprima: '~1.0.2',
12027 silly resolved estraverse: '~1.3.0',
12027 silly resolved 'source-map': '>= 0.1.2' },
12027 silly resolved optionalDependencies: { 'source-map': '>= 0.1.2' },
12027 silly resolved devDependencies:
12027 silly resolved { 'esprima-moz': '*',
12027 silly resolved 'commonjs-everywhere': '~0.8.0',
12027 silly resolved q: '*',
12027 silly resolved bower: '*',
12027 silly resolved semver: '*',
12027 silly resolved chai: '~1.7.2',
12027 silly resolved 'grunt-contrib-jshint': '~0.5.0',
12027 silly resolved 'grunt-cli': '~0.1.9',
12027 silly resolved grunt: '~0.4.1',
12027 silly resolved 'grunt-mocha-test': '~0.6.2' },
12027 silly resolved licenses: [ [Object] ],
12027 silly resolved scripts:
12027 silly resolved { test: 'grunt travis',
12027 silly resolved 'unit-test': 'grunt test',
12027 silly resolved lint: 'grunt lint',
12027 silly resolved release: 'node tools/release.js',
12027 silly resolved 'build-min': './node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js',
12027 silly resolved build: './node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js' },
12027 silly resolved readme: '\n### Escodegen [![Build Status](https://secure.travis-ci.org/Constellation/escodegen.png)](http://travis-ci.org/Constellation/escodegen) [![Build Status](https://drone.io/github.com/Constellation/escodegen/status.png)](https://drone.io/github.com/Constellation/escodegen/latest)\n\nEscodegen ([escodegen](http://github.com/Constellation/escodegen)) is\n[ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)\n(also popularly known as [JavaScript](http://en.wikipedia.org/wiki/JavaScript>JavaScript))\ncode generator from [Parser API](https://developer.mozilla.org/en/SpiderMonkey/Parser_API) AST.\nSee [online generator demo](http://constellation.github.com/escodegen/demo/index.html).\n\n\n### Install\n\nEscodegen can be used in a web browser:\n\n <script src="escodegen.browser.js"></script>\n\nescodegen.browser.js is found in tagged-revision. See Tags on GitHub.\n\nOr in a Node.js application via the package manager:\n\n npm install escodegen\n\n### Usage\n\nA simple example: the program\n\n escodegen.generate({\n type: \'BinaryExpression\',\n operator: \'+\',\n left: { type: \'Literal\', value: 40 },\n right: { type: \'Literal\', value: 2 }\n });\n\nproduces the string `\'40 + 2\'`\n\nSee the [API page](https://github.com/Constellation/escodegen/wiki/API) for\noptions. To run the tests, execute `npm test` in the root directory.\n\n### License\n\n#### Escodegen\n\nCopyright (C) 2012 [Yusuke Suzuki](http://github.com/Constellation)\n (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n#### source-map\n\nSourceNodeMocks has a limited interface of mozilla/source-map SourceNode implementations.\n\nCopyright (c) 2009-2011, Mozilla Foundation and contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the names of the Mozilla Foundation nor the names of project\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n',
12027 silly resolved readmeFilename: 'README.md',
12027 silly resolved bugs: { url: 'https://github.com/Constellation/escodegen/issues' },
12027 silly resolved _id: 'escodegen@0.0.28',
12027 silly resolved dist: { shasum: 'd8aa571ad91ae3a243fb9f85af7d886e3b374771' },
12027 silly resolved _from: 'escodegen@~0.0.15',
12027 silly resolved _resolved: 'https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz' } ]
12028 info install esprima@1.0.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
12029 info install clone@0.1.11 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
12030 info install astral@0.1.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
12031 info install astral-angular-annotate@0.0.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
12032 info install commander@1.1.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
12033 info install escodegen@0.0.28 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin
12034 info installOne esprima@1.0.4
12035 info installOne clone@0.1.11
12036 info installOne astral@0.1.0
12037 info installOne astral-angular-annotate@0.0.2
12038 info installOne commander@1.1.1
12039 info installOne escodegen@0.0.28
12040 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/esprima unbuild
12041 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/clone unbuild
12042 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral unbuild
12043 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral-angular-annotate unbuild
12044 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/commander unbuild
12045 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/escodegen unbuild
12046 verbose tar unpack /home/spike/.npm/esprima/1.0.4/package.tgz
12047 silly lockFile 3eb494f0-dules-ngmin-node-modules-esprima tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/esprima
12048 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/esprima /home/spike/.npm/3eb494f0-dules-ngmin-node-modules-esprima.lock
12049 silly lockFile fead29ec-ke-npm-esprima-1-0-4-package-tgz tar:///home/spike/.npm/esprima/1.0.4/package.tgz
12050 verbose lock tar:///home/spike/.npm/esprima/1.0.4/package.tgz /home/spike/.npm/fead29ec-ke-npm-esprima-1-0-4-package-tgz.lock
12051 verbose tar unpack /home/spike/.npm/clone/0.1.11/package.tgz
12052 silly lockFile af88d2c3-modules-ngmin-node-modules-clone tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/clone
12053 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/clone /home/spike/.npm/af88d2c3-modules-ngmin-node-modules-clone.lock
12054 silly lockFile 7601082c-ike-npm-clone-0-1-11-package-tgz tar:///home/spike/.npm/clone/0.1.11/package.tgz
12055 verbose lock tar:///home/spike/.npm/clone/0.1.11/package.tgz /home/spike/.npm/7601082c-ike-npm-clone-0-1-11-package-tgz.lock
12056 verbose tar unpack /home/spike/.npm/astral/0.1.0/package.tgz
12057 silly lockFile 5468964a-odules-ngmin-node-modules-astral tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral
12058 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral /home/spike/.npm/5468964a-odules-ngmin-node-modules-astral.lock
12059 silly lockFile f3d4211c-ike-npm-astral-0-1-0-package-tgz tar:///home/spike/.npm/astral/0.1.0/package.tgz
12060 verbose lock tar:///home/spike/.npm/astral/0.1.0/package.tgz /home/spike/.npm/f3d4211c-ike-npm-astral-0-1-0-package-tgz.lock
12061 verbose tar unpack /home/spike/.npm/astral-angular-annotate/0.0.2/package.tgz
12062 silly lockFile 0549d14f--modules-astral-angular-annotate tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral-angular-annotate
12063 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral-angular-annotate /home/spike/.npm/0549d14f--modules-astral-angular-annotate.lock
12064 silly lockFile cc2f6bbf-gular-annotate-0-0-2-package-tgz tar:///home/spike/.npm/astral-angular-annotate/0.0.2/package.tgz
12065 verbose lock tar:///home/spike/.npm/astral-angular-annotate/0.0.2/package.tgz /home/spike/.npm/cc2f6bbf-gular-annotate-0-0-2-package-tgz.lock
12066 verbose tar unpack /home/spike/.npm/commander/1.1.1/package.tgz
12067 silly lockFile 76e8e094-les-ngmin-node-modules-commander tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/commander
12068 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/commander /home/spike/.npm/76e8e094-les-ngmin-node-modules-commander.lock
12069 silly lockFile 6fd3c695--npm-commander-1-1-1-package-tgz tar:///home/spike/.npm/commander/1.1.1/package.tgz
12070 verbose lock tar:///home/spike/.npm/commander/1.1.1/package.tgz /home/spike/.npm/6fd3c695--npm-commander-1-1-1-package-tgz.lock
12071 verbose tar unpack /home/spike/.npm/escodegen/0.0.28/package.tgz
12072 silly lockFile d06c8d65-les-ngmin-node-modules-escodegen tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/escodegen
12073 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/escodegen /home/spike/.npm/d06c8d65-les-ngmin-node-modules-escodegen.lock
12074 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
12075 verbose lock tar:///home/spike/.npm/escodegen/0.0.28/package.tgz /home/spike/.npm/8023da9d-npm-escodegen-0-0-28-package-tgz.lock
12076 silly gunzTarPerm modes [ '755', '644' ]
12077 silly gunzTarPerm modes [ '755', '644' ]
12078 silly gunzTarPerm modes [ '755', '644' ]
12079 silly gunzTarPerm modes [ '755', '644' ]
12080 silly gunzTarPerm modes [ '755', '644' ]
12081 silly gunzTarPerm modes [ '755', '644' ]
12082 silly gunzTarPerm extractEntry package.json
12083 silly gunzTarPerm extractEntry package.json
12084 silly gunzTarPerm extractEntry package.json
12085 silly gunzTarPerm extractEntry package.json
12086 silly gunzTarPerm extractEntry package.json
12087 silly gunzTarPerm extractEntry README.md
12088 silly gunzTarPerm extractEntry esprima.js
12089 silly gunzTarPerm extractEntry .npmignore
12090 silly gunzTarPerm extractEntry README.md
12091 silly gunzTarPerm extractEntry README.md
12092 silly gunzTarPerm extractEntry index.js
12093 silly gunzTarPerm extractEntry README.md
12094 silly gunzTarPerm extractEntry annotate.js
12095 silly gunzTarPerm extractEntry package.json
12096 silly gunzTarPerm extractEntry README.md
12097 silly gunzTarPerm extractEntry Gruntfile.js
12098 silly gunzTarPerm extractEntry .npmignore
12099 silly gunzTarPerm extractEntry index.js
12100 silly gunzTarPerm extractEntry bin/esparse.js
12101 silly gunzTarPerm extractEntry lib/annotate-ast.js
12102 silly gunzTarPerm extractEntry lib/annotate-injectable.js
12103 silly gunzTarPerm extractEntry LICENSE
12104 silly gunzTarPerm extractEntry clone.js
12105 silly gunzTarPerm extractEntry escodegen.js
12106 silly gunzTarPerm extractEntry .jshintrc
12107 silly gunzTarPerm extractEntry LICENSE.BSD
12108 silly gunzTarPerm extractEntry LICENSE.source-map
12109 silly gunzTarPerm extractEntry bin/escodegen.js
12110 silly gunzTarPerm extractEntry bin/esgenerate.js
12111 silly gunzTarPerm extractEntry .travis.yml
12112 silly gunzTarPerm extractEntry test.js
12113 silly gunzTarPerm extractEntry .travis.yml
12114 silly gunzTarPerm extractEntry lib/deep-apply.js
12115 silly gunzTarPerm extractEntry lib/deep-compare.js
12116 silly gunzTarPerm extractEntry History.md
12117 silly gunzTarPerm extractEntry Makefile
12118 silly gunzTarPerm extractEntry bin/esvalidate.js
12119 silly gunzTarPerm extractEntry test/run.js
12120 silly gunzTarPerm extractEntry lib/mark-ast-modules.js
12121 silly gunzTarPerm extractEntry passes/annotator.js
12122 silly gunzTarPerm extractEntry passes/ddo.js
12123 silly gunzTarPerm extractEntry passes/mark.js
12124 silly gunzTarPerm extractEntry passes/pdo.js
12125 silly gunzTarPerm extractEntry passes/ref.js
12126 silly gunzTarPerm extractEntry passes/route.js
12127 silly gunzTarPerm extractEntry signatures/assign.js
12128 silly gunzTarPerm extractEntry signatures/decl.js
12129 silly gunzTarPerm extractEntry signatures/module.js
12130 silly gunzTarPerm extractEntry signatures/simple.js
12131 silly lockFile 5468964a-odules-ngmin-node-modules-astral tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral
12132 silly lockFile 5468964a-odules-ngmin-node-modules-astral tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral
12133 silly lockFile f3d4211c-ike-npm-astral-0-1-0-package-tgz tar:///home/spike/.npm/astral/0.1.0/package.tgz
12134 silly lockFile f3d4211c-ike-npm-astral-0-1-0-package-tgz tar:///home/spike/.npm/astral/0.1.0/package.tgz
12135 info preinstall astral@0.1.0
12136 verbose readDependencies using package.json deps
12137 verbose readDependencies using package.json deps
12138 silly resolved []
12139 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral
12140 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral
12141 verbose linkStuff [ false,
12141 verbose linkStuff false,
12141 verbose linkStuff false,
12141 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules' ]
12142 info linkStuff astral@0.1.0
12143 verbose linkBins astral@0.1.0
12144 verbose linkMans astral@0.1.0
12145 verbose rebuildBundles astral@0.1.0
12146 info install astral@0.1.0
12147 info postinstall astral@0.1.0
12148 silly gunzTarPerm extractEntry Readme.md
12149 silly lockFile af88d2c3-modules-ngmin-node-modules-clone tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/clone
12150 silly lockFile af88d2c3-modules-ngmin-node-modules-clone tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/clone
12151 silly lockFile 7601082c-ike-npm-clone-0-1-11-package-tgz tar:///home/spike/.npm/clone/0.1.11/package.tgz
12152 silly lockFile 7601082c-ike-npm-clone-0-1-11-package-tgz tar:///home/spike/.npm/clone/0.1.11/package.tgz
12153 info preinstall clone@0.1.11
12154 verbose readDependencies using package.json deps
12155 verbose readDependencies using package.json deps
12156 silly resolved []
12157 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/clone
12158 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/clone
12159 verbose linkStuff [ false,
12159 verbose linkStuff false,
12159 verbose linkStuff false,
12159 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules' ]
12160 info linkStuff clone@0.1.11
12161 verbose linkBins clone@0.1.11
12162 verbose linkMans clone@0.1.11
12163 verbose rebuildBundles clone@0.1.11
12164 info install clone@0.1.11
12165 info postinstall clone@0.1.11
12166 silly lockFile 76e8e094-les-ngmin-node-modules-commander tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/commander
12167 silly lockFile 76e8e094-les-ngmin-node-modules-commander tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/commander
12168 silly lockFile 6fd3c695--npm-commander-1-1-1-package-tgz tar:///home/spike/.npm/commander/1.1.1/package.tgz
12169 silly lockFile 6fd3c695--npm-commander-1-1-1-package-tgz tar:///home/spike/.npm/commander/1.1.1/package.tgz
12170 info preinstall commander@1.1.1
12171 verbose readDependencies using package.json deps
12172 verbose readDependencies using package.json deps
12173 verbose cache add [ 'keypress@0.1.x', null ]
12174 verbose cache add name=undefined spec="keypress@0.1.x" args=["keypress@0.1.x",null]
12175 verbose parsed url { protocol: null,
12175 verbose parsed url slashes: null,
12175 verbose parsed url auth: null,
12175 verbose parsed url host: null,
12175 verbose parsed url port: null,
12175 verbose parsed url hostname: null,
12175 verbose parsed url hash: null,
12175 verbose parsed url search: null,
12175 verbose parsed url query: null,
12175 verbose parsed url pathname: 'keypress@0.1.x',
12175 verbose parsed url path: 'keypress@0.1.x',
12175 verbose parsed url href: 'keypress@0.1.x' }
12176 verbose cache add name="keypress" spec="0.1.x" args=["keypress","0.1.x"]
12177 verbose parsed url { protocol: null,
12177 verbose parsed url slashes: null,
12177 verbose parsed url auth: null,
12177 verbose parsed url host: null,
12177 verbose parsed url port: null,
12177 verbose parsed url hostname: null,
12177 verbose parsed url hash: null,
12177 verbose parsed url search: null,
12177 verbose parsed url query: null,
12177 verbose parsed url pathname: '0.1.x',
12177 verbose parsed url path: '0.1.x',
12177 verbose parsed url href: '0.1.x' }
12178 verbose addNamed [ 'keypress', '0.1.x' ]
12179 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
12180 silly lockFile a3a73622-keypress-0-1-x keypress@0.1.x
12181 verbose lock keypress@0.1.x /home/spike/.npm/a3a73622-keypress-0-1-x.lock
12182 silly addNameRange { name: 'keypress', range: '>=0.1.0-0 <0.2.0-0', hasData: false }
12183 silly lockFile 0549d14f--modules-astral-angular-annotate tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral-angular-annotate
12184 silly lockFile 0549d14f--modules-astral-angular-annotate tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/astral-angular-annotate
12185 silly lockFile cc2f6bbf-gular-annotate-0-0-2-package-tgz tar:///home/spike/.npm/astral-angular-annotate/0.0.2/package.tgz
12186 silly lockFile cc2f6bbf-gular-annotate-0-0-2-package-tgz tar:///home/spike/.npm/astral-angular-annotate/0.0.2/package.tgz
12187 verbose url raw keypress
12188 verbose url resolving [ 'https://registry.npmjs.org/', './keypress' ]
12189 verbose url resolved https://registry.npmjs.org/keypress
12190 info trying registry request attempt 1 at 11:44:54
12191 verbose etag "ZU2AWLYGEBSRDNMY2BPQXH2A"
12192 http GET https://registry.npmjs.org/keypress
12193 info preinstall astral-angular-annotate@0.0.2
12194 http 200 https://registry.npmjs.org/formidable/1.0.14
12195 silly registry.get cb [ 200,
12195 silly registry.get { vary: 'Accept',
12195 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12195 silly registry.get etag: '"1WUXAUK8Z3HRZG6Q7L05YZKWB"',
12195 silly registry.get date: 'Mon, 16 Dec 2013 10:44:53 GMT',
12195 silly registry.get 'content-type': 'application/json',
12195 silly registry.get 'content-length': '14687' } ]
12196 verbose readDependencies using package.json deps
12197 verbose readDependencies using package.json deps
12198 silly lockFile d5dd65bf-formidable-formidable-1-0-14-tgz https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
12199 verbose lock https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz /home/spike/.npm/d5dd65bf-formidable-formidable-1-0-14-tgz.lock
12200 verbose addRemoteTarball [ 'https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz',
12200 verbose addRemoteTarball '2b3f4c411cbb5fdd695c44843e2a23514a43231a' ]
12201 info retry fetch attempt 1 at 11:44:54
12202 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190694105-0.48418749892152846/tmp.tgz
12203 http GET https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
12204 verbose cache add [ 'astral-pass@~0.1.0', null ]
12205 verbose cache add name=undefined spec="astral-pass@~0.1.0" args=["astral-pass@~0.1.0",null]
12206 verbose parsed url { protocol: null,
12206 verbose parsed url slashes: null,
12206 verbose parsed url auth: null,
12206 verbose parsed url host: null,
12206 verbose parsed url port: null,
12206 verbose parsed url hostname: null,
12206 verbose parsed url hash: null,
12206 verbose parsed url search: null,
12206 verbose parsed url query: null,
12206 verbose parsed url pathname: 'astral-pass@~0.1.0',
12206 verbose parsed url path: 'astral-pass@~0.1.0',
12206 verbose parsed url href: 'astral-pass@~0.1.0' }
12207 verbose cache add name="astral-pass" spec="~0.1.0" args=["astral-pass","~0.1.0"]
12208 verbose parsed url { protocol: null,
12208 verbose parsed url slashes: null,
12208 verbose parsed url auth: null,
12208 verbose parsed url host: null,
12208 verbose parsed url port: null,
12208 verbose parsed url hostname: null,
12208 verbose parsed url hash: null,
12208 verbose parsed url search: null,
12208 verbose parsed url query: null,
12208 verbose parsed url pathname: '~0.1.0',
12208 verbose parsed url path: '~0.1.0',
12208 verbose parsed url href: '~0.1.0' }
12209 verbose addNamed [ 'astral-pass', '~0.1.0' ]
12210 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
12211 silly lockFile c50a7879-astral-pass-0-1-0 astral-pass@~0.1.0
12212 verbose lock astral-pass@~0.1.0 /home/spike/.npm/c50a7879-astral-pass-0-1-0.lock
12213 silly addNameRange { name: 'astral-pass',
12213 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
12213 silly addNameRange hasData: false }
12214 verbose url raw astral-pass
12215 verbose url resolving [ 'https://registry.npmjs.org/', './astral-pass' ]
12216 verbose url resolved https://registry.npmjs.org/astral-pass
12217 info trying registry request attempt 1 at 11:44:54
12218 verbose etag "7FSYA3P7BNVCF58KANE3BUMBT"
12219 http GET https://registry.npmjs.org/astral-pass
12220 silly lockFile d06c8d65-les-ngmin-node-modules-escodegen tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/escodegen
12221 silly lockFile d06c8d65-les-ngmin-node-modules-escodegen tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/escodegen
12222 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
12223 silly lockFile 8023da9d-npm-escodegen-0-0-28-package-tgz tar:///home/spike/.npm/escodegen/0.0.28/package.tgz
12224 info preinstall escodegen@0.0.28
12225 verbose readDependencies using package.json deps
12226 verbose readDependencies using package.json deps
12227 silly gunzTarPerm extractEntry test/compat.js
12228 silly gunzTarPerm extractEntry test/test.js
12229 verbose cache add [ 'estraverse@~1.3.0', null ]
12230 verbose cache add name=undefined spec="estraverse@~1.3.0" args=["estraverse@~1.3.0",null]
12231 verbose parsed url { protocol: null,
12231 verbose parsed url slashes: null,
12231 verbose parsed url auth: null,
12231 verbose parsed url host: null,
12231 verbose parsed url port: null,
12231 verbose parsed url hostname: null,
12231 verbose parsed url hash: null,
12231 verbose parsed url search: null,
12231 verbose parsed url query: null,
12231 verbose parsed url pathname: 'estraverse@~1.3.0',
12231 verbose parsed url path: 'estraverse@~1.3.0',
12231 verbose parsed url href: 'estraverse@~1.3.0' }
12232 verbose cache add name="estraverse" spec="~1.3.0" args=["estraverse","~1.3.0"]
12233 verbose parsed url { protocol: null,
12233 verbose parsed url slashes: null,
12233 verbose parsed url auth: null,
12233 verbose parsed url host: null,
12233 verbose parsed url port: null,
12233 verbose parsed url hostname: null,
12233 verbose parsed url hash: null,
12233 verbose parsed url search: null,
12233 verbose parsed url query: null,
12233 verbose parsed url pathname: '~1.3.0',
12233 verbose parsed url path: '~1.3.0',
12233 verbose parsed url href: '~1.3.0' }
12234 verbose addNamed [ 'estraverse', '~1.3.0' ]
12235 verbose addNamed [ null, '>=1.3.0-0 <1.4.0-0' ]
12236 silly lockFile 1e71432b-estraverse-1-3-0 estraverse@~1.3.0
12237 verbose lock estraverse@~1.3.0 /home/spike/.npm/1e71432b-estraverse-1-3-0.lock
12238 verbose cache add [ 'source-map@>= 0.1.2', null ]
12239 verbose cache add name=undefined spec="source-map@>= 0.1.2" args=["source-map@>= 0.1.2",null]
12240 verbose parsed url { protocol: null,
12240 verbose parsed url slashes: null,
12240 verbose parsed url auth: null,
12240 verbose parsed url host: null,
12240 verbose parsed url port: null,
12240 verbose parsed url hostname: null,
12240 verbose parsed url hash: null,
12240 verbose parsed url search: null,
12240 verbose parsed url query: null,
12240 verbose parsed url pathname: 'source-map@%3E=%200.1.2',
12240 verbose parsed url path: 'source-map@%3E=%200.1.2',
12240 verbose parsed url href: 'source-map@%3E=%200.1.2' }
12241 verbose cache add name="source-map" spec=">= 0.1.2" args=["source-map",">= 0.1.2"]
12242 verbose parsed url { protocol: null,
12242 verbose parsed url slashes: null,
12242 verbose parsed url auth: null,
12242 verbose parsed url host: null,
12242 verbose parsed url port: null,
12242 verbose parsed url hostname: null,
12242 verbose parsed url hash: null,
12242 verbose parsed url search: null,
12242 verbose parsed url query: null,
12242 verbose parsed url pathname: '%3E=%200.1.2',
12242 verbose parsed url path: '%3E=%200.1.2',
12242 verbose parsed url href: '%3E=%200.1.2' }
12243 verbose addNamed [ 'source-map', '>= 0.1.2' ]
12244 verbose addNamed [ null, '>=0.1.2' ]
12245 silly lockFile aeafb391-source-map-0-1-2 source-map@>= 0.1.2
12246 verbose lock source-map@>= 0.1.2 /home/spike/.npm/aeafb391-source-map-0-1-2.lock
12247 silly addNameRange { name: 'estraverse',
12247 silly addNameRange range: '>=1.3.0-0 <1.4.0-0',
12247 silly addNameRange hasData: false }
12248 silly addNameRange { name: 'source-map', range: '>=0.1.2', hasData: false }
12249 verbose url raw estraverse
12250 verbose url resolving [ 'https://registry.npmjs.org/', './estraverse' ]
12251 verbose url resolved https://registry.npmjs.org/estraverse
12252 info trying registry request attempt 1 at 11:44:54
12253 verbose etag "3WH6IKVZRNEL3LEKOHVG4S2KE"
12254 http GET https://registry.npmjs.org/estraverse
12255 verbose url raw source-map
12256 verbose url resolving [ 'https://registry.npmjs.org/', './source-map' ]
12257 verbose url resolved https://registry.npmjs.org/source-map
12258 info trying registry request attempt 1 at 11:44:54
12259 verbose etag "7E1SNKADWHLBD34TA7832SUWA"
12260 http GET https://registry.npmjs.org/source-map
12261 silly gunzTarPerm extractEntry test/runner.js
12262 silly gunzTarPerm extractEntry test/reflect.js
12263 silly lockFile 3eb494f0-dules-ngmin-node-modules-esprima tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/esprima
12264 silly lockFile 3eb494f0-dules-ngmin-node-modules-esprima tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/esprima
12265 silly lockFile fead29ec-ke-npm-esprima-1-0-4-package-tgz tar:///home/spike/.npm/esprima/1.0.4/package.tgz
12266 silly lockFile fead29ec-ke-npm-esprima-1-0-4-package-tgz tar:///home/spike/.npm/esprima/1.0.4/package.tgz
12267 info preinstall esprima@1.0.4
12268 verbose readDependencies using package.json deps
12269 verbose readDependencies using package.json deps
12270 silly resolved []
12271 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/esprima
12272 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/esprima
12273 verbose linkStuff [ false,
12273 verbose linkStuff false,
12273 verbose linkStuff false,
12273 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules' ]
12274 info linkStuff esprima@1.0.4
12275 verbose linkBins esprima@1.0.4
12276 verbose link bins [ { esparse: './bin/esparse.js',
12276 verbose link bins esvalidate: './bin/esvalidate.js' },
12276 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt-ngmin/node_modules/ngmin/node_modules/.bin',
12276 verbose link bins false ]
12277 verbose linkMans esprima@1.0.4
12278 verbose rebuildBundles esprima@1.0.4
12279 info install esprima@1.0.4
12280 info postinstall esprima@1.0.4
12281 http 200 https://registry.npmjs.org/buffer-crc32/0.2.1
12282 silly registry.get cb [ 200,
12282 silly registry.get { vary: 'Accept',
12282 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12282 silly registry.get etag: '"14UMUM49Q1VYY19N68KAQMX7J"',
12282 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12282 silly registry.get 'content-type': 'application/json',
12282 silly registry.get 'content-length': '2483' } ]
12283 silly lockFile bc249dfa-fer-crc32-buffer-crc32-0-2-1-tgz https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz
12284 verbose lock https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz /home/spike/.npm/bc249dfa-fer-crc32-buffer-crc32-0-2-1-tgz.lock
12285 verbose addRemoteTarball [ 'https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz',
12285 verbose addRemoteTarball 'be3e5382fc02b6d6324956ac1af98aa98b08534c' ]
12286 info retry fetch attempt 1 at 11:44:54
12287 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190694379-0.8220154293812811/tmp.tgz
12288 http GET https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz
12289 http 200 https://registry.npmjs.org/send/0.1.1
12290 silly registry.get cb [ 200,
12290 silly registry.get { vary: 'Accept',
12290 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12290 silly registry.get etag: '"37E42NSH9RIOVV2N8Q1KM6DJ6"',
12290 silly registry.get date: 'Mon, 16 Dec 2013 10:44:53 GMT',
12290 silly registry.get 'content-type': 'application/json',
12290 silly registry.get 'content-length': '4697' } ]
12291 silly lockFile f12c24a6-ry-npmjs-org-send-send-0-1-1-tgz https://registry.npmjs.org/send/-/send-0.1.1.tgz
12292 verbose lock https://registry.npmjs.org/send/-/send-0.1.1.tgz /home/spike/.npm/f12c24a6-ry-npmjs-org-send-send-0-1-1-tgz.lock
12293 verbose addRemoteTarball [ 'https://registry.npmjs.org/send/-/send-0.1.1.tgz',
12293 verbose addRemoteTarball '0bcfcbd03def6e2d8612e1abf8f4895b450c60c8' ]
12294 info retry fetch attempt 1 at 11:44:54
12295 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190694390-0.5562782518099993/tmp.tgz
12296 http GET https://registry.npmjs.org/send/-/send-0.1.1.tgz
12297 http 200 https://registry.npmjs.org/read-package-json
12298 silly registry.get cb [ 200,
12298 silly registry.get { vary: 'Accept',
12298 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12298 silly registry.get etag: '"1ULC99OI7610BJ02L997EU5QN"',
12298 silly registry.get date: 'Mon, 16 Dec 2013 10:44:47 GMT',
12298 silly registry.get 'content-type': 'application/json',
12298 silly registry.get 'content-length': '237090' } ]
12299 http 200 https://registry.npmjs.org/fresh/0.1.0
12300 silly registry.get cb [ 200,
12300 silly registry.get { vary: 'Accept',
12300 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12300 silly registry.get etag: '"5BE63LKRKSHRCONTSNFSXWOHU"',
12300 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12300 silly registry.get 'content-type': 'application/json',
12300 silly registry.get 'content-length': '699' } ]
12301 http 200 https://registry.npmjs.org/pause/0.0.1
12302 silly registry.get cb [ 200,
12302 silly registry.get { vary: 'Accept',
12302 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12302 silly registry.get etag: '"E0TX0N67AE8DTMRMZ7R4YXMDB"',
12302 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12302 silly registry.get 'content-type': 'application/json',
12302 silly registry.get 'content-length': '453' } ]
12303 silly lockFile 0e5f2eb8--npmjs-org-fresh-fresh-0-1-0-tgz https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
12304 verbose lock https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz /home/spike/.npm/0e5f2eb8--npmjs-org-fresh-fresh-0-1-0-tgz.lock
12305 silly lockFile 51c6cd47--npmjs-org-pause-pause-0-0-1-tgz https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
12306 verbose lock https://registry.npmjs.org/pause/-/pause-0.0.1.tgz /home/spike/.npm/51c6cd47--npmjs-org-pause-pause-0-0-1-tgz.lock
12307 verbose addRemoteTarball [ 'https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz',
12307 verbose addRemoteTarball '03e4b0178424e4c2d5d19a54d8814cdc97934850' ]
12308 info retry fetch attempt 1 at 11:44:54
12309 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190694534-0.41627405351027846/tmp.tgz
12310 silly addNameRange number 2 { name: 'read-package-json',
12310 silly addNameRange range: '>=0.1.8-0 <0.2.0-0',
12310 silly addNameRange hasData: true }
12311 silly addNameRange versions [ 'read-package-json',
12311 silly addNameRange [ '0.0.1',
12311 silly addNameRange '0.0.2',
12311 silly addNameRange '0.0.3',
12311 silly addNameRange '0.0.4',
12311 silly addNameRange '0.0.5',
12311 silly addNameRange '0.0.6',
12311 silly addNameRange '0.0.7',
12311 silly addNameRange '0.0.8',
12311 silly addNameRange '0.0.9',
12311 silly addNameRange '0.0.10',
12311 silly addNameRange '0.0.11',
12311 silly addNameRange '0.0.12',
12311 silly addNameRange '0.1.0',
12311 silly addNameRange '0.1.1',
12311 silly addNameRange '0.1.2',
12311 silly addNameRange '0.1.3',
12311 silly addNameRange '0.1.4',
12311 silly addNameRange '0.1.5',
12311 silly addNameRange '0.1.6',
12311 silly addNameRange '0.1.7',
12311 silly addNameRange '0.1.8',
12311 silly addNameRange '0.1.9',
12311 silly addNameRange '0.1.10',
12311 silly addNameRange '0.1.11',
12311 silly addNameRange '0.1.12',
12311 silly addNameRange '0.1.13',
12311 silly addNameRange '0.2.0',
12311 silly addNameRange '0.2.1',
12311 silly addNameRange '0.2.2',
12311 silly addNameRange '0.3.0',
12311 silly addNameRange '0.3.1',
12311 silly addNameRange '0.4.0',
12311 silly addNameRange '0.4.1',
12311 silly addNameRange '1.0.0-pre',
12311 silly addNameRange '1.0.0-rc.0',
12311 silly addNameRange '1.1.0',
12311 silly addNameRange '1.1.1',
12311 silly addNameRange '1.1.2',
12311 silly addNameRange '1.1.3',
12311 silly addNameRange '1.1.4' ] ]
12312 verbose addNamed [ 'read-package-json', '0.1.13' ]
12313 verbose addNamed [ '0.1.13', '0.1.13' ]
12314 silly lockFile 3d910bb0-read-package-json-0-1-13 read-package-json@0.1.13
12315 verbose lock read-package-json@0.1.13 /home/spike/.npm/3d910bb0-read-package-json-0-1-13.lock
12316 verbose addRemoteTarball [ 'https://registry.npmjs.org/pause/-/pause-0.0.1.tgz',
12316 verbose addRemoteTarball '1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d' ]
12317 http GET https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
12318 info retry fetch attempt 1 at 11:44:54
12319 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190694535-0.15011942805722356/tmp.tgz
12320 http GET https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
12321 http 200 https://registry.npmjs.org/bytes/0.2.0
12322 silly registry.get cb [ 200,
12322 silly registry.get { vary: 'Accept',
12322 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
12322 silly registry.get etag: '"AUGIDC5RXQUTSNIHSS32RFB3N"',
12322 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12322 silly registry.get 'content-type': 'application/json',
12322 silly registry.get 'content-length': '2064' } ]
12323 silly lockFile e8d954bc--npmjs-org-bytes-bytes-0-2-0-tgz https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz
12324 verbose lock https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz /home/spike/.npm/e8d954bc--npmjs-org-bytes-bytes-0-2-0-tgz.lock
12325 verbose addRemoteTarball [ 'https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz',
12325 verbose addRemoteTarball 'aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0' ]
12326 info retry fetch attempt 1 at 11:44:54
12327 verbose fetch to= /home/spike/tmp/npm-28710-_zgXwRNE/1387190694544-0.4184010326862335/tmp.tgz
12328 http GET https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz
12329 silly lockFile 3d910bb0-read-package-json-0-1-13 read-package-json@0.1.13
12330 silly lockFile 3d910bb0-read-package-json-0-1-13 read-package-json@0.1.13
12331 silly lockFile b3dc094e-read-package-json-0-1-8 read-package-json@~0.1.8
12332 silly lockFile b3dc094e-read-package-json-0-1-8 read-package-json@~0.1.8
12333 silly resolved [ { name: 'lodash',
12333 silly resolved version: '1.0.1',
12333 silly resolved description: 'An alternative to Underscore.js, delivering consistency, customization, performance, and extra features.',
12333 silly resolved homepage: 'http://lodash.com',
12333 silly resolved main: './dist/lodash',
12333 silly resolved keywords:
12333 silly resolved [ 'browser',
12333 silly resolved 'client',
12333 silly resolved 'functional',
12333 silly resolved 'performance',
12333 silly resolved 'server',
12333 silly resolved 'speed',
12333 silly resolved 'util' ],
12333 silly resolved licenses: [ [Object] ],
12333 silly resolved author:
12333 silly resolved { name: 'John-David Dalton',
12333 silly resolved email: 'john.david.dalton@gmail.com',
12333 silly resolved url: 'http://allyoucanleet.com/' },
12333 silly resolved bugs: { url: 'https://github.com/bestiejs/lodash/issues' },
12333 silly resolved repository: { type: 'git', url: 'https://github.com/bestiejs/lodash.git' },
12333 silly resolved bin: { lodash: './build.js' },
12333 silly resolved directories: { doc: './doc', test: './test' },
12333 silly resolved engines: [ 'node', 'rhino' ],
12333 silly resolved jam: { main: './lodash.js' },
12333 silly resolved scripts:
12333 silly resolved { build: 'node ./build.js',
12333 silly resolved test: 'node ./test/test.js ./dist/lodash.js && node ./test/test.js ./dist/lodash.min.js && node ./test/test-build.js' },
12333 silly resolved readme: '# Lo-Dash <sup>v1.0.1</sup>\n[![build status](https://secure.travis-ci.org/bestiejs/lodash.png)](http://travis-ci.org/bestiejs/lodash)\n\nAn alternative to Underscore.js, delivering consistency, [customization](https://github.com/bestiejs/lodash#custom-builds), [performance](http://lodash.com/benchmarks), and [extra features](https://github.com/bestiejs/lodash#features).\n\n## Download\n\n* Lo-Dash builds (for modern environments):<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.js) and\n[Production](https://raw.github.com/bestiejs/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/bestiejs/lodash/v1.0.1/dist/lodash.compat.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.compat.min.js)\n\n* Underscore compatibility builds:<br>\n[Development](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.js) and\n[Production](https://raw.github.com/bestiejs/lodash/v1.0.1/dist/lodash.underscore.min.js)\n\n* CDN copies of ≤ v1.0.1s 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](https://github.com/bestiejs/lodash#custom-builds) with only the features you need\n\n## Dive in\n\nWeve 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/bestiejs/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-Dashs origin and why its a better utility belt](https://vimeo.com/44154600)\n - [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n - [Lo-Dashs 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 objects own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an objects 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## Custom builds\n\nCustom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need.\nTo top it off, we handle all method dependency and alias mapping for you.\n\n * Backbone builds, with only methods required by Backbone, may be created using the `backbone` modifier argument.\n```bash\nlodash backbone\n```\n\n * CSP builds, supporting default [Content Security Policy](https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html) restrictions, may be created using the `csp` modifier argument.\n The `csp` modifier is an alais of the `mobile` modifier. Lo-Dash may be used in Chrome extensions by using either the `csp`, `mobile`, or `underscore` build and using precompiled templates, or loading Lo-Dash in a [sandbox](http://developer.chrome.com/stable/extensions/sandboxingEval.html).\n```bash\nlodash csp\n```\n\n * Legacy builds, tailored for older environments without [ES5 support](http://es5.github.com/), may be created using the `legacy` modifier argument.\n```bash\nlodash legacy\n```\n\n * Modern builds, tailored for newer environments with ES5 support, may be created using the `modern` modifier argument.\n```bash\nlodash modern\n```\n\n * Mobile builds, without method compilation and most bug fixes for old browsers, may be created using the `mobile` modifier argument.\n```bash\nlodash mobile\n```\n\n * Strict builds, with `_.bindAll`, `_.defaults`, and `_.extend` in [strict mode](http://es5.github.com/#C), may be created using the `strict` modifier argument.\n```bash\nlodash strict\n```\n\n * Underscore builds, tailored for projects already using Underscore, may be created using the `underscore` modifier argument.\n```bash\nlodash underscore\n```\n\nCustom builds may be created using the following commands:\n\n * Use the `category` argument to pass comma separated categories of methods to include in the build.<br>\n Valid categories (case-insensitive) are *“arrays”*, *“chaining”*, *“collections”*, *“functions”*, *“objects”*, and *“utilities”*.\n```bash\nlodash category=collections,functions\nlodash category="collections, functions"\n```\n\n * Use the `exports` argument to pass comma separated names of ways to export the `LoDash` function.<br>\n Valid exports are *“amd”*, *“commonjs”*, *“global”*, *“node”*, and *“none”*.\n```bash\nlodash exports=amd,commonjs,node\nlodash exports="amd, commonjs, node"\n```\n\n * Use the `iife` argument to specify code to replace the immediately-invoked function expression that wraps Lo-Dash.\n```bash\nlodash iife="!function(window,undefined){%output%}(this)"\n```\n\n * Use the `include` argument to pass comma separated method/category names to include in the build.\n```bash\nlodash include=each,filter,map\nlodash include="each, filter, map"\n```\n\n * Use the `minus` argument to pass comma separated method/category names to remove from those included in the build.\n```bash\nlodash underscore minus=result,shuffle\nlodash underscore minus="result, shuffle"\n```\n\n * Use the `plus` argument to pass comma separated method/category names to add to those included in the build.\n```bash\nlodash backbone plus=random,template\nlodash backbone plus="random, template"\n```\n\n * Use the `template` argument to pass the file path pattern used to match template files to precompile.\n```bash\nlodash template="./*.jst"\n```\n\n * Use the `settings` argument to pass the template settings used when precompiling templates.\n```bash\nlodash settings="{interpolate:/\\{\\{([\\s\\S]+?)\\}\\}/g}"\n```\n\n * Use the `moduleId` argument to specify the AMD module ID of Lo-Dash, which defaults to “lodash”, used by precompiled templates.\n```bash\nlodash moduleId="underscore"\n```\n\nAll arguments, except `legacy` with `csp`, `mobile`, `modern`, or `underscore`, may be combined.<br>\nUnless specified by `-o` or `--output`, all files created are saved to the current working directory.\n\nThe following options are also supported:\n\n * `-c`, `--stdout` ......... Write output to standard output\n * `-d`, `--debug` ........... Write only the non-minified development output\n * `-h`, `--help` ............. Display help information\n * `-m`, `--minify` ......... Write only the minified production output\n * `-o`, `--output` ......... Write output to a given path/filename\n * `-p`, `--source-map` .. Generate a source map for the minified output, using an optional source map URL\n * `-s`, `--silent` ......... Skip status updates normally logged to the console\n * `-V`, `--version` ....... Output current version of Lo-Dash\n\nThe `lodash` command-line utility is available when Lo-Dash is installed as a global package (i.e. `npm install -g lodash`).\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 projects 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/bestiejs/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the 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* [John-David Dalton](http://allyoucanleet.com/)\n [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter")\n\n## Contributors\n\n* [Kit Cambridge](http://kitcambridge.github.com/)\n [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter")\n* [Mathias Bynens](http://mathiasbynens.be/)\n [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter")\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved _id: 'lodash@1.0.1',
12333 silly resolved _from: 'lodash@~1.0.1' },
12333 silly resolved { name: 'rimraf',
12333 silly resolved version: '2.0.3',
12333 silly resolved main: 'rimraf.js',
12333 silly resolved description: 'A deep deletion module for node (like `rm -rf`)',
12333 silly resolved author:
12333 silly resolved { name: 'Isaac Z. Schlueter',
12333 silly resolved email: 'i@izs.me',
12333 silly resolved url: 'http://blog.izs.me/' },
12333 silly resolved license:
12333 silly resolved { type: 'MIT',
12333 silly resolved url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE' },
12333 silly resolved optionalDependencies: { 'graceful-fs': '~1.1' },
12333 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/rimraf.git' },
12333 silly resolved scripts: { test: 'cd test && bash run.sh' },
12333 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object] ],
12333 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',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/rimraf/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/rimraf',
12333 silly resolved dependencies: { 'graceful-fs': '~1.1' },
12333 silly resolved _id: 'rimraf@2.0.3',
12333 silly resolved _from: 'rimraf@~2.0.3' },
12333 silly resolved { name: 'abbrev',
12333 silly resolved version: '1.0.4',
12333 silly resolved description: 'Like ruby\'s abbrev module, but in js',
12333 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
12333 silly resolved main: './lib/abbrev.js',
12333 silly resolved scripts: { test: 'node lib/abbrev.js' },
12333 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/abbrev-js' },
12333 silly resolved license:
12333 silly resolved { type: 'MIT',
12333 silly resolved url: 'https://github.com/isaacs/abbrev-js/raw/master/LICENSE' },
12333 silly resolved readme: '# abbrev-js\n\nJust like [ruby\'s Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n var abbrev = require("abbrev");\n abbrev("foo", "fool", "folding", "flop");\n \n // returns:\n { fl: \'flop\'\n , flo: \'flop\'\n , flop: \'flop\'\n , fol: \'folding\'\n , fold: \'folding\'\n , foldi: \'folding\'\n , foldin: \'folding\'\n , folding: \'folding\'\n , foo: \'foo\'\n , fool: \'fool\'\n }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/abbrev-js/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/abbrev-js',
12333 silly resolved _id: 'abbrev@1.0.4',
12333 silly resolved _from: 'abbrev@1' },
12333 silly resolved { name: 'async',
12333 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
12333 silly resolved main: './lib/async',
12333 silly resolved author: { name: 'Caolan McMahon' },
12333 silly resolved version: '0.2.9',
12333 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
12333 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
12333 silly resolved licenses: [ [Object] ],
12333 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
12333 silly resolved jam: { main: 'lib/async.js', include: [Object] },
12333 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
12333 silly resolved readme: '# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n\nasync.parallel([\n function(){ ... },\n function(){ ... }\n], callback);\n\nasync.series([\n function(){ ... },\n function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn\'t working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n squareExponent: 2,\n square: function(number, callback){ \n var result = Math.pow(number, this.squareExponent);\n setTimeout(function(){\n callback(null, result);\n }, 200);\n }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n // result is [NaN, NaN, NaN]\n // This fails because the `this.squareExponent` expression in the square\n // function is not evaluated in the context of AsyncSquaringLibrary, and is\n // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n // result is [1, 4, 9]\n // With the help of bind we can attach a context to the iterator before\n // passing it to async. Now the square function will be executed in its \n // \'home\' AsyncSquaringLibrary context and the value of `this.squareExponent`\n // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it\'s been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type="text/javascript" src="async.js"></script>\n<script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [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* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name="forEach" />\n<a name="each" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="forEachSeries" />\n<a name="eachSeries" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name="forEachLimit" />\n<a name="eachLimit" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="map" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="mapSeries" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name="mapLimit" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it\'s probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name="reduceRight" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name="detectSeries" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name="sortBy" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy([\'file1\',\'file2\',\'file3\'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n<a name="some" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name="every" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name="concat" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat([\'dir1\',\'dir2\',\'dir3\'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, \'one\');\n },\n function(callback){\n // do some more stuff ...\n callback(null, \'two\');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to [\'one\', \'two\']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, \'one\');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, \'two\');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal [\'one\',\'two\'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of "limit" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first "limit" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name="whilst" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n<a name="doWhilst" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name="until" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name="doUntil" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name="forever" />\n### forever(fn, callback)\n\nCalls the asynchronous function \'fn\' repeatedly, in series, indefinitely.\nIf an error is passed to fn\'s callback then \'callback\' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task\'s callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n], function (err, result) {\n // result now equals \'done\' \n});\n```\n\n---------------------------------------\n<a name="compose" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n<a name="applyEach" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], \'bucket\', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n<a name="applyEachSeries" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name="queue" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task\'s callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log(\'all items have been processed\');\n}\n\n// add some items to the queue\n\nq.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\nq.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n```\n\n---------------------------------------\n\n<a name="cargo" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i<tasks.length; i++){\n console.log(\'hello \' + tasks[i].name);\n }\n callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\ncargo.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\ncargo.push({name: \'baz\'}, function (err) {\n console.log(\'finished processing baz\');\n});\n```\n\n---------------------------------------\n\n<a name="auto" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, \'data.txt\', \'utf-8\');\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile(\'data.txt\', \'utf-8\', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile(\'data.txt\', \'utf-8\', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function\'s execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: [\'get_data\', \'make_folder\', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: [\'write_file\', function(callback, results){\n // once the file is written let\'s email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let\'s email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It\'s also possible to\n\'peek\' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n]);\n\nnode> var iterator2 = iterator();\n\'one\'\nnode> var iterator3 = iterator2();\n\'two\'\nnode> iterator3();\n\'three\'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n\'three\'\n```\n\n---------------------------------------\n\n<a name="apply" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, \'testfile1\', \'test1\'),\n async.apply(fs.writeFile, \'testfile2\', \'test2\'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n }\n]);\n```\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, \'one\');\nnode> fn(\'two\', \'three\');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name="nextTick" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two\']\n});\ncall_order.push(\'one\')\n```\n\n<a name="times" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: \'user\' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n<a name="timesSeries" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name="memoize" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn(\'some name\', function () {\n // callback\n});\n```\n\n<a name="unmemoize" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name="log" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, \'world\');\n\'hello world\'\n```\n\n---------------------------------------\n\n<a name="dir" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, \'world\');\n{hello: \'world\'}\n```\n\n---------------------------------------\n\n<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved homepage: 'https://github.com/caolan/async',
12333 silly resolved _id: 'async@0.2.9',
12333 silly resolved _from: 'async@~0.2.6' },
12333 silly resolved { name: 'colors',
12333 silly resolved description: 'get colors in your node.js console like what',
12333 silly resolved version: '0.6.2',
12333 silly resolved author: { name: 'Marak Squires' },
12333 silly resolved homepage: 'https://github.com/Marak/colors.js',
12333 silly resolved bugs: { url: 'https://github.com/Marak/colors.js/issues' },
12333 silly resolved keywords: [ 'ansi', 'terminal', 'colors' ],
12333 silly resolved repository: { type: 'git', url: 'http://github.com/Marak/colors.js.git' },
12333 silly resolved engines: { node: '>=0.1.90' },
12333 silly resolved main: 'colors',
12333 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',
12333 silly resolved readmeFilename: 'ReadMe.md',
12333 silly resolved _id: 'colors@0.6.2',
12333 silly resolved _from: 'colors@~0.6.0',
12333 silly resolved scripts: {} },
12333 silly resolved { author:
12333 silly resolved { name: 'Isaac Z. Schlueter',
12333 silly resolved email: 'i@izs.me',
12333 silly resolved url: 'http://blog.izs.me/' },
12333 silly resolved name: 'fstream',
12333 silly resolved description: 'Advanced file system stream things',
12333 silly resolved version: '0.1.25',
12333 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/fstream.git' },
12333 silly resolved main: 'fstream.js',
12333 silly resolved engines: { node: '>=0.6' },
12333 silly resolved dependencies:
12333 silly resolved { rimraf: '2',
12333 silly resolved mkdirp: '0.3',
12333 silly resolved 'graceful-fs': '~2.0.0',
12333 silly resolved inherits: '~2.0.0' },
12333 silly resolved devDependencies: { tap: '' },
12333 silly resolved scripts: { test: 'tap examples/*.js' },
12333 silly resolved license: 'BSD',
12333 silly resolved readme: 'Like FS streams, but with stat on them, and supporting directories and\nsymbolic links, as well as normal files. Also, you can use this to set\nthe stats on a file, even if you don\'t change its contents, or to create\na symlink, etc.\n\nSo, for example, you can "write" a directory, and it\'ll call `mkdir`. You\ncan specify a uid and gid, and it\'ll call `chown`. You can specify a\n`mtime` and `atime`, and it\'ll call `utimes`. You can call it a symlink\nand provide a `linkpath` and it\'ll call `symlink`.\n\nNote that it won\'t automatically resolve symbolic links. So, if you\ncall `fstream.Reader(\'/some/symlink\')` then you\'ll get an object\nthat stats and then ends immediately (since it has no data). To follow\nsymbolic links, do this: `fstream.Reader({path:\'/some/symlink\', follow:\ntrue })`.\n\nThere are various checks to make sure that the bytes emitted are the\nsame as the intended size, if the size is set.\n\n## Examples\n\n```javascript\nfstream\n .Writer({ path: "path/to/file"\n , mode: 0755\n , size: 6\n })\n .write("hello\\n")\n .end()\n```\n\nThis will create the directories if they\'re missing, and then write\n`hello\\n` into the file, chmod it to 0755, and assert that 6 bytes have\nbeen written when it\'s done.\n\n```javascript\nfstream\n .Writer({ path: "path/to/file"\n , mode: 0755\n , size: 6\n , flags: "a"\n })\n .write("hello\\n")\n .end()\n```\n\nYou can pass flags in, if you want to append to a file.\n\n```javascript\nfstream\n .Writer({ path: "path/to/symlink"\n , linkpath: "./file"\n , SymbolicLink: true\n , mode: "0755" // octal strings supported\n })\n .end()\n```\n\nIf isSymbolicLink is a function, it\'ll be called, and if it returns\ntrue, then it\'ll treat it as a symlink. If it\'s not a function, then\nany truish value will make a symlink, or you can set `type:\n\'SymbolicLink\'`, which does the same thing.\n\nNote that the linkpath is relative to the symbolic link location, not\nthe parent dir or cwd.\n\n```javascript\nfstream\n .Reader("path/to/dir")\n .pipe(fstream.Writer("path/to/other/dir"))\n```\n\nThis will do like `cp -Rp path/to/dir path/to/other/dir`. If the other\ndir exists and isn\'t a directory, then it\'ll emit an error. It\'ll also\nset the uid, gid, mode, etc. to be identical. In this way, it\'s more\nlike `rsync -a` than simply a copy.\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/fstream/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/fstream',
12333 silly resolved _id: 'fstream@0.1.25',
12333 silly resolved _from: 'fstream@~0.1.19' },
12333 silly resolved { name: 'archy',
12333 silly resolved version: '0.0.2',
12333 silly resolved description: 'render nested hierarchies `npm ls` style with unicode pipes',
12333 silly resolved main: 'index.js',
12333 silly resolved directories: { lib: '.', example: 'example', test: 'test' },
12333 silly resolved devDependencies: { tap: '~0.2.3' },
12333 silly resolved scripts: { test: 'tap test' },
12333 silly resolved repository:
12333 silly resolved { type: 'git',
12333 silly resolved url: 'http://github.com/substack/node-archy.git' },
12333 silly resolved keywords: [ 'hierarchy', 'npm ls', 'unicode', 'pretty', 'print' ],
12333 silly resolved author:
12333 silly resolved { name: 'James Halliday',
12333 silly resolved email: 'mail@substack.net',
12333 silly resolved url: 'http://substack.net' },
12333 silly resolved license: 'MIT/X11',
12333 silly resolved engine: { node: '>=0.4' },
12333 silly resolved readme: 'archy\n=====\n\nRender nested hierarchies `npm ls` style with unicode pipes.\n\n[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy)\n\nexample\n=======\n\n``` js\nvar archy = require(\'archy\');\nvar s = archy({\n label : \'beep\',\n nodes : [\n \'ity\',\n {\n label : \'boop\',\n nodes : [\n {\n label : \'o_O\',\n nodes : [\n {\n label : \'oh\',\n nodes : [ \'hello\', \'puny\' ]\n },\n \'human\'\n ]\n },\n \'party\\ntime!\'\n ]\n }\n ]\n});\nconsole.log(s);\n```\n\noutput\n\n```\nbeep\n├── ity\n└─┬ boop\n ├─┬ o_O\n │ ├─┬ oh\n │ │ ├── hello\n │ │ └── puny\n │ └── human\n └── party\n time!\n```\n\nmethods\n=======\n\nvar archy = require(\'archy\')\n\narchy(obj, prefix=\'\', opts={})\n------------------------------\n\nReturn a string representation of `obj` with unicode pipe characters like how\n`npm ls` looks.\n\n`obj` should be a tree of nested objects with `\'label\'` and `\'nodes\'` fields.\n`\'label\'` is a string of text to display at a node level and `\'nodes\'` is an\narray of the descendents of the current node.\n\nIf a node is a string, that string will be used as the `\'label\'` and an empty\narray of `\'nodes\'` will be used.\n\n`prefix` gets prepended to all the lines and is used by the algorithm to\nrecursively update.\n\nIf `\'label\'` has newlines they will be indented at the present indentation level\nwith the current prefix.\n\nTo disable unicode results in favor of all-ansi output set `opts.unicode` to\n`false`.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install archy\n```\n\nlicense\n=======\n\nMIT/X11\n',
12333 silly resolved readmeFilename: 'README.markdown',
12333 silly resolved bugs: { url: 'https://github.com/substack/node-archy/issues' },
12333 silly resolved homepage: 'https://github.com/substack/node-archy',
12333 silly resolved _id: 'archy@0.0.2',
12333 silly resolved _from: 'archy@~0.0.2' },
12333 silly resolved { name: 'mkdirp',
12333 silly resolved description: 'Recursively mkdir, like `mkdir -p`',
12333 silly resolved version: '0.3.5',
12333 silly resolved author:
12333 silly resolved { name: 'James Halliday',
12333 silly resolved email: 'mail@substack.net',
12333 silly resolved url: 'http://substack.net' },
12333 silly resolved main: './index',
12333 silly resolved keywords: [ 'mkdir', 'directory' ],
12333 silly resolved repository:
12333 silly resolved { type: 'git',
12333 silly resolved url: 'http://github.com/substack/node-mkdirp.git' },
12333 silly resolved scripts: { test: 'tap test/*.js' },
12333 silly resolved devDependencies: { tap: '~0.4.0' },
12333 silly resolved license: 'MIT',
12333 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',
12333 silly resolved readmeFilename: 'readme.markdown',
12333 silly resolved bugs: { url: 'https://github.com/substack/node-mkdirp/issues' },
12333 silly resolved homepage: 'https://github.com/substack/node-mkdirp',
12333 silly resolved _id: 'mkdirp@0.3.5',
12333 silly resolved _from: 'mkdirp@~0.3.4' },
12333 silly resolved { author:
12333 silly resolved { name: 'Isaac Z. Schlueter',
12333 silly resolved email: 'i@izs.me',
12333 silly resolved url: 'http://blog.izs.me/' },
12333 silly resolved name: 'glob',
12333 silly resolved description: 'a little globber',
12333 silly resolved version: '3.1.21',
12333 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-glob.git' },
12333 silly resolved main: 'glob.js',
12333 silly resolved engines: { node: '*' },
12333 silly resolved dependencies: { minimatch: '~0.2.11', 'graceful-fs': '~1.2.0', inherits: '1' },
12333 silly resolved devDependencies: { tap: '~0.4.0', mkdirp: '0', rimraf: '1' },
12333 silly resolved scripts: { test: 'tap test/*.js' },
12333 silly resolved license: 'BSD',
12333 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',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/node-glob/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/node-glob',
12333 silly resolved _id: 'glob@3.1.21',
12333 silly resolved _from: 'glob@~3.1.14' },
12333 silly resolved { name: 'nopt',
12333 silly resolved version: '2.0.0',
12333 silly resolved description: 'Option parsing for Node, supporting types, shorthands, etc. Used by npm.',
12333 silly resolved author:
12333 silly resolved { name: 'Isaac Z. Schlueter',
12333 silly resolved email: 'i@izs.me',
12333 silly resolved url: 'http://blog.izs.me/' },
12333 silly resolved main: 'lib/nopt.js',
12333 silly resolved scripts: { test: 'node lib/nopt.js' },
12333 silly resolved repository: { type: 'git', url: 'http://github.com/isaacs/nopt' },
12333 silly resolved bin: { nopt: './bin/nopt.js' },
12333 silly resolved license:
12333 silly resolved { type: 'MIT',
12333 silly resolved url: 'https://github.com/isaacs/nopt/raw/master/LICENSE' },
12333 silly resolved dependencies: { abbrev: '1' },
12333 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. When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ "foolhardyelephants" : Boolean\n, "pileofmonkeys" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ "s" : ["--loglevel", "silent"]\n, "g" : "--global"\n, "f" : "--force"\n, "p" : "--parseable"\n, "l" : "--long"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat\'s usually not very useful to you. So they\'re sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you\'d like to slice off the start of\nthe list.\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/nopt/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/nopt',
12333 silly resolved _id: 'nopt@2.0.0',
12333 silly resolved _from: 'nopt@~2.0.0' },
12333 silly resolved { name: 'promptly',
12333 silly resolved version: '0.1.0',
12333 silly resolved description: 'Simple command line prompting utility',
12333 silly resolved main: 'index.js',
12333 silly resolved dependencies: { read: '~1.0.4' },
12333 silly resolved devDependencies: { mocha: '~1.8.1', async: '~0.1.22', 'expect.js': '~0.2.0' },
12333 silly resolved scripts: { test: 'mocha -R spec' },
12333 silly resolved repository:
12333 silly resolved { type: 'git',
12333 silly resolved url: 'git://github.com/IndigoUnited/node-promptly' },
12333 silly resolved bugs: { url: 'http://github.com/IndigoUnited/node-promptly/issues' },
12333 silly resolved keywords: [ 'prompt', 'choose', 'choice', 'cli', 'command', 'line' ],
12333 silly resolved author:
12333 silly resolved { name: 'IndigoUnited',
12333 silly resolved email: 'hello@indigounited.com',
12333 silly resolved url: 'http://indigounited.com' },
12333 silly resolved license: 'MIT',
12333 silly resolved readme: '# promptly #\n---\n\n[![Build Status](https://secure.travis-ci.org/IndigoUnited/node-promptly.png)](http://travis-ci.org/IndigoUnited/node-promptly.png)\n\nSimple command line prompting utility.\n\n## Installation ##\n\n`$ npm install promptly`\n\n\n## API ##\n\n\nNote that the `options` argument is optional for all the commands.\n\n\n### .prompt(message, opts, fn) ###\n\nPrompts for a value, printing the `message` and waiting for the input. \nWhen done, calls `fn` with `error` and `value`.\n\nDefault options:\n```js\n{\n // The default value. If not supplied, the input is mandatory\n \'default\': null,\n // Automatically trim the input\n \'trim\': true,\n // A validator or an array of validators.\n \'validator\': null,\n // Automatically retry if a validator fails\n \'retry\': true,\n // Do not print what the user types\n \'silent\': false,\n // Input and output streams to read and write to\n \'input\': process.stdin,\n \'output\': process.stdout\n}\n```\n\nThe validators have two purposes:\n```js\nfunction (value) {\n // Validation example, throwing an error when invalid\n if (value.length !== 2) {\n throw new Error(\'Length must be 2\');\n }\n\n // Parse the value, modifying it\n return value.replace(\'aa\', \'bb\');\n}\n```\n\nExample usages\n\nAsk for a name:\n```js\npromptly.prompt(\'Name: \', function (err, value) {\n // err is always null in this case, because no validators are set\n console.log(value);\n});\n```\n\nAsk for a name with a constraint (non-empty value and length > 2):\n\n```js\nvar validator = function (value) {\n if (value.length < 2) {\n throw new Error(\'Min length of 2\');\n }\n\n return value;\n};\n\npromptly.prompt(\'Name: \', { validator: validator }, function (err, value) {\n // Since retry is true by default, err is always null\n // because promptly will be prompting for a name until it validates\n // Between each prompt, the error message from the validator will be printed\n console.log(\'Name is:\', value);\n});\n```\n\nSame as above but do not retry automatically:\n\n```js\nvar validator = function (value) {\n if (value.length < 2) {\n throw new Error(\'Min length of 2\');\n }\n\n return value;\n};\n\npromptly.prompt(\'Name: \', { validator: validator, retry: false }, function (err, value) {\n if (err) {\n console.error(\'Invalid name:\', e.message);\n // Manually call retry\n // The passed error has a retry method to easily prompt again.\n return err.retry();\n }\n\n console.log(\'Name is:\', value);\n});\n```\n\n### .confirm(message, opts, fn) ###\n\nAsk the user to confirm something. \nCalls `fn` with `error` and `value` (true or false).\n\nTruthy values are: `y`, `yes` and `1`. \nFalsy values are `n`, `no`, and `0`. \nComparison is made in a case insensitive way.\n\nExample usage:\n\n```js\npromptly.confirm(\'Are you sure? \', function (err, value) {\n console.log(\'Answer:\', value);\n});\n```\n\n\n### .choose(message, choices, opts, fn) ###\n\nAsk the user to choose between multiple `choices` (array of choices). \nCalls `fn` with `error` and `value`.\n\nExample usage:\n\n```js\npromptly.choose(\'Do you want an apple or an orange? \', [\'apple\', \'orange\'], function (err, value) {\n console.log(\'Answer:\', value);\n});\n```\n\n\n### .password(message, opts, fn) ###\n\nPrompts for a password, printing the `message` and waiting for the input. \nWhen available, calls `fn` with `error` and `value`.\n\nThe available options are the same, except that `trim` and `silent` default to `false` and `default` is an empty string (to allow empty passwords).\n\nExample usage:\n\n```js\npromptly.password(\'Type a password: \', function (err, value) {\n console.log(\'Password is:\', value);\n});\n```\n\n\n## License ##\n\nReleased under the [MIT License](http://www.opensource.org/licenses/mit-license.php).\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved homepage: 'https://github.com/IndigoUnited/node-promptly',
12333 silly resolved _id: 'promptly@0.1.0',
12333 silly resolved _from: 'promptly@~0.1.0' },
12333 silly resolved { name: 'semver',
12333 silly resolved version: '1.1.4',
12333 silly resolved description: 'The semantic version parser used by npm.',
12333 silly resolved main: 'semver.js',
12333 silly resolved scripts: { test: 'tap test.js' },
12333 silly resolved devDependencies: { tap: '0.x >=0.0.4' },
12333 silly resolved license:
12333 silly resolved { type: 'MIT',
12333 silly resolved url: 'https://github.com/isaacs/semver/raw/master/LICENSE' },
12333 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-semver.git' },
12333 silly resolved bin: { semver: './bin/semver' },
12333 silly resolved readme: 'semver(1) -- The semantic versioner for npm\n===========================================\n\n## Usage\n\n $ npm install semver\n\n semver.valid(\'1.2.3\') // \'1.2.3\'\n semver.valid(\'a.b.c\') // null\n semver.clean(\' =v1.2.3 \') // \'1.2.3\'\n semver.satisfies(\'1.2.3\', \'1.x || >=2.5.0 || 5.0.0 - 7.2.3\') // true\n semver.gt(\'1.2.3\', \'9.8.7\') // false\n semver.lt(\'1.2.3\', \'9.8.7\') // true\n\nAs a command-line utility:\n\n $ semver -h\n\n Usage: semver -v <version> [-r <range>]\n Test if version(s) satisfy the supplied range(s),\n and sort them.\n\n Multiple versions or ranges may be supplied.\n\n Program exits successfully if any valid version satisfies\n all supplied ranges, and prints all satisfying versions.\n\n If no versions are valid, or ranges are not satisfied,\n then exits failure.\n\n Versions are printed in ascending order, so supplying\n multiple versions to the utility will just sort them.\n\n## Versions\n\nA version is the following things, in this order:\n\n* a number (Major)\n* a period\n* a number (minor)\n* a period\n* a number (patch)\n* OPTIONAL: a hyphen, followed by a number (build)\n* OPTIONAL: a collection of pretty much any non-whitespace characters\n (tag)\n\nA leading `"="` or `"v"` character is stripped off and ignored.\n\n## Comparisons\n\nThe ordering of versions is done using the following algorithm, given\ntwo versions and asked to find the greater of the two:\n\n* If the majors are numerically different, then take the one\n with a bigger major number. `2.3.4 > 1.3.4`\n* If the minors are numerically different, then take the one\n with the bigger minor number. `2.3.4 > 2.2.4`\n* If the patches are numerically different, then take the one with the\n bigger patch number. `2.3.4 > 2.3.3`\n* If only one of them has a build number, then take the one with the\n build number. `2.3.4-0 > 2.3.4`\n* If they both have build numbers, and the build numbers are numerically\n different, then take the one with the bigger build number.\n `2.3.4-10 > 2.3.4-9`\n* If only one of them has a tag, then take the one without the tag.\n `2.3.4 > 2.3.4-beta`\n* If they both have tags, then take the one with the lexicographically\n larger tag. `2.3.4-beta > 2.3.4-alpha`\n* At this point, they\'re equal.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3 <1.3.0`\n* `~1.2` := `>=1.2.0 <1.3.0`\n* `~1` := `>=1.0.0 <2.0.0`\n* `1.2.x` := `>=1.2.0 <1.3.0`\n* `1.x` := `>=1.0.0 <2.0.0`\n\nRanges can be joined with either a space (which implies "and") or a\n`||` (which implies "or").\n\n## Functions\n\n* valid(v): Return the parsed version, or null if it\'s not valid.\n* inc(v, release): Return the version incremented by the release type\n (major, minor, patch, or build), or null if it\'s not valid.\n\n### Comparison\n\n* gt(v1, v2): `v1 > v2`\n* gte(v1, v2): `v1 >= v2`\n* lt(v1, v2): `v1 < v2`\n* lte(v1, v2): `v1 <= v2`\n* eq(v1, v2): `v1 == v2` This is true if they\'re logically equivalent,\n even if they\'re not the exact same string. You already know how to\n compare strings.\n* neq(v1, v2): `v1 != v2` The opposite of eq.\n* cmp(v1, comparator, v2): Pass in a comparison string, and it\'ll call\n the corresponding function above. `"==="` and `"!=="` do simple\n string comparison, but are included for completeness. Throws if an\n invalid comparison string is provided.\n* compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if\n v2 is greater. Sorts in ascending order if passed to Array.sort().\n* rcompare(v1, v2): The reverse of compare. Sorts an array of versions\n in descending order when passed to Array.sort().\n\n\n### Ranges\n\n* validRange(range): Return the valid range or null if it\'s not valid\n* satisfies(version, range): Return true if the version satisfies the\n range.\n* maxSatisfying(versions, range): Return the highest version in the list\n that satisfies the range, or null if none of them do.\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/node-semver/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/node-semver',
12333 silly resolved _id: 'semver@1.1.4',
12333 silly resolved _from: 'semver@~1.1.0' },
12333 silly resolved { author:
12333 silly resolved { name: 'Isaac Z. Schlueter',
12333 silly resolved email: 'i@izs.me',
12333 silly resolved url: 'http://blog.izs.me/' },
12333 silly resolved name: 'tar',
12333 silly resolved description: 'tar for node',
12333 silly resolved version: '0.1.19',
12333 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/node-tar.git' },
12333 silly resolved main: 'tar.js',
12333 silly resolved scripts: { test: 'tap test/*.js' },
12333 silly resolved dependencies: { inherits: '2', 'block-stream': '*', fstream: '~0.1.8' },
12333 silly resolved devDependencies: { tap: '0.x', rimraf: '1.x' },
12333 silly resolved license: 'BSD',
12333 silly resolved readme: '# node-tar\n\nTar for Node.js.\n\n[![NPM](https://nodei.co/npm/tar.png)](https://nodei.co/npm/tar/)\n\n## API\n\nSee `examples/` for usage examples.\n\n### var tar = require(\'tar\')\n\nReturns an object with `.Pack`, `.Extract` and `.Parse` methods.\n\n### tar.Pack([properties])\n\nReturns a through stream. Use\n[fstream](https://npmjs.org/package/fstream) to write files into the\npack stream and you will receive tar archive data from the pack\nstream.\n\nThe optional `properties` object are used to set properties in the tar\n\'Global Extended Header\'.\n\n### tar.Extract([options])\n\nReturns a through stream. Write tar data to the stream and the files\nin the tarball will be extracted onto the filesystem.\n\n`options` can be:\n\n```js\n{\n path: \'/path/to/extract/tar/into\',\n strip: 0, // how many path segments to strip from the root when extracting\n}\n```\n\n`options` also get passed to the `fstream.Writer` instance that `tar`\nuses internally.\n\n### tar.Parse()\n\nReturns a writable stream. Write tar data to it and it will emit\n`entry` events for each entry parsed from the tarball. This is used by\n`tar.Extract`.\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/node-tar/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/node-tar',
12333 silly resolved _id: 'tar@0.1.19',
12333 silly resolved _from: 'tar@~0.1.13' },
12333 silly resolved { name: 'tmp',
12333 silly resolved version: '0.0.23',
12333 silly resolved description: 'Temporary file and directory creator',
12333 silly resolved author:
12333 silly resolved { name: 'KARASZI István',
12333 silly resolved email: 'github@spam.raszi.hu',
12333 silly resolved url: 'http://raszi.hu/' },
12333 silly resolved homepage: 'http://github.com/raszi/node-tmp',
12333 silly resolved keywords:
12333 silly resolved [ 'temporary',
12333 silly resolved 'tmp',
12333 silly resolved 'temp',
12333 silly resolved 'tempdir',
12333 silly resolved 'tempfile',
12333 silly resolved 'tmpdir',
12333 silly resolved 'tmpfile' ],
12333 silly resolved licenses: [ [Object] ],
12333 silly resolved repository: { type: 'git', url: 'git://github.com/raszi/node-tmp.git' },
12333 silly resolved bugs: { url: 'http://github.com/raszi/node-tmp/issues' },
12333 silly resolved main: 'lib/tmp.js',
12333 silly resolved scripts: { test: 'vows test/*-test.js' },
12333 silly resolved engines: { node: '>=0.4.0' },
12333 silly resolved dependencies: {},
12333 silly resolved devDependencies: { vows: '~0.7.0' },
12333 silly resolved readme: '# Tmp\n\nA simple temporary file and directory creator for [node.js.][1]\n\n[![Build Status](https://secure.travis-ci.org/raszi/node-tmp.png?branch=master)](http://travis-ci.org/raszi/node-tmp)\n\n## About\n\nThe main difference between bruce\'s [node-temp][2] is that mine more\naggressively checks for the existence of the newly created temporary file and\ncreates the new file with `O_EXCL` instead of simple `O_CREAT | O_RDRW`, so it\nis safer.\n\nThe API is slightly different as well, Tmp does not yet provide synchronous\ncalls and all the parameters are optional.\n\nYou can set whether you want to remove the temporary file on process exit or\nnot, and the destination directory can also be set.\n\n## How to install\n\n```bash\nnpm install tmp\n```\n\n## Usage\n\n### File creation\n\nSimple temporary file creation, the file will be unlinked on process exit.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.file(function _tempFileCreated(err, path, fd) {\n if (err) throw err;\n\n console.log("File: ", path);\n console.log("Filedescriptor: ", fd);\n});\n```\n\n### Directory creation\n\nSimple temporary directory creation, it will be removed on process exit.\n\nIf the directory still contains items on process exit, then it won\'t be removed.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir(function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\nIf you want to cleanup the directory even when there are entries in it, then\nyou can pass the `unsafeCleanup` option when creating it.\n\n### Filename generation\n\nIt is possible with this library to generate a unique filename in the specified\ndirectory.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.tmpName(function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log("Created temporary filename: ", path);\n});\n```\n\n## Advanced usage\n\n### File creation\n\nCreates a file with mode `0644`, prefix will be `prefix-` and postfix will be `.txt`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.file({ mode: 0644, prefix: \'prefix-\', postfix: \'.txt\' }, function _tempFileCreated(err, path, fd) {\n if (err) throw err;\n\n console.log("File: ", path);\n console.log("Filedescriptor: ", fd);\n});\n```\n\n### Directory creation\n\nCreates a directory with mode `0755`, prefix will be `myTmpDir_`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir({ mode: 0750, prefix: \'myTmpDir_\' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\n### mkstemps like\n\nCreates a new temporary directory with mode `0700` and filename like `/tmp/tmp-nk2J1u`.\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.dir({ template: \'/tmp/tmp-XXXXXX\' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log("Dir: ", path);\n});\n```\n\n### Filename generation\n\nThe `tmpName()` function accepts the `prefix`, `postfix`, `dir`, etc. parameters also:\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.tmpName({ template: \'/tmp/tmp-XXXXXX\' }, function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log("Created temporary filename: ", path);\n});\n```\n\n## Graceful cleanup\n\nOne may want to cleanup the temporary files even when an uncaught exception\noccurs. To enforce this, you can call the `setGracefulCleanup()` method:\n\n```javascript\nvar tmp = require(\'tmp\');\n\ntmp.setGracefulCleanup();\n```\n\n## Options\n\nAll options are optional :)\n\n * `mode`: the file mode to create with, it fallbacks to `0600` on file creation and `0700` on directory creation\n * `prefix`: the optional prefix, fallbacks to `tmp-` if not provided\n * `postfix`: the optional postfix, fallbacks to `.tmp` on file creation\n * `template`: [`mkstemps`][3] like filename template, no default\n * `dir`: the optional temporary directory, fallbacks to system default (guesses from environment)\n * `tries`: how many times should the function try to get a unique filename before giving up, default `3`\n * `keep`: signals that the temporary file or directory should not be deleted on exit, default is `false`, means delete\n * `unsafeCleanup`: recursively removes the created temporary directory, even when it\'s not empty. default is `false`\n\n[1]: http://nodejs.org/\n[2]: https://github.com/bruce/node-temp\n[3]: http://www.kernel.org/doc/man-pages/online/pages/man3/mkstemp.3.html\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved _id: 'tmp@0.0.23',
12333 silly resolved _from: 'tmp@~0.0.17' },
12333 silly resolved { name: 'request',
12333 silly resolved description: 'Simplified HTTP request client.',
12333 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ],
12333 silly resolved version: '2.11.4',
12333 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' },
12333 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' },
12333 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' },
12333 silly resolved engines: [ 'node >= 0.3.6' ],
12333 silly resolved main: './main',
12333 silly resolved dependencies: { 'form-data': '~0.0.3', mime: '~1.2.7' },
12333 silly resolved bundleDependencies: [ 'form-data', 'mime' ],
12333 silly resolved scripts: { test: 'node tests/run.js' },
12333 silly resolved readme: '# Request -- Simplified HTTP request method\n\n## Install\n\n<pre>\n npm install request\n</pre>\n\nOr from source:\n\n<pre>\n git clone git://github.com/mikeal/request.git \n cd request\n npm link\n</pre>\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let\'s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n } \n }\n})\n```\n\nYou can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nUrl encoded forms are simple\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don\'t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\')\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\'))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n```\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Assume by some stretch of magic you aquired the verifier\n var access_token = qs.parse(body)\n , oauth = \n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: VERIFIER\n , token_secret: access_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth = \n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1/users/show.json?\'\n , params = \n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n\n\n### request(options, callback)\n\nThe first argument can be either a url or an options object. The only required option is uri, all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()\n* `qs` - object containing querystring values to be appended to the uri\n* `method` - http method, defaults to GET\n* `headers` - http headers, defaults to {}\n* `body` - entity body for POST and PUT requests. Must be buffer or string.\n* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as json.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.\n* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.\n* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.\n* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node\'s default maxSockets.\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\t\n* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it\'s supported with the `url` parameter by embedding the auth info in the uri.\n* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.\n* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.\n* `jar` - Set to `false` if you don\'t want cookies to be remembered for future use or define your custom cookie jar (see examples section)\n\n\nThe callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second in an http.ClientResponse object. The third is the response body String or Buffer.\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options) \n \nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as request() but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.post\n\nSame as request() but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as request() but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nAlias to normal request method for uniformity.\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart: \n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ] \n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\nCookies are enabled by default (so they can be used in subsequent requests). To disable cookies set jar to false (either in defaults or in the options sent).\n\n```javascript\nvar request = request.defaults({jar: false})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nIf you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.add(cookie)\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved homepage: 'https://github.com/mikeal/request',
12333 silly resolved _id: 'request@2.11.4',
12333 silly resolved _from: 'request@~2.11.4' },
12333 silly resolved { name: 'update-notifier',
12333 silly resolved version: '0.1.7',
12333 silly resolved description: 'Update notifier for your package',
12333 silly resolved keywords: [ 'npm', 'update', 'notify', 'check' ],
12333 silly resolved homepage: 'https://github.com/yeoman/update-notifier',
12333 silly resolved bugs: { url: 'https://github.com/yeoman/update-notifier/issues' },
12333 silly resolved author:
12333 silly resolved { name: 'Sindre Sorhus',
12333 silly resolved email: 'sindresorhus@gmail.com',
12333 silly resolved url: 'http://sindresorhus.com' },
12333 silly resolved main: 'lib/update-notifier.js',
12333 silly resolved repository:
12333 silly resolved { type: 'git',
12333 silly resolved url: 'git://github.com/yeoman/update-notifier.git' },
12333 silly resolved scripts: { test: 'mocha --timeout 20000' },
12333 silly resolved dependencies:
12333 silly resolved { request: '~2.27.0',
12333 silly resolved configstore: '~0.1.0',
12333 silly resolved semver: '~2.1.0',
12333 silly resolved chalk: '~0.2.1' },
12333 silly resolved devDependencies: { mocha: '~1.13.0' },
12333 silly resolved engines: { node: '>=0.8.0' },
12333 silly resolved licenses: [ [Object] ],
12333 silly resolved readme: '# update-notifier [![Build Status](https://secure.travis-ci.org/yeoman/update-notifier.png?branch=master)](http://travis-ci.org/yeoman/update-notifier)\n\n##### Update notifier for your Node.js NPM package\n\n![screenshot](https://raw.github.com/yeoman/update-notifier/master/screenshot.png)\n\nInform your package users of updates in a non-intrusive way. Mainly targets global CLI apps.\n\nWhenever you initiate the update notifier and it\'s not within the interval threshold, it will asynchronously check with NPM in the background for available updates, then persist the result. The next time the notifier is initiated the result will be loaded into the `.update` property. This prevents any impact on your package startup performance.\nThe check process is done with [fork](http://nodejs.org/api/child_process.html#child_process_child_fork). This means that if you call `process.exit`, the check will still be performed in its own process.\n\n\n## About\n\nThe idea for this module came from the desire to apply the browser update strategy to CLI tools, where everyone is always on the latest version. We first tried automatic updating, which we discovered wasn\'t popular. This is the second iteration of that idea, but limited to just update notifications.\n\nThere are a few projects using it:\n\n- [Yeoman](http://yeoman.io) - modern workflows for modern webapps\n\n- [Bower](http://bower.io) - a package manager for the web\n\n- [Roots](http://roots.cx) - a toolkit for advanced front-end development\n\n- [Automaton](https://github.com/IndigoUnited/automaton) - task automation tool\n\n- [Spoon.js CLI](https://npmjs.org/package/spoonjs)\n\n- [Node GH](http://nodegh.io) - GitHub command line tool\n\n- [Hoodie CLI](http://hood.ie) - Hoodie command line tool\n\n## Example usage\n\n```js\nvar updateNotifier = require(\'update-notifier\');\n\n// Checks for available update and returns an instance\nvar notifier = updateNotifier();\n\nif (notifier.update) {\n\t// Notify using the built-in convenience method\n\tnotifier.notify();\n}\n\n// `notifier.update` contains some useful info about the update\nconsole.log(notifier.update);\n/*\n{\n\tlatest: \'0.9.5\',\n\tcurrent: \'0.9.3\',\n\ttype: \'patch\', // possible values: latest, major, minor, patch\n\tdate: \'2012-11-05T14:32:37.603Z\',\n\tname: \'yeoman\'\n}\n*/\n```\n\n## Example with settings and custom message\n\n```js\nvar notifier = updateNotifier({\n\tupdateCheckInterval: 1000 * 60 * 60 * 24 * 7 // 1 week\n});\n\nif (notifier.update) {\n\tnotifier.notify(\'Update available: \' + notifier.update.latest);\n}\n```\n\n\n## Documentation\n\n\n### updateNotifier([settings])\n\nChecks if there is an available update. Accepts settings defined below. Returns an object with update info if there is an available update, otherwise `undefined`.\n\n### updateNotifier.notify([message || defer])\n\nA convenience method that will inform the user about an available update (see screenshot). By default it will display the message right away. However, if you supply a custom message or `true` it will be displayed right before the process exits.\n\n\n### Settings\n\n\n#### callback\n\nType: `function` \nDefault: `null`\n\nIf provided, a callback function will be called,\npassed `(error[, update])`\n\n`update` is equal to `notifier.update`\n\n\n#### packagePath\n\nType: `string` \nDefault: `\'package.json\'`\n\nRelative path to your module `package.json`.\n\n\n#### packageName\n\nType: `string` \nDefault: Inferred from `packageFile`\n\nUsed instead of inferring it from `packageFile`. \nRequires you to also specify `packageVersion`.\n\n\n#### packageVersion\n\nType: `string` \nDefault: Inferred from `packageFile`\n\nUsed instead of inferring it from `packageFile`. \nRequires you to also specify `packageName`.\n\n\n#### updateCheckInterval\n\nType: `number` \nDefault: `1000 * 60 * 60 * 24` (1 day)\n\nHow often it should check for updates.\n\n\n#### updateCheckTimeout\n\nType: `number` \nDefault: `20000` (20 secs)\n\nHow long the update can take. \nIf it takes longer than the timeout, it will be aborted.\n\n#### registryUrl\n\nType: `string` \nDefault: `\'http://registry.npmjs.org/%s\'`\n\nAlternative registry mirrors:\n\n- `http://85.10.209.91/%s`\n- `http://165.225.128.50:8000/%s`\n\n\n### Proxy settings\n\nIf you are behind a proxy server the `process.env` property is used to take the proxy server value from `HTTP_PROXY` or `HTTPS_PROXY` in order to make the call to the server. This means that you need to [set](https://github.com/sindresorhus/guides/blob/master/set-environment-variables.md) those properties as environment variables.\n\n\n### User settings\n\nUsers of your module have the ability to opt-out of the update notifier by changing the `optOut` property to `true` in `~/.config/configstore/update-notifier-[your-module-name].yml`. The path is available in `notifier.config.path`.\n\nYou could also let the user opt-out on a per run basis:\n\n```js\nif (process.argv.indexOf(\'--no-update-notifier\') === -1) {\n\t// run updateNotifier()\n}\n```\n\n\n## License\n\n[BSD license](http://opensource.org/licenses/bsd-license.php) and copyright Google\n',
12333 silly resolved readmeFilename: 'readme.md',
12333 silly resolved _id: 'update-notifier@0.1.7',
12333 silly resolved _from: 'update-notifier@~0.1.3' },
12333 silly resolved { name: 'rc',
12333 silly resolved version: '0.0.8',
12333 silly resolved description: 'hardwired configuration loader',
12333 silly resolved main: 'index.js',
12333 silly resolved browserify: 'browser.js',
12333 silly resolved scripts: { test: 'node test.js' },
12333 silly resolved repository: { type: 'git', url: 'https://github.com/dominictarr/rc.git' },
12333 silly resolved keywords: [ 'config', 'rc', 'unix', 'defaults' ],
12333 silly resolved author:
12333 silly resolved { name: 'Dominic Tarr',
12333 silly resolved email: 'dominic.tarr@gmail.com',
12333 silly resolved url: 'dominictarr.com' },
12333 silly resolved license: 'BSD',
12333 silly resolved dependencies: { 'config-chain': '~0.3', optimist: '~0.3.4' },
12333 silly resolved readme: '# rc\n\nthe non configurable configuration loader for lazy people.\n\n# Usage\n\nthe only option is to pass rc the name of your app, and your default configuration.\n\n```\n var rc = require(\'rc\')(appname, {\n //defaults go here.\n port: 2468\n })\n```\n\n# Standards\n\nGiven your application name, rc will look in all the obvious places for configuration.\n\n\n * command line arguments (parsed by optimist)\n * enviroment variables prefixed with ${APPNAME}_\n * if you passed an option `--config file` then from that file\n * `$HOME/.${APPNAME}rc`\n * `$HOME/.${APPNAME}/config`\n * `$HOME/.config/${APPNAME}`\n * `$HOME/.config/${APPNAME}/config`\n * `/etc/${APPNAME}rc`\n * `/etc/${APPNAME}/config`\n * the defaults object you passed in.\n\nAll configuration sources that where found will be flattened into one object,\nso that sources earlier in this list override later ones.\n\n# Formats\n\nConfiguration files may be in either `json` or `ini` format.\nSince ini, and env variables do not have a standard for types,\nyour application needs be prepared for strings.\n\n# License\n\nBSD\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/dominictarr/rc/issues' },
12333 silly resolved homepage: 'https://github.com/dominictarr/rc',
12333 silly resolved _id: 'rc@0.0.8',
12333 silly resolved _from: 'rc@~0.0.6' },
12333 silly resolved { name: 'hogan.js',
12333 silly resolved description: 'A mustache compiler.',
12333 silly resolved version: '2.0.0',
12333 silly resolved keywords: [ 'mustache', 'template' ],
12333 silly resolved main: './lib/hogan.js',
12333 silly resolved homepage: 'http://twitter.github.com/hogan.js/',
12333 silly resolved author: { name: 'Twitter Inc.' },
12333 silly resolved repository: { type: 'git', url: 'https://github.com/twitter/hogan.js.git' },
12333 silly resolved licenses: [ [Object] ],
12333 silly resolved devDependencies: { 'uglify-js': '*', jsdom: '0.2.10', step: '0.0.5' },
12333 silly resolved bin: { hulk: './bin/hulk' },
12333 silly resolved readme: '## Hogan.js - A mustache compiler.\n\n[Hogan.js](http://twitter.github.com/hogan.js/) is a compiler for the\n[Mustache](http://mustache.github.com/) templating language. For information\non Mustache, see the [manpage](http://mustache.github.com/mustache.5.html) and\nthe [spec](https://github.com/mustache/spec).\n\n## Basics\n\nHogan compiles templates to HoganTemplate objects, which have a render method.\n\n```js\nvar data = {\n screenName: "dhg",\n};\n\nvar template = Hogan.compile("Follow @{{screenName}}.");\nvar output = template.render(data);\n\n// prints "Follow @dhg."\nconsole.log(output);\n```\n\n## Features\n\nHogan is fast--try it on your workload.\n\nHogan has separate scanning, parsing and code generation phases. This way it\'s\npossible to add new features without touching the scanner at all, and many\ndifferent code generation techniques can be tried without changing the parser.\n\nHogan exposes scan and parse methods. These can be useful for\npre-processing templates on the server.\n\n```js\nvar text = "{{^check}}{{#i18n}}No{{/i18n}}{{/check}}";\ntext += "{{#check}}{{#i18n}}Yes{{/i18n}}{{/check}}";\nvar tree = Hogan.parse(Hogan.scan(text));\n\n// outputs "# check"\nconsole.log(tree[0].tag + " " + tree[0].name);\n\n// outputs "Yes"\nconsole.log(tree[1].nodes[0].nodes[0]);\n```\n\nIt\'s also possible to use HoganTemplate objects without the Hogan compiler\npresent. That means you can pre-compile your templates on the server, and\navoid shipping the compiler. However, the optional lambda features from the\nMustache spec do require the compiler to be present.\n\n## Why Hogan.js?\n\nWhy another templating library?\n\nHogan.js was written to meet three templating library requirements: good\nperformance, standalone template objects, and a parser API.\n\n## Issues\n\nHave a bug? Please create an issue here on GitHub!\n\nhttps://github.com/twitter/hogan.js/issues\n\n## Versioning\n\nFor transparency and insight into our release cycle, releases will be numbered with the follow format:\n\n`<major>.<minor>.<patch>`\n\nAnd constructed with the following guidelines:\n\n* Breaking backwards compatibility bumps the major\n* New additions without breaking backwards compatibility bumps the minor\n* Bug fixes and misc changes bump the patch\n\nFor more information on semantic versioning, please visit http://semver.org/.\n\n## Authors\n\n**Robert Sayre**\n\n+ http://github.com/sayrer\n\n**Jacob Thornton**\n\n+ http://github.com/fat\n\n## License\n\nCopyright 2011 Twitter, Inc.\n\nLicensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/twitter/hogan.js/issues' },
12333 silly resolved _id: 'hogan.js@2.0.0',
12333 silly resolved _from: 'hogan.js@~2.0.0' },
12333 silly resolved { name: 'stable',
12333 silly resolved version: '0.1.4',
12333 silly resolved keywords: [ 'stable', 'array', 'sort' ],
12333 silly resolved description: 'A stable array sort for JavaScript',
12333 silly resolved repository: { type: 'git', url: 'https://github.com/Two-Screen/stable.git' },
12333 silly resolved main: './stable.js',
12333 silly resolved devDependencies: { tape: '2', 'uglify-js': '2' },
12333 silly resolved scripts:
12333 silly resolved { test: 'node ./test.js',
12333 silly resolved minify: 'uglifyjs --comments \'/^!/\' -c -m -o ./stable.min.js ./stable.js' },
12333 silly resolved testling: { files: './test.js', browsers: [Object] },
12333 silly resolved author: { name: 'Stéphan Kochen', email: 'stephan@angrybytes.com' },
12333 silly resolved contributors: [ [Object] ],
12333 silly resolved license: 'MIT',
12333 silly resolved readme: '## Stable\n\nA stable array sort, because `Array#sort()` is not guaranteed stable.\n\nMIT licensed.\n\n[![Node.js CI](https://secure.travis-ci.org/Two-Screen/stable.png)](http://travis-ci.org/Two-Screen/stable)\n\n[![Browser CI](http://ci.testling.com/Two-Screen/stable.png)](http://ci.testling.com/Two-Screen/stable)\n\n### From the browser\n\nInclude [`stable.js`] or the minified version [`stable.min.js`]\nin your page, then call `stable()`.\n\n [`stable.js`]: https://raw.github.com/Two-Screen/stable/master/stable.js\n [`stable.min.js`]: https://raw.github.com/Two-Screen/stable/master/stable.min.js\n\n### From Node.js\n\nInstall using NPM:\n\n npm install stable\n\nRequire in your code:\n\n var stable = require("stable");\n\n#### Usage\n\nThe default sort is, as with `Array#sort`, lexicographical.\nUnlike `Array#sort`, sorting is **NOT** performed in-place.\n\n stable(["foo", "bar", "baz"]); // => ["bar", "baz", "foo"]\n stable([10, 1, 5]); // => [1, 10, 5]\n\nA comparator function can be specified:\n\n // Regular sort() compatible comparator, that returns a number.\n // This demonstrates the default behavior.\n function lexCmp(a, b) {\n return String(a).localeCompare(b);\n }\n stable(["foo", "bar", "baz"], lexCmp); // => ["bar", "baz", "foo"]\n\n // Boolean comparator. Sorts `b` before `a` if true.\n // This demonstrates a simple way to sort numerically.\n function greaterThan(a, b) {\n return a > b;\n }\n stable([10, 1, 5], greaterThan); // -> [1, 5, 10]\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/Two-Screen/stable/issues' },
12333 silly resolved homepage: 'https://github.com/Two-Screen/stable',
12333 silly resolved _id: 'stable@0.1.4',
12333 silly resolved dist: { shasum: '5240d5daaf0c4fba6db16a2008643d6046fd07c7' },
12333 silly resolved _from: 'stable@~0.1.2',
12333 silly resolved _resolved: 'https://registry.npmjs.org/stable/-/stable-0.1.4.tgz' },
12333 silly resolved { name: 'unzip',
12333 silly resolved version: '0.1.7',
12333 silly resolved description: 'Unzip cross-platform streaming API compatible with fstream and fs.ReadStream',
12333 silly resolved author: { name: 'Evan Oxfeld', email: 'evan.oxfeld@nearinfinity.com' },
12333 silly resolved maintainers: [ [Object], [Object] ],
12333 silly resolved repository:
12333 silly resolved { type: 'git',
12333 silly resolved url: 'https://github.com/nearinfinity/node-unzip.git' },
12333 silly resolved license: 'MIT',
12333 silly resolved dependencies:
12333 silly resolved { fstream: '~0.1.21',
12333 silly resolved pullstream: '~0.4.0',
12333 silly resolved binary: '~0.3.0',
12333 silly resolved 'readable-stream': '~1.0.0',
12333 silly resolved setimmediate: '~1.0.1',
12333 silly resolved 'match-stream': '0.0.1' },
12333 silly resolved devDependencies:
12333 silly resolved { tap: '~0.3.0',
12333 silly resolved temp: '~0.4.0',
12333 silly resolved dirdiff: '~0.0.1',
12333 silly resolved 'stream-buffers': '~0.2.3' },
12333 silly resolved directories: { example: 'examples', test: 'test' },
12333 silly resolved keywords:
12333 silly resolved [ 'zip',
12333 silly resolved 'unzip',
12333 silly resolved 'zlib',
12333 silly resolved 'uncompress',
12333 silly resolved 'archive',
12333 silly resolved 'stream',
12333 silly resolved 'extract' ],
12333 silly resolved main: 'unzip.js',
12333 silly resolved scripts: { test: './node_modules/.bin/tap ./test/*.js' },
12333 silly resolved readme: '# unzip [![Build Status](https://travis-ci.org/nearinfinity/node-unzip.png)](https://travis-ci.org/nearinfinity/node-unzip)\n\nStreaming cross-platform unzip tool written in node.js.\n\nUnzip provides simple APIs similar to [node-tar](https://github.com/isaacs/node-tar) for parsing and extracting zip files.\nThere are no added compiled dependencies - inflation is handled by node.js\'s built in zlib support. Unzip is also an\nexample use case of [node-pullstream](https://github.com/nearinfinity/node-pullstream).\n\n## Installation\n\n```bash\n$ npm install unzip\n```\n\n## Quick Examples\n\n### Extract to a directory\n```javascript\nfs.createReadStream(\'path/to/archive.zip\').pipe(unzip.Extract({ path: \'output/path\' }));\n```\n\nExtract emits the \'close\' event once the zip\'s contents have been fully extracted to disk.\n\n### Parse zip file contents\n\nProcess each zip file entry or pipe entries to another stream.\n\n__Important__: If you do not intend to consume an entry stream\'s raw data, call autodrain() to dispose of the entry\'s\ncontents. Otherwise you risk running out of memory.\n\n```javascript\nfs.createReadStream(\'path/to/archive.zip\')\n .pipe(unzip.Parse())\n .on(\'entry\', function (entry) {\n var fileName = entry.path;\n var type = entry.type; // \'Directory\' or \'File\'\n var size = entry.size;\n if (fileName === "this IS the file I\'m looking for") {\n entry.pipe(fs.createWriteStream(\'output/path\'));\n } else {\n entry.autodrain();\n }\n });\n```\n\nOr pipe the output of unzip.Parse() to fstream\n\n```javascript\nvar readStream = fs.createReadStream(\'path/to/archive.zip\');\nvar writeStream = fstream.Writer(\'output/path\');\n\nreadStream\n .pipe(unzip.Parse())\n .pipe(writeStream)\n```\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2012 - 2013 Near Infinity Corporation\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\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/nearinfinity/node-unzip/issues' },
12333 silly resolved homepage: 'https://github.com/nearinfinity/node-unzip',
12333 silly resolved _id: 'unzip@0.1.7',
12333 silly resolved dist: { shasum: '69dcffb4e5924c0e1c9087a84edfd349a4a97063' },
12333 silly resolved _from: 'unzip@0.1.7',
12333 silly resolved _resolved: 'https://registry.npmjs.org/unzip/-/unzip-0.1.7.tgz' },
12333 silly resolved { name: 'read-package-json',
12333 silly resolved version: '0.1.13',
12333 silly resolved author:
12333 silly resolved { name: 'Isaac Z. Schlueter',
12333 silly resolved email: 'i@izs.me',
12333 silly resolved url: 'http://blog.izs.me/' },
12333 silly resolved description: 'The thing npm uses to read package.json files with semantics and defaults and validation',
12333 silly resolved repository:
12333 silly resolved { type: 'git',
12333 silly resolved url: 'git://github.com/isaacs/read-package-json.git' },
12333 silly resolved main: 'read-json.js',
12333 silly resolved scripts: { test: 'tap test/*.js' },
12333 silly resolved dependencies:
12333 silly resolved { glob: '~3.1.9',
12333 silly resolved 'lru-cache': '~2.0.0',
12333 silly resolved semver: '1.x',
12333 silly resolved slide: '~1.1.3',
12333 silly resolved npmlog: '0',
12333 silly resolved 'graceful-fs': '~1.2' },
12333 silly resolved devDependencies: { tap: '~0.2.5' },
12333 silly resolved optionalDependencies: { npmlog: '0', 'graceful-fs': '~1.2' },
12333 silly resolved readme: '# read-package-json\n\nThis is the thing that npm uses to read package.json files. It\nvalidates some stuff, and loads some default things.\n\nIt keeps a cache of the files you\'ve read, so that you don\'t end\nup reading the same package.json file multiple times.\n\nNote that if you just want to see what\'s literally in the package.json\nfile, you can usually do `var data = require(\'some-module/package.json\')`.\n\nThis module is basically only needed by npm, but it\'s handy to see what\nnpm will see when it looks at your package.\n\n## Usage\n\n```javascript\nvar readJson = require(\'read-package-json\')\n\nreadJson(\'/path/to/package.json\', function (er, data) {\n if (er) {\n console.error("There was an error reading the file")\n return\n }\n\n console.error(\'the package data is\', data)\n}\n```\n\n## readJson(file, cb)\n\n* `file` {String} The path to the package.json file\n* `cb` {Function}\n\nReads the JSON file and does the things.\n\n## `package.json` Fields\n\nSee `man 5 package.json` or `npm help json`.\n\n## readJson.log\n\nBy default this is a reference to the `npmlog` module. But if that\nmodule can\'t be found, then it\'ll be set to just a dummy thing that does\nnothing.\n\nReplace with your own `{log,warn,error}` object for fun loggy time.\n\n## readJson.extras(file, data, cb)\n\nRun all the extra stuff relative to the file, with the parsed data.\n\nModifies the data as it does stuff. Calls the cb when it\'s done.\n\n## readJson.extraSet = [fn, fn, ...]\n\nArray of functions that are called by `extras`. Each one receives the\narguments `fn(file, data, cb)` and is expected to call `cb(er, data)`\nwhen done or when an error occurs.\n\nOrder is indeterminate, so each function should be completely\nindependent.\n\nMix and match!\n\n## readJson.cache\n\nThe `lru-cache` object that readJson uses to not read the same file over\nand over again. See\n[lru-cache](https://github.com/isaacs/node-lru-cache) for details.\n\n## Other Relevant Files Besides `package.json`\n\nSome other files have an effect on the resulting data object, in the\nfollowing ways:\n\n### `README?(.*)`\n\nIf there is a `README` or `README.*` file present, then npm will attach\na `readme` field to the data with the contents of this file.\n\nOwing to the fact that roughly 100% of existing node modules have\nMarkdown README files, it will generally be assumed to be Markdown,\nregardless of the extension. Please plan accordingly.\n\n### `server.js`\n\nIf there is a `server.js` file, and there is not already a\n`scripts.start` field, then `scripts.start` will be set to `node\nserver.js`.\n\n### `AUTHORS`\n\nIf there is not already a `contributors` field, then the `contributors`\nfield will be set to the contents of the `AUTHORS` file, split by lines,\nand parsed.\n\n### `bindings.gyp`\n\nIf a bindings.gyp file exists, and there is not already a\n`scripts.install` field, then the `scripts.install` field will be set to\n`node-gyp rebuild`.\n\n### `wscript`\n\nIf a wscript file exists, and there is not already a `scripts.install`\nfield, then the `scripts.install` field will be set to `node-waf clean ;\nnode-waf configure build`.\n\nNote that the `bindings.gyp` file supercedes this, since node-waf has\nbeen deprecated in favor of node-gyp.\n\n### `index.js`\n\nIf the json file does not exist, but there is a `index.js` file\npresent instead, and that file has a package comment, then it will try\nto parse the package comment, and use that as the data instead.\n\nA package comment looks like this:\n\n```javascript\n/**package\n * { "name": "my-bare-module"\n * , "version": "1.2.3"\n * , "description": "etc...." }\n **/\n\n// or...\n\n/**package\n{ "name": "my-bare-module"\n, "version": "1.2.3"\n, "description": "etc...." }\n**/\n```\n\nThe important thing is that it starts with `/**package`, and ends with\n`**/`. If the package.json file exists, then the index.js is not\nparsed.\n\n### `{directories.man}/*.[0-9]`\n\nIf there is not already a `man` field defined as an array of files or a\nsingle file, and\nthere is a `directories.man` field defined, then that directory will\nbe searched for manpages.\n\nAny valid manpages found in that directory will be assigned to the `man`\narray, and installed in the appropriate man directory at package install\ntime, when installed globally on a Unix system.\n\n### `{directories.bin}/*`\n\nIf there is not already a `bin` field defined as a string filename or a\nhash of `<name> : <filename>` pairs, then the `directories.bin`\ndirectory will be searched and all the files within it will be linked as\nexecutables at install time.\n\nWhen installing locally, npm links bins into `node_modules/.bin`, which\nis in the `PATH` environ when npm runs scripts. When\ninstalling globally, they are linked into `{prefix}/bin`, which is\npresumably in the `PATH` environment variable.\n',
12333 silly resolved readmeFilename: 'README.md',
12333 silly resolved bugs: { url: 'https://github.com/isaacs/read-package-json/issues' },
12333 silly resolved homepage: 'https://github.com/isaacs/read-package-json',
12333 silly resolved _id: 'read-package-json@0.1.13',
12333 silly resolved _from: 'read-package-json@~0.1.8' } ]
12334 info install lodash@1.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12335 info install rimraf@2.0.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12336 info install abbrev@1.0.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12337 info install async@0.2.9 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12338 info install colors@0.6.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12339 info install fstream@0.1.25 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12340 info install archy@0.0.2 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12341 info install mkdirp@0.3.5 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12342 info install glob@3.1.21 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12343 info install nopt@2.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12344 info install promptly@0.1.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12345 info install semver@1.1.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12346 info install tar@0.1.19 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12347 info install tmp@0.0.23 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12348 info install request@2.11.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12349 info install update-notifier@0.1.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12350 info install rc@0.0.8 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12351 info install hogan.js@2.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12352 info install stable@0.1.4 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12353 info install unzip@0.1.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12354 info install read-package-json@0.1.13 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower
12355 info installOne lodash@1.0.1
12356 info installOne rimraf@2.0.3
12357 info installOne abbrev@1.0.4
12358 info installOne async@0.2.9
12359 info installOne colors@0.6.2
12360 info installOne fstream@0.1.25
12361 info installOne archy@0.0.2
12362 info installOne mkdirp@0.3.5
12363 info installOne glob@3.1.21
12364 info installOne nopt@2.0.0
12365 info installOne promptly@0.1.0
12366 info installOne semver@1.1.4
12367 info installOne tar@0.1.19
12368 info installOne tmp@0.0.23
12369 info installOne request@2.11.4
12370 info installOne update-notifier@0.1.7
12371 info installOne rc@0.0.8
12372 info installOne hogan.js@2.0.0
12373 info installOne stable@0.1.4
12374 info installOne unzip@0.1.7
12375 info installOne read-package-json@0.1.13
12376 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/lodash unbuild
12377 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf unbuild
12378 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/abbrev unbuild
12379 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/async unbuild
12380 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/colors unbuild
12381 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream unbuild
12382 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/archy unbuild
12383 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/mkdirp unbuild
12384 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob unbuild
12385 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/nopt unbuild
12386 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/promptly unbuild
12387 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/semver unbuild
12388 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tar unbuild
12389 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tmp unbuild
12390 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/request unbuild
12391 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/update-notifier unbuild
12392 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rc unbuild
12393 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/hogan.js unbuild
12394 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/stable unbuild
12395 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/unzip unbuild
12396 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/read-package-json unbuild
12397 verbose tar unpack /home/spike/.npm/lodash/1.0.1/package.tgz
12398 silly lockFile a1680fbf-odules-bower-node-modules-lodash tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/lodash
12399 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/lodash /home/spike/.npm/a1680fbf-odules-bower-node-modules-lodash.lock
12400 silly lockFile 807a5ae3-ike-npm-lodash-1-0-1-package-tgz tar:///home/spike/.npm/lodash/1.0.1/package.tgz
12401 verbose lock tar:///home/spike/.npm/lodash/1.0.1/package.tgz /home/spike/.npm/807a5ae3-ike-npm-lodash-1-0-1-package-tgz.lock
12402 verbose tar unpack /home/spike/.npm/rimraf/2.0.3/package.tgz
12403 silly lockFile f381bcf4-odules-bower-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf
12404 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf /home/spike/.npm/f381bcf4-odules-bower-node-modules-rimraf.lock
12405 silly lockFile 845aa153-ike-npm-rimraf-2-0-3-package-tgz tar:///home/spike/.npm/rimraf/2.0.3/package.tgz
12406 verbose lock tar:///home/spike/.npm/rimraf/2.0.3/package.tgz /home/spike/.npm/845aa153-ike-npm-rimraf-2-0-3-package-tgz.lock
12407 verbose tar unpack /home/spike/.npm/abbrev/1.0.4/package.tgz
12408 silly lockFile 63bb3c93-odules-bower-node-modules-abbrev tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/abbrev
12409 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/abbrev /home/spike/.npm/63bb3c93-odules-bower-node-modules-abbrev.lock
12410 silly lockFile c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz tar:///home/spike/.npm/abbrev/1.0.4/package.tgz
12411 verbose lock tar:///home/spike/.npm/abbrev/1.0.4/package.tgz /home/spike/.npm/c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz.lock
12412 verbose tar unpack /home/spike/.npm/async/0.2.9/package.tgz
12413 silly lockFile a38ac8c9-modules-bower-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/async
12414 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/async /home/spike/.npm/a38ac8c9-modules-bower-node-modules-async.lock
12415 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
12416 verbose lock tar:///home/spike/.npm/async/0.2.9/package.tgz /home/spike/.npm/f759bea7-pike-npm-async-0-2-9-package-tgz.lock
12417 verbose tar unpack /home/spike/.npm/colors/0.6.2/package.tgz
12418 silly lockFile 6ff01afc-odules-bower-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/colors
12419 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/colors /home/spike/.npm/6ff01afc-odules-bower-node-modules-colors.lock
12420 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
12421 verbose lock tar:///home/spike/.npm/colors/0.6.2/package.tgz /home/spike/.npm/70b312f2-ike-npm-colors-0-6-2-package-tgz.lock
12422 verbose tar unpack /home/spike/.npm/fstream/0.1.25/package.tgz
12423 silly lockFile 3571f83f-dules-bower-node-modules-fstream tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream
12424 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream /home/spike/.npm/3571f83f-dules-bower-node-modules-fstream.lock
12425 silly lockFile bdc69372-e-npm-fstream-0-1-25-package-tgz tar:///home/spike/.npm/fstream/0.1.25/package.tgz
12426 verbose lock tar:///home/spike/.npm/fstream/0.1.25/package.tgz /home/spike/.npm/bdc69372-e-npm-fstream-0-1-25-package-tgz.lock
12427 verbose tar unpack /home/spike/.npm/archy/0.0.2/package.tgz
12428 silly lockFile 11a63cba-modules-bower-node-modules-archy tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/archy
12429 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/archy /home/spike/.npm/11a63cba-modules-bower-node-modules-archy.lock
12430 silly lockFile 7d95781d-pike-npm-archy-0-0-2-package-tgz tar:///home/spike/.npm/archy/0.0.2/package.tgz
12431 verbose lock tar:///home/spike/.npm/archy/0.0.2/package.tgz /home/spike/.npm/7d95781d-pike-npm-archy-0-0-2-package-tgz.lock
12432 verbose tar unpack /home/spike/.npm/mkdirp/0.3.5/package.tgz
12433 silly lockFile 45676732-odules-bower-node-modules-mkdirp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/mkdirp
12434 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/mkdirp /home/spike/.npm/45676732-odules-bower-node-modules-mkdirp.lock
12435 silly lockFile 806a793b-ike-npm-mkdirp-0-3-5-package-tgz tar:///home/spike/.npm/mkdirp/0.3.5/package.tgz
12436 verbose lock tar:///home/spike/.npm/mkdirp/0.3.5/package.tgz /home/spike/.npm/806a793b-ike-npm-mkdirp-0-3-5-package-tgz.lock
12437 verbose tar unpack /home/spike/.npm/glob/3.1.21/package.tgz
12438 silly lockFile c4d171c6--modules-bower-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob
12439 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob /home/spike/.npm/c4d171c6--modules-bower-node-modules-glob.lock
12440 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
12441 verbose lock tar:///home/spike/.npm/glob/3.1.21/package.tgz /home/spike/.npm/14998653-pike-npm-glob-3-1-21-package-tgz.lock
12442 verbose tar unpack /home/spike/.npm/nopt/2.0.0/package.tgz
12443 silly lockFile 8f6f71d3--modules-bower-node-modules-nopt tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/nopt
12444 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/nopt /home/spike/.npm/8f6f71d3--modules-bower-node-modules-nopt.lock
12445 silly lockFile 05599bba-spike-npm-nopt-2-0-0-package-tgz tar:///home/spike/.npm/nopt/2.0.0/package.tgz
12446 verbose lock tar:///home/spike/.npm/nopt/2.0.0/package.tgz /home/spike/.npm/05599bba-spike-npm-nopt-2-0-0-package-tgz.lock
12447 verbose tar unpack /home/spike/.npm/promptly/0.1.0/package.tgz
12448 silly lockFile 45574567-ules-bower-node-modules-promptly tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/promptly
12449 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/promptly /home/spike/.npm/45574567-ules-bower-node-modules-promptly.lock
12450 silly lockFile a20f9662-e-npm-promptly-0-1-0-package-tgz tar:///home/spike/.npm/promptly/0.1.0/package.tgz
12451 verbose lock tar:///home/spike/.npm/promptly/0.1.0/package.tgz /home/spike/.npm/a20f9662-e-npm-promptly-0-1-0-package-tgz.lock
12452 verbose tar unpack /home/spike/.npm/semver/1.1.4/package.tgz
12453 silly lockFile 58e6c0b7-odules-bower-node-modules-semver tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/semver
12454 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/semver /home/spike/.npm/58e6c0b7-odules-bower-node-modules-semver.lock
12455 silly lockFile da510cc9-ike-npm-semver-1-1-4-package-tgz tar:///home/spike/.npm/semver/1.1.4/package.tgz
12456 verbose lock tar:///home/spike/.npm/semver/1.1.4/package.tgz /home/spike/.npm/da510cc9-ike-npm-semver-1-1-4-package-tgz.lock
12457 verbose tar unpack /home/spike/.npm/tar/0.1.19/package.tgz
12458 silly lockFile 5a57bd65-e-modules-bower-node-modules-tar tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tar
12459 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tar /home/spike/.npm/5a57bd65-e-modules-bower-node-modules-tar.lock
12460 silly lockFile 887c7830-spike-npm-tar-0-1-19-package-tgz tar:///home/spike/.npm/tar/0.1.19/package.tgz
12461 verbose lock tar:///home/spike/.npm/tar/0.1.19/package.tgz /home/spike/.npm/887c7830-spike-npm-tar-0-1-19-package-tgz.lock
12462 verbose tar unpack /home/spike/.npm/tmp/0.0.23/package.tgz
12463 silly lockFile 997b20d6-e-modules-bower-node-modules-tmp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tmp
12464 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tmp /home/spike/.npm/997b20d6-e-modules-bower-node-modules-tmp.lock
12465 silly lockFile 86f70eb8-spike-npm-tmp-0-0-23-package-tgz tar:///home/spike/.npm/tmp/0.0.23/package.tgz
12466 verbose lock tar:///home/spike/.npm/tmp/0.0.23/package.tgz /home/spike/.npm/86f70eb8-spike-npm-tmp-0-0-23-package-tgz.lock
12467 verbose tar unpack /home/spike/.npm/request/2.11.4/package.tgz
12468 silly lockFile c3d82a5e-dules-bower-node-modules-request tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/request
12469 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/request /home/spike/.npm/c3d82a5e-dules-bower-node-modules-request.lock
12470 silly lockFile 6434e47f-e-npm-request-2-11-4-package-tgz tar:///home/spike/.npm/request/2.11.4/package.tgz
12471 verbose lock tar:///home/spike/.npm/request/2.11.4/package.tgz /home/spike/.npm/6434e47f-e-npm-request-2-11-4-package-tgz.lock
12472 verbose tar unpack /home/spike/.npm/update-notifier/0.1.7/package.tgz
12473 silly lockFile 12db429a-wer-node-modules-update-notifier tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/update-notifier
12474 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/update-notifier /home/spike/.npm/12db429a-wer-node-modules-update-notifier.lock
12475 silly lockFile ac3e6d41-pdate-notifier-0-1-7-package-tgz tar:///home/spike/.npm/update-notifier/0.1.7/package.tgz
12476 verbose lock tar:///home/spike/.npm/update-notifier/0.1.7/package.tgz /home/spike/.npm/ac3e6d41-pdate-notifier-0-1-7-package-tgz.lock
12477 verbose tar unpack /home/spike/.npm/rc/0.0.8/package.tgz
12478 silly lockFile cb32354b-de-modules-bower-node-modules-rc tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rc
12479 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rc /home/spike/.npm/cb32354b-de-modules-bower-node-modules-rc.lock
12480 silly lockFile cfcff93d-e-spike-npm-rc-0-0-8-package-tgz tar:///home/spike/.npm/rc/0.0.8/package.tgz
12481 verbose lock tar:///home/spike/.npm/rc/0.0.8/package.tgz /home/spike/.npm/cfcff93d-e-spike-npm-rc-0-0-8-package-tgz.lock
12482 verbose tar unpack /home/spike/.npm/hogan.js/2.0.0/package.tgz
12483 silly lockFile 03f22f9b-ules-bower-node-modules-hogan-js tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/hogan.js
12484 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/hogan.js /home/spike/.npm/03f22f9b-ules-bower-node-modules-hogan-js.lock
12485 silly lockFile d617c600-e-npm-hogan-js-2-0-0-package-tgz tar:///home/spike/.npm/hogan.js/2.0.0/package.tgz
12486 verbose lock tar:///home/spike/.npm/hogan.js/2.0.0/package.tgz /home/spike/.npm/d617c600-e-npm-hogan-js-2-0-0-package-tgz.lock
12487 verbose tar unpack /home/spike/.npm/stable/0.1.4/package.tgz
12488 silly lockFile 4adc3758-odules-bower-node-modules-stable tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/stable
12489 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/stable /home/spike/.npm/4adc3758-odules-bower-node-modules-stable.lock
12490 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
12491 verbose lock tar:///home/spike/.npm/stable/0.1.4/package.tgz /home/spike/.npm/680dfaf6-ike-npm-stable-0-1-4-package-tgz.lock
12492 verbose tar unpack /home/spike/.npm/unzip/0.1.7/package.tgz
12493 silly lockFile e08a38c6-modules-bower-node-modules-unzip tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/unzip
12494 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/unzip /home/spike/.npm/e08a38c6-modules-bower-node-modules-unzip.lock
12495 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
12496 verbose lock tar:///home/spike/.npm/unzip/0.1.7/package.tgz /home/spike/.npm/244864fc-pike-npm-unzip-0-1-7-package-tgz.lock
12497 verbose tar unpack /home/spike/.npm/read-package-json/0.1.13/package.tgz
12498 silly lockFile eeb9a3a8-r-node-modules-read-package-json tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/read-package-json
12499 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/read-package-json /home/spike/.npm/eeb9a3a8-r-node-modules-read-package-json.lock
12500 silly lockFile ecf3b630--package-json-0-1-13-package-tgz tar:///home/spike/.npm/read-package-json/0.1.13/package.tgz
12501 verbose lock tar:///home/spike/.npm/read-package-json/0.1.13/package.tgz /home/spike/.npm/ecf3b630--package-json-0-1-13-package-tgz.lock
12502 silly gunzTarPerm modes [ '755', '644' ]
12503 silly gunzTarPerm modes [ '755', '644' ]
12504 silly gunzTarPerm modes [ '755', '644' ]
12505 silly gunzTarPerm modes [ '755', '644' ]
12506 silly gunzTarPerm modes [ '755', '644' ]
12507 silly gunzTarPerm modes [ '755', '644' ]
12508 silly gunzTarPerm modes [ '755', '644' ]
12509 silly gunzTarPerm modes [ '755', '644' ]
12510 silly gunzTarPerm modes [ '755', '644' ]
12511 silly gunzTarPerm modes [ '755', '644' ]
12512 silly gunzTarPerm modes [ '755', '644' ]
12513 silly gunzTarPerm modes [ '755', '644' ]
12514 silly gunzTarPerm modes [ '755', '644' ]
12515 silly gunzTarPerm modes [ '755', '644' ]
12516 silly gunzTarPerm modes [ '755', '644' ]
12517 silly gunzTarPerm modes [ '755', '644' ]
12518 silly gunzTarPerm modes [ '755', '644' ]
12519 silly gunzTarPerm modes [ '755', '644' ]
12520 silly gunzTarPerm modes [ '755', '644' ]
12521 silly gunzTarPerm modes [ '755', '644' ]
12522 silly gunzTarPerm modes [ '755', '644' ]
12523 silly gunzTarPerm extractEntry package.json
12524 silly gunzTarPerm extractEntry package.json
12525 silly gunzTarPerm extractEntry package.json
12526 silly gunzTarPerm extractEntry package.json
12527 silly gunzTarPerm extractEntry package.json
12528 silly gunzTarPerm extractEntry package.json
12529 silly gunzTarPerm extractEntry package.json
12530 silly gunzTarPerm extractEntry package.json
12531 silly gunzTarPerm extractEntry package.json
12532 silly gunzTarPerm extractEntry package.json
12533 silly gunzTarPerm extractEntry package.json
12534 silly gunzTarPerm extractEntry package.json
12535 silly gunzTarPerm extractEntry package.json
12536 silly gunzTarPerm extractEntry package.json
12537 silly gunzTarPerm extractEntry package.json
12538 silly gunzTarPerm extractEntry package.json
12539 silly gunzTarPerm extractEntry package.json
12540 silly gunzTarPerm extractEntry package.json
12541 silly gunzTarPerm extractEntry package.json
12542 silly gunzTarPerm extractEntry package.json
12543 silly gunzTarPerm extractEntry package.json
12544 silly gunzTarPerm extractEntry README.md
12545 silly gunzTarPerm extractEntry index.js
12546 silly gunzTarPerm extractEntry README.md
12547 silly gunzTarPerm extractEntry LICENSE
12548 silly gunzTarPerm extractEntry README.md
12549 silly gunzTarPerm extractEntry LICENSE
12550 silly gunzTarPerm extractEntry README.md
12551 silly gunzTarPerm extractEntry LICENSE
12552 silly gunzTarPerm extractEntry component.json
12553 silly gunzTarPerm extractEntry lib/async.js
12554 silly gunzTarPerm extractEntry colors.js
12555 silly gunzTarPerm extractEntry example.js
12556 silly gunzTarPerm extractEntry .npmignore
12557 silly gunzTarPerm extractEntry README.md
12558 silly gunzTarPerm extractEntry index.js
12559 silly gunzTarPerm extractEntry .travis.yml
12560 silly gunzTarPerm extractEntry .npmignore
12561 silly gunzTarPerm extractEntry LICENSE
12562 silly gunzTarPerm extractEntry .npmignore
12563 silly gunzTarPerm extractEntry README.md
12564 silly gunzTarPerm extractEntry .npmignore
12565 silly gunzTarPerm extractEntry README.md
12566 silly gunzTarPerm extractEntry README.md
12567 silly gunzTarPerm extractEntry LICENSE
12568 silly gunzTarPerm extractEntry .npmignore
12569 silly gunzTarPerm extractEntry README.md
12570 silly gunzTarPerm extractEntry .npmignore
12571 silly gunzTarPerm extractEntry README.md
12572 silly gunzTarPerm extractEntry .npmignore
12573 silly gunzTarPerm extractEntry README.md
12574 silly gunzTarPerm extractEntry contributing.md
12575 silly gunzTarPerm extractEntry lib/check.js
12576 silly gunzTarPerm extractEntry .npmignore
12577 silly gunzTarPerm extractEntry README.md
12578 silly gunzTarPerm extractEntry README.md
12579 silly gunzTarPerm extractEntry LICENSE
12580 silly gunzTarPerm extractEntry .npmignore
12581 silly gunzTarPerm extractEntry README.md
12582 silly gunzTarPerm extractEntry .npmignore
12583 silly gunzTarPerm extractEntry README.md
12584 silly gunzTarPerm extractEntry README.md
12585 silly gunzTarPerm extractEntry LICENSE
12586 silly gunzTarPerm extractEntry README.md
12587 silly gunzTarPerm extractEntry LICENSE
12588 silly gunzTarPerm extractEntry rimraf.js
12589 silly gunzTarPerm extractEntry AUTHORS
12590 silly gunzTarPerm extractEntry lib/abbrev.js
12591 silly gunzTarPerm extractEntry test.js
12592 silly gunzTarPerm extractEntry MIT-LICENSE.txt
12593 silly gunzTarPerm extractEntry ReadMe.md
12594 silly gunzTarPerm extractEntry example.html
12595 silly gunzTarPerm extractEntry themes/winston-dark.js
12596 silly gunzTarPerm extractEntry themes/winston-light.js
12597 silly gunzTarPerm extractEntry test.js
12598 silly gunzTarPerm extractEntry semver.js
12599 silly gunzTarPerm extractEntry bin/semver
12600 silly gunzTarPerm extractEntry LICENSE
12601 silly gunzTarPerm extractEntry examples/my-program.js
12602 silly gunzTarPerm extractEntry LICENCE
12603 silly gunzTarPerm extractEntry tar.js
12604 silly gunzTarPerm extractEntry build.js
12605 silly gunzTarPerm extractEntry LICENSE
12606 silly gunzTarPerm extractEntry fstream.js
12607 silly gunzTarPerm extractEntry README.markdown
12608 silly gunzTarPerm extractEntry examples/beep.js
12609 silly gunzTarPerm extractEntry index.js
12610 silly gunzTarPerm extractEntry .travis.yml
12611 silly gunzTarPerm extractEntry LICENSE
12612 silly gunzTarPerm extractEntry glob.js
12613 silly gunzTarPerm extractEntry LICENSE
12614 silly gunzTarPerm extractEntry index.js
12615 silly gunzTarPerm extractEntry domain-test.js
12616 silly gunzTarPerm extractEntry test.js
12617 silly gunzTarPerm extractEntry lib/update-notifier.js
12618 silly gunzTarPerm extractEntry readme.md
12619 silly gunzTarPerm extractEntry test.js
12620 silly gunzTarPerm extractEntry browser.js
12621 silly gunzTarPerm extractEntry Makefile
12622 silly gunzTarPerm extractEntry stable.js
12623 silly gunzTarPerm extractEntry test.js
12624 silly gunzTarPerm extractEntry main.js
12625 silly gunzTarPerm extractEntry read-json.js
12626 silly gunzTarPerm extractEntry test/basic.js
12627 silly gunzTarPerm extractEntry test/non-json.js
12628 silly gunzTarPerm extractEntry test/bom.js
12629 silly gunzTarPerm extractEntry test/fixtures/nobom.json
12630 silly gunzTarPerm extractEntry test/fixtures/not-json.css
12631 silly gunzTarPerm extractEntry test/fixtures/bom.json
12632 silly gunzTarPerm extractEntry bin/hulk
12633 silly gunzTarPerm extractEntry LICENSE
12634 silly gunzTarPerm extractEntry unzip.js
12635 silly gunzTarPerm extractEntry bin/nopt.js
12636 silly gunzTarPerm extractEntry lib/nopt.js
12637 silly gunzTarPerm extractEntry .travis.yml
12638 silly gunzTarPerm extractEntry examples/extracter.js
12639 silly gunzTarPerm extractEntry test/test-async.js
12640 silly gunzTarPerm extractEntry test/test-fiber.js
12641 silly gunzTarPerm extractEntry .travis.yml
12642 silly gunzTarPerm extractEntry examples/filter-pipe.js
12643 silly gunzTarPerm extractEntry examples/pow.js
12644 silly gunzTarPerm extractEntry readme.markdown
12645 silly gunzTarPerm extractEntry .travis.yml
12646 silly gunzTarPerm extractEntry .travis.yml
12647 silly gunzTarPerm extractEntry lib/tmp.js
12648 silly gunzTarPerm extractEntry index.js
12649 silly gunzTarPerm extractEntry .travis.yml
12650 silly gunzTarPerm extractEntry .jshintrc
12651 silly gunzTarPerm extractEntry test/test.js
12652 silly gunzTarPerm extractEntry .travis.yml
12653 silly gunzTarPerm extractEntry .travis.yml
12654 silly gunzTarPerm extractEntry lib/entry.js
12655 silly gunzTarPerm extractEntry examples/multi_line.js
12656 silly gunzTarPerm extractEntry test/beep.js
12657 silly gunzTarPerm extractEntry tools/web_templates.js
12658 silly gunzTarPerm extractEntry tools/release.js
12659 silly gunzTarPerm extractEntry examples/reader.js
12660 silly gunzTarPerm extractEntry lib/buffer-entry.js
12661 silly gunzTarPerm extractEntry test/test-sync.js
12662 silly gunzTarPerm extractEntry test/run.sh
12663 silly gunzTarPerm extractEntry test/chmod.js
12664 silly gunzTarPerm extractEntry test/perm.js
12665 silly gunzTarPerm extractEntry test/multi_line.js
12666 silly gunzTarPerm extractEntry test/non_unicode.js
12667 silly gunzTarPerm extractEntry examples/pipe.js
12668 silly gunzTarPerm extractEntry examples/reader.js
12669 silly gunzTarPerm extractEntry examples/symlink-write.js
12670 silly gunzTarPerm extractEntry lib/abstract.js
12671 silly gunzTarPerm extractEntry lib/dir-writer.js
12672 silly gunzTarPerm extractEntry lib/file-reader.js
12673 silly gunzTarPerm extractEntry lib/file-writer.js
12674 silly gunzTarPerm extractEntry lib/get-type.js
12675 silly gunzTarPerm extractEntry lib/dir-reader.js
12676 silly gunzTarPerm extractEntry lib/link-writer.js
12677 silly gunzTarPerm extractEntry lib/proxy-reader.js
12678 silly gunzTarPerm extractEntry lib/proxy-writer.js
12679 silly gunzTarPerm extractEntry lib/reader.js
12680 silly gunzTarPerm extractEntry lib/socket-reader.js
12681 silly gunzTarPerm extractEntry lib/collect.js
12682 silly gunzTarPerm extractEntry lib/writer.js
12683 silly gunzTarPerm extractEntry lib/link-reader.js
12684 silly gunzTarPerm extractEntry lib/extract.js
12685 silly gunzTarPerm extractEntry lib/parse.js
12686 silly gunzTarPerm extractEntry test/base.js
12687 silly gunzTarPerm extractEntry lib/entry-writer.js
12688 silly gunzTarPerm extractEntry tunnel.js
12689 silly gunzTarPerm extractEntry oauth.js
12690 silly gunzTarPerm extractEntry test/perm_sync.js
12691 silly gunzTarPerm extractEntry test/race.js
12692 silly gunzTarPerm extractEntry test/mkdirp.js
12693 silly gunzTarPerm extractEntry test/return.js
12694 silly gunzTarPerm extractEntry test/return_sync.js
12695 silly gunzTarPerm extractEntry test/root.js
12696 silly gunzTarPerm extractEntry test/sync.js
12697 silly gunzTarPerm extractEntry test/umask.js
12698 silly gunzTarPerm extractEntry test/clobber.js
12699 silly gunzTarPerm extractEntry test/umask_sync.js
12700 silly gunzTarPerm extractEntry test/rel.js
12701 silly gunzTarPerm extractEntry test/setup.sh
12702 silly gunzTarPerm extractEntry test/dir-test.js
12703 silly gunzTarPerm extractEntry test/file-test.js
12704 silly gunzTarPerm extractEntry lodash.js
12705 silly gunzTarPerm extractEntry test/compressed.js
12706 silly gunzTarPerm extractEntry examples/g.js
12707 silly gunzTarPerm extractEntry examples/usr-local.js
12708 silly gunzTarPerm extractEntry doc/README.md
12709 silly lockFile 63bb3c93-odules-bower-node-modules-abbrev tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/abbrev
12710 silly lockFile 63bb3c93-odules-bower-node-modules-abbrev tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/abbrev
12711 silly lockFile c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz tar:///home/spike/.npm/abbrev/1.0.4/package.tgz
12712 silly lockFile c8c1b9bb-ike-npm-abbrev-1-0-4-package-tgz tar:///home/spike/.npm/abbrev/1.0.4/package.tgz
12713 silly gunzTarPerm extractEntry .gitmodules
12714 silly gunzTarPerm extractEntry wrappers/js.mustache
12715 silly gunzTarPerm extractEntry test/graceful.js
12716 silly gunzTarPerm extractEntry test/keep.js
12717 silly gunzTarPerm extractEntry build/minify.js
12718 silly gunzTarPerm extractEntry test/fileSizeUnknownFlag.js
12719 silly gunzTarPerm extractEntry test/pipeSingleEntry.js
12720 info preinstall abbrev@1.0.4
12721 silly gunzTarPerm extractEntry test/00-setup.js
12722 silly gunzTarPerm extractEntry test/bash-comparison.js
12723 silly gunzTarPerm extractEntry lib/entry.js
12724 silly gunzTarPerm extractEntry lib/extended-header-writer.js
12725 verbose readDependencies using package.json deps
12726 verbose readDependencies using package.json deps
12727 silly resolved []
12728 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/abbrev
12729 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/abbrev
12730 verbose linkStuff [ false,
12730 verbose linkStuff false,
12730 verbose linkStuff false,
12730 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
12731 info linkStuff abbrev@1.0.4
12732 verbose linkBins abbrev@1.0.4
12733 verbose linkMans abbrev@1.0.4
12734 verbose rebuildBundles abbrev@1.0.4
12735 silly gunzTarPerm extractEntry test/name-test.js
12736 silly gunzTarPerm extractEntry test/spawn.js
12737 info install abbrev@1.0.4
12738 silly gunzTarPerm extractEntry test/uncompressed.js
12739 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/archive.zip
12740 silly gunzTarPerm extractEntry wrappers/common.js.mustache
12741 silly gunzTarPerm extractEntry wrappers/mustache.js.mustache
12742 info postinstall abbrev@1.0.4
12743 silly gunzTarPerm extractEntry lib/extended-header.js
12744 silly gunzTarPerm extractEntry lib/extract.js
12745 silly lockFile cb32354b-de-modules-bower-node-modules-rc tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rc
12746 silly lockFile cb32354b-de-modules-bower-node-modules-rc tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rc
12747 silly lockFile cfcff93d-e-spike-npm-rc-0-0-8-package-tgz tar:///home/spike/.npm/rc/0.0.8/package.tgz
12748 silly lockFile cfcff93d-e-spike-npm-rc-0-0-8-package-tgz tar:///home/spike/.npm/rc/0.0.8/package.tgz
12749 silly gunzTarPerm extractEntry uuid.js
12750 silly gunzTarPerm extractEntry forever.js
12751 info preinstall rc@0.0.8
12752 silly lockFile 4adc3758-odules-bower-node-modules-stable tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/stable
12753 silly lockFile 4adc3758-odules-bower-node-modules-stable tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/stable
12754 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/inflated/dir/fileInsideDir.txt
12755 silly gunzTarPerm extractEntry testData/compressed-OSX-Finder/inflated/file.txt
12756 silly lockFile 12db429a-wer-node-modules-update-notifier tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/update-notifier
12757 silly lockFile 12db429a-wer-node-modules-update-notifier tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/update-notifier
12758 verbose readDependencies using package.json deps
12759 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
12760 silly lockFile 680dfaf6-ike-npm-stable-0-1-4-package-tgz tar:///home/spike/.npm/stable/0.1.4/package.tgz
12761 silly lockFile ac3e6d41-pdate-notifier-0-1-7-package-tgz tar:///home/spike/.npm/update-notifier/0.1.7/package.tgz
12762 silly lockFile ac3e6d41-pdate-notifier-0-1-7-package-tgz tar:///home/spike/.npm/update-notifier/0.1.7/package.tgz
12763 verbose readDependencies using package.json deps
12764 silly gunzTarPerm extractEntry lib/global-header-writer.js
12765 silly gunzTarPerm extractEntry lib/header.js
12766 info preinstall stable@0.1.4
12767 silly gunzTarPerm extractEntry wrappers/amd.js.mustache
12768 silly gunzTarPerm extractEntry web/images/small-hogan-icon.png
12769 verbose cache add [ 'config-chain@~0.3', null ]
12770 verbose cache add name=undefined spec="config-chain@~0.3" args=["config-chain@~0.3",null]
12771 verbose parsed url { protocol: null,
12771 verbose parsed url slashes: null,
12771 verbose parsed url auth: null,
12771 verbose parsed url host: null,
12771 verbose parsed url port: null,
12771 verbose parsed url hostname: null,
12771 verbose parsed url hash: null,
12771 verbose parsed url search: null,
12771 verbose parsed url query: null,
12771 verbose parsed url pathname: 'config-chain@~0.3',
12771 verbose parsed url path: 'config-chain@~0.3',
12771 verbose parsed url href: 'config-chain@~0.3' }
12772 verbose cache add name="config-chain" spec="~0.3" args=["config-chain","~0.3"]
12773 verbose parsed url { protocol: null,
12773 verbose parsed url slashes: null,
12773 verbose parsed url auth: null,
12773 verbose parsed url host: null,
12773 verbose parsed url port: null,
12773 verbose parsed url hostname: null,
12773 verbose parsed url hash: null,
12773 verbose parsed url search: null,
12773 verbose parsed url query: null,
12773 verbose parsed url pathname: '~0.3',
12773 verbose parsed url path: '~0.3',
12773 verbose parsed url href: '~0.3' }
12774 verbose addNamed [ 'config-chain', '~0.3' ]
12775 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
12776 silly lockFile be55fc74-config-chain-0-3 config-chain@~0.3
12777 verbose lock config-chain@~0.3 /home/spike/.npm/be55fc74-config-chain-0-3.lock
12778 verbose cache add [ 'optimist@~0.3.4', null ]
12779 verbose cache add name=undefined spec="optimist@~0.3.4" args=["optimist@~0.3.4",null]
12780 verbose parsed url { protocol: null,
12780 verbose parsed url slashes: null,
12780 verbose parsed url auth: null,
12780 verbose parsed url host: null,
12780 verbose parsed url port: null,
12780 verbose parsed url hostname: null,
12780 verbose parsed url hash: null,
12780 verbose parsed url search: null,
12780 verbose parsed url query: null,
12780 verbose parsed url pathname: 'optimist@~0.3.4',
12780 verbose parsed url path: 'optimist@~0.3.4',
12780 verbose parsed url href: 'optimist@~0.3.4' }
12781 verbose cache add name="optimist" spec="~0.3.4" args=["optimist","~0.3.4"]
12782 verbose parsed url { protocol: null,
12782 verbose parsed url slashes: null,
12782 verbose parsed url auth: null,
12782 verbose parsed url host: null,
12782 verbose parsed url port: null,
12782 verbose parsed url hostname: null,
12782 verbose parsed url hash: null,
12782 verbose parsed url search: null,
12782 verbose parsed url query: null,
12782 verbose parsed url pathname: '~0.3.4',
12782 verbose parsed url path: '~0.3.4',
12782 verbose parsed url href: '~0.3.4' }
12783 verbose addNamed [ 'optimist', '~0.3.4' ]
12784 verbose addNamed [ null, '>=0.3.4-0 <0.4.0-0' ]
12785 silly lockFile 094c60bd-optimist-0-3-4 optimist@~0.3.4
12786 verbose lock optimist@~0.3.4 /home/spike/.npm/094c60bd-optimist-0-3-4.lock
12787 info preinstall update-notifier@0.1.7
12788 silly addNameRange { name: 'config-chain',
12788 silly addNameRange range: '>=0.3.0-0 <0.4.0-0',
12788 silly addNameRange hasData: false }
12789 silly addNameRange { name: 'optimist', range: '>=0.3.4-0 <0.4.0-0', hasData: false }
12790 verbose readDependencies using package.json deps
12791 http 304 https://registry.npmjs.org/lru-cache
12792 silly registry.get cb [ 304,
12792 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12792 silly registry.get etag: '"2Q6OM1EGQVBV0BVOXEBZTU9ZQ"',
12792 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12792 silly registry.get 'content-length': '0' } ]
12793 verbose etag lru-cache from cache
12794 verbose readDependencies using package.json deps
12795 verbose readDependencies using package.json deps
12796 silly resolved []
12797 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/stable
12798 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/stable
12799 verbose linkStuff [ false,
12799 verbose linkStuff false,
12799 verbose linkStuff false,
12799 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
12800 info linkStuff stable@0.1.4
12801 verbose linkBins stable@0.1.4
12802 verbose linkMans stable@0.1.4
12803 verbose rebuildBundles stable@0.1.4
12804 http 304 https://registry.npmjs.org/sigmund
12805 silly registry.get cb [ 304,
12805 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12805 silly registry.get etag: '"B3A8TQWKO2LCFJTEX2PWUWOQD"',
12805 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12805 silly registry.get 'content-length': '0' } ]
12806 verbose etag sigmund from cache
12807 verbose readDependencies using package.json deps
12808 info install stable@0.1.4
12809 silly gunzTarPerm extractEntry testData/compressed-flags-set/archive.zip
12810 silly gunzTarPerm extractEntry testData/compressed-flags-set/inflated/dir/fileInsideDir.txt
12811 silly gunzTarPerm extractEntry lib/pack.js
12812 silly gunzTarPerm extractEntry lib/parse.js
12813 silly gunzTarPerm extractEntry test/unsafe.js
12814 silly gunzTarPerm extractEntry test/symlinkme/file.js
12815 verbose cache add [ 'semver@~2.1.0', null ]
12816 verbose cache add name=undefined spec="semver@~2.1.0" args=["semver@~2.1.0",null]
12817 verbose parsed url { protocol: null,
12817 verbose parsed url slashes: null,
12817 verbose parsed url auth: null,
12817 verbose parsed url host: null,
12817 verbose parsed url port: null,
12817 verbose parsed url hostname: null,
12817 verbose parsed url hash: null,
12817 verbose parsed url search: null,
12817 verbose parsed url query: null,
12817 verbose parsed url pathname: 'semver@~2.1.0',
12817 verbose parsed url path: 'semver@~2.1.0',
12817 verbose parsed url href: 'semver@~2.1.0' }
12818 verbose cache add name="semver" spec="~2.1.0" args=["semver","~2.1.0"]
12819 verbose parsed url { protocol: null,
12819 verbose parsed url slashes: null,
12819 verbose parsed url auth: null,
12819 verbose parsed url host: null,
12819 verbose parsed url port: null,
12819 verbose parsed url hostname: null,
12819 verbose parsed url hash: null,
12819 verbose parsed url search: null,
12819 verbose parsed url query: null,
12819 verbose parsed url pathname: '~2.1.0',
12819 verbose parsed url path: '~2.1.0',
12819 verbose parsed url href: '~2.1.0' }
12820 verbose addNamed [ 'semver', '~2.1.0' ]
12821 verbose addNamed [ null, '>=2.1.0-0 <2.2.0-0' ]
12822 silly lockFile d1b48040-semver-2-1-0 semver@~2.1.0
12823 verbose lock semver@~2.1.0 /home/spike/.npm/d1b48040-semver-2-1-0.lock
12824 verbose cache add [ 'chalk@~0.2.1', null ]
12825 verbose cache add name=undefined spec="chalk@~0.2.1" args=["chalk@~0.2.1",null]
12826 verbose parsed url { protocol: null,
12826 verbose parsed url slashes: null,
12826 verbose parsed url auth: null,
12826 verbose parsed url host: null,
12826 verbose parsed url port: null,
12826 verbose parsed url hostname: null,
12826 verbose parsed url hash: null,
12826 verbose parsed url search: null,
12826 verbose parsed url query: null,
12826 verbose parsed url pathname: 'chalk@~0.2.1',
12826 verbose parsed url path: 'chalk@~0.2.1',
12826 verbose parsed url href: 'chalk@~0.2.1' }
12827 verbose cache add name="chalk" spec="~0.2.1" args=["chalk","~0.2.1"]
12828 verbose parsed url { protocol: null,
12828 verbose parsed url slashes: null,
12828 verbose parsed url auth: null,
12828 verbose parsed url host: null,
12828 verbose parsed url port: null,
12828 verbose parsed url hostname: null,
12828 verbose parsed url hash: null,
12828 verbose parsed url search: null,
12828 verbose parsed url query: null,
12828 verbose parsed url pathname: '~0.2.1',
12828 verbose parsed url path: '~0.2.1',
12828 verbose parsed url href: '~0.2.1' }
12829 verbose addNamed [ 'chalk', '~0.2.1' ]
12830 verbose addNamed [ null, '>=0.2.1-0 <0.3.0-0' ]
12831 silly lockFile 0473fa9b-chalk-0-2-1 chalk@~0.2.1
12832 verbose lock chalk@~0.2.1 /home/spike/.npm/0473fa9b-chalk-0-2-1.lock
12833 info postinstall stable@0.1.4
12834 http 304 https://registry.npmjs.org/optimist
12835 silly registry.get cb [ 304,
12835 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
12835 silly registry.get etag: '"OS1IEUGBR7XWJDXTC6RY7ZN0"',
12835 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12835 silly registry.get 'content-length': '0' } ]
12836 verbose etag optimist from cache
12837 verbose cache add [ 'request@~2.27.0', null ]
12838 verbose cache add name=undefined spec="request@~2.27.0" args=["request@~2.27.0",null]
12839 verbose parsed url { protocol: null,
12839 verbose parsed url slashes: null,
12839 verbose parsed url auth: null,
12839 verbose parsed url host: null,
12839 verbose parsed url port: null,
12839 verbose parsed url hostname: null,
12839 verbose parsed url hash: null,
12839 verbose parsed url search: null,
12839 verbose parsed url query: null,
12839 verbose parsed url pathname: 'request@~2.27.0',
12839 verbose parsed url path: 'request@~2.27.0',
12839 verbose parsed url href: 'request@~2.27.0' }
12840 verbose cache add name="request" spec="~2.27.0" args=["request","~2.27.0"]
12841 verbose parsed url { protocol: null,
12841 verbose parsed url slashes: null,
12841 verbose parsed url auth: null,
12841 verbose parsed url host: null,
12841 verbose parsed url port: null,
12841 verbose parsed url hostname: null,
12841 verbose parsed url hash: null,
12841 verbose parsed url search: null,
12841 verbose parsed url query: null,
12841 verbose parsed url pathname: '~2.27.0',
12841 verbose parsed url path: '~2.27.0',
12841 verbose parsed url href: '~2.27.0' }
12842 verbose addNamed [ 'request', '~2.27.0' ]
12843 verbose addNamed [ null, '>=2.27.0-0 <2.28.0-0' ]
12844 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
12845 verbose lock request@~2.27.0 /home/spike/.npm/999b8a1d-request-2-27-0.lock
12846 verbose url raw optimist
12847 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
12848 verbose url resolved https://registry.npmjs.org/optimist
12849 info trying registry request attempt 1 at 11:44:54
12850 verbose etag "OS1IEUGBR7XWJDXTC6RY7ZN0"
12851 http GET https://registry.npmjs.org/optimist
12852 silly addNameRange { name: 'semver', range: '>=2.1.0-0 <2.2.0-0', hasData: false }
12853 verbose cache add [ 'configstore@~0.1.0', null ]
12854 verbose cache add name=undefined spec="configstore@~0.1.0" args=["configstore@~0.1.0",null]
12855 verbose parsed url { protocol: null,
12855 verbose parsed url slashes: null,
12855 verbose parsed url auth: null,
12855 verbose parsed url host: null,
12855 verbose parsed url port: null,
12855 verbose parsed url hostname: null,
12855 verbose parsed url hash: null,
12855 verbose parsed url search: null,
12855 verbose parsed url query: null,
12855 verbose parsed url pathname: 'configstore@~0.1.0',
12855 verbose parsed url path: 'configstore@~0.1.0',
12855 verbose parsed url href: 'configstore@~0.1.0' }
12856 verbose cache add name="configstore" spec="~0.1.0" args=["configstore","~0.1.0"]
12857 verbose parsed url { protocol: null,
12857 verbose parsed url slashes: null,
12857 verbose parsed url auth: null,
12857 verbose parsed url host: null,
12857 verbose parsed url port: null,
12857 verbose parsed url hostname: null,
12857 verbose parsed url hash: null,
12857 verbose parsed url search: null,
12857 verbose parsed url query: null,
12857 verbose parsed url pathname: '~0.1.0',
12857 verbose parsed url path: '~0.1.0',
12857 verbose parsed url href: '~0.1.0' }
12858 verbose addNamed [ 'configstore', '~0.1.0' ]
12859 verbose addNamed [ null, '>=0.1.0-0 <0.2.0-0' ]
12860 silly lockFile 6925d793-configstore-0-1-0 configstore@~0.1.0
12861 verbose lock configstore@~0.1.0 /home/spike/.npm/6925d793-configstore-0-1-0.lock
12862 silly addNameRange { name: 'chalk', range: '>=0.2.1-0 <0.3.0-0', hasData: false }
12863 verbose url raw config-chain
12864 verbose url resolving [ 'https://registry.npmjs.org/', './config-chain' ]
12865 verbose url resolved https://registry.npmjs.org/config-chain
12866 info trying registry request attempt 1 at 11:44:54
12867 verbose etag "9TQAD0HUAM1QUBF9LFRCMRVR7"
12868 http GET https://registry.npmjs.org/config-chain
12869 silly addNameRange { name: 'request',
12869 silly addNameRange range: '>=2.27.0-0 <2.28.0-0',
12869 silly addNameRange hasData: false }
12870 http 304 https://registry.npmjs.org/source-map
12871 silly registry.get cb [ 304,
12871 silly registry.get { server: 'CouchDB/1.5.0 (Erlang OTP/R15B03)',
12871 silly registry.get etag: '"7E1SNKADWHLBD34TA7832SUWA"',
12871 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
12871 silly registry.get 'content-length': '0' } ]
12872 verbose etag source-map from cache
12873 silly addNameRange { name: 'configstore',
12873 silly addNameRange range: '>=0.1.0-0 <0.2.0-0',
12873 silly addNameRange hasData: false }
12874 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.0.0-0 <3.0.0-0', hasData: true }
12875 silly addNameRange versions [ 'lru-cache',
12875 silly addNameRange [ '1.0.1',
12875 silly addNameRange '1.0.2',
12875 silly addNameRange '1.0.3',
12875 silly addNameRange '1.0.4',
12875 silly addNameRange '1.0.5',
12875 silly addNameRange '1.0.6',
12875 silly addNameRange '1.1.0',
12875 silly addNameRange '1.1.1',
12875 silly addNameRange '2.0.0',
12875 silly addNameRange '2.0.1',
12875 silly addNameRange '2.0.2',
12875 silly addNameRange '2.0.3',
12875 silly addNameRange '2.0.4',
12875 silly addNameRange '2.1.0',
12875 silly addNameRange '2.2.0',
12875 silly addNameRange '2.2.1',
12875 silly addNameRange '2.2.2',
12875 silly addNameRange '2.2.4',
12875 silly addNameRange '2.3.0',
12875 silly addNameRange '2.3.1',
12875 silly addNameRange '2.5.0' ] ]
12876 verbose addNamed [ 'lru-cache', '2.5.0' ]
12877 verbose addNamed [ '2.5.0', '2.5.0' ]
12878 silly lockFile 30aa630e-lru-cache-2-5-0 lru-cache@2.5.0
12879 verbose lock lru-cache@2.5.0 /home/spike/.npm/30aa630e-lru-cache-2-5-0.lock
12880 silly addNameRange number 2 { name: 'sigmund', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
12881 silly addNameRange versions [ 'sigmund', [ '1.0.0' ] ]
12882 verbose addNamed [ 'sigmund', '1.0.0' ]
12883 verbose addNamed [ '1.0.0', '1.0.0' ]
12884 silly lockFile 7b2d1244-sigmund-1-0-0 sigmund@1.0.0
12885 verbose lock sigmund@1.0.0 /home/spike/.npm/7b2d1244-sigmund-1-0-0.lock
12886 silly gunzTarPerm extractEntry web/images/logo.png
12887 silly gunzTarPerm extractEntry web/images/noise.png
12888 verbose registry.get semver not expired, no request
12889 silly addNameRange number 2 { name: 'semver', range: '>=2.1.0-0 <2.2.0-0', hasData: true }
12890 silly addNameRange versions [ 'semver',
12890 silly addNameRange [ '1.0.0',
12890 silly addNameRange '1.0.1',
12890 silly addNameRange '1.0.2',
12890 silly addNameRange '1.0.3',
12890 silly addNameRange '1.0.4',
12890 silly addNameRange '1.0.5',
12890 silly addNameRange '1.0.6',
12890 silly addNameRange '1.0.7',
12890 silly addNameRange '1.0.8',
12890 silly addNameRange '1.0.9',
12890 silly addNameRange '1.0.10',
12890 silly addNameRange '1.0.11',
12890 silly addNameRange '1.0.12',
12890 silly addNameRange '1.0.13',
12890 silly addNameRange '1.0.14',
12890 silly addNameRange '1.1.0',
12890 silly addNameRange '1.1.1',
12890 silly addNameRange '1.1.2',
12890 silly addNameRange '1.1.3',
12890 silly addNameRange '1.1.4',
12890 silly addNameRange '2.0.0-alpha',
12890 silly addNameRange '2.0.0-beta',
12890 silly addNameRange '2.0.1',
12890 silly addNameRange '2.0.2',
12890 silly addNameRange '2.0.3',
12890 silly addNameRange '2.0.4',
12890 silly addNameRange '2.0.5',
12890 silly addNameRange '2.0.6',
12890 silly addNameRange '2.0.7',
12890 silly addNameRange '2.0.8',
12890 silly addNameRange '2.0.9',
12890 silly addNameRange '2.0.10',
12890 silly addNameRange '2.0.11',
12890 silly addNameRange '2.1.0',
12890 silly addNameRange '2.2.0',
12890 silly addNameRange '2.2.1' ] ]
12891 verbose addNamed [ 'semver', '2.1.0' ]
12892 verbose addNamed [ '2.1.0', '2.1.0' ]
12893 silly lockFile 386d7f9d-semver-2-1-0 semver@2.1.0
12894 verbose lock semver@2.1.0 /home/spike/.npm/386d7f9d-semver-2-1-0.lock
12895 verbose url raw chalk
12896 verbose url resolving [ 'https://registry.npmjs.org/', './chalk' ]
12897 verbose url resolved https://registry.npmjs.org/chalk
12898 info trying registry request attempt 1 at 11:44:54
12899 verbose etag "DE9DQ8BEX4AHGSC87AQDFPO4J"
12900 http GET https://registry.npmjs.org/chalk
12901 verbose registry.get request not expired, no request
12902 silly addNameRange number 2 { name: 'request', range: '>=2.27.0-0 <2.28.0-0', hasData: true }
12903 silly addNameRange versions [ 'request',
12903 silly addNameRange [ '0.10.0',
12903 silly addNameRange '0.8.3',
12903 silly addNameRange '0.9.0',
12903 silly addNameRange '0.9.1',
12903 silly addNameRange '0.9.5',
12903 silly addNameRange '1.0.0',
12903 silly addNameRange '1.1.0',
12903 silly addNameRange '1.1.1',
12903 silly addNameRange '1.2.0',
12903 silly addNameRange '1.9.0',
12903 silly addNameRange '1.9.1',
12903 silly addNameRange '1.9.2',
12903 silly addNameRange '1.9.3',
12903 silly addNameRange '1.9.5',
12903 silly addNameRange '1.9.7',
12903 silly addNameRange '1.9.8',
12903 silly addNameRange '1.9.9',
12903 silly addNameRange '2.0.0',
12903 silly addNameRange '2.0.1',
12903 silly addNameRange '2.0.2',
12903 silly addNameRange '2.0.3',
12903 silly addNameRange '2.0.4',
12903 silly addNameRange '2.0.5',
12903 silly addNameRange '2.1.0',
12903 silly addNameRange '2.1.1',
12903 silly addNameRange '2.2.0',
12903 silly addNameRange '2.2.5',
12903 silly addNameRange '2.2.6',
12903 silly addNameRange '2.2.9',
12903 silly addNameRange '2.9.0',
12903 silly addNameRange '2.9.1',
12903 silly addNameRange '2.9.2',
12903 silly addNameRange '2.9.3',
12903 silly addNameRange '2.9.100',
12903 silly addNameRange '2.9.150',
12903 silly addNameRange '2.9.151',
12903 silly addNameRange '2.9.152',
12903 silly addNameRange '2.9.153',
12903 silly addNameRange '2.9.200',
12903 silly addNameRange '2.9.201',
12903 silly addNameRange '2.9.202',
12903 silly addNameRange '2.9.203',
12903 silly addNameRange '2.10.0',
12903 silly addNameRange '2.11.0',
12903 silly addNameRange '2.11.1',
12903 silly addNameRange '2.11.2',
12903 silly addNameRange '2.11.3',
12903 silly addNameRange '2.11.4',
12903 silly addNameRange '2.12.0',
12903 silly addNameRange '2.14.0',
12903 silly addNameRange '2.16.0',
12903 silly addNameRange '2.16.2',
12903 silly addNameRange '2.16.4',
12903 silly addNameRange '2.16.6',
12903 silly addNameRange '2.18.0',
12903 silly addNameRange '2.19.0',
12903 silly addNameRange '2.20.0',
12903 silly addNameRange '2.21.0',
12903 silly addNameRange '2.22.0',
12903 silly addNameRange '2.23.0',
12903 silly addNameRange '2.24.0',
12903 silly addNameRange '2.25.0',
12903 silly addNameRange '2.26.0',
12903 silly addNameRange '2.27.0',
12903 silly addNameRange '2.28.0',
12903 silly addNameRange '2.29.0',
12903 silly addNameRange '2.30.0' ] ]
12904 verbose addNamed [ 'request', '2.27.0' ]
12905 verbose addNamed [ '2.27.0', '2.27.0' ]
12906 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
12907 verbose lock request@2.27.0 /home/spike/.npm/7b48fbe0-request-2-27-0.lock
12908 silly addNameRange number 2 { name: 'optimist', range: '>=0.3.5-0 <0.4.0-0', hasData: true }
12909 silly addNameRange versions [ 'optimist',
12909 silly addNameRange [ '0.0.1',
12909 silly addNameRange '0.0.2',
12909 silly addNameRange '0.0.4',
12909 silly addNameRange '0.0.5',
12909 silly addNameRange '0.0.6',
12909 silly addNameRange '0.0.7',
12909 silly addNameRange '0.1.0',
12909 silly addNameRange '0.1.1',
12909 silly addNameRange '0.1.2',
12909 silly addNameRange '0.1.3',
12909 silly addNameRange '0.1.4',
12909 silly addNameRange '0.1.5',
12909 silly addNameRange '0.1.6',
12909 silly addNameRange '0.1.7',
12909 silly addNameRange '0.1.8',
12909 silly addNameRange '0.1.9',
12909 silly addNameRange '0.0.3',
12909 silly addNameRange '0.2.0',
12909 silly addNameRange '0.2.1',
12909 silly addNameRange '0.2.2',
12909 silly addNameRange '0.2.3',
12909 silly addNameRange '0.2.4',
12909 silly addNameRange '0.2.5',
12909 silly addNameRange '0.2.6',
12909 silly addNameRange '0.2.7',
12909 silly addNameRange '0.2.8',
12909 silly addNameRange '0.3.0',
12909 silly addNameRange '0.3.1',
12909 silly addNameRange '0.3.3',
12909 silly addNameRange '0.3.4',
12909 silly addNameRange '0.3.5',
12909 silly addNameRange '0.3.6',
12909 silly addNameRange '0.3.7',
12909 silly addNameRange '0.4.0',
12909 silly addNameRange '0.5.0',
12909 silly addNameRange '0.5.1',
12909 silly addNameRange '0.5.2',
12909 silly addNameRange '0.6.0' ] ]
12910 verbose addNamed [ 'optimist', '0.3.7' ]
12911 verbose addNamed [ '0.3.7', '0.3.7' ]
12912 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
12913 verbose lock optimist@0.3.7 /home/spike/.npm/090e1d8d-optimist-0-3-7.lock
12914 verbose url raw configstore
12915 verbose url resolving [ 'https://registry.npmjs.org/', './configstore' ]
12916 verbose url resolved https://registry.npmjs.org/configstore
12917 info trying registry request attempt 1 at 11:44:54
12918 verbose etag "3XQPGJ9E5BCTYW1LQC9FXO0WM"
12919 http GET https://registry.npmjs.org/configstore
12920 silly gunzTarPerm extractEntry test/00-setup-fixtures.js
12921 silly gunzTarPerm extractEntry test/extract.js
12922 silly addNameRange number 2 { name: 'source-map',
12922 silly addNameRange range: '>=0.1.7-0 <0.2.0-0',
12922 silly addNameRange hasData: true }
12923 silly addNameRange versions [ 'source-map',
12923 silly addNameRange [ '0.0.0',
12923 silly addNameRange '0.1.0',
12923 silly addNameRange '0.1.1',
12923 silly addNameRange '0.1.2',
12923 silly addNameRange '0.1.3',
12923 silly addNameRange '0.1.4',
12923 silly addNameRange '0.1.5',
12923 silly addNameRange '0.1.6',
12923 silly addNameRange '0.1.7',
12923 silly addNameRange '0.1.8',
12923 silly addNameRange '0.1.9',
12923 silly addNameRange '0.1.10',
12923 silly addNameRange '0.1.11',
12923 silly addNameRange '0.1.12',
12923 silly addNameRange '0.1.13',
12923 silly addNameRange '0.1.14',
12923 silly addNameRange '0.1.15',
12923 silly addNameRange '0.1.16',
12923 silly addNameRange '0.1.17',
12923 silly addNameRange '0.1.18',
12923 silly addNameRange '0.1.19',
12923 silly addNameRange '0.1.20',
12923 silly addNameRange '0.1.21',
12923 silly addNameRange '0.1.22',
12923 silly addNameRange '0.1.23',
12923 silly addNameRange '0.1.24',
12923 silly addNameRange '0.1.25',
12923 silly addNameRange '0.1.26',
12923 silly addNameRange '0.1.27',
12923 silly addNameRange '0.1.28',
12923 silly addNameRange '0.1.29',
12923 silly addNameRange '0.1.30',
12923 silly addNameRange '0.1.31' ] ]
12924 verbose addNamed [ 'source-map', '0.1.31' ]
12925 verbose addNamed [ '0.1.31', '0.1.31' ]
12926 silly lockFile da25d7af-source-map-0-1-31 source-map@0.1.31
12927 verbose lock source-map@0.1.31 /home/spike/.npm/da25d7af-source-map-0-1-31.lock
12928 silly lockFile 11a63cba-modules-bower-node-modules-archy tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/archy
12929 silly lockFile 11a63cba-modules-bower-node-modules-archy tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/archy
12930 silly lockFile 7d95781d-pike-npm-archy-0-0-2-package-tgz tar:///home/spike/.npm/archy/0.0.2/package.tgz
12931 silly lockFile 7d95781d-pike-npm-archy-0-0-2-package-tgz tar:///home/spike/.npm/archy/0.0.2/package.tgz
12932 silly gunzTarPerm extractEntry test-all.sh
12933 silly gunzTarPerm extractEntry test/cwd-test.js
12934 silly gunzTarPerm extractEntry test/mark.js
12935 silly lockFile 30aa630e-lru-cache-2-5-0 lru-cache@2.5.0
12936 silly lockFile 30aa630e-lru-cache-2-5-0 lru-cache@2.5.0
12937 info preinstall archy@0.0.2
12938 silly gunzTarPerm extractEntry web/images/stripes.png
12939 silly gunzTarPerm extractEntry web/index.html.mustache
12940 silly lockFile 7b2d1244-sigmund-1-0-0 sigmund@1.0.0
12941 silly lockFile 7b2d1244-sigmund-1-0-0 sigmund@1.0.0
12942 silly lockFile b4f9d1ff-lru-cache-2 lru-cache@2
12943 silly lockFile b4f9d1ff-lru-cache-2 lru-cache@2
12944 silly lockFile 584a4a05-sigmund-1-0-0 sigmund@~1.0.0
12945 silly lockFile 584a4a05-sigmund-1-0-0 sigmund@~1.0.0
12946 silly lockFile f381bcf4-odules-bower-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf
12947 silly lockFile f381bcf4-odules-bower-node-modules-rimraf tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf
12948 silly resolved [ { name: 'lru-cache',
12948 silly resolved description: 'A cache object that deletes the least-recently-used items.',
12948 silly resolved version: '2.5.0',
12948 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
12948 silly resolved scripts: { test: 'tap test --gc' },
12948 silly resolved main: 'lib/lru-cache.js',
12948 silly resolved repository:
12948 silly resolved { type: 'git',
12948 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
12948 silly resolved devDependencies: { tap: '', weak: '' },
12948 silly resolved license:
12948 silly resolved { type: 'MIT',
12948 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
12948 silly resolved readme: '# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require("lru-cache")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set("key", "value")\ncache.get("key") // "value"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it\'ll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that\'s the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it\'ll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you\'re storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It\'s called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you\'ll have to do that in a\n `nextTick` or `setTimeout` callback or it won\'t do anything.\n* `stale` By default, if you set a `maxAge`, it\'ll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it\'s\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it\'ll return the stale value before deleting it. If\n you don\'t set this, then it\'ll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the "recently used"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the "recently used"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it\'s handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n',
12948 silly resolved readmeFilename: 'README.md',
12948 silly resolved bugs: { url: 'https://github.com/isaacs/node-lru-cache/issues' },
12948 silly resolved homepage: 'https://github.com/isaacs/node-lru-cache',
12948 silly resolved _id: 'lru-cache@2.5.0',
12948 silly resolved _from: 'lru-cache@2' },
12948 silly resolved { name: 'sigmund',
12948 silly resolved version: '1.0.0',
12948 silly resolved description: 'Quick and dirty signatures for Objects.',
12948 silly resolved main: 'sigmund.js',
12948 silly resolved directories: { test: 'test' },
12948 silly resolved dependencies: {},
12948 silly resolved devDependencies: { tap: '~0.3.0' },
12948 silly resolved scripts: { test: 'tap test/*.js', bench: 'node bench.js' },
12948 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/sigmund' },
12948 silly resolved keywords: [ 'object', 'signature', 'key', 'data', 'psychoanalysis' ],
12948 silly resolved author:
12948 silly resolved { name: 'Isaac Z. Schlueter',
12948 silly resolved email: 'i@izs.me',
12948 silly resolved url: 'http://blog.izs.me/' },
12948 silly resolved license: 'BSD',
12948 silly resolved readme: '# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n var cached = cache.get(key)\n if (cached) return cached)\n\n var result = expensiveCalculation(someObj)\n cache.set(key, result)\n return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:\'foo\'}` will be treated identically to the\narray `[\'foo\']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you. In fact, it\'s\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions. For example, these objects\nhave the same signature:\n\n var obj1 = {a:\'b\',c:/def/,g:[\'h\',\'i\',{j:\'\',k:\'l\'}]}\n var obj2 = {a:\'b\',c:\'/def/\',g:[\'h\',\'i\',\'{jkl\']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you\'re looking for. It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n',
12948 silly resolved readmeFilename: 'README.md',
12948 silly resolved bugs: { url: 'https://github.com/isaacs/sigmund/issues' },
12948 silly resolved homepage: 'https://github.com/isaacs/sigmund',
12948 silly resolved _id: 'sigmund@1.0.0',
12948 silly resolved _from: 'sigmund@~1.0.0' } ]
12949 info install lru-cache@2.5.0 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch
12950 info install sigmund@1.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch
12951 info installOne lru-cache@2.5.0
12952 info installOne sigmund@1.0.0
12953 silly resolved [ { name: 'lru-cache',
12953 silly resolved description: 'A cache object that deletes the least-recently-used items.',
12953 silly resolved version: '2.5.0',
12953 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
12953 silly resolved scripts: { test: 'tap test --gc' },
12953 silly resolved main: 'lib/lru-cache.js',
12953 silly resolved repository:
12953 silly resolved { type: 'git',
12953 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
12953 silly resolved devDependencies: { tap: '', weak: '' },
12953 silly resolved license:
12953 silly resolved { type: 'MIT',
12953 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
12953 silly resolved readme: '# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require("lru-cache")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set("key", "value")\ncache.get("key") // "value"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it\'ll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that\'s the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it\'ll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you\'re storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It\'s called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you\'ll have to do that in a\n `nextTick` or `setTimeout` callback or it won\'t do anything.\n* `stale` By default, if you set a `maxAge`, it\'ll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it\'s\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it\'ll return the stale value before deleting it. If\n you don\'t set this, then it\'ll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the "recently used"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the "recently used"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it\'s handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n',
12953 silly resolved readmeFilename: 'README.md',
12953 silly resolved bugs: { url: 'https://github.com/isaacs/node-lru-cache/issues' },
12953 silly resolved homepage: 'https://github.com/isaacs/node-lru-cache',
12953 silly resolved _id: 'lru-cache@2.5.0',
12953 silly resolved _from: 'lru-cache@2' },
12953 silly resolved { name: 'sigmund',
12953 silly resolved version: '1.0.0',
12953 silly resolved description: 'Quick and dirty signatures for Objects.',
12953 silly resolved main: 'sigmund.js',
12953 silly resolved directories: { test: 'test' },
12953 silly resolved dependencies: {},
12953 silly resolved devDependencies: { tap: '~0.3.0' },
12953 silly resolved scripts: { test: 'tap test/*.js', bench: 'node bench.js' },
12953 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/sigmund' },
12953 silly resolved keywords: [ 'object', 'signature', 'key', 'data', 'psychoanalysis' ],
12953 silly resolved author:
12953 silly resolved { name: 'Isaac Z. Schlueter',
12953 silly resolved email: 'i@izs.me',
12953 silly resolved url: 'http://blog.izs.me/' },
12953 silly resolved license: 'BSD',
12953 silly resolved readme: '# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n var cached = cache.get(key)\n if (cached) return cached)\n\n var result = expensiveCalculation(someObj)\n cache.set(key, result)\n return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:\'foo\'}` will be treated identically to the\narray `[\'foo\']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you. In fact, it\'s\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions. For example, these objects\nhave the same signature:\n\n var obj1 = {a:\'b\',c:/def/,g:[\'h\',\'i\',{j:\'\',k:\'l\'}]}\n var obj2 = {a:\'b\',c:\'/def/\',g:[\'h\',\'i\',\'{jkl\']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you\'re looking for. It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n',
12953 silly resolved readmeFilename: 'README.md',
12953 silly resolved bugs: { url: 'https://github.com/isaacs/sigmund/issues' },
12953 silly resolved homepage: 'https://github.com/isaacs/sigmund',
12953 silly resolved _id: 'sigmund@1.0.0',
12953 silly resolved _from: 'sigmund@~1.0.0' } ]
12954 info install lru-cache@2.5.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch
12955 info install sigmund@1.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch
12956 info installOne lru-cache@2.5.0
12957 info installOne sigmund@1.0.0
12958 silly resolved [ { name: 'lru-cache',
12958 silly resolved description: 'A cache object that deletes the least-recently-used items.',
12958 silly resolved version: '2.5.0',
12958 silly resolved author: { name: 'Isaac Z. Schlueter', email: 'i@izs.me' },
12958 silly resolved scripts: { test: 'tap test --gc' },
12958 silly resolved main: 'lib/lru-cache.js',
12958 silly resolved repository:
12958 silly resolved { type: 'git',
12958 silly resolved url: 'git://github.com/isaacs/node-lru-cache.git' },
12958 silly resolved devDependencies: { tap: '', weak: '' },
12958 silly resolved license:
12958 silly resolved { type: 'MIT',
12958 silly resolved url: 'http://github.com/isaacs/node-lru-cache/raw/master/LICENSE' },
12958 silly resolved readme: '# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require("lru-cache")\n , options = { max: 500\n , length: function (n) { return n * 2 }\n , dispose: function (key, n) { n.close() }\n , maxAge: 1000 * 60 * 60 }\n , cache = LRU(options)\n , otherCache = LRU(50) // sets just the max size\n\ncache.set("key", "value")\ncache.get("key") // "value"\n\ncache.reset() // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it\'ll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n function to all values in the cache. Not setting this is kind of\n silly, since that\'s the whole purpose of this lib, but it defaults\n to `Infinity`.\n* `maxAge` Maximum age in ms. Items are not pro-actively pruned out\n as they age, but if you try to get an item that is too old, it\'ll\n drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n items. If you\'re storing strings or buffers, then you probably want\n to do something like `function(n){return n.length}`. The default is\n `function(n){return 1}`, which is fine if you want to store `n`\n like-sized things.\n* `dispose` Function that is called on items when they are dropped\n from the cache. This can be handy if you want to close file\n descriptors or do other cleanup tasks when items are no longer\n accessible. Called with `key, value`. It\'s called *before*\n actually removing the item from the internal cache, so if you want\n to immediately put it back in, you\'ll have to do that in a\n `nextTick` or `setTimeout` callback or it won\'t do anything.\n* `stale` By default, if you set a `maxAge`, it\'ll only actually pull\n stale items out of the cache when you `get(key)`. (That is, it\'s\n not pre-emptively doing a `setTimeout` or anything.) If you set\n `stale:true`, it\'ll return the stale value before deleting it. If\n you don\'t set this, then it\'ll return `undefined` when you try to\n get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n Both of these will update the "recently used"-ness of the key.\n They do what you think.\n\n* `peek(key)`\n\n Returns the key value (or `undefined` if not found) without\n updating the "recently used"-ness of the key.\n\n (If you find yourself using this a lot, you *might* be using the\n wrong sort of data structure, but there are some use cases where\n it\'s handy.)\n\n* `del(key)`\n\n Deletes a key out of the cache.\n\n* `reset()`\n\n Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n Check if a key is in the cache, without updating the recent-ness\n or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n Just like `Array.prototype.forEach`. Iterates over all the keys\n in the cache, in order of recent-ness. (Ie, more recently used\n items are iterated over first.)\n\n* `keys()`\n\n Return an array of the keys in the cache.\n\n* `values()`\n\n Return an array of the values in the cache.\n',
12958 silly resolved readmeFilename: 'README.md',
12958 silly resolved bugs: { url: 'https://github.com/isaacs/node-lru-cache/issues' },
12958 silly resolved homepage: 'https://github.com/isaacs/node-lru-cache',
12958 silly resolved _id: 'lru-cache@2.5.0',
12958 silly resolved _from: 'lru-cache@2' },
12958 silly resolved { name: 'sigmund',
12958 silly resolved version: '1.0.0',
12958 silly resolved description: 'Quick and dirty signatures for Objects.',
12958 silly resolved main: 'sigmund.js',
12958 silly resolved directories: { test: 'test' },
12958 silly resolved dependencies: {},
12958 silly resolved devDependencies: { tap: '~0.3.0' },
12958 silly resolved scripts: { test: 'tap test/*.js', bench: 'node bench.js' },
12958 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/sigmund' },
12958 silly resolved keywords: [ 'object', 'signature', 'key', 'data', 'psychoanalysis' ],
12958 silly resolved author:
12958 silly resolved { name: 'Isaac Z. Schlueter',
12958 silly resolved email: 'i@izs.me',
12958 silly resolved url: 'http://blog.izs.me/' },
12958 silly resolved license: 'BSD',
12958 silly resolved readme: '# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n var cached = cache.get(key)\n if (cached) return cached)\n\n var result = expensiveCalculation(someObj)\n cache.set(key, result)\n return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:\'foo\'}` will be treated identically to the\narray `[\'foo\']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you. In fact, it\'s\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions. For example, these objects\nhave the same signature:\n\n var obj1 = {a:\'b\',c:/def/,g:[\'h\',\'i\',{j:\'\',k:\'l\'}]}\n var obj2 = {a:\'b\',c:\'/def/\',g:[\'h\',\'i\',\'{jkl\']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you\'re looking for. It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n',
12958 silly resolved readmeFilename: 'README.md',
12958 silly resolved bugs: { url: 'https://github.com/isaacs/sigmund/issues' },
12958 silly resolved homepage: 'https://github.com/isaacs/sigmund',
12958 silly resolved _id: 'sigmund@1.0.0',
12958 silly resolved _from: 'sigmund@~1.0.0' } ]
12959 info install lru-cache@2.5.0 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch
12960 info install sigmund@1.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch
12961 info installOne lru-cache@2.5.0
12962 info installOne sigmund@1.0.0
12963 silly lockFile 386d7f9d-semver-2-1-0 semver@2.1.0
12964 silly lockFile 386d7f9d-semver-2-1-0 semver@2.1.0
12965 silly lockFile 845aa153-ike-npm-rimraf-2-0-3-package-tgz tar:///home/spike/.npm/rimraf/2.0.3/package.tgz
12966 silly lockFile 845aa153-ike-npm-rimraf-2-0-3-package-tgz tar:///home/spike/.npm/rimraf/2.0.3/package.tgz
12967 verbose readDependencies using package.json deps
12968 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/lru-cache unbuild
12969 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/sigmund unbuild
12970 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache unbuild
12971 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/sigmund unbuild
12972 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache unbuild
12973 info /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund unbuild
12974 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
12975 silly lockFile 7b48fbe0-request-2-27-0 request@2.27.0
12976 silly lockFile d1b48040-semver-2-1-0 semver@~2.1.0
12977 silly lockFile d1b48040-semver-2-1-0 semver@~2.1.0
12978 verbose readDependencies using package.json deps
12979 silly resolved []
12980 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/archy
12981 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/archy
12982 verbose linkStuff [ false,
12982 verbose linkStuff false,
12982 verbose linkStuff false,
12982 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
12983 info linkStuff archy@0.0.2
12984 verbose linkBins archy@0.0.2
12985 verbose linkMans archy@0.0.2
12986 verbose rebuildBundles archy@0.0.2
12987 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
12988 silly lockFile 090e1d8d-optimist-0-3-7 optimist@0.3.7
12989 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
12990 silly lockFile 999b8a1d-request-2-27-0 request@~2.27.0
12991 info install archy@0.0.2
12992 silly lockFile a1f99b53-optimist-0-3-5 optimist@~0.3.5
12993 silly lockFile a1f99b53-optimist-0-3-5 optimist@~0.3.5
12994 silly gunzTarPerm extractEntry testData/compressed-flags-set/inflated/file.txt
12995 silly gunzTarPerm extractEntry testData/compressed-standard/archive.zip
12996 silly gunzTarPerm extractEntry test/nocase-nomagic.js
12997 silly gunzTarPerm extractEntry test/pause-resume.js
12998 verbose tar unpack /home/spike/.npm/lru-cache/2.5.0/package.tgz
12999 silly lockFile de83d84e-minimatch-node-modules-lru-cache tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/lru-cache
13000 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/lru-cache /home/spike/.npm/de83d84e-minimatch-node-modules-lru-cache.lock
13001 silly lockFile eec6364f--npm-lru-cache-2-5-0-package-tgz tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz
13002 verbose lock tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz /home/spike/.npm/eec6364f--npm-lru-cache-2-5-0-package-tgz.lock
13003 verbose tar unpack /home/spike/.npm/sigmund/1.0.0/package.tgz
13004 silly lockFile a6af677a-s-minimatch-node-modules-sigmund tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/sigmund
13005 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/sigmund /home/spike/.npm/a6af677a-s-minimatch-node-modules-sigmund.lock
13006 silly lockFile 85cefd0e-ke-npm-sigmund-1-0-0-package-tgz tar:///home/spike/.npm/sigmund/1.0.0/package.tgz
13007 verbose lock tar:///home/spike/.npm/sigmund/1.0.0/package.tgz /home/spike/.npm/85cefd0e-ke-npm-sigmund-1-0-0-package-tgz.lock
13008 verbose tar unpack /home/spike/.npm/lru-cache/2.5.0/package.tgz
13009 silly lockFile ee7a8b2c-minimatch-node-modules-lru-cache tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache
13010 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache /home/spike/.npm/ee7a8b2c-minimatch-node-modules-lru-cache.lock
13011 silly lockFile eec6364f--npm-lru-cache-2-5-0-package-tgz tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz
13012 verbose lock tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz /home/spike/.npm/eec6364f--npm-lru-cache-2-5-0-package-tgz.lock
13013 verbose tar unpack /home/spike/.npm/sigmund/1.0.0/package.tgz
13014 silly lockFile eb569fb9-s-minimatch-node-modules-sigmund tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/sigmund
13015 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/sigmund /home/spike/.npm/eb569fb9-s-minimatch-node-modules-sigmund.lock
13016 silly lockFile 85cefd0e-ke-npm-sigmund-1-0-0-package-tgz tar:///home/spike/.npm/sigmund/1.0.0/package.tgz
13017 verbose lock tar:///home/spike/.npm/sigmund/1.0.0/package.tgz /home/spike/.npm/85cefd0e-ke-npm-sigmund-1-0-0-package-tgz.lock
13018 verbose tar unpack /home/spike/.npm/lru-cache/2.5.0/package.tgz
13019 silly lockFile 8fd1b285-minimatch-node-modules-lru-cache tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache
13020 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache /home/spike/.npm/8fd1b285-minimatch-node-modules-lru-cache.lock
13021 silly lockFile eec6364f--npm-lru-cache-2-5-0-package-tgz tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz
13022 verbose lock tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz /home/spike/.npm/eec6364f--npm-lru-cache-2-5-0-package-tgz.lock
13023 verbose tar unpack /home/spike/.npm/sigmund/1.0.0/package.tgz
13024 silly lockFile a3342273-s-minimatch-node-modules-sigmund tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund
13025 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund /home/spike/.npm/a3342273-s-minimatch-node-modules-sigmund.lock
13026 silly lockFile 85cefd0e-ke-npm-sigmund-1-0-0-package-tgz tar:///home/spike/.npm/sigmund/1.0.0/package.tgz
13027 verbose lock tar:///home/spike/.npm/sigmund/1.0.0/package.tgz /home/spike/.npm/85cefd0e-ke-npm-sigmund-1-0-0-package-tgz.lock
13028 info preinstall rimraf@2.0.3
13029 info postinstall archy@0.0.2
13030 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.js
13031 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.amd.js
13032 silly lockFile da25d7af-source-map-0-1-31 source-map@0.1.31
13033 silly lockFile da25d7af-source-map-0-1-31 source-map@0.1.31
13034 silly gunzTarPerm extractEntry test/header.js
13035 silly gunzTarPerm extractEntry test/pack-no-proprietary.js
13036 silly lockFile 19b4245f-source-map-0-1-7 source-map@~0.1.7
13037 silly lockFile 19b4245f-source-map-0-1-7 source-map@~0.1.7
13038 silly gunzTarPerm modes [ '755', '644' ]
13039 silly gunzTarPerm modes [ '755', '644' ]
13040 verbose readDependencies using package.json deps
13041 verbose readDependencies using package.json deps
13042 verbose cache add [ 'graceful-fs@~1.1', null ]
13043 verbose cache add name=undefined spec="graceful-fs@~1.1" args=["graceful-fs@~1.1",null]
13044 verbose parsed url { protocol: null,
13044 verbose parsed url slashes: null,
13044 verbose parsed url auth: null,
13044 verbose parsed url host: null,
13044 verbose parsed url port: null,
13044 verbose parsed url hostname: null,
13044 verbose parsed url hash: null,
13044 verbose parsed url search: null,
13044 verbose parsed url query: null,
13044 verbose parsed url pathname: 'graceful-fs@~1.1',
13044 verbose parsed url path: 'graceful-fs@~1.1',
13044 verbose parsed url href: 'graceful-fs@~1.1' }
13045 verbose cache add name="graceful-fs" spec="~1.1" args=["graceful-fs","~1.1"]
13046 verbose parsed url { protocol: null,
13046 verbose parsed url slashes: null,
13046 verbose parsed url auth: null,
13046 verbose parsed url host: null,
13046 verbose parsed url port: null,
13046 verbose parsed url hostname: null,
13046 verbose parsed url hash: null,
13046 verbose parsed url search: null,
13046 verbose parsed url query: null,
13046 verbose parsed url pathname: '~1.1',
13046 verbose parsed url path: '~1.1',
13046 verbose parsed url href: '~1.1' }
13047 verbose addNamed [ 'graceful-fs', '~1.1' ]
13048 silly gunzTarPerm extractEntry package.json
13049 silly lockFile 58e6c0b7-odules-bower-node-modules-semver tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/semver
13050 silly lockFile 58e6c0b7-odules-bower-node-modules-semver tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/semver
13051 silly gunzTarPerm extractEntry package.json
13052 silly gunzTarPerm extractEntry test/root-nomount.js
13053 silly gunzTarPerm extractEntry test/root.js
13054 silly lockFile da510cc9-ike-npm-semver-1-1-4-package-tgz tar:///home/spike/.npm/semver/1.1.4/package.tgz
13055 silly lockFile da510cc9-ike-npm-semver-1-1-4-package-tgz tar:///home/spike/.npm/semver/1.1.4/package.tgz
13056 silly lockFile 45574567-ules-bower-node-modules-promptly tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/promptly
13057 silly lockFile 45574567-ules-bower-node-modules-promptly tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/promptly
13058 silly gunzTarPerm extractEntry testData/compressed-standard/inflated/dir/fileInsideDir.txt
13059 silly gunzTarPerm extractEntry testData/compressed-standard/inflated/file.txt
13060 silly lockFile a20f9662-e-npm-promptly-0-1-0-package-tgz tar:///home/spike/.npm/promptly/0.1.0/package.tgz
13061 silly lockFile a20f9662-e-npm-promptly-0-1-0-package-tgz tar:///home/spike/.npm/promptly/0.1.0/package.tgz
13062 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.min.mustache.js
13063 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.common.js
13064 silly gunzTarPerm extractEntry .npmignore
13065 silly gunzTarPerm extractEntry README.md
13066 silly gunzTarPerm extractEntry README.md
13067 silly gunzTarPerm extractEntry LICENSE
13068 silly lockFile 8f6f71d3--modules-bower-node-modules-nopt tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/nopt
13069 silly lockFile 8f6f71d3--modules-bower-node-modules-nopt tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/nopt
13070 info preinstall semver@1.1.4
13071 silly lockFile 6ff01afc-odules-bower-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/colors
13072 silly lockFile 6ff01afc-odules-bower-node-modules-colors tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/colors
13073 silly lockFile 05599bba-spike-npm-nopt-2-0-0-package-tgz tar:///home/spike/.npm/nopt/2.0.0/package.tgz
13074 silly lockFile 05599bba-spike-npm-nopt-2-0-0-package-tgz tar:///home/spike/.npm/nopt/2.0.0/package.tgz
13075 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
13076 silly lockFile 70b312f2-ike-npm-colors-0-6-2-package-tgz tar:///home/spike/.npm/colors/0.6.2/package.tgz
13077 info preinstall promptly@0.1.0
13078 silly gunzTarPerm extractEntry test/zz-cleanup.js
13079 silly gunzTarPerm extractEntry test/bash-results.json
13080 verbose readDependencies using package.json deps
13081 verbose readDependencies using package.json deps
13082 silly resolved []
13083 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/semver
13084 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/semver
13085 verbose linkStuff [ false,
13085 verbose linkStuff false,
13085 verbose linkStuff false,
13085 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
13086 info linkStuff semver@1.1.4
13087 verbose linkBins semver@1.1.4
13088 verbose link bins [ { semver: './bin/semver' },
13088 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/.bin',
13088 verbose link bins false ]
13089 verbose linkMans semver@1.1.4
13090 verbose rebuildBundles semver@1.1.4
13091 silly gunzTarPerm extractEntry test/pack.js
13092 silly gunzTarPerm extractEntry test/parse.js
13093 info preinstall nopt@2.0.0
13094 verbose readDependencies using package.json deps
13095 info preinstall colors@0.6.2
13096 verbose readDependencies using package.json deps
13097 silly gunzTarPerm extractEntry LICENSE
13098 silly gunzTarPerm extractEntry CONTRIBUTORS
13099 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.min.amd.js
13100 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.mustache.js
13101 verbose cache add [ 'read@~1.0.4', null ]
13102 verbose cache add name=undefined spec="read@~1.0.4" args=["read@~1.0.4",null]
13103 verbose parsed url { protocol: null,
13103 verbose parsed url slashes: null,
13103 verbose parsed url auth: null,
13103 verbose parsed url host: null,
13103 verbose parsed url port: null,
13103 verbose parsed url hostname: null,
13103 verbose parsed url hash: null,
13103 verbose parsed url search: null,
13103 verbose parsed url query: null,
13103 verbose parsed url pathname: 'read@~1.0.4',
13103 verbose parsed url path: 'read@~1.0.4',
13103 verbose parsed url href: 'read@~1.0.4' }
13104 verbose cache add name="read" spec="~1.0.4" args=["read","~1.0.4"]
13105 verbose parsed url { protocol: null,
13105 verbose parsed url slashes: null,
13105 verbose parsed url auth: null,
13105 verbose parsed url host: null,
13105 verbose parsed url port: null,
13105 verbose parsed url hostname: null,
13105 verbose parsed url hash: null,
13105 verbose parsed url search: null,
13105 verbose parsed url query: null,
13105 verbose parsed url pathname: '~1.0.4',
13105 verbose parsed url path: '~1.0.4',
13105 verbose parsed url href: '~1.0.4' }
13106 verbose addNamed [ 'read', '~1.0.4' ]
13107 verbose addNamed [ null, '>=1.0.4-0 <1.1.0-0' ]
13108 silly lockFile 8e7fcd4d-read-1-0-4 read@~1.0.4
13109 verbose lock read@~1.0.4 /home/spike/.npm/8e7fcd4d-read-1-0-4.lock
13110 verbose readDependencies using package.json deps
13111 verbose readDependencies using package.json deps
13112 silly gunzTarPerm extractEntry bench.js
13113 silly gunzTarPerm extractEntry sigmund.js
13114 verbose readDependencies using package.json deps
13115 silly resolved []
13116 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/nopt
13117 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/nopt
13118 verbose linkStuff [ false,
13118 verbose linkStuff false,
13118 verbose linkStuff false,
13118 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
13119 info linkStuff nopt@2.0.0
13120 verbose linkBins nopt@2.0.0
13121 verbose link bins [ { nopt: './bin/nopt.js' },
13121 verbose link bins '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/.bin',
13121 verbose link bins false ]
13122 verbose linkMans nopt@2.0.0
13123 verbose rebuildBundles nopt@2.0.0
13124 verbose readDependencies using package.json deps
13125 silly resolved []
13126 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/colors
13127 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/colors
13128 verbose linkStuff [ false,
13128 verbose linkStuff false,
13128 verbose linkStuff false,
13128 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
13129 info linkStuff colors@0.6.2
13130 verbose linkBins colors@0.6.2
13131 verbose linkMans colors@0.6.2
13132 verbose rebuildBundles colors@0.6.2
13133 silly gunzTarPerm extractEntry testData/uncompressed/archive.zip
13134 silly gunzTarPerm extractEntry testData/uncompressed/inflated/dir/fileInsideDir.txt
13135 silly addNameRange { name: 'read', range: '>=1.0.4-0 <1.1.0-0', hasData: false }
13136 info install semver@1.1.4
13137 info install colors@0.6.2
13138 info postinstall semver@1.1.4
13139 info postinstall colors@0.6.2
13140 verbose url raw read
13141 verbose url resolving [ 'https://registry.npmjs.org/', './read' ]
13142 verbose url resolved https://registry.npmjs.org/read
13143 info trying registry request attempt 1 at 11:44:54
13144 verbose etag "EZQ2YUM238HWHO49JAJYW6VPQ"
13145 http GET https://registry.npmjs.org/read
13146 silly gunzTarPerm extractEntry lib/lru-cache.js
13147 silly gunzTarPerm extractEntry test/basic.js
13148 silly gunzTarPerm extractEntry test/foreach.js
13149 silly gunzTarPerm extractEntry test/memory-leak.js
13150 info install nopt@2.0.0
13151 silly gunzTarPerm extractEntry aws.js
13152 silly gunzTarPerm extractEntry vendor/cookie/jar.js
13153 info postinstall nopt@2.0.0
13154 silly gunzTarPerm extractEntry web/builds/1.0.4/template-1.0.4.min.js
13155 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.min.common.js
13156 silly gunzTarPerm extractEntry testData/uncompressed/inflated/file.txt
13157 silly gunzTarPerm extractEntry test/basic.js
13158 silly gunzTarPerm extractEntry test/zz-cleanup.js
13159 silly gunzTarPerm extractEntry test/fixtures.tgz
13160 silly gunzTarPerm extractEntry web/builds/1.0.4/hogan-1.0.4.min.js
13161 silly gunzTarPerm extractEntry web/builds/1.0.4/template-1.0.4.js
13162 silly gunzTarPerm extractEntry vendor/cookie/index.js
13163 silly gunzTarPerm extractEntry tests/test-errors.js
13164 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.js
13165 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.min.common.js
13166 silly lockFile eeb9a3a8-r-node-modules-read-package-json tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/read-package-json
13167 silly lockFile eeb9a3a8-r-node-modules-read-package-json tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/read-package-json
13168 silly lockFile ecf3b630--package-json-0-1-13-package-tgz tar:///home/spike/.npm/read-package-json/0.1.13/package.tgz
13169 silly lockFile ecf3b630--package-json-0-1-13-package-tgz tar:///home/spike/.npm/read-package-json/0.1.13/package.tgz
13170 info preinstall read-package-json@0.1.13
13171 silly gunzTarPerm extractEntry tests/test-tunnel.js
13172 silly gunzTarPerm extractEntry tests/test-redirect.js
13173 verbose readDependencies using package.json deps
13174 verbose readDependencies using package.json deps
13175 verbose cache add [ 'npmlog@0', null ]
13176 verbose cache add name=undefined spec="npmlog@0" args=["npmlog@0",null]
13177 verbose parsed url { protocol: null,
13177 verbose parsed url slashes: null,
13177 verbose parsed url auth: null,
13177 verbose parsed url host: null,
13177 verbose parsed url port: null,
13177 verbose parsed url hostname: null,
13177 verbose parsed url hash: null,
13177 verbose parsed url search: null,
13177 verbose parsed url query: null,
13177 verbose parsed url pathname: 'npmlog@0',
13177 verbose parsed url path: 'npmlog@0',
13177 verbose parsed url href: 'npmlog@0' }
13178 verbose cache add name="npmlog" spec="0" args=["npmlog","0"]
13179 verbose parsed url { protocol: null,
13179 verbose parsed url slashes: null,
13179 verbose parsed url auth: null,
13179 verbose parsed url host: null,
13179 verbose parsed url port: null,
13179 verbose parsed url hostname: null,
13179 verbose parsed url hash: null,
13179 verbose parsed url search: null,
13179 verbose parsed url query: null,
13179 verbose parsed url pathname: '0',
13179 verbose parsed url path: '0',
13179 verbose parsed url href: '0' }
13180 verbose addNamed [ 'npmlog', '0' ]
13181 verbose addNamed [ null, '>=0.0.0-0 <1.0.0-0' ]
13182 silly lockFile 2f67ef0a-npmlog-0 npmlog@0
13183 verbose lock npmlog@0 /home/spike/.npm/2f67ef0a-npmlog-0.lock
13184 verbose cache add [ 'lru-cache@~2.0.0', null ]
13185 verbose cache add name=undefined spec="lru-cache@~2.0.0" args=["lru-cache@~2.0.0",null]
13186 verbose parsed url { protocol: null,
13186 verbose parsed url slashes: null,
13186 verbose parsed url auth: null,
13186 verbose parsed url host: null,
13186 verbose parsed url port: null,
13186 verbose parsed url hostname: null,
13186 verbose parsed url hash: null,
13186 verbose parsed url search: null,
13186 verbose parsed url query: null,
13186 verbose parsed url pathname: 'lru-cache@~2.0.0',
13186 verbose parsed url path: 'lru-cache@~2.0.0',
13186 verbose parsed url href: 'lru-cache@~2.0.0' }
13187 verbose cache add name="lru-cache" spec="~2.0.0" args=["lru-cache","~2.0.0"]
13188 verbose parsed url { protocol: null,
13188 verbose parsed url slashes: null,
13188 verbose parsed url auth: null,
13188 verbose parsed url host: null,
13188 verbose parsed url port: null,
13188 verbose parsed url hostname: null,
13188 verbose parsed url hash: null,
13188 verbose parsed url search: null,
13188 verbose parsed url query: null,
13188 verbose parsed url pathname: '~2.0.0',
13188 verbose parsed url path: '~2.0.0',
13188 verbose parsed url href: '~2.0.0' }
13189 verbose addNamed [ 'lru-cache', '~2.0.0' ]
13190 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
13191 silly lockFile 07f9d76f-lru-cache-2-0-0 lru-cache@~2.0.0
13192 verbose lock lru-cache@~2.0.0 /home/spike/.npm/07f9d76f-lru-cache-2-0-0.lock
13193 verbose cache add [ 'slide@~1.1.3', null ]
13194 verbose cache add name=undefined spec="slide@~1.1.3" args=["slide@~1.1.3",null]
13195 verbose parsed url { protocol: null,
13195 verbose parsed url slashes: null,
13195 verbose parsed url auth: null,
13195 verbose parsed url host: null,
13195 verbose parsed url port: null,
13195 verbose parsed url hostname: null,
13195 verbose parsed url hash: null,
13195 verbose parsed url search: null,
13195 verbose parsed url query: null,
13195 verbose parsed url pathname: 'slide@~1.1.3',
13195 verbose parsed url path: 'slide@~1.1.3',
13195 verbose parsed url href: 'slide@~1.1.3' }
13196 verbose cache add name="slide" spec="~1.1.3" args=["slide","~1.1.3"]
13197 verbose parsed url { protocol: null,
13197 verbose parsed url slashes: null,
13197 verbose parsed url auth: null,
13197 verbose parsed url host: null,
13197 verbose parsed url port: null,
13197 verbose parsed url hostname: null,
13197 verbose parsed url hash: null,
13197 verbose parsed url search: null,
13197 verbose parsed url query: null,
13197 verbose parsed url pathname: '~1.1.3',
13197 verbose parsed url path: '~1.1.3',
13197 verbose parsed url href: '~1.1.3' }
13198 verbose addNamed [ 'slide', '~1.1.3' ]
13199 verbose addNamed [ null, '>=1.1.3-0 <1.2.0-0' ]
13200 silly lockFile a9ca7910-slide-1-1-3 slide@~1.1.3
13201 verbose lock slide@~1.1.3 /home/spike/.npm/a9ca7910-slide-1-1-3.lock
13202 verbose cache add [ 'graceful-fs@~1.2', null ]
13203 verbose cache add name=undefined spec="graceful-fs@~1.2" args=["graceful-fs@~1.2",null]
13204 verbose parsed url { protocol: null,
13204 verbose parsed url slashes: null,
13204 verbose parsed url auth: null,
13204 verbose parsed url host: null,
13204 verbose parsed url port: null,
13204 verbose parsed url hostname: null,
13204 verbose parsed url hash: null,
13204 verbose parsed url search: null,
13204 verbose parsed url query: null,
13204 verbose parsed url pathname: 'graceful-fs@~1.2',
13204 verbose parsed url path: 'graceful-fs@~1.2',
13204 verbose parsed url href: 'graceful-fs@~1.2' }
13205 verbose cache add name="graceful-fs" spec="~1.2" args=["graceful-fs","~1.2"]
13206 verbose parsed url { protocol: null,
13206 verbose parsed url slashes: null,
13206 verbose parsed url auth: null,
13206 verbose parsed url host: null,
13206 verbose parsed url port: null,
13206 verbose parsed url hostname: null,
13206 verbose parsed url hash: null,
13206 verbose parsed url search: null,
13206 verbose parsed url query: null,
13206 verbose parsed url pathname: '~1.2',
13206 verbose parsed url path: '~1.2',
13206 verbose parsed url href: '~1.2' }
13207 verbose addNamed [ 'graceful-fs', '~1.2' ]
13208 verbose addNamed [ null, '>=1.2.0-0 <1.3.0-0' ]
13209 silly lockFile ef839b18-graceful-fs-1-2 graceful-fs@~1.2
13210 verbose lock graceful-fs@~1.2 /home/spike/.npm/ef839b18-graceful-fs-1-2.lock
13211 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.common.js
13212 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.amd.js
13213 silly addNameRange { name: 'npmlog', range: '>=0.0.0-0 <1.0.0-0', hasData: false }
13214 silly addNameRange { name: 'lru-cache',
13214 silly addNameRange range: '>=2.0.0-0 <2.1.0-0',
13214 silly addNameRange hasData: false }
13215 silly addNameRange { name: 'slide', range: '>=1.1.3-0 <1.2.0-0', hasData: false }
13216 silly addNameRange { name: 'graceful-fs',
13216 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
13216 silly addNameRange hasData: false }
13217 silly gunzTarPerm extractEntry tests/test-piped-redirect.js
13218 silly gunzTarPerm extractEntry tests/test-timeout.js
13219 verbose registry.get lru-cache not expired, no request
13220 silly addNameRange number 2 { name: 'lru-cache', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
13221 silly addNameRange versions [ 'lru-cache',
13221 silly addNameRange [ '1.0.1',
13221 silly addNameRange '1.0.2',
13221 silly addNameRange '1.0.3',
13221 silly addNameRange '1.0.4',
13221 silly addNameRange '1.0.5',
13221 silly addNameRange '1.0.6',
13221 silly addNameRange '1.1.0',
13221 silly addNameRange '1.1.1',
13221 silly addNameRange '2.0.0',
13221 silly addNameRange '2.0.1',
13221 silly addNameRange '2.0.2',
13221 silly addNameRange '2.0.3',
13221 silly addNameRange '2.0.4',
13221 silly addNameRange '2.1.0',
13221 silly addNameRange '2.2.0',
13221 silly addNameRange '2.2.1',
13221 silly addNameRange '2.2.2',
13221 silly addNameRange '2.2.4',
13221 silly addNameRange '2.3.0',
13221 silly addNameRange '2.3.1',
13221 silly addNameRange '2.5.0' ] ]
13222 verbose addNamed [ 'lru-cache', '2.0.4' ]
13223 verbose addNamed [ '2.0.4', '2.0.4' ]
13224 silly lockFile 2fba6ddb-lru-cache-2-0-4 lru-cache@2.0.4
13225 verbose lock lru-cache@2.0.4 /home/spike/.npm/2fba6ddb-lru-cache-2-0-4.lock
13226 verbose registry.get graceful-fs not expired, no request
13227 silly addNameRange number 2 { name: 'graceful-fs',
13227 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
13227 silly addNameRange hasData: true }
13228 silly addNameRange versions [ 'graceful-fs',
13228 silly addNameRange [ '1.0.0',
13228 silly addNameRange '1.0.1',
13228 silly addNameRange '1.0.2',
13228 silly addNameRange '1.1.0',
13228 silly addNameRange '1.1.1',
13228 silly addNameRange '1.1.2',
13228 silly addNameRange '1.1.3',
13228 silly addNameRange '1.1.4',
13228 silly addNameRange '1.1.5',
13228 silly addNameRange '1.1.6',
13228 silly addNameRange '1.1.7',
13228 silly addNameRange '1.1.8',
13228 silly addNameRange '1.1.9',
13228 silly addNameRange '1.1.10',
13228 silly addNameRange '1.1.11',
13228 silly addNameRange '1.1.12',
13228 silly addNameRange '1.1.13',
13228 silly addNameRange '1.1.14',
13228 silly addNameRange '1.2.0',
13228 silly addNameRange '1.2.1',
13228 silly addNameRange '1.2.2',
13228 silly addNameRange '1.2.3',
13228 silly addNameRange '2.0.0',
13228 silly addNameRange '2.0.1' ] ]
13229 verbose addNamed [ 'graceful-fs', '1.2.3' ]
13230 verbose addNamed [ '1.2.3', '1.2.3' ]
13231 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
13232 verbose lock graceful-fs@1.2.3 /home/spike/.npm/6c7102cf-graceful-fs-1-2-3.lock
13233 verbose url raw npmlog
13234 verbose url resolving [ 'https://registry.npmjs.org/', './npmlog' ]
13235 verbose url resolved https://registry.npmjs.org/npmlog
13236 info trying registry request attempt 1 at 11:44:54
13237 verbose etag "40PUS78TME141S7CABMPYA8II"
13238 http GET https://registry.npmjs.org/npmlog
13239 verbose url raw slide
13240 verbose url resolving [ 'https://registry.npmjs.org/', './slide' ]
13241 verbose url resolved https://registry.npmjs.org/slide
13242 info trying registry request attempt 1 at 11:44:54
13243 verbose etag "7UXNS5ZGZW44OX4DZJ9V1YVMD"
13244 http GET https://registry.npmjs.org/slide
13245 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
13246 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
13247 silly lockFile ef839b18-graceful-fs-1-2 graceful-fs@~1.2
13248 silly lockFile ef839b18-graceful-fs-1-2 graceful-fs@~1.2
13249 silly gunzTarPerm extractEntry tests/test-proxy.js
13250 silly gunzTarPerm extractEntry tests/test-pipes.js
13251 silly lockFile 2fba6ddb-lru-cache-2-0-4 lru-cache@2.0.4
13252 silly lockFile 2fba6ddb-lru-cache-2-0-4 lru-cache@2.0.4
13253 silly lockFile a38ac8c9-modules-bower-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/async
13254 silly lockFile a38ac8c9-modules-bower-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/async
13255 silly lockFile 07f9d76f-lru-cache-2-0-0 lru-cache@~2.0.0
13256 silly lockFile 07f9d76f-lru-cache-2-0-0 lru-cache@~2.0.0
13257 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
13258 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
13259 silly lockFile 45676732-odules-bower-node-modules-mkdirp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/mkdirp
13260 silly lockFile 45676732-odules-bower-node-modules-mkdirp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/mkdirp
13261 silly lockFile a6af677a-s-minimatch-node-modules-sigmund tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/sigmund
13262 silly lockFile a6af677a-s-minimatch-node-modules-sigmund tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/sigmund
13263 silly lockFile 806a793b-ike-npm-mkdirp-0-3-5-package-tgz tar:///home/spike/.npm/mkdirp/0.3.5/package.tgz
13264 silly lockFile 806a793b-ike-npm-mkdirp-0-3-5-package-tgz tar:///home/spike/.npm/mkdirp/0.3.5/package.tgz
13265 silly lockFile 85cefd0e-ke-npm-sigmund-1-0-0-package-tgz tar:///home/spike/.npm/sigmund/1.0.0/package.tgz
13266 silly lockFile 85cefd0e-ke-npm-sigmund-1-0-0-package-tgz tar:///home/spike/.npm/sigmund/1.0.0/package.tgz
13267 silly lockFile 997b20d6-e-modules-bower-node-modules-tmp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tmp
13268 silly lockFile 997b20d6-e-modules-bower-node-modules-tmp tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tmp
13269 http 304 https://registry.npmjs.org/graceful-fs
13270 silly registry.get cb [ 304,
13270 silly registry.get { server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13270 silly registry.get etag: '"73QVR94NLELWB7CWCR6K3IJJY"',
13270 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
13270 silly registry.get 'content-length': '0' } ]
13271 verbose etag graceful-fs from cache
13272 silly lockFile 86f70eb8-spike-npm-tmp-0-0-23-package-tgz tar:///home/spike/.npm/tmp/0.0.23/package.tgz
13273 silly lockFile 86f70eb8-spike-npm-tmp-0-0-23-package-tgz tar:///home/spike/.npm/tmp/0.0.23/package.tgz
13274 info preinstall async@0.2.9
13275 info preinstall mkdirp@0.3.5
13276 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.min.amd.js
13277 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.min.mustache.js
13278 info preinstall sigmund@1.0.0
13279 verbose readDependencies using package.json deps
13280 silly gunzTarPerm extractEntry tests/test-oauth.js
13281 silly gunzTarPerm extractEntry tests/test-s3.js
13282 info preinstall tmp@0.0.23
13283 verbose readDependencies using package.json deps
13284 verbose readDependencies using package.json deps
13285 silly resolved []
13286 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/async
13287 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/async
13288 verbose linkStuff [ false,
13288 verbose linkStuff false,
13288 verbose linkStuff false,
13288 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
13289 info linkStuff async@0.2.9
13290 verbose linkBins async@0.2.9
13291 verbose linkMans async@0.2.9
13292 verbose rebuildBundles async@0.2.9
13293 verbose readDependencies using package.json deps
13294 silly resolved []
13295 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/mkdirp
13296 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/mkdirp
13297 verbose linkStuff [ false,
13297 verbose linkStuff false,
13297 verbose linkStuff false,
13297 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
13298 info linkStuff mkdirp@0.3.5
13299 verbose linkBins mkdirp@0.3.5
13300 verbose linkMans mkdirp@0.3.5
13301 verbose rebuildBundles mkdirp@0.3.5
13302 verbose readDependencies using package.json deps
13303 info install async@0.2.9
13304 info install mkdirp@0.3.5
13305 verbose readDependencies using package.json deps
13306 silly resolved []
13307 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/sigmund
13308 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/sigmund
13309 verbose linkStuff [ false,
13309 verbose linkStuff false,
13309 verbose linkStuff false,
13309 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules' ]
13310 info linkStuff sigmund@1.0.0
13311 verbose linkBins sigmund@1.0.0
13312 verbose linkMans sigmund@1.0.0
13313 verbose rebuildBundles sigmund@1.0.0
13314 verbose readDependencies using package.json deps
13315 silly addNameRange number 2 { name: 'graceful-fs',
13315 silly addNameRange range: '>=1.1.0-0 <1.2.0-0',
13315 silly addNameRange hasData: true }
13316 silly addNameRange versions [ 'graceful-fs',
13316 silly addNameRange [ '1.0.0',
13316 silly addNameRange '1.0.1',
13316 silly addNameRange '1.0.2',
13316 silly addNameRange '1.1.0',
13316 silly addNameRange '1.1.1',
13316 silly addNameRange '1.1.2',
13316 silly addNameRange '1.1.3',
13316 silly addNameRange '1.1.4',
13316 silly addNameRange '1.1.5',
13316 silly addNameRange '1.1.6',
13316 silly addNameRange '1.1.7',
13316 silly addNameRange '1.1.8',
13316 silly addNameRange '1.1.9',
13316 silly addNameRange '1.1.10',
13316 silly addNameRange '1.1.11',
13316 silly addNameRange '1.1.12',
13316 silly addNameRange '1.1.13',
13316 silly addNameRange '1.1.14',
13316 silly addNameRange '1.2.0',
13316 silly addNameRange '1.2.1',
13316 silly addNameRange '1.2.2',
13316 silly addNameRange '1.2.3',
13316 silly addNameRange '2.0.0',
13316 silly addNameRange '2.0.1' ] ]
13317 verbose addNamed [ 'graceful-fs', '1.1.14' ]
13318 verbose addNamed [ '1.1.14', '1.1.14' ]
13319 silly lockFile 2cf96e8d-graceful-fs-1-1-14 graceful-fs@1.1.14
13320 verbose lock graceful-fs@1.1.14 /home/spike/.npm/2cf96e8d-graceful-fs-1-1-14.lock
13321 info install sigmund@1.0.0
13322 info postinstall async@0.2.9
13323 verbose readDependencies using package.json deps
13324 silly resolved []
13325 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tmp
13326 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/tmp
13327 verbose linkStuff [ false,
13327 verbose linkStuff false,
13327 verbose linkStuff false,
13327 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules' ]
13328 info linkStuff tmp@0.0.23
13329 verbose linkBins tmp@0.0.23
13330 verbose linkMans tmp@0.0.23
13331 verbose rebuildBundles tmp@0.0.23
13332 info postinstall mkdirp@0.3.5
13333 info install tmp@0.0.23
13334 info postinstall sigmund@1.0.0
13335 silly gunzTarPerm extractEntry web/builds/1.0.5/template-1.0.5.js
13336 silly gunzTarPerm extractEntry web/builds/1.0.5/template-1.0.5.min.js
13337 info postinstall tmp@0.0.23
13338 silly gunzTarPerm extractEntry tests/test-qs.js
13339 silly gunzTarPerm extractEntry tests/test-form.js
13340 silly lockFile 2cf96e8d-graceful-fs-1-1-14 graceful-fs@1.1.14
13341 silly lockFile 2cf96e8d-graceful-fs-1-1-14 graceful-fs@1.1.14
13342 silly lockFile 0502dd56-graceful-fs-1-1 graceful-fs@~1.1
13343 silly lockFile 0502dd56-graceful-fs-1-1 graceful-fs@~1.1
13344 silly resolved [ { author:
13344 silly resolved { name: 'Isaac Z. Schlueter',
13344 silly resolved email: 'i@izs.me',
13344 silly resolved url: 'http://blog.izs.me' },
13344 silly resolved name: 'graceful-fs',
13344 silly resolved description: 'fs monkey-patching to avoid EMFILE and other problems',
13344 silly resolved version: '1.1.14',
13344 silly resolved repository:
13344 silly resolved { type: 'git',
13344 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
13344 silly resolved main: 'graceful-fs.js',
13344 silly resolved engines: { node: '>=0.4.0' },
13344 silly resolved directories: { test: 'test' },
13344 silly resolved scripts: { test: 'tap test/*.js' },
13344 silly resolved keywords: [ 'fs', 'EMFILE', 'error', 'handling', 'monkeypatch' ],
13344 silly resolved license: 'BSD',
13344 silly resolved readme: 'Just like node\'s `fs` module, but it does an incremental back-off when\nEMFILE is encountered.\n\nUseful in asynchronous situations where one needs to try to open lots\nand lots of files.\n',
13344 silly resolved readmeFilename: 'README.md',
13344 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
13344 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
13344 silly resolved _id: 'graceful-fs@1.1.14',
13344 silly resolved _from: 'graceful-fs@~1.1' } ]
13345 info install graceful-fs@1.1.14 into /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf
13346 info installOne graceful-fs@1.1.14
13347 silly resolved [ { author:
13347 silly resolved { name: 'Isaac Z. Schlueter',
13347 silly resolved email: 'i@izs.me',
13347 silly resolved url: 'http://blog.izs.me' },
13347 silly resolved name: 'graceful-fs',
13347 silly resolved description: 'fs monkey-patching to avoid EMFILE and other problems',
13347 silly resolved version: '1.1.14',
13347 silly resolved repository:
13347 silly resolved { type: 'git',
13347 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
13347 silly resolved main: 'graceful-fs.js',
13347 silly resolved engines: { node: '>=0.4.0' },
13347 silly resolved directories: { test: 'test' },
13347 silly resolved scripts: { test: 'tap test/*.js' },
13347 silly resolved keywords: [ 'fs', 'EMFILE', 'error', 'handling', 'monkeypatch' ],
13347 silly resolved license: 'BSD',
13347 silly resolved readme: 'Just like node\'s `fs` module, but it does an incremental back-off when\nEMFILE is encountered.\n\nUseful in asynchronous situations where one needs to try to open lots\nand lots of files.\n',
13347 silly resolved readmeFilename: 'README.md',
13347 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
13347 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
13347 silly resolved _id: 'graceful-fs@1.1.14',
13347 silly resolved _from: 'graceful-fs@~1.1' } ]
13348 info install graceful-fs@1.1.14 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf
13349 info installOne graceful-fs@1.1.14
13350 info /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs unbuild
13351 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf/node_modules/graceful-fs unbuild
13352 verbose tar unpack /home/spike/.npm/graceful-fs/1.1.14/package.tgz
13353 silly lockFile 51be6142--rimraf-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs
13354 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs /home/spike/.npm/51be6142--rimraf-node-modules-graceful-fs.lock
13355 silly lockFile 14ce48d8-m-graceful-fs-1-1-14-package-tgz tar:///home/spike/.npm/graceful-fs/1.1.14/package.tgz
13356 verbose lock tar:///home/spike/.npm/graceful-fs/1.1.14/package.tgz /home/spike/.npm/14ce48d8-m-graceful-fs-1-1-14-package-tgz.lock
13357 verbose tar unpack /home/spike/.npm/graceful-fs/1.1.14/package.tgz
13358 silly lockFile d0fdffb9--rimraf-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf/node_modules/graceful-fs
13359 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/rimraf/node_modules/graceful-fs /home/spike/.npm/d0fdffb9--rimraf-node-modules-graceful-fs.lock
13360 silly lockFile 14ce48d8-m-graceful-fs-1-1-14-package-tgz tar:///home/spike/.npm/graceful-fs/1.1.14/package.tgz
13361 verbose lock tar:///home/spike/.npm/graceful-fs/1.1.14/package.tgz /home/spike/.npm/14ce48d8-m-graceful-fs-1-1-14-package-tgz.lock
13362 silly gunzTarPerm extractEntry tests/test-toJSON.js
13363 silly gunzTarPerm extractEntry tests/test-follow-all-303.js
13364 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.mustache.js
13365 silly gunzTarPerm extractEntry web/builds/1.0.5/hogan-1.0.5.min.js
13366 silly gunzTarPerm modes [ '755', '644' ]
13367 silly gunzTarPerm extractEntry package.json
13368 silly gunzTarPerm extractEntry build/post-compile.js
13369 silly gunzTarPerm extractEntry build/pre-compile.js
13370 silly gunzTarPerm extractEntry tests/test-params.js
13371 silly gunzTarPerm extractEntry tests/test-body.js
13372 silly lockFile de83d84e-minimatch-node-modules-lru-cache tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/lru-cache
13373 silly lockFile de83d84e-minimatch-node-modules-lru-cache tar:///home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/lru-cache
13374 silly gunzTarPerm extractEntry .npmignore
13375 silly gunzTarPerm extractEntry README.md
13376 silly gunzTarPerm modes [ '755', '644' ]
13377 silly lockFile eec6364f--npm-lru-cache-2-5-0-package-tgz tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz
13378 silly lockFile eec6364f--npm-lru-cache-2-5-0-package-tgz tar:///home/spike/.npm/lru-cache/2.5.0/package.tgz
13379 info preinstall lru-cache@2.5.0
13380 silly gunzTarPerm extractEntry package.json
13381 verbose readDependencies using package.json deps
13382 silly gunzTarPerm extractEntry LICENSE
13383 silly gunzTarPerm extractEntry graceful-fs.js
13384 verbose readDependencies using package.json deps
13385 silly resolved []
13386 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/lru-cache
13387 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules/lru-cache
13388 verbose linkStuff [ false,
13388 verbose linkStuff false,
13388 verbose linkStuff false,
13388 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch/node_modules' ]
13389 info linkStuff lru-cache@2.5.0
13390 verbose linkBins lru-cache@2.5.0
13391 verbose linkMans lru-cache@2.5.0
13392 verbose rebuildBundles lru-cache@2.5.0
13393 silly gunzTarPerm extractEntry README.md
13394 silly gunzTarPerm extractEntry LICENSE
13395 silly gunzTarPerm extractEntry tests/test-pool.js
13396 silly gunzTarPerm extractEntry tests/test-headers.js
13397 info install lru-cache@2.5.0
13398 info postinstall lru-cache@2.5.0
13399 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch
13400 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules/minimatch
13401 verbose linkStuff [ false,
13401 verbose linkStuff false,
13401 verbose linkStuff false,
13401 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule/node_modules' ]
13402 info linkStuff minimatch@0.2.13
13403 verbose linkBins minimatch@0.2.13
13404 verbose linkMans minimatch@0.2.13
13405 verbose rebuildBundles minimatch@0.2.13
13406 verbose rebuildBundles [ 'lru-cache', 'sigmund' ]
13407 info install minimatch@0.2.13
13408 silly gunzTarPerm extractEntry test/open.js
13409 info postinstall minimatch@0.2.13
13410 silly gunzTarPerm extractEntry bench.js
13411 silly gunzTarPerm extractEntry sigmund.js
13412 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule
13413 info build /home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules/globule
13414 verbose linkStuff [ false,
13414 verbose linkStuff false,
13414 verbose linkStuff false,
13414 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/load-grunt-tasks/node_modules' ]
13415 info linkStuff globule@0.1.0
13416 verbose linkBins globule@0.1.0
13417 verbose linkMans globule@0.1.0
13418 verbose rebuildBundles globule@0.1.0
13419 verbose rebuildBundles [ '.bin', 'glob', 'lodash', 'minimatch' ]
13420 info install globule@0.1.0
13421 info postinstall globule@0.1.0
13422 silly gunzTarPerm extractEntry tests/test-cookie.js
13423 silly gunzTarPerm extractEntry tests/run.js
13424 silly gunzTarPerm extractEntry test/basic.js
13425 silly gunzTarPerm extractEntry web/builds/1.0.0/hogan.min.js
13426 silly gunzTarPerm extractEntry web/builds/1.0.0/hogan.js
13427 silly gunzTarPerm extractEntry tests/test-follow-all.js
13428 silly gunzTarPerm extractEntry tests/test-https-strict.js
13429 silly gunzTarPerm extractEntry tests/test-protocol-changing-redirect.js
13430 silly gunzTarPerm extractEntry tests/test-defaults.js
13431 silly lockFile c4d171c6--modules-bower-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob
13432 silly lockFile c4d171c6--modules-bower-node-modules-glob tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob
13433 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
13434 silly lockFile 14998653-pike-npm-glob-3-1-21-package-tgz tar:///home/spike/.npm/glob/3.1.21/package.tgz
13435 silly gunzTarPerm extractEntry tests/test-httpModule.js
13436 silly gunzTarPerm extractEntry tests/test-cookiejar.js
13437 info preinstall glob@3.1.21
13438 silly lockFile e08a38c6-modules-bower-node-modules-unzip tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/unzip
13439 silly lockFile e08a38c6-modules-bower-node-modules-unzip tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/unzip
13440 verbose readDependencies using package.json deps
13441 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
13442 silly lockFile 244864fc-pike-npm-unzip-0-1-7-package-tgz tar:///home/spike/.npm/unzip/0.1.7/package.tgz
13443 verbose readDependencies using package.json deps
13444 silly gunzTarPerm extractEntry web/builds/1.0.3/hogan.min.js
13445 silly gunzTarPerm extractEntry web/builds/1.0.3/hogan.js
13446 verbose cache add [ 'minimatch@~0.2.11', null ]
13447 verbose cache add name=undefined spec="minimatch@~0.2.11" args=["minimatch@~0.2.11",null]
13448 verbose parsed url { protocol: null,
13448 verbose parsed url slashes: null,
13448 verbose parsed url auth: null,
13448 verbose parsed url host: null,
13448 verbose parsed url port: null,
13448 verbose parsed url hostname: null,
13448 verbose parsed url hash: null,
13448 verbose parsed url search: null,
13448 verbose parsed url query: null,
13448 verbose parsed url pathname: 'minimatch@~0.2.11',
13448 verbose parsed url path: 'minimatch@~0.2.11',
13448 verbose parsed url href: 'minimatch@~0.2.11' }
13449 verbose cache add name="minimatch" spec="~0.2.11" args=["minimatch","~0.2.11"]
13450 verbose parsed url { protocol: null,
13450 verbose parsed url slashes: null,
13450 verbose parsed url auth: null,
13450 verbose parsed url host: null,
13450 verbose parsed url port: null,
13450 verbose parsed url hostname: null,
13450 verbose parsed url hash: null,
13450 verbose parsed url search: null,
13450 verbose parsed url query: null,
13450 verbose parsed url pathname: '~0.2.11',
13450 verbose parsed url path: '~0.2.11',
13450 verbose parsed url href: '~0.2.11' }
13451 verbose addNamed [ 'minimatch', '~0.2.11' ]
13452 verbose addNamed [ null, '>=0.2.11-0 <0.3.0-0' ]
13453 silly lockFile 94473efb-minimatch-0-2-11 minimatch@~0.2.11
13454 verbose lock minimatch@~0.2.11 /home/spike/.npm/94473efb-minimatch-0-2-11.lock
13455 verbose cache add [ 'graceful-fs@~1.2.0', null ]
13456 verbose cache add name=undefined spec="graceful-fs@~1.2.0" args=["graceful-fs@~1.2.0",null]
13457 verbose parsed url { protocol: null,
13457 verbose parsed url slashes: null,
13457 verbose parsed url auth: null,
13457 verbose parsed url host: null,
13457 verbose parsed url port: null,
13457 verbose parsed url hostname: null,
13457 verbose parsed url hash: null,
13457 verbose parsed url search: null,
13457 verbose parsed url query: null,
13457 verbose parsed url pathname: 'graceful-fs@~1.2.0',
13457 verbose parsed url path: 'graceful-fs@~1.2.0',
13457 verbose parsed url href: 'graceful-fs@~1.2.0' }
13458 verbose cache add name="graceful-fs" spec="~1.2.0" args=["graceful-fs","~1.2.0"]
13459 verbose parsed url { protocol: null,
13459 verbose parsed url slashes: null,
13459 verbose parsed url auth: null,
13459 verbose parsed url host: null,
13459 verbose parsed url port: null,
13459 verbose parsed url hostname: null,
13459 verbose parsed url hash: null,
13459 verbose parsed url search: null,
13459 verbose parsed url query: null,
13459 verbose parsed url pathname: '~1.2.0',
13459 verbose parsed url path: '~1.2.0',
13459 verbose parsed url href: '~1.2.0' }
13460 verbose addNamed [ 'graceful-fs', '~1.2.0' ]
13461 verbose addNamed [ null, '>=1.2.0-0 <1.3.0-0' ]
13462 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
13463 verbose lock graceful-fs@~1.2.0 /home/spike/.npm/9c0bb906-graceful-fs-1-2-0.lock
13464 info preinstall unzip@0.1.7
13465 verbose cache add [ 'inherits@1', null ]
13466 verbose cache add name=undefined spec="inherits@1" args=["inherits@1",null]
13467 verbose parsed url { protocol: null,
13467 verbose parsed url slashes: null,
13467 verbose parsed url auth: null,
13467 verbose parsed url host: null,
13467 verbose parsed url port: null,
13467 verbose parsed url hostname: null,
13467 verbose parsed url hash: null,
13467 verbose parsed url search: null,
13467 verbose parsed url query: null,
13467 verbose parsed url pathname: 'inherits@1',
13467 verbose parsed url path: 'inherits@1',
13467 verbose parsed url href: 'inherits@1' }
13468 verbose cache add name="inherits" spec="1" args=["inherits","1"]
13469 verbose parsed url { protocol: null,
13469 verbose parsed url slashes: null,
13469 verbose parsed url auth: null,
13469 verbose parsed url host: null,
13469 verbose parsed url port: null,
13469 verbose parsed url hostname: null,
13469 verbose parsed url hash: null,
13469 verbose parsed url search: null,
13469 verbose parsed url query: null,
13469 verbose parsed url pathname: '1',
13469 verbose parsed url path: '1',
13469 verbose parsed url href: '1' }
13470 verbose addNamed [ 'inherits', '1' ]
13471 verbose addNamed [ null, '>=1.0.0-0 <2.0.0-0' ]
13472 silly lockFile 4bca46d0-inherits-1 inherits@1
13473 verbose lock inherits@1 /home/spike/.npm/4bca46d0-inherits-1.lock
13474 silly addNameRange { name: 'minimatch',
13474 silly addNameRange range: '>=0.2.11-0 <0.3.0-0',
13474 silly addNameRange hasData: false }
13475 silly addNameRange { name: 'graceful-fs',
13475 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
13475 silly addNameRange hasData: false }
13476 silly addNameRange { name: 'inherits', range: '>=1.0.0-0 <2.0.0-0', hasData: false }
13477 verbose readDependencies using package.json deps
13478 verbose readDependencies using package.json deps
13479 silly lockFile 51be6142--rimraf-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs
13480 silly lockFile 51be6142--rimraf-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs
13481 verbose registry.get minimatch not expired, no request
13482 silly addNameRange number 2 { name: 'minimatch',
13482 silly addNameRange range: '>=0.2.11-0 <0.3.0-0',
13482 silly addNameRange hasData: true }
13483 silly addNameRange versions [ 'minimatch',
13483 silly addNameRange [ '0.0.1',
13483 silly addNameRange '0.0.2',
13483 silly addNameRange '0.0.4',
13483 silly addNameRange '0.0.5',
13483 silly addNameRange '0.1.1',
13483 silly addNameRange '0.1.2',
13483 silly addNameRange '0.1.3',
13483 silly addNameRange '0.1.4',
13483 silly addNameRange '0.1.5',
13483 silly addNameRange '0.2.0',
13483 silly addNameRange '0.2.2',
13483 silly addNameRange '0.2.3',
13483 silly addNameRange '0.2.4',
13483 silly addNameRange '0.2.5',
13483 silly addNameRange '0.2.6',
13483 silly addNameRange '0.2.7',
13483 silly addNameRange '0.2.8',
13483 silly addNameRange '0.2.9',
13483 silly addNameRange '0.2.10',
13483 silly addNameRange '0.2.11',
13483 silly addNameRange '0.2.12',
13483 silly addNameRange '0.2.13' ] ]
13484 verbose addNamed [ 'minimatch', '0.2.13' ]
13485 verbose addNamed [ '0.2.13', '0.2.13' ]
13486 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
13487 verbose lock minimatch@0.2.13 /home/spike/.npm/1a041349-minimatch-0-2-13.lock
13488 verbose registry.get graceful-fs not expired, no request
13489 silly addNameRange number 2 { name: 'graceful-fs',
13489 silly addNameRange range: '>=1.2.0-0 <1.3.0-0',
13489 silly addNameRange hasData: true }
13490 silly addNameRange versions [ 'graceful-fs',
13490 silly addNameRange [ '1.0.0',
13490 silly addNameRange '1.0.1',
13490 silly addNameRange '1.0.2',
13490 silly addNameRange '1.1.0',
13490 silly addNameRange '1.1.1',
13490 silly addNameRange '1.1.2',
13490 silly addNameRange '1.1.3',
13490 silly addNameRange '1.1.4',
13490 silly addNameRange '1.1.5',
13490 silly addNameRange '1.1.6',
13490 silly addNameRange '1.1.7',
13490 silly addNameRange '1.1.8',
13490 silly addNameRange '1.1.9',
13490 silly addNameRange '1.1.10',
13490 silly addNameRange '1.1.11',
13490 silly addNameRange '1.1.12',
13490 silly addNameRange '1.1.13',
13490 silly addNameRange '1.1.14',
13490 silly addNameRange '1.2.0',
13490 silly addNameRange '1.2.1',
13490 silly addNameRange '1.2.2',
13490 silly addNameRange '1.2.3',
13490 silly addNameRange '2.0.0',
13490 silly addNameRange '2.0.1' ] ]
13491 verbose addNamed [ 'graceful-fs', '1.2.3' ]
13492 verbose addNamed [ '1.2.3', '1.2.3' ]
13493 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
13494 verbose lock graceful-fs@1.2.3 /home/spike/.npm/6c7102cf-graceful-fs-1-2-3.lock
13495 verbose cache add [ 'readable-stream@~1.0.0', null ]
13496 verbose cache add name=undefined spec="readable-stream@~1.0.0" args=["readable-stream@~1.0.0",null]
13497 verbose parsed url { protocol: null,
13497 verbose parsed url slashes: null,
13497 verbose parsed url auth: null,
13497 verbose parsed url host: null,
13497 verbose parsed url port: null,
13497 verbose parsed url hostname: null,
13497 verbose parsed url hash: null,
13497 verbose parsed url search: null,
13497 verbose parsed url query: null,
13497 verbose parsed url pathname: 'readable-stream@~1.0.0',
13497 verbose parsed url path: 'readable-stream@~1.0.0',
13497 verbose parsed url href: 'readable-stream@~1.0.0' }
13498 verbose cache add name="readable-stream" spec="~1.0.0" args=["readable-stream","~1.0.0"]
13499 verbose parsed url { protocol: null,
13499 verbose parsed url slashes: null,
13499 verbose parsed url auth: null,
13499 verbose parsed url host: null,
13499 verbose parsed url port: null,
13499 verbose parsed url hostname: null,
13499 verbose parsed url hash: null,
13499 verbose parsed url search: null,
13499 verbose parsed url query: null,
13499 verbose parsed url pathname: '~1.0.0',
13499 verbose parsed url path: '~1.0.0',
13499 verbose parsed url href: '~1.0.0' }
13500 verbose addNamed [ 'readable-stream', '~1.0.0' ]
13501 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
13502 silly lockFile 87dee724-readable-stream-1-0-0 readable-stream@~1.0.0
13503 verbose lock readable-stream@~1.0.0 /home/spike/.npm/87dee724-readable-stream-1-0-0.lock
13504 verbose cache add [ 'pullstream@~0.4.0', null ]
13505 verbose cache add name=undefined spec="pullstream@~0.4.0" args=["pullstream@~0.4.0",null]
13506 verbose parsed url { protocol: null,
13506 verbose parsed url slashes: null,
13506 verbose parsed url auth: null,
13506 verbose parsed url host: null,
13506 verbose parsed url port: null,
13506 verbose parsed url hostname: null,
13506 verbose parsed url hash: null,
13506 verbose parsed url search: null,
13506 verbose parsed url query: null,
13506 verbose parsed url pathname: 'pullstream@~0.4.0',
13506 verbose parsed url path: 'pullstream@~0.4.0',
13506 verbose parsed url href: 'pullstream@~0.4.0' }
13507 verbose cache add name="pullstream" spec="~0.4.0" args=["pullstream","~0.4.0"]
13508 verbose parsed url { protocol: null,
13508 verbose parsed url slashes: null,
13508 verbose parsed url auth: null,
13508 verbose parsed url host: null,
13508 verbose parsed url port: null,
13508 verbose parsed url hostname: null,
13508 verbose parsed url hash: null,
13508 verbose parsed url search: null,
13508 verbose parsed url query: null,
13508 verbose parsed url pathname: '~0.4.0',
13508 verbose parsed url path: '~0.4.0',
13508 verbose parsed url href: '~0.4.0' }
13509 verbose addNamed [ 'pullstream', '~0.4.0' ]
13510 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ]
13511 silly lockFile 01a41988-pullstream-0-4-0 pullstream@~0.4.0
13512 verbose lock pullstream@~0.4.0 /home/spike/.npm/01a41988-pullstream-0-4-0.lock
13513 verbose cache add [ 'binary@~0.3.0', null ]
13514 verbose cache add name=undefined spec="binary@~0.3.0" args=["binary@~0.3.0",null]
13515 verbose parsed url { protocol: null,
13515 verbose parsed url slashes: null,
13515 verbose parsed url auth: null,
13515 verbose parsed url host: null,
13515 verbose parsed url port: null,
13515 verbose parsed url hostname: null,
13515 verbose parsed url hash: null,
13515 verbose parsed url search: null,
13515 verbose parsed url query: null,
13515 verbose parsed url pathname: 'binary@~0.3.0',
13515 verbose parsed url path: 'binary@~0.3.0',
13515 verbose parsed url href: 'binary@~0.3.0' }
13516 verbose cache add name="binary" spec="~0.3.0" args=["binary","~0.3.0"]
13517 verbose parsed url { protocol: null,
13517 verbose parsed url slashes: null,
13517 verbose parsed url auth: null,
13517 verbose parsed url host: null,
13517 verbose parsed url port: null,
13517 verbose parsed url hostname: null,
13517 verbose parsed url hash: null,
13517 verbose parsed url search: null,
13517 verbose parsed url query: null,
13517 verbose parsed url pathname: '~0.3.0',
13517 verbose parsed url path: '~0.3.0',
13517 verbose parsed url href: '~0.3.0' }
13518 verbose addNamed [ 'binary', '~0.3.0' ]
13519 verbose addNamed [ null, '>=0.3.0-0 <0.4.0-0' ]
13520 silly lockFile bd38fc46-binary-0-3-0 binary@~0.3.0
13521 verbose lock binary@~0.3.0 /home/spike/.npm/bd38fc46-binary-0-3-0.lock
13522 verbose cache add [ 'setimmediate@~1.0.1', null ]
13523 verbose cache add name=undefined spec="setimmediate@~1.0.1" args=["setimmediate@~1.0.1",null]
13524 verbose parsed url { protocol: null,
13524 verbose parsed url slashes: null,
13524 verbose parsed url auth: null,
13524 verbose parsed url host: null,
13524 verbose parsed url port: null,
13524 verbose parsed url hostname: null,
13524 verbose parsed url hash: null,
13524 verbose parsed url search: null,
13524 verbose parsed url query: null,
13524 verbose parsed url pathname: 'setimmediate@~1.0.1',
13524 verbose parsed url path: 'setimmediate@~1.0.1',
13524 verbose parsed url href: 'setimmediate@~1.0.1' }
13525 verbose cache add name="setimmediate" spec="~1.0.1" args=["setimmediate","~1.0.1"]
13526 verbose parsed url { protocol: null,
13526 verbose parsed url slashes: null,
13526 verbose parsed url auth: null,
13526 verbose parsed url host: null,
13526 verbose parsed url port: null,
13526 verbose parsed url hostname: null,
13526 verbose parsed url hash: null,
13526 verbose parsed url search: null,
13526 verbose parsed url query: null,
13526 verbose parsed url pathname: '~1.0.1',
13526 verbose parsed url path: '~1.0.1',
13526 verbose parsed url href: '~1.0.1' }
13527 verbose addNamed [ 'setimmediate', '~1.0.1' ]
13528 verbose addNamed [ null, '>=1.0.1-0 <1.1.0-0' ]
13529 silly lockFile 9b468877-setimmediate-1-0-1 setimmediate@~1.0.1
13530 verbose lock setimmediate@~1.0.1 /home/spike/.npm/9b468877-setimmediate-1-0-1.lock
13531 verbose cache add [ 'match-stream@0.0.1', null ]
13532 verbose cache add name=undefined spec="match-stream@0.0.1" args=["match-stream@0.0.1",null]
13533 verbose parsed url { protocol: null,
13533 verbose parsed url slashes: null,
13533 verbose parsed url auth: null,
13533 verbose parsed url host: null,
13533 verbose parsed url port: null,
13533 verbose parsed url hostname: null,
13533 verbose parsed url hash: null,
13533 verbose parsed url search: null,
13533 verbose parsed url query: null,
13533 verbose parsed url pathname: 'match-stream@0.0.1',
13533 verbose parsed url path: 'match-stream@0.0.1',
13533 verbose parsed url href: 'match-stream@0.0.1' }
13534 verbose cache add name="match-stream" spec="0.0.1" args=["match-stream","0.0.1"]
13535 verbose parsed url { protocol: null,
13535 verbose parsed url slashes: null,
13535 verbose parsed url auth: null,
13535 verbose parsed url host: null,
13535 verbose parsed url port: null,
13535 verbose parsed url hostname: null,
13535 verbose parsed url hash: null,
13535 verbose parsed url search: null,
13535 verbose parsed url query: null,
13535 verbose parsed url pathname: '0.0.1',
13535 verbose parsed url path: '0.0.1',
13535 verbose parsed url href: '0.0.1' }
13536 verbose addNamed [ 'match-stream', '0.0.1' ]
13537 verbose addNamed [ '0.0.1', '0.0.1' ]
13538 silly lockFile f36e9fe1-match-stream-0-0-1 match-stream@0.0.1
13539 verbose lock match-stream@0.0.1 /home/spike/.npm/f36e9fe1-match-stream-0-0-1.lock
13540 silly gunzTarPerm extractEntry tests/server.js
13541 silly gunzTarPerm extractEntry tests/test-https.js
13542 silly lockFile 14ce48d8-m-graceful-fs-1-1-14-package-tgz tar:///home/spike/.npm/graceful-fs/1.1.14/package.tgz
13543 silly lockFile 14ce48d8-m-graceful-fs-1-1-14-package-tgz tar:///home/spike/.npm/graceful-fs/1.1.14/package.tgz
13544 verbose registry.get inherits not expired, no request
13545 silly addNameRange number 2 { name: 'inherits', range: '>=1.0.0-0 <2.0.0-0', hasData: true }
13546 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
13547 verbose addNamed [ 'inherits', '1.0.0' ]
13548 verbose addNamed [ '1.0.0', '1.0.0' ]
13549 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
13550 verbose lock inherits@1.0.0 /home/spike/.npm/776fbe77-inherits-1-0-0.lock
13551 silly addNameRange { name: 'readable-stream',
13551 silly addNameRange range: '>=1.0.0-0 <1.1.0-0',
13551 silly addNameRange hasData: false }
13552 silly addNameRange { name: 'pullstream',
13552 silly addNameRange range: '>=0.4.0-0 <0.5.0-0',
13552 silly addNameRange hasData: false }
13553 silly addNameRange { name: 'binary', range: '>=0.3.0-0 <0.4.0-0', hasData: false }
13554 silly addNameRange { name: 'setimmediate',
13554 silly addNameRange range: '>=1.0.1-0 <1.1.0-0',
13554 silly addNameRange hasData: false }
13555 silly lockFile 3571f83f-dules-bower-node-modules-fstream tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream
13556 silly lockFile 3571f83f-dules-bower-node-modules-fstream tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream
13557 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
13558 silly lockFile 1a041349-minimatch-0-2-13 minimatch@0.2.13
13559 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
13560 silly lockFile 6c7102cf-graceful-fs-1-2-3 graceful-fs@1.2.3
13561 silly lockFile bdc69372-e-npm-fstream-0-1-25-package-tgz tar:///home/spike/.npm/fstream/0.1.25/package.tgz
13562 silly lockFile bdc69372-e-npm-fstream-0-1-25-package-tgz tar:///home/spike/.npm/fstream/0.1.25/package.tgz
13563 silly lockFile 94473efb-minimatch-0-2-11 minimatch@~0.2.11
13564 silly lockFile 94473efb-minimatch-0-2-11 minimatch@~0.2.11
13565 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
13566 silly lockFile 9c0bb906-graceful-fs-1-2-0 graceful-fs@~1.2.0
13567 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
13568 silly lockFile 776fbe77-inherits-1-0-0 inherits@1.0.0
13569 info preinstall graceful-fs@1.1.14
13570 silly lockFile 4bca46d0-inherits-1 inherits@1
13571 silly lockFile 4bca46d0-inherits-1 inherits@1
13572 silly resolved [ { author:
13572 silly resolved { name: 'Isaac Z. Schlueter',
13572 silly resolved email: 'i@izs.me',
13572 silly resolved url: 'http://blog.izs.me' },
13572 silly resolved name: 'minimatch',
13572 silly resolved description: 'a glob matcher in javascript',
13572 silly resolved version: '0.2.13',
13572 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/minimatch.git' },
13572 silly resolved main: 'minimatch.js',
13572 silly resolved scripts: { test: 'tap test/*.js' },
13572 silly resolved engines: { node: '*' },
13572 silly resolved dependencies: { 'lru-cache': '2', sigmund: '~1.0.0' },
13572 silly resolved devDependencies: { tap: '' },
13572 silly resolved license:
13572 silly resolved { type: 'MIT',
13572 silly resolved url: 'http://github.com/isaacs/minimatch/raw/master/LICENSE' },
13572 silly resolved readme: '# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require("minimatch")\n\nminimatch("bar.foo", "*.foo") // true!\nminimatch("bar.foo", "*.bar") // false!\nminimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* "Globstar" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require("minimatch").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn\'t have any "magic" in it\n (that is, it\'s something like `"foo"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n* `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `""`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items. So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, "*.js", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable "extglob" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself. 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\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], "\\\\*a\\\\?")` will return `"\\\\*a\\\\?"` rather than\n`"*a?"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n',
13572 silly resolved readmeFilename: 'README.md',
13572 silly resolved bugs: { url: 'https://github.com/isaacs/minimatch/issues' },
13572 silly resolved homepage: 'https://github.com/isaacs/minimatch',
13572 silly resolved _id: 'minimatch@0.2.13',
13572 silly resolved _from: 'minimatch@~0.2.11' },
13572 silly resolved { author:
13572 silly resolved { name: 'Isaac Z. Schlueter',
13572 silly resolved email: 'i@izs.me',
13572 silly resolved url: 'http://blog.izs.me' },
13572 silly resolved name: 'graceful-fs',
13572 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
13572 silly resolved version: '1.2.3',
13572 silly resolved repository:
13572 silly resolved { type: 'git',
13572 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
13572 silly resolved main: 'graceful-fs.js',
13572 silly resolved engines: { node: '>=0.4.0' },
13572 silly resolved directories: { test: 'test' },
13572 silly resolved scripts: { test: 'tap test/*.js' },
13572 silly resolved keywords:
13572 silly resolved [ 'fs',
13572 silly resolved 'module',
13572 silly resolved 'reading',
13572 silly resolved 'retry',
13572 silly resolved 'retries',
13572 silly resolved 'queue',
13572 silly resolved 'error',
13572 silly resolved 'errors',
13572 silly resolved 'handling',
13572 silly resolved 'EMFILE',
13572 silly resolved 'EAGAIN',
13572 silly resolved 'EINVAL',
13572 silly resolved 'EPERM',
13572 silly resolved 'EACCESS' ],
13572 silly resolved license: 'BSD',
13572 silly resolved readme: '# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n limits this to 1024. Any further requests to open a file are put in a\n queue until new slots become available. If 1024 turns out to be too\n much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n',
13572 silly resolved readmeFilename: 'README.md',
13572 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
13572 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
13572 silly resolved _id: 'graceful-fs@1.2.3',
13572 silly resolved _from: 'graceful-fs@~1.2.0' },
13572 silly resolved { name: 'inherits',
13572 silly resolved description: 'A tiny simple way to do classic inheritance in js',
13572 silly resolved version: '1.0.0',
13572 silly resolved keywords: [ 'inheritance', 'class', 'klass', 'oop', 'object-oriented' ],
13572 silly resolved main: './inherits.js',
13572 silly resolved repository: { type: 'git', url: 'https://github.com/isaacs/inherits' },
13572 silly resolved author:
13572 silly resolved { name: 'Isaac Z. Schlueter',
13572 silly resolved email: 'i@izs.me',
13572 silly resolved url: 'http://blog.izs.me/' },
13572 silly resolved readme: 'A dead simple way to do inheritance in JS.\n\n var inherits = require("inherits")\n\n function Animal () {\n this.alive = true\n }\n Animal.prototype.say = function (what) {\n console.log(what)\n }\n\n inherits(Dog, Animal)\n function Dog () {\n Dog.super.apply(this)\n }\n Dog.prototype.sniff = function () {\n this.say("sniff sniff")\n }\n Dog.prototype.bark = function () {\n this.say("woof woof")\n }\n\n inherits(Chihuahua, Dog)\n function Chihuahua () {\n Chihuahua.super.apply(this)\n }\n Chihuahua.prototype.bark = function () {\n this.say("yip yip")\n }\n\n // also works\n function Cat () {\n Cat.super.apply(this)\n }\n Cat.prototype.hiss = function () {\n this.say("CHSKKSS!!")\n }\n inherits(Cat, Animal, {\n meow: function () { this.say("miao miao") }\n })\n Cat.prototype.purr = function () {\n this.say("purr purr")\n }\n\n\n var c = new Chihuahua\n assert(c instanceof Chihuahua)\n assert(c instanceof Dog)\n assert(c instanceof Animal)\n\nThe actual function is laughably small. 10-lines small.\n',
13572 silly resolved readmeFilename: 'README.md',
13572 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
13572 silly resolved homepage: 'https://github.com/isaacs/inherits',
13572 silly resolved _id: 'inherits@1.0.0',
13572 silly resolved _from: 'inherits@1',
13572 silly resolved scripts: {} } ]
13573 info install minimatch@0.2.13 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob
13574 info install graceful-fs@1.2.3 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob
13575 info install inherits@1.0.0 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob
13576 info installOne minimatch@0.2.13
13577 info installOne graceful-fs@1.2.3
13578 info installOne inherits@1.0.0
13579 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/minimatch unbuild
13580 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/graceful-fs unbuild
13581 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/inherits unbuild
13582 verbose url raw binary
13583 verbose url resolving [ 'https://registry.npmjs.org/', './binary' ]
13584 verbose url resolved https://registry.npmjs.org/binary
13585 info trying registry request attempt 1 at 11:44:54
13586 verbose etag "8Y2OMZBL7RK1TC5RWKC9B1Y6V"
13587 http GET https://registry.npmjs.org/binary
13588 verbose url raw readable-stream
13589 verbose url resolving [ 'https://registry.npmjs.org/', './readable-stream' ]
13590 verbose url resolved https://registry.npmjs.org/readable-stream
13591 info trying registry request attempt 1 at 11:44:54
13592 verbose etag "9EJQ4UACUR1WR39U0CUPTWMH4"
13593 http GET https://registry.npmjs.org/readable-stream
13594 verbose url raw setimmediate
13595 verbose url resolving [ 'https://registry.npmjs.org/', './setimmediate' ]
13596 verbose url resolved https://registry.npmjs.org/setimmediate
13597 info trying registry request attempt 1 at 11:44:54
13598 verbose etag "43RDGYR8RD6CSIQL2NGB3WWUX"
13599 http GET https://registry.npmjs.org/setimmediate
13600 info preinstall fstream@0.1.25
13601 verbose url raw pullstream
13602 verbose url resolving [ 'https://registry.npmjs.org/', './pullstream' ]
13603 verbose url resolved https://registry.npmjs.org/pullstream
13604 info trying registry request attempt 1 at 11:44:54
13605 verbose etag "5WNG54NCFRNMVGXQ6UILSZFIO"
13606 http GET https://registry.npmjs.org/pullstream
13607 verbose readDependencies using package.json deps
13608 verbose url raw match-stream/0.0.1
13609 verbose url resolving [ 'https://registry.npmjs.org/', './match-stream/0.0.1' ]
13610 verbose url resolved https://registry.npmjs.org/match-stream/0.0.1
13611 info trying registry request attempt 1 at 11:44:54
13612 verbose etag "9VLOX5NTCHDYSJCUNCJM5LR8T"
13613 http GET https://registry.npmjs.org/match-stream/0.0.1
13614 verbose readDependencies using package.json deps
13615 silly resolved []
13616 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs
13617 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs
13618 verbose linkStuff [ false,
13618 verbose linkStuff false,
13618 verbose linkStuff false,
13618 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf/node_modules' ]
13619 info linkStuff graceful-fs@1.1.14
13620 verbose linkBins graceful-fs@1.1.14
13621 verbose linkMans graceful-fs@1.1.14
13622 verbose rebuildBundles graceful-fs@1.1.14
13623 info install graceful-fs@1.1.14
13624 verbose tar unpack /home/spike/.npm/minimatch/0.2.13/package.tgz
13625 silly lockFile 5b32558d-ules-glob-node-modules-minimatch tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/minimatch
13626 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/minimatch /home/spike/.npm/5b32558d-ules-glob-node-modules-minimatch.lock
13627 silly lockFile 49020a58-npm-minimatch-0-2-13-package-tgz tar:///home/spike/.npm/minimatch/0.2.13/package.tgz
13628 verbose lock tar:///home/spike/.npm/minimatch/0.2.13/package.tgz /home/spike/.npm/49020a58-npm-minimatch-0-2-13-package-tgz.lock
13629 verbose tar unpack /home/spike/.npm/graceful-fs/1.2.3/package.tgz
13630 silly lockFile 44f0deeb-es-glob-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/graceful-fs
13631 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/graceful-fs /home/spike/.npm/44f0deeb-es-glob-node-modules-graceful-fs.lock
13632 silly lockFile a4f357da-pm-graceful-fs-1-2-3-package-tgz tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz
13633 verbose lock tar:///home/spike/.npm/graceful-fs/1.2.3/package.tgz /home/spike/.npm/a4f357da-pm-graceful-fs-1-2-3-package-tgz.lock
13634 verbose tar unpack /home/spike/.npm/inherits/1.0.0/package.tgz
13635 silly lockFile bf1f8b7b-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/inherits
13636 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/inherits /home/spike/.npm/bf1f8b7b-dules-glob-node-modules-inherits.lock
13637 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
13638 verbose lock tar:///home/spike/.npm/inherits/1.0.0/package.tgz /home/spike/.npm/a20693c1-e-npm-inherits-1-0-0-package-tgz.lock
13639 verbose readDependencies using package.json deps
13640 silly gunzTarPerm extractEntry web/builds/2.0.0/hogan-2.0.0.min.js
13641 verbose readDependencies using package.json deps
13642 info postinstall graceful-fs@1.1.14
13643 silly lockFile eb569fb9-s-minimatch-node-modules-sigmund tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/sigmund
13644 silly lockFile eb569fb9-s-minimatch-node-modules-sigmund tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/sigmund
13645 silly lockFile 85cefd0e-ke-npm-sigmund-1-0-0-package-tgz tar:///home/spike/.npm/sigmund/1.0.0/package.tgz
13646 silly lockFile 85cefd0e-ke-npm-sigmund-1-0-0-package-tgz tar:///home/spike/.npm/sigmund/1.0.0/package.tgz
13647 silly gunzTarPerm modes [ '755', '644' ]
13648 silly gunzTarPerm modes [ '755', '644' ]
13649 verbose cache add [ 'graceful-fs@~2.0.0', null ]
13650 verbose cache add name=undefined spec="graceful-fs@~2.0.0" args=["graceful-fs@~2.0.0",null]
13651 verbose parsed url { protocol: null,
13651 verbose parsed url slashes: null,
13651 verbose parsed url auth: null,
13651 verbose parsed url host: null,
13651 verbose parsed url port: null,
13651 verbose parsed url hostname: null,
13651 verbose parsed url hash: null,
13651 verbose parsed url search: null,
13651 verbose parsed url query: null,
13651 verbose parsed url pathname: 'graceful-fs@~2.0.0',
13651 verbose parsed url path: 'graceful-fs@~2.0.0',
13651 verbose parsed url href: 'graceful-fs@~2.0.0' }
13652 verbose cache add name="graceful-fs" spec="~2.0.0" args=["graceful-fs","~2.0.0"]
13653 verbose parsed url { protocol: null,
13653 verbose parsed url slashes: null,
13653 verbose parsed url auth: null,
13653 verbose parsed url host: null,
13653 verbose parsed url port: null,
13653 verbose parsed url hostname: null,
13653 verbose parsed url hash: null,
13653 verbose parsed url search: null,
13653 verbose parsed url query: null,
13653 verbose parsed url pathname: '~2.0.0',
13653 verbose parsed url path: '~2.0.0',
13653 verbose parsed url href: '~2.0.0' }
13654 verbose addNamed [ 'graceful-fs', '~2.0.0' ]
13655 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
13656 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
13657 verbose lock graceful-fs@~2.0.0 /home/spike/.npm/8863dcc9-graceful-fs-2-0-0.lock
13658 verbose cache add [ 'inherits@~2.0.0', null ]
13659 verbose cache add name=undefined spec="inherits@~2.0.0" args=["inherits@~2.0.0",null]
13660 verbose parsed url { protocol: null,
13660 verbose parsed url slashes: null,
13660 verbose parsed url auth: null,
13660 verbose parsed url host: null,
13660 verbose parsed url port: null,
13660 verbose parsed url hostname: null,
13660 verbose parsed url hash: null,
13660 verbose parsed url search: null,
13660 verbose parsed url query: null,
13660 verbose parsed url pathname: 'inherits@~2.0.0',
13660 verbose parsed url path: 'inherits@~2.0.0',
13660 verbose parsed url href: 'inherits@~2.0.0' }
13661 verbose cache add name="inherits" spec="~2.0.0" args=["inherits","~2.0.0"]
13662 verbose parsed url { protocol: null,
13662 verbose parsed url slashes: null,
13662 verbose parsed url auth: null,
13662 verbose parsed url host: null,
13662 verbose parsed url port: null,
13662 verbose parsed url hostname: null,
13662 verbose parsed url hash: null,
13662 verbose parsed url search: null,
13662 verbose parsed url query: null,
13662 verbose parsed url pathname: '~2.0.0',
13662 verbose parsed url path: '~2.0.0',
13662 verbose parsed url href: '~2.0.0' }
13663 verbose addNamed [ 'inherits', '~2.0.0' ]
13664 verbose addNamed [ null, '>=2.0.0-0 <2.1.0-0' ]
13665 silly lockFile e2566bb4-inherits-2-0-0 inherits@~2.0.0
13666 verbose lock inherits@~2.0.0 /home/spike/.npm/e2566bb4-inherits-2-0-0.lock
13667 silly gunzTarPerm modes [ '755', '644' ]
13668 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf
13669 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/rimraf
13670 verbose linkStuff [ false,
13670 verbose linkStuff false,
13670 verbose linkStuff false,
13670 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules' ]
13671 info linkStuff rimraf@2.0.3
13672 verbose linkBins rimraf@2.0.3
13673 verbose linkMans rimraf@2.0.3
13674 verbose rebuildBundles rimraf@2.0.3
13675 verbose rebuildBundles [ 'graceful-fs' ]
13676 info install rimraf@2.0.3
13677 silly addNameRange { name: 'graceful-fs',
13677 silly addNameRange range: '>=2.0.0-0 <2.1.0-0',
13677 silly addNameRange hasData: false }
13678 silly addNameRange { name: 'inherits', range: '>=2.0.0-0 <2.1.0-0', hasData: false }
13679 silly gunzTarPerm extractEntry tests/squid.conf
13680 silly gunzTarPerm extractEntry tests/googledoodle.png
13681 info postinstall rimraf@2.0.3
13682 info preinstall sigmund@1.0.0
13683 silly gunzTarPerm extractEntry package.json
13684 silly gunzTarPerm extractEntry package.json
13685 silly gunzTarPerm extractEntry package.json
13686 verbose readDependencies using package.json deps
13687 verbose registry.get graceful-fs not expired, no request
13688 silly addNameRange number 2 { name: 'graceful-fs',
13688 silly addNameRange range: '>=2.0.0-0 <2.1.0-0',
13688 silly addNameRange hasData: true }
13689 silly addNameRange versions [ 'graceful-fs',
13689 silly addNameRange [ '1.0.0',
13689 silly addNameRange '1.0.1',
13689 silly addNameRange '1.0.2',
13689 silly addNameRange '1.1.0',
13689 silly addNameRange '1.1.1',
13689 silly addNameRange '1.1.2',
13689 silly addNameRange '1.1.3',
13689 silly addNameRange '1.1.4',
13689 silly addNameRange '1.1.5',
13689 silly addNameRange '1.1.6',
13689 silly addNameRange '1.1.7',
13689 silly addNameRange '1.1.8',
13689 silly addNameRange '1.1.9',
13689 silly addNameRange '1.1.10',
13689 silly addNameRange '1.1.11',
13689 silly addNameRange '1.1.12',
13689 silly addNameRange '1.1.13',
13689 silly addNameRange '1.1.14',
13689 silly addNameRange '1.2.0',
13689 silly addNameRange '1.2.1',
13689 silly addNameRange '1.2.2',
13689 silly addNameRange '1.2.3',
13689 silly addNameRange '2.0.0',
13689 silly addNameRange '2.0.1' ] ]
13690 verbose addNamed [ 'graceful-fs', '2.0.1' ]
13691 verbose addNamed [ '2.0.1', '2.0.1' ]
13692 silly lockFile 74ee75cd-graceful-fs-2-0-1 graceful-fs@2.0.1
13693 verbose lock graceful-fs@2.0.1 /home/spike/.npm/74ee75cd-graceful-fs-2-0-1.lock
13694 verbose registry.get inherits not expired, no request
13695 silly addNameRange number 2 { name: 'inherits', range: '>=2.0.0-0 <2.1.0-0', hasData: true }
13696 silly addNameRange versions [ 'inherits', [ '1.0.0', '2.0.0', '2.0.1' ] ]
13697 verbose addNamed [ 'inherits', '2.0.1' ]
13698 verbose addNamed [ '2.0.1', '2.0.1' ]
13699 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
13700 verbose lock inherits@2.0.1 /home/spike/.npm/2b2e8f1b-inherits-2-0-1.lock
13701 verbose readDependencies using package.json deps
13702 silly resolved []
13703 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/sigmund
13704 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/sigmund
13705 verbose linkStuff [ false,
13705 verbose linkStuff false,
13705 verbose linkStuff false,
13705 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules' ]
13706 info linkStuff sigmund@1.0.0
13707 verbose linkBins sigmund@1.0.0
13708 verbose linkMans sigmund@1.0.0
13709 verbose rebuildBundles sigmund@1.0.0
13710 info install sigmund@1.0.0
13711 silly gunzTarPerm extractEntry .npmignore
13712 silly gunzTarPerm extractEntry README.md
13713 silly gunzTarPerm extractEntry .npmignore
13714 silly gunzTarPerm extractEntry README.md
13715 silly gunzTarPerm extractEntry README.md
13716 silly gunzTarPerm extractEntry inherits.js
13717 info postinstall sigmund@1.0.0
13718 silly gunzTarPerm extractEntry tests/ssl/npm-ca.crt
13719 silly gunzTarPerm extractEntry tests/ssl/test.crt
13720 http 200 https://registry.npmjs.org/uglify-to-browserify
13721 silly registry.get cb [ 200,
13721 silly registry.get { vary: 'Accept',
13721 silly registry.get server: 'CouchDB/1.3.1 (Erlang OTP/R15B03)',
13721 silly registry.get etag: '"1I3IVH3QO2U3ERBITU04SNOF0"',
13721 silly registry.get date: 'Mon, 16 Dec 2013 10:44:54 GMT',
13721 silly registry.get 'content-type': 'application/json',
13721 silly registry.get 'content-length': '6048' } ]
13722 silly gunzTarPerm modes [ '755', '644' ]
13723 silly gunzTarPerm extractEntry LICENSE
13724 silly gunzTarPerm extractEntry minimatch.js
13725 silly gunzTarPerm extractEntry LICENSE
13726 silly gunzTarPerm extractEntry graceful-fs.js
13727 silly lockFile 74ee75cd-graceful-fs-2-0-1 graceful-fs@2.0.1
13728 silly lockFile 74ee75cd-graceful-fs-2-0-1 graceful-fs@2.0.1
13729 silly addNameRange number 2 { name: 'uglify-to-browserify',
13729 silly addNameRange range: '>=1.0.0-0 <1.1.0-0',
13729 silly addNameRange hasData: true }
13730 silly addNameRange versions [ 'uglify-to-browserify', [ '0.0.1', '1.0.0', '1.0.1' ] ]
13731 verbose addNamed [ 'uglify-to-browserify', '1.0.1' ]
13732 verbose addNamed [ '1.0.1', '1.0.1' ]
13733 silly lockFile 7ae28580-uglify-to-browserify-1-0-1 uglify-to-browserify@1.0.1
13734 verbose lock uglify-to-browserify@1.0.1 /home/spike/.npm/7ae28580-uglify-to-browserify-1-0-1.lock
13735 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
13736 silly lockFile 2b2e8f1b-inherits-2-0-1 inherits@2.0.1
13737 silly gunzTarPerm extractEntry tests/ssl/test.key
13738 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
13739 silly lockFile 8863dcc9-graceful-fs-2-0-0 graceful-fs@~2.0.0
13740 silly lockFile e2566bb4-inherits-2-0-0 inherits@~2.0.0
13741 silly lockFile e2566bb4-inherits-2-0-0 inherits@~2.0.0
13742 silly resolved [ { author:
13742 silly resolved { name: 'Isaac Z. Schlueter',
13742 silly resolved email: 'i@izs.me',
13742 silly resolved url: 'http://blog.izs.me' },
13742 silly resolved name: 'graceful-fs',
13742 silly resolved description: 'A drop-in replacement for fs, making various improvements.',
13742 silly resolved version: '2.0.1',
13742 silly resolved repository:
13742 silly resolved { type: 'git',
13742 silly resolved url: 'git://github.com/isaacs/node-graceful-fs.git' },
13742 silly resolved main: 'graceful-fs.js',
13742 silly resolved engines: { node: '>=0.4.0' },
13742 silly resolved directories: { test: 'test' },
13742 silly resolved scripts: { test: 'tap test/*.js' },
13742 silly resolved keywords:
13742 silly resolved [ 'fs',
13742 silly resolved 'module',
13742 silly resolved 'reading',
13742 silly resolved 'retry',
13742 silly resolved 'retries',
13742 silly resolved 'queue',
13742 silly resolved 'error',
13742 silly resolved 'errors',
13742 silly resolved 'handling',
13742 silly resolved 'EMFILE',
13742 silly resolved 'EAGAIN',
13742 silly resolved 'EINVAL',
13742 silly resolved 'EPERM',
13742 silly resolved 'EACCESS' ],
13742 silly resolved license: 'BSD',
13742 silly resolved readme: '# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* Queues up `open` and `readdir` calls, and retries them once\n something closes if there is an EMFILE error from too many file\n descriptors.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n `lchown` if the user isn\'t root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n',
13742 silly resolved readmeFilename: 'README.md',
13742 silly resolved bugs: { url: 'https://github.com/isaacs/node-graceful-fs/issues' },
13742 silly resolved homepage: 'https://github.com/isaacs/node-graceful-fs',
13742 silly resolved _id: 'graceful-fs@2.0.1',
13742 silly resolved _from: 'graceful-fs@~2.0.0' },
13742 silly resolved { name: 'inherits',
13742 silly resolved description: 'Browser-friendly inheritance fully compatible with standard node.js inherits()',
13742 silly resolved version: '2.0.1',
13742 silly resolved keywords:
13742 silly resolved [ 'inheritance',
13742 silly resolved 'class',
13742 silly resolved 'klass',
13742 silly resolved 'oop',
13742 silly resolved 'object-oriented',
13742 silly resolved 'inherits',
13742 silly resolved 'browser',
13742 silly resolved 'browserify' ],
13742 silly resolved main: './inherits.js',
13742 silly resolved browser: './inherits_browser.js',
13742 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/inherits' },
13742 silly resolved license: 'ISC',
13742 silly resolved scripts: { test: 'node test' },
13742 silly resolved readme: 'Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt\'s recommended to use this package instead of\n`require(\'util\').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require(\'inherits\');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n superclass\n* new version overwrites current prototype while old one preserves any\n existing fields on it\n',
13742 silly resolved readmeFilename: 'README.md',
13742 silly resolved bugs: { url: 'https://github.com/isaacs/inherits/issues' },
13742 silly resolved homepage: 'https://github.com/isaacs/inherits',
13742 silly resolved _id: 'inherits@2.0.1',
13742 silly resolved _from: 'inherits@~2.0.0' } ]
13743 info install graceful-fs@2.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream
13744 info install inherits@2.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream
13745 info installOne graceful-fs@2.0.1
13746 info installOne inherits@2.0.1
13747 silly gunzTarPerm extractEntry package.json
13748 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream/node_modules/graceful-fs unbuild
13749 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream/node_modules/inherits unbuild
13750 silly gunzTarPerm modes [ '755', '644' ]
13751 silly gunzTarPerm modes [ '755', '644' ]
13752 silly gunzTarPerm extractEntry test/basic.js
13753 verbose tar unpack /home/spike/.npm/graceful-fs/2.0.1/package.tgz
13754 silly lockFile 1636801c-fstream-node-modules-graceful-fs tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream/node_modules/graceful-fs
13755 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream/node_modules/graceful-fs /home/spike/.npm/1636801c-fstream-node-modules-graceful-fs.lock
13756 silly lockFile bc929123-pm-graceful-fs-2-0-1-package-tgz tar:///home/spike/.npm/graceful-fs/2.0.1/package.tgz
13757 verbose lock tar:///home/spike/.npm/graceful-fs/2.0.1/package.tgz /home/spike/.npm/bc929123-pm-graceful-fs-2-0-1-package-tgz.lock
13758 verbose tar unpack /home/spike/.npm/inherits/2.0.1/package.tgz
13759 silly lockFile d33a5121-es-fstream-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream/node_modules/inherits
13760 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/fstream/node_modules/inherits /home/spike/.npm/d33a5121-es-fstream-node-modules-inherits.lock
13761 silly lockFile 047db48f-e-npm-inherits-2-0-1-package-tgz tar:///home/spike/.npm/inherits/2.0.1/package.tgz
13762 verbose lock tar:///home/spike/.npm/inherits/2.0.1/package.tgz /home/spike/.npm/047db48f-e-npm-inherits-2-0-1-package-tgz.lock
13763 silly gunzTarPerm extractEntry test/open.js
13764 silly gunzTarPerm extractEntry .npmignore
13765 silly gunzTarPerm extractEntry README.md
13766 silly gunzTarPerm extractEntry package.json
13767 silly gunzTarPerm modes [ '755', '644' ]
13768 silly gunzTarPerm modes [ '755', '644' ]
13769 silly gunzTarPerm extractEntry package.json
13770 silly gunzTarPerm extractEntry tests/ssl/ca/server.js
13771 silly gunzTarPerm extractEntry tests/ssl/ca/ca.crt
13772 silly gunzTarPerm extractEntry README.md
13773 silly gunzTarPerm extractEntry LICENSE
13774 silly gunzTarPerm extractEntry .npmignore
13775 silly gunzTarPerm extractEntry README.md
13776 silly lockFile 7ae28580-uglify-to-browserify-1-0-1 uglify-to-browserify@1.0.1
13777 silly lockFile 7ae28580-uglify-to-browserify-1-0-1 uglify-to-browserify@1.0.1
13778 silly gunzTarPerm extractEntry package.json
13779 silly gunzTarPerm extractEntry web/builds/2.0.0/hogan-2.0.0.min.mustache.js
13780 silly gunzTarPerm extractEntry web/builds/2.0.0/template-2.0.0.js
13781 silly lockFile 8d4498e3-uglify-to-browserify-1-0-0 uglify-to-browserify@~1.0.0
13782 silly lockFile 8d4498e3-uglify-to-browserify-1-0-0 uglify-to-browserify@~1.0.0
13783 silly gunzTarPerm extractEntry package.json
13784 silly resolved [ { name: 'async',
13784 silly resolved description: 'Higher-order functions and common patterns for asynchronous code',
13784 silly resolved main: './lib/async',
13784 silly resolved author: { name: 'Caolan McMahon' },
13784 silly resolved version: '0.2.9',
13784 silly resolved repository: { type: 'git', url: 'https://github.com/caolan/async.git' },
13784 silly resolved bugs: { url: 'https://github.com/caolan/async/issues' },
13784 silly resolved licenses: [ [Object] ],
13784 silly resolved devDependencies: { nodeunit: '>0.0.0', 'uglify-js': '1.2.x', nodelint: '>0.0.0' },
13784 silly resolved jam: { main: 'lib/async.js', include: [Object] },
13784 silly resolved scripts: { test: 'nodeunit test/test-async.js' },
13784 silly resolved readme: '# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual \'functional\'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n\nasync.parallel([\n function(){ ... },\n function(){ ... }\n], callback);\n\nasync.series([\n function(){ ... },\n function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn\'t working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n squareExponent: 2,\n square: function(number, callback){ \n var result = Math.pow(number, this.squareExponent);\n setTimeout(function(){\n callback(null, result);\n }, 200);\n }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n // result is [NaN, NaN, NaN]\n // This fails because the `this.squareExponent` expression in the square\n // function is not evaluated in the context of AsyncSquaringLibrary, and is\n // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n // result is [1, 4, 9]\n // With the help of bind we can attach a context to the iterator before\n // passing it to async. Now the square function will be executed in its \n // \'home\' AsyncSquaringLibrary context and the value of `this.squareExponent`\n // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it\'s been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type="text/javascript" src="async.js"></script>\n<script type="text/javascript">\n\n async.map(data, asyncProcess, function(err, results){\n alert(results);\n });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [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* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name="forEach" />\n<a name="each" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="forEachSeries" />\n<a name="eachSeries" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name="forEachLimit" />\n<a name="eachLimit" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err) which must be called once it has \n completed. If no error has occured, the callback should be run without \n arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name="map" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="mapSeries" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name="mapLimit" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than "limit" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first "limit" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, transformed) which must be called once \n it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array of the\n transformed items from the original array.\n\n__Example__\n\n```js\nasync.map([\'file1\',\'file2\',\'file3\'], 1, fs.stat, function(err, results){\n // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name="filter" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n functions have finished.\n\n__Example__\n\n```js\nasync.filter([\'file1\',\'file2\',\'file3\'], fs.exists, function(results){\n // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name="filterSeries" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name="reject" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name="rejectSeries" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name="reduce" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it\'s probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n array to produce the next step in the reduction. The iterator is passed a\n callback(err, reduction) which accepts an optional error as its first \n argument, and the state of the reduction as the second. If an error is \n passed to the callback, the reduction is stopped and the main callback is \n immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n // pointless async:\n process.nextTick(function(){\n callback(null, memo + item)\n });\n}, function(err, result){\n // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name="reduceRight" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name="detect" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n the first item in the array that passes the truth test (iterator) or the\n value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name="detectSeries" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name="sortBy" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, sortValue) which must be called once it\n has completed with an error (which can be null) and a value to use as the sort\n criteria.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is the items from\n the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy([\'file1\',\'file2\',\'file3\'], function(file, callback){\n fs.stat(file, function(err, stats){\n callback(err, stats.mtime);\n });\n}, function(err, results){\n // results is now the original array of files sorted by\n // modified date\n});\n```\n\n---------------------------------------\n\n<a name="some" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n true, or after all the iterator functions have finished. Result will be\n either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name="every" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n The iterator is passed a callback(truthValue) which must be called with a \n boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n functions have finished. Result will be either true or false depending on\n the values of the async tests.\n\n__Example__\n\n```js\nasync.every([\'file1\',\'file2\',\'file3\'], fs.exists, function(result){\n // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name="concat" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n The iterator is passed a callback(err, results) which must be called once it \n has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n functions have finished, or an error has occurred. Results is an array containing\n the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat([\'dir1\',\'dir2\',\'dir3\'], fs.readdir, function(err, files){\n // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name="concatSeries" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name="series" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n function(callback){\n // do some stuff ...\n callback(null, \'one\');\n },\n function(callback){\n // do some more stuff ...\n callback(null, \'two\');\n }\n],\n// optional callback\nfunction(err, results){\n // results is now equal to [\'one\', \'two\']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n function(callback){\n setTimeout(function(){\n callback(null, \'one\');\n }, 200);\n },\n function(callback){\n setTimeout(function(){\n callback(null, \'two\');\n }, 100);\n }\n],\n// optional callback\nfunction(err, results){\n // the results array will equal [\'one\',\'two\'] even though\n // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n one: function(callback){\n setTimeout(function(){\n callback(null, 1);\n }, 200);\n },\n two: function(callback){\n setTimeout(function(){\n callback(null, 2);\n }, 100);\n }\n},\nfunction(err, results) {\n // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name="parallel" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of "limit" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first "limit" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n a callback(err, result) it must call on completion with an error (which can\n be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n have completed. This function gets a results array (or object) containing all \n the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name="whilst" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n passed a callback(err) which must be called once it has completed with an \n optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n function () { return count < 5; },\n function (callback) {\n count++;\n setTimeout(callback, 1000);\n },\n function (err) {\n // 5 seconds have passed\n }\n);\n```\n\n---------------------------------------\n\n<a name="doWhilst" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name="until" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name="doUntil" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name="forever" />\n### forever(fn, callback)\n\nCalls the asynchronous function \'fn\' repeatedly, in series, indefinitely.\nIf an error is passed to fn\'s callback then \'callback\' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name="waterfall" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n callback(err, result1, result2, ...) it must call on completion. The first\n argument is an error (which can be null) and any further arguments will be \n passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n have completed. This will be passed the results of the last task\'s callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n function(callback){\n callback(null, \'one\', \'two\');\n },\n function(arg1, arg2, callback){\n callback(null, \'three\');\n },\n function(arg1, callback){\n // arg1 now equals \'three\'\n callback(null, \'done\');\n }\n], function (err, result) {\n // result now equals \'done\' \n});\n```\n\n---------------------------------------\n<a name="compose" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n setTimeout(function () {\n callback(null, n + 1);\n }, 10);\n}\n\nfunction mul3(n, callback) {\n setTimeout(function () {\n callback(null, n * 3);\n }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n // result now equals 15\n});\n```\n\n---------------------------------------\n<a name="applyEach" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], \'bucket\', callback);\n\n// partial application example:\nasync.each(\n buckets,\n async.applyEach([enableSearch, updateSchema]),\n callback\n);\n```\n\n---------------------------------------\n\n<a name="applyEachSeries" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name="queue" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task\'s callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n task, which must call its callback(err) argument when finished, with an \n optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n run in parallel. This property can be changed after a queue is created to\n alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n console.log(\'hello \' + task.name);\n callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n console.log(\'all items have been processed\');\n}\n\n// add some items to the queue\n\nq.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\nq.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: \'baz\'},{name: \'bay\'},{name: \'bax\'}], function (err) {\n console.log(\'finished processing bar\');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\n```\n\n---------------------------------------\n\n<a name="cargo" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n queued tasks, which must call its callback(err) argument when finished, with \n an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n process per round. This property can be changed after a cargo is created to\n alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n once the worker has finished processing the task.\n instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n for(var i=0; i<tasks.length; i++){\n console.log(\'hello \' + tasks[i].name);\n }\n callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: \'foo\'}, function (err) {\n console.log(\'finished processing foo\');\n});\ncargo.push({name: \'bar\'}, function (err) {\n console.log(\'finished processing bar\');\n});\ncargo.push({name: \'baz\'}, function (err) {\n console.log(\'finished processing baz\');\n});\n```\n\n---------------------------------------\n\n<a name="auto" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n readData: async.apply(fs.readFile, \'data.txt\', \'utf-8\');\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile(\'data.txt\', \'utf-8\', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n readData: function(cb, results){\n fs.readFile(\'data.txt\', \'utf-8\', cb);\n }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n requirements, with the function itself the last item in the array. The key\n used for each function or array is used when specifying requirements. The \n function receives two arguments: (1) a callback(err, result) which must be \n called when finished, passing an error (which can be null) and the result of \n the function\'s execution, and (2) a results object, containing the results of\n the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n tasks have been completed. The callback will receive an error as an argument\n if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n \n\n__Example__\n\n```js\nasync.auto({\n get_data: function(callback){\n // async code to get some data\n },\n make_folder: function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n },\n write_file: [\'get_data\', \'make_folder\', function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n callback(null, filename);\n }],\n email_link: [\'write_file\', function(callback, results){\n // once the file is written let\'s email a link to it...\n // results.write_file contains the filename returned by write_file.\n }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n function(callback){\n // async code to get some data\n },\n function(callback){\n // async code to create a directory to store a file in\n // this is run at the same time as getting the data\n }\n],\nfunction(err, results){\n async.series([\n function(callback){\n // once there is some data and the directory exists,\n // write the data to a file in the directory\n },\n function(callback){\n // once the file is written let\'s email a link to it...\n }\n ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name="iterator" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It\'s also possible to\n\'peek\' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n function(){ sys.p(\'one\'); },\n function(){ sys.p(\'two\'); },\n function(){ sys.p(\'three\'); }\n]);\n\nnode> var iterator2 = iterator();\n\'one\'\nnode> var iterator3 = iterator2();\n\'two\'\nnode> iterator3();\n\'three\'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n\'three\'\n```\n\n---------------------------------------\n\n<a name="apply" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n async.apply(fs.writeFile, \'testfile1\', \'test1\'),\n async.apply(fs.writeFile, \'testfile2\', \'test2\'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n function(callback){\n fs.writeFile(\'testfile1\', \'test1\', callback);\n },\n function(callback){\n fs.writeFile(\'testfile2\', \'test2\', callback);\n }\n]);\n```\n\nIt\'s possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, \'one\');\nnode> fn(\'two\', \'three\');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name="nextTick" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n call_order.push(\'two\');\n // call_order now equals [\'one\',\'two\']\n});\ncall_order.push(\'one\')\n```\n\n<a name="times" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n callback(null, {\n id: \'user\' + id\n })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n createUser(n, function(err, user) {\n next(err, user)\n })\n}, function(err, users) {\n // we should now have 5 users\n});\n```\n\n<a name="timesSeries" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name="memoize" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n results, it has all the arguments applied to it apart from the callback, and\n must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n // do something\n callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn(\'some name\', function () {\n // callback\n});\n```\n\n<a name="unmemoize" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name="log" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, \'hello \' + name);\n }, 1000);\n};\n```\n```js\nnode> async.log(hello, \'world\');\n\'hello world\'\n```\n\n---------------------------------------\n\n<a name="dir" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n setTimeout(function(){\n callback(null, {hello: name});\n }, 1000);\n};\n```\n```js\nnode> async.dir(hello, \'world\');\n{hello: \'world\'}\n```\n\n---------------------------------------\n\n<a name="noConflict" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n',
13784 silly resolved readmeFilename: 'README.md',
13784 silly resolved homepage: 'https://github.com/caolan/async',
13784 silly resolved _id: 'async@0.2.9',
13784 silly resolved _from: 'async@~0.2.6' },
13784 silly resolved { name: 'optimist',
13784 silly resolved version: '0.3.7',
13784 silly resolved description: 'Light-weight option parsing with an argv hash. No optstrings attached.',
13784 silly resolved main: './index.js',
13784 silly resolved dependencies: { wordwrap: '~0.0.2' },
13784 silly resolved devDependencies: { hashish: '~0.0.4', tap: '~0.4.0' },
13784 silly resolved scripts: { test: 'tap ./test/*.js' },
13784 silly resolved repository:
13784 silly resolved { type: 'git',
13784 silly resolved url: 'http://github.com/substack/node-optimist.git' },
13784 silly resolved keywords:
13784 silly resolved [ 'argument',
13784 silly resolved 'args',
13784 silly resolved 'option',
13784 silly resolved 'parser',
13784 silly resolved 'parsing',
13784 silly resolved 'cli',
13784 silly resolved 'command' ],
13784 silly resolved author:
13784 silly resolved { name: 'James Halliday',
13784 silly resolved email: 'mail@substack.net',
13784 silly resolved url: 'http://substack.net' },
13784 silly resolved license: 'MIT/X11',
13784 silly resolved engine: { node: '>=0.4' },
13784 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',
13784 silly resolved readmeFilename: 'readme.markdown',
13784 silly resolved bugs: { url: 'https://github.com/substack/node-optimist/issues' },
13784 silly resolved homepage: 'https://github.com/substack/node-optimist',
13784 silly resolved _id: 'optimist@0.3.7',
13784 silly resolved _from: 'optimist@~0.3.5' },
13784 silly resolved { name: 'source-map',
13784 silly resolved description: 'Generates and consumes source maps',
13784 silly resolved version: '0.1.31',
13784 silly resolved homepage: 'https://github.com/mozilla/source-map',
13784 silly resolved author: { name: 'Nick Fitzgerald', email: 'nfitzgerald@mozilla.com' },
13784 silly resolved contributors:
13784 silly resolved [ [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object],
13784 silly resolved [Object] ],
13784 silly resolved repository: { type: 'git', url: 'http://github.com/mozilla/source-map.git' },
13784 silly resolved directories: { lib: './lib' },
13784 silly resolved main: './lib/source-map.js',
13784 silly resolved engines: { node: '>=0.8.0' },
13784 silly resolved licenses: [ [Object] ],
13784 silly resolved dependencies: { amdefine: '>=0.0.4' },
13784 silly resolved devDependencies: { dryice: '>=0.4.8' },
13784 silly resolved scripts:
13784 silly resolved { test: 'node test/run-tests.js',
13784 silly resolved build: 'node Makefile.dryice.js' },
13784 silly resolved readme: '# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\nThis library is written in the Asynchronous Module Definition format, and works\nin the following environments:\n\n* Modern Browsers supporting ECMAScript 5 (either after the build, or with an\n AMD loader such as RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Node\n\n $ npm install source-map\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n $ git clone https://fitzgen@github.com/mozilla/source-map.git\n $ cd source-map\n $ npm link .\n\nNext, run\n\n $ node Makefile.dryice.js\n\nThis should spew a bunch of stuff to stdout, and create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source.\n\n## Examples\n\n### Consuming a source map\n\n var rawSourceMap = {\n version: 3,\n file: \'min.js\',\n names: [\'bar\', \'baz\', \'n\'],\n sources: [\'one.js\', \'two.js\'],\n sourceRoot: \'http://example.com/www/js/\',\n mappings: \'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA\'\n };\n\n var smc = new SourceMapConsumer(rawSourceMap);\n\n console.log(smc.sources);\n // [ \'http://example.com/www/js/one.js\',\n // \'http://example.com/www/js/two.js\' ]\n\n console.log(smc.originalPositionFor({\n line: 2,\n column: 28\n }));\n // { source: \'http://example.com/www/js/two.js\',\n // line: 2,\n // column: 10,\n // name: \'n\' }\n\n console.log(smc.generatedPositionFor({\n source: \'http://example.com/www/js/two.js\',\n line: 2,\n column: 10\n }));\n // { line: 2, column: 28 }\n\n smc.eachMapping(function (m) {\n // ...\n });\n\n### Generating a source map\n\nIn depth guide:\n[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)\n\n#### With SourceNode (high level API)\n\n function compile(ast) {\n switch (ast.type) {\n case \'BinaryExpression\':\n return new SourceNode(\n ast.location.line,\n ast.location.column,\n ast.location.source,\n [compile(ast.left), " + ", compile(ast.right)]\n );\n case \'Literal\':\n return new SourceNode(\n ast.location.line,\n ast.location.column,\n ast.location.source,\n String(ast.value)\n );\n // ...\n default:\n throw new Error("Bad AST");\n }\n }\n\n var ast = parse("40 + 2", "add.js");\n console.log(compile(ast).toStringWithSourceMap({\n file: \'add.js\'\n }));\n // { code: \'40 + 2\',\n // map: [object SourceMapGenerator] }\n\n#### With SourceMapGenerator (low level API)\n\n var map = new SourceMapGenerator({\n file: "source-mapped.js"\n });\n\n map.addMapping({\n generated: {\n line: 10,\n column: 35\n },\n source: "foo.js",\n original: {\n line: 33,\n column: 2\n },\n name: "christopher"\n });\n\n console.log(map.toString());\n // \'{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}\'\n\n## API\n\nGet a reference to the module:\n\n // NodeJS\n var sourceMap = require(\'source-map\');\n\n // Browser builds\n var sourceMap = window.sourceMap;\n\n // Inside Firefox\n let sourceMap = {};\n Components.utils.import(\'resource:///modules/devtools/SourceMap.jsm\', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`\'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource\'s line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n available.\n\n* `line`: The line number in the original source, or null if this information is\n not available.\n\n* `column`: The column number in the original source, or null or null if this\n information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping. Mappings have the\n form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,\n name }`\n\n* `context`: Optional. If specified, this object will be the value of `this`\n every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n the mappings sorted by the generated file\'s line/column order or the\n original\'s source/line/column order, respectively. Defaults to\n `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator(startOfSourceMap)\n\nTo create a new one, you must pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n associated with.\n\n* `sourceRoot`: An optional root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource\'s line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n If omitted, sourceMapConsumer.file will be used.\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode(line, column, source[, chunk[, name]])\n\n* `line`: The original line number associated with this source node, or null if\n it isn\'t associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n if it isn\'t associated with an original column.\n\n* `source`: The original source\'s filename.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer)\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source\'s line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node\'s children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n### SourceNode.prototype.toStringWithSourceMap(startOfSourceMap)\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-<your new test name>.js`\nand export your test functions with names that start with "test", for example\n\n exports["test doing the foo bar"] = function (assert, util) {\n ...\n };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node\'s assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox\'s test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n',
13784 silly resolved readmeFilename: 'README.md',
13784 silly resolved bugs: { url: 'https://github.com/mozilla/source-map/issues' },
13784 silly resolved _id: 'source-map@0.1.31',
13784 silly resolved _from: 'source-map@~0.1.7' },
13784 silly resolved { name: 'uglify-to-browserify',
13784 silly resolved version: '1.0.1',
13784 silly resolved description: 'A transform to make UglifyJS work in browserify.',
13784 silly resolved keywords: [],
13784 silly resolved dependencies: {},
13784 silly resolved devDependencies: { 'uglify-js': '~2.4.0', 'source-map': '~0.1.27' },
13784 silly resolved scripts: { test: 'node test/index.js' },
13784 silly resolved repository:
13784 silly resolved { type: 'git',
13784 silly resolved url: 'https://github.com/ForbesLindesay/uglify-to-browserify.git' },
13784 silly resolved author: { name: 'ForbesLindesay' },
13784 silly resolved license: 'MIT',
13784 silly resolved readme: '# uglify-to-browserify\r\n\r\nA transform to make UglifyJS work in browserify.\r\n\r\n[![Build Status](https://travis-ci.org/ForbesLindesay/uglify-to-browserify.png?branch=master)](https://travis-ci.org/ForbesLindesay/uglify-to-browserify)\r\n[![Dependency Status](https://gemnasium.com/ForbesLindesay/uglify-to-browserify.png)](https://gemnasium.com/ForbesLindesay/uglify-to-browserify)\r\n[![NPM version](https://badge.fury.io/js/uglify-to-browserify.png)](http://badge.fury.io/js/uglify-to-browserify)\r\n\r\n## Installation\r\n\r\n npm install uglify-to-browserify\r\n\r\n## License\r\n\r\n MIT',
13784 silly resolved readmeFilename: 'README.md',
13784 silly resolved bugs: { url: 'https://github.com/ForbesLindesay/uglify-to-browserify/issues' },
13784 silly resolved homepage: 'https://github.com/ForbesLindesay/uglify-to-browserify',
13784 silly resolved _id: 'uglify-to-browserify@1.0.1',
13784 silly resolved _from: 'uglify-to-browserify@~1.0.0' } ]
13785 info install async@0.2.9 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js
13786 info install optimist@0.3.7 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js
13787 info install source-map@0.1.31 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js
13788 info install uglify-to-browserify@1.0.1 into /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js
13789 info installOne async@0.2.9
13790 info installOne optimist@0.3.7
13791 info installOne source-map@0.1.31
13792 info installOne uglify-to-browserify@1.0.1
13793 silly gunzTarPerm extractEntry LICENSE
13794 silly gunzTarPerm extractEntry graceful-fs.js
13795 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/async unbuild
13796 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist unbuild
13797 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map unbuild
13798 info /home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/uglify-to-browserify unbuild
13799 silly gunzTarPerm extractEntry test/ulimit.js
13800 silly gunzTarPerm extractEntry .npmignore
13801 silly gunzTarPerm extractEntry README.md
13802 silly gunzTarPerm extractEntry README.md
13803 silly gunzTarPerm extractEntry LICENSE
13804 verbose tar unpack /home/spike/.npm/async/0.2.9/package.tgz
13805 silly lockFile 8208891d-les-uglify-js-node-modules-async tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/async
13806 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/async /home/spike/.npm/8208891d-les-uglify-js-node-modules-async.lock
13807 silly lockFile f759bea7-pike-npm-async-0-2-9-package-tgz tar:///home/spike/.npm/async/0.2.9/package.tgz
13808 verbose lock tar:///home/spike/.npm/async/0.2.9/package.tgz /home/spike/.npm/f759bea7-pike-npm-async-0-2-9-package-tgz.lock
13809 verbose tar unpack /home/spike/.npm/optimist/0.3.7/package.tgz
13810 silly lockFile f0431941--uglify-js-node-modules-optimist tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist
13811 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/optimist /home/spike/.npm/f0431941--uglify-js-node-modules-optimist.lock
13812 silly lockFile df606445-e-npm-optimist-0-3-7-package-tgz tar:///home/spike/.npm/optimist/0.3.7/package.tgz
13813 verbose lock tar:///home/spike/.npm/optimist/0.3.7/package.tgz /home/spike/.npm/df606445-e-npm-optimist-0-3-7-package-tgz.lock
13814 verbose tar unpack /home/spike/.npm/source-map/0.1.31/package.tgz
13815 silly lockFile f7b3f77a-glify-js-node-modules-source-map tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map
13816 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/source-map /home/spike/.npm/f7b3f77a-glify-js-node-modules-source-map.lock
13817 silly lockFile f192ad00-pm-source-map-0-1-31-package-tgz tar:///home/spike/.npm/source-map/0.1.31/package.tgz
13818 verbose lock tar:///home/spike/.npm/source-map/0.1.31/package.tgz /home/spike/.npm/f192ad00-pm-source-map-0-1-31-package-tgz.lock
13819 verbose tar unpack /home/spike/.npm/uglify-to-browserify/1.0.1/package.tgz
13820 silly lockFile 1f9153c0-ode-modules-uglify-to-browserify tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/uglify-to-browserify
13821 verbose lock tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-contrib-uglify/node_modules/uglify-js/node_modules/uglify-to-browserify /home/spike/.npm/1f9153c0-ode-modules-uglify-to-browserify.lock
13822 silly lockFile 53a02aaf--to-browserify-1-0-1-package-tgz tar:///home/spike/.npm/uglify-to-browserify/1.0.1/package.tgz
13823 verbose lock tar:///home/spike/.npm/uglify-to-browserify/1.0.1/package.tgz /home/spike/.npm/53a02aaf--to-browserify-1-0-1-package-tgz.lock
13824 silly gunzTarPerm extractEntry tests/ssl/ca/server.crt
13825 silly gunzTarPerm extractEntry tests/ssl/ca/ca.key
13826 silly gunzTarPerm extractEntry LICENSE
13827 silly gunzTarPerm extractEntry CONTRIBUTORS
13828 silly gunzTarPerm extractEntry bench.js
13829 silly gunzTarPerm extractEntry sigmund.js
13830 silly gunzTarPerm modes [ '755', '644' ]
13831 silly gunzTarPerm modes [ '755', '644' ]
13832 silly gunzTarPerm modes [ '755', '644' ]
13833 silly gunzTarPerm modes [ '755', '644' ]
13834 silly gunzTarPerm extractEntry test/open.js
13835 silly lockFile bf1f8b7b-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/inherits
13836 silly lockFile bf1f8b7b-dules-glob-node-modules-inherits tar:///home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/inherits
13837 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
13838 silly lockFile a20693c1-e-npm-inherits-1-0-0-package-tgz tar:///home/spike/.npm/inherits/1.0.0/package.tgz
13839 silly gunzTarPerm extractEntry test/brace-expand.js
13840 silly gunzTarPerm extractEntry test/caching.js
13841 silly gunzTarPerm extractEntry LICENSE
13842 silly gunzTarPerm extractEntry graceful-fs.js
13843 silly gunzTarPerm extractEntry inherits.js
13844 silly gunzTarPerm extractEntry inherits_browser.js
13845 silly gunzTarPerm extractEntry package.json
13846 silly gunzTarPerm extractEntry package.json
13847 silly gunzTarPerm extractEntry package.json
13848 silly gunzTarPerm extractEntry package.json
13849 silly gunzTarPerm extractEntry lib/lru-cache.js
13850 silly gunzTarPerm extractEntry test/basic.js
13851 silly gunzTarPerm extractEntry test/foreach.js
13852 silly gunzTarPerm extractEntry test/memory-leak.js
13853 silly gunzTarPerm extractEntry tests/ssl/ca/ca.cnf
13854 silly gunzTarPerm extractEntry tests/ssl/ca/server.cnf
13855 info preinstall inherits@1.0.0
13856 silly gunzTarPerm extractEntry LICENSE
13857 silly gunzTarPerm extractEntry index.js
13858 silly gunzTarPerm extractEntry README.md
13859 silly gunzTarPerm extractEntry LICENSE
13860 silly gunzTarPerm extractEntry component.json
13861 silly gunzTarPerm extractEntry lib/async.js
13862 silly gunzTarPerm extractEntry .npmignore
13863 silly gunzTarPerm extractEntry README.md
13864 verbose readDependencies using package.json deps
13865 silly gunzTarPerm extractEntry test/basic.js
13866 silly gunzTarPerm extractEntry .npmignore
13867 silly gunzTarPerm extractEntry README.md
13868 silly gunzTarPerm extractEntry web/builds/2.0.0/hogan-2.0.0.mustache.js
13869 silly gunzTarPerm extractEntry web/builds/2.0.0/template-2.0.0.min.js
13870 verbose readDependencies using package.json deps
13871 silly resolved []
13872 verbose about to build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/inherits
13873 info build /home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules/inherits
13874 verbose linkStuff [ false,
13874 verbose linkStuff false,
13874 verbose linkStuff false,
13874 verbose linkStuff '/home/spike/projects/meetups/angular-promises/node_modules/grunt-google-cdn/node_modules/bower/node_modules/glob/node_modules' ]
13875 info linkStuff inherits@1.0.0
13876 verbose linkBins inherits@1.0.0
13877 verbose linkMans inherits@1.0.0
13878 verbose rebuildBundles inherits@1.0.0
13879 info install inherits@1.0.0
13880 silly gunzTarPerm extractEntry polyfills.js
13881 silly gunzTarPerm extractEntry test/open.js
13882 silly gunzTarPerm extractEntry test/defaults.js
13883 silly gunzTarPerm extractEntry test/extglob-ending-with-state-char.js
13884 info postinstall inherits@1.0.0
13885 error Error: ENOENT, lstat '/home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md'
13886 error If you need help, you may report this log at:
13886 error <http://github.com/isaacs/npm/issues>
13886 error or email it to:
13886 error <npm-@googlegroups.com>
13887 error System Linux 3.11.0-15-generic
13888 error command "/home/spike/nvm/v0.10.22/bin/node" "/home/spike/nvm/v0.10.22/bin/npm" "install"
13889 error cwd /home/spike/projects/meetups/angular-promises
13890 error node -v v0.10.22
13891 error npm -v 1.3.14
13892 error path /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md
13893 error fstream_path /home/spike/projects/meetups/angular-promises/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md
13894 error fstream_type File
13895 error fstream_class FileWriter
13896 error code ENOENT
13897 error errno 34
13898 error fstream_stack /home/spike/nvm/v0.10.22/lib/node_modules/npm/node_modules/fstream/lib/writer.js:284:26
13898 error fstream_stack Object.oncomplete (fs.js:107:15)
13899 verbose exit [ 34, true ]