Skip to content
This repository
Browse code

Merge commit 'v0.6.21' into openshift

  • Loading branch information...
commit 5be18148bada35865c7b6d13551dc0654ae8bc96 2 parents 00cbcfc + 55ddf54
Bert Belder authored August 14, 2012

Showing 306 changed files with 4,252 additions and 3,196 deletions. Show diff stats Hide diff stats

  1. 1  .gitignore
  2. 24  ChangeLog
  3. 4  Makefile
  4. 72  benchmark/fs-readfile.js
  5. 12  benchmark/http.sh
  6. 109  benchmark/http_simple.js
  7. 4  benchmark/io.js
  8. 22  deps/npm/.npmignore
  9. 5  deps/npm/AUTHORS
  10. 5  deps/npm/LICENSE
  11. 6  deps/npm/README.md
  12. 13  deps/npm/bin/npm
  13. 12  deps/npm/bin/npm-cli.js
  14. 2  deps/npm/bin/read-package-json.js
  15. 21  deps/npm/doc/cli/coding-style.md
  16. 148  deps/npm/doc/cli/config.md
  17. 1  deps/npm/doc/cli/init.md
  18. 2  deps/npm/doc/cli/install.md
  19. 19  deps/npm/doc/cli/json.md
  20. 20  deps/npm/doc/cli/list.md
  21. 2  deps/npm/html/api/bin.html
  22. 2  deps/npm/html/api/bugs.html
  23. 2  deps/npm/html/api/commands.html
  24. 2  deps/npm/html/api/config.html
  25. 2  deps/npm/html/api/deprecate.html
  26. 2  deps/npm/html/api/docs.html
  27. 2  deps/npm/html/api/edit.html
  28. 2  deps/npm/html/api/explore.html
  29. 2  deps/npm/html/api/help-search.html
  30. 2  deps/npm/html/api/init.html
  31. 2  deps/npm/html/api/install.html
  32. 2  deps/npm/html/api/link.html
  33. 2  deps/npm/html/api/load.html
  34. 2  deps/npm/html/api/ls.html
  35. 4  deps/npm/html/api/npm.html
  36. 2  deps/npm/html/api/outdated.html
  37. 2  deps/npm/html/api/owner.html
  38. 2  deps/npm/html/api/pack.html
  39. 2  deps/npm/html/api/prefix.html
  40. 2  deps/npm/html/api/prune.html
  41. 2  deps/npm/html/api/publish.html
  42. 2  deps/npm/html/api/rebuild.html
  43. 2  deps/npm/html/api/restart.html
  44. 2  deps/npm/html/api/root.html
  45. 2  deps/npm/html/api/run-script.html
  46. 2  deps/npm/html/api/search.html
  47. 2  deps/npm/html/api/shrinkwrap.html
  48. 2  deps/npm/html/api/start.html
  49. 2  deps/npm/html/api/stop.html
  50. 2  deps/npm/html/api/submodule.html
  51. 2  deps/npm/html/api/tag.html
  52. 2  deps/npm/html/api/test.html
  53. 2  deps/npm/html/api/uninstall.html
  54. 2  deps/npm/html/api/unpublish.html
  55. 2  deps/npm/html/api/update.html
  56. 2  deps/npm/html/api/version.html
  57. 2  deps/npm/html/api/view.html
  58. 2  deps/npm/html/api/whoami.html
  59. 10  deps/npm/html/doc/README.html
  60. 2  deps/npm/html/doc/adduser.html
  61. 2  deps/npm/html/doc/bin.html
  62. 2  deps/npm/html/doc/bugs.html
  63. 2  deps/npm/html/doc/build.html
  64. 2  deps/npm/html/doc/bundle.html
  65. 2  deps/npm/html/doc/cache.html
  66. 2  deps/npm/html/doc/changelog.html
  67. 23  deps/npm/html/doc/coding-style.html
  68. 2  deps/npm/html/doc/completion.html
  69. 135  deps/npm/html/doc/config.html
  70. 2  deps/npm/html/doc/deprecate.html
  71. 2  deps/npm/html/doc/developers.html
  72. 2  deps/npm/html/doc/disputes.html
  73. 2  deps/npm/html/doc/docs.html
  74. 2  deps/npm/html/doc/edit.html
  75. 2  deps/npm/html/doc/explore.html
  76. 2  deps/npm/html/doc/faq.html
  77. 2  deps/npm/html/doc/folders.html
  78. 2  deps/npm/html/doc/help-search.html
  79. 2  deps/npm/html/doc/help.html
  80. 2  deps/npm/html/doc/index.html
  81. 4  deps/npm/html/doc/init.html
  82. 4  deps/npm/html/doc/install.html
  83. 21  deps/npm/html/doc/json.html
  84. 2  deps/npm/html/doc/link.html
  85. 22  deps/npm/html/doc/list.html
  86. 4  deps/npm/html/doc/npm.html
  87. 2  deps/npm/html/doc/outdated.html
  88. 2  deps/npm/html/doc/owner.html
  89. 2  deps/npm/html/doc/pack.html
  90. 2  deps/npm/html/doc/prefix.html
  91. 2  deps/npm/html/doc/prune.html
  92. 2  deps/npm/html/doc/publish.html
  93. 2  deps/npm/html/doc/rebuild.html
  94. 2  deps/npm/html/doc/registry.html
  95. 2  deps/npm/html/doc/removing-npm.html
  96. 2  deps/npm/html/doc/restart.html
  97. 2  deps/npm/html/doc/root.html
  98. 2  deps/npm/html/doc/run-script.html
  99. 2  deps/npm/html/doc/scripts.html
  100. 2  deps/npm/html/doc/search.html
  101. 2  deps/npm/html/doc/semver.html
  102. 2  deps/npm/html/doc/shrinkwrap.html
  103. 2  deps/npm/html/doc/star.html
  104. 2  deps/npm/html/doc/start.html
  105. 2  deps/npm/html/doc/stop.html
  106. 2  deps/npm/html/doc/submodule.html
  107. 2  deps/npm/html/doc/tag.html
  108. 2  deps/npm/html/doc/test.html
  109. 2  deps/npm/html/doc/uninstall.html
  110. 2  deps/npm/html/doc/unpublish.html
  111. 2  deps/npm/html/doc/update.html
  112. 2  deps/npm/html/doc/version.html
  113. 2  deps/npm/html/doc/view.html
  114. 2  deps/npm/html/doc/whoami.html
  115. 29  deps/npm/html/style.css
  116. 89  deps/npm/lib/adduser.js
  117. 16  deps/npm/lib/bugs.js
  118. 20  deps/npm/lib/build.js
  119. 403  deps/npm/lib/cache.js
  120. 11  deps/npm/lib/config.js
  121. 7  deps/npm/lib/deprecate.js
  122. 10  deps/npm/lib/docs.js
  123. 1  deps/npm/lib/edit.js
  124. 7  deps/npm/lib/help-search.js
  125. 4  deps/npm/lib/help.js
  126. 227  deps/npm/lib/init.js
  127. 133  deps/npm/lib/install.js
  128. 37  deps/npm/lib/link.js
  129. 89  deps/npm/lib/ls.js
  130. 80  deps/npm/lib/npm.js
  131. 17  deps/npm/lib/outdated.js
  132. 62  deps/npm/lib/owner.js
  133. 3  deps/npm/lib/pack.js
  134. 4  deps/npm/lib/prune.js
  135. 95  deps/npm/lib/publish.js
  136. 12  deps/npm/lib/rebuild.js
  137. 1  deps/npm/lib/root.js
  138. 8  deps/npm/lib/run-script.js
  139. 5  deps/npm/lib/search.js
  140. 6  deps/npm/lib/shrinkwrap.js
  141. 8  deps/npm/lib/star.js
  142. 1  deps/npm/lib/submodule.js
  143. 14  deps/npm/lib/substack.js
  144. 3  deps/npm/lib/tag.js
  145. 15  deps/npm/lib/test.js
  146. 11  deps/npm/lib/unbuild.js
  147. 75  deps/npm/lib/uninstall.js
  148. 12  deps/npm/lib/unpublish.js
  149. 4  deps/npm/lib/update.js
  150. 42  deps/npm/lib/utils/cmd-shim.js
  151. 15  deps/npm/lib/utils/completion.sh
  152. 19  deps/npm/lib/utils/completion/file-completion.js
  153. 6  deps/npm/lib/utils/completion/installed-deep.js
  154. 2  deps/npm/lib/utils/completion/installed-shallow.js
  155. 5  deps/npm/lib/utils/completion/remote-packages.js
  156. 13  deps/npm/lib/utils/completion/users.js
  157. 104  deps/npm/lib/utils/config-defs.js
  158. 158  deps/npm/lib/utils/error-handler.js
  159. 40  deps/npm/lib/utils/exec.js
  160. 49  deps/npm/lib/utils/fetch.js
  161. 53  deps/npm/lib/utils/find.js
  162. 8  deps/npm/lib/utils/ini.js
  163. 32  deps/npm/lib/utils/lifecycle.js
  164. 15  deps/npm/lib/utils/link.js
  165. 75  deps/npm/lib/utils/load-package-defaults.js
  166. 170  deps/npm/lib/utils/log.js
  167. 100  deps/npm/lib/utils/npm-registry-client/adduser.js
  168. 16  deps/npm/lib/utils/npm-registry-client/index.js
  169. 170  deps/npm/lib/utils/npm-registry-client/publish.js
  170. 245  deps/npm/lib/utils/npm-registry-client/request.js
  171. 32  deps/npm/lib/utils/npm-registry-client/star.js
  172. 8  deps/npm/lib/utils/npm-registry-client/tag.js
  173. 98  deps/npm/lib/utils/npm-registry-client/unpublish.js
  174. 39  deps/npm/lib/utils/promise-chain.js
  175. 580  deps/npm/lib/utils/read-json.js
  176. 81  deps/npm/lib/utils/relativize.js
  177. 17  deps/npm/lib/utils/sha.js
  178. 130  deps/npm/lib/utils/tar.js
  179. 25  deps/npm/lib/version.js
  180. 16  deps/npm/lib/view.js
  181. 1  deps/npm/lib/whoami.js
  182. 8  deps/npm/lib/xmas.js
  183. 9  deps/npm/man/man1/README.1
  184. 2  deps/npm/man/man1/adduser.1
  185. 2  deps/npm/man/man1/bin.1
  186. 2  deps/npm/man/man1/bugs.1
  187. 2  deps/npm/man/man1/build.1
  188. 2  deps/npm/man/man1/bundle.1
  189. 2  deps/npm/man/man1/cache.1
  190. 2  deps/npm/man/man1/changelog.1
  191. 32  deps/npm/man/man1/coding-style.1
  192. 2  deps/npm/man/man1/completion.1
  193. 228  deps/npm/man/man1/config.1
  194. 2  deps/npm/man/man1/deprecate.1
  195. 2  deps/npm/man/man1/developers.1
  196. 2  deps/npm/man/man1/disputes.1
  197. 2  deps/npm/man/man1/docs.1
  198. 2  deps/npm/man/man1/edit.1
  199. 2  deps/npm/man/man1/explore.1
  200. 2  deps/npm/man/man1/faq.1
  201. 2  deps/npm/man/man1/folders.1
  202. 2  deps/npm/man/man1/help-search.1
  203. 2  deps/npm/man/man1/help.1
  204. 2  deps/npm/man/man1/index.1
  205. 5  deps/npm/man/man1/init.1
  206. 4  deps/npm/man/man1/install.1
  207. 22  deps/npm/man/man1/json.1
  208. 2  deps/npm/man/man1/link.1
  209. 29  deps/npm/man/man1/list.1
  210. 4  deps/npm/man/man1/npm.1
  211. 2  deps/npm/man/man1/outdated.1
  212. 2  deps/npm/man/man1/owner.1
  213. 2  deps/npm/man/man1/pack.1
  214. 2  deps/npm/man/man1/prefix.1
  215. 2  deps/npm/man/man1/prune.1
  216. 2  deps/npm/man/man1/publish.1
  217. 2  deps/npm/man/man1/rebuild.1
  218. 2  deps/npm/man/man1/registry.1
  219. 2  deps/npm/man/man1/removing-npm.1
  220. 2  deps/npm/man/man1/restart.1
  221. 2  deps/npm/man/man1/root.1
  222. 2  deps/npm/man/man1/run-script.1
  223. 2  deps/npm/man/man1/scripts.1
  224. 2  deps/npm/man/man1/search.1
  225. 2  deps/npm/man/man1/semver.1
  226. 2  deps/npm/man/man1/shrinkwrap.1
  227. 2  deps/npm/man/man1/star.1
  228. 2  deps/npm/man/man1/start.1
  229. 2  deps/npm/man/man1/stop.1
  230. 2  deps/npm/man/man1/submodule.1
  231. 2  deps/npm/man/man1/tag.1
  232. 2  deps/npm/man/man1/test.1
  233. 2  deps/npm/man/man1/uninstall.1
  234. 2  deps/npm/man/man1/unpublish.1
  235. 2  deps/npm/man/man1/update.1
  236. 2  deps/npm/man/man1/version.1
  237. 2  deps/npm/man/man1/view.1
  238. 2  deps/npm/man/man1/whoami.1
  239. 2  deps/npm/man/man3/bin.3
  240. 2  deps/npm/man/man3/bugs.3
  241. 2  deps/npm/man/man3/commands.3
  242. 2  deps/npm/man/man3/config.3
  243. 2  deps/npm/man/man3/deprecate.3
  244. 2  deps/npm/man/man3/docs.3
  245. 2  deps/npm/man/man3/edit.3
  246. 2  deps/npm/man/man3/explore.3
  247. 2  deps/npm/man/man3/help-search.3
  248. 2  deps/npm/man/man3/init.3
  249. 2  deps/npm/man/man3/install.3
  250. 2  deps/npm/man/man3/link.3
  251. 2  deps/npm/man/man3/load.3
  252. 2  deps/npm/man/man3/ls.3
  253. 4  deps/npm/man/man3/npm.3
  254. 2  deps/npm/man/man3/outdated.3
  255. 2  deps/npm/man/man3/owner.3
  256. 2  deps/npm/man/man3/pack.3
  257. 2  deps/npm/man/man3/prefix.3
  258. 2  deps/npm/man/man3/prune.3
  259. 2  deps/npm/man/man3/publish.3
  260. 2  deps/npm/man/man3/rebuild.3
  261. 2  deps/npm/man/man3/restart.3
  262. 2  deps/npm/man/man3/root.3
  263. 2  deps/npm/man/man3/run-script.3
  264. 2  deps/npm/man/man3/search.3
  265. 2  deps/npm/man/man3/shrinkwrap.3
  266. 2  deps/npm/man/man3/start.3
  267. 2  deps/npm/man/man3/stop.3
  268. 2  deps/npm/man/man3/submodule.3
  269. 2  deps/npm/man/man3/tag.3
  270. 2  deps/npm/man/man3/test.3
  271. 2  deps/npm/man/man3/uninstall.3
  272. 2  deps/npm/man/man3/unpublish.3
  273. 2  deps/npm/man/man3/update.3
  274. 2  deps/npm/man/man3/version.3
  275. 2  deps/npm/man/man3/view.3
  276. 2  deps/npm/man/man3/whoami.3
  277. 0  deps/npm/node_modules/{node-gyp/node_modules → }/ansi/.npmignore
  278. 32  deps/npm/node_modules/{node-gyp/node_modules → }/ansi/README.md
  279. 368  deps/npm/node_modules/ansi/lib/ansi.js
  280. 71  deps/npm/node_modules/ansi/lib/newlines.js
  281. 22  deps/npm/node_modules/{node-gyp/node_modules → }/ansi/package.json
  282. 0  deps/npm/node_modules/{node-gyp/node_modules/glob → chownr}/LICENCE
  283. 241  deps/npm/node_modules/couch-login/README.md
  284. 287  deps/npm/node_modules/couch-login/couch-login.js
  285. 27  deps/npm/node_modules/couch-login/package.json
  286. 25  deps/npm/node_modules/fstream-npm/LICENCE
  287. 0  deps/npm/node_modules/{node-gyp/node_modules → }/glob/.npmignore
  288. 0  deps/npm/node_modules/{node-gyp/node_modules → }/glob/.travis.yml
  289. 25  deps/npm/node_modules/glob/LICENCE
  290. 0  deps/npm/node_modules/{node-gyp/node_modules → }/glob/README.md
  291. 2  deps/npm/node_modules/{node-gyp/node_modules → }/glob/glob.js
  292. 35  deps/npm/node_modules/glob/package.json
  293. 43  deps/npm/node_modules/init-package-json/README.md
  294. 178  deps/npm/node_modules/init-package-json/default-input.js
  295. 104  deps/npm/node_modules/init-package-json/init-package-json.js
  296. 1  deps/npm/node_modules/init-package-json/node_modules/promzard/.npmignore
  297. 130  deps/npm/node_modules/init-package-json/node_modules/promzard/README.md
  298. 11  deps/npm/node_modules/init-package-json/node_modules/promzard/example/index.js
  299. 8  deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/README.md
  300. 191  deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init-input.js
  301. 37  deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init.js
  302. 10  deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/package.json
  303. 61  deps/npm/node_modules/init-package-json/node_modules/promzard/example/substack-input.js
  304. 26  deps/npm/node_modules/init-package-json/node_modules/promzard/package.json
  305. 216  deps/npm/node_modules/init-package-json/node_modules/promzard/promzard.js
1  .gitignore
@@ -40,4 +40,3 @@ ipch/
40 40
 email.md
41 41
 blog.html
42 42
 deps/v8-*
43  
-node_modules
24  ChangeLog
... ...
@@ -1,4 +1,26 @@
1  
-2012.06.06 Version 0.6.19 (stable)
  1
+2012.08.03 Version 0.6.21 (maintenance)
  2
+
  3
+* sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)
  4
+
  5
+* net: make pause/resume work with connecting sockets (Bert Belder)
  6
+
  7
+
  8
+2012.07.10 Version 0.6.20 (maintenance), 952e513379169ec1b40909d1db056e9bf4294899
  9
+
  10
+* npm: Upgrade to 1.1.37 (isaacs)
  11
+
  12
+* benchmark: Backport improvements made in master (isaacs)
  13
+
  14
+* build: always link with -lz (Trent Mick)
  15
+
  16
+* core: use proper #include directives (Ben Noordhuis)
  17
+
  18
+* cluster: don't silently drop messages when the write queue gets big (Bert Belder)
  19
+
  20
+* windows: don't print error when GetConsoleTitleW returns an empty string (Bert Belder)
  21
+
  22
+
  23
+2012.06.06 Version 0.6.19 (stable), debf552ed2d4a53957446e82ff3c52a8182d5ff4
2 24
 
3 25
 * npm: upgrade to 1.1.24
4 26
 
4  Makefile
@@ -209,9 +209,9 @@ $(PKG):
209 209
 
210 210
 $(TARBALL): out/doc
211 211
 	git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
212  
-	mkdir -p $(TARNAME)/doc
  212
+	mkdir -p $(TARNAME)/doc/api
213 213
 	cp doc/node.1 $(TARNAME)/doc/node.1
214  
-	cp -r out/doc/api $(TARNAME)/doc/api
  214
+	cp -r out/doc/api/* $(TARNAME)/doc/api/
215 215
 	rm -rf $(TARNAME)/deps/v8/test # too big
216 216
 	rm -rf $(TARNAME)/doc/images # too big
217 217
 	tar -cf $(TARNAME).tar $(TARNAME)
72  benchmark/fs-readfile.js
... ...
@@ -0,0 +1,72 @@
  1
+// Call fs.readFile over and over again really fast.
  2
+// Then see how many times it got called.
  3
+// Yes, this is a silly benchmark.  Most benchmarks are silly.
  4
+
  5
+var path = require('path');
  6
+var filename = path.resolve(__dirname, 'http.sh');
  7
+var fs = require('fs');
  8
+var count = 0;
  9
+var go = true;
  10
+var len = -1;
  11
+var assert = require('assert');
  12
+
  13
+var concurrency = 1;
  14
+var encoding = null;
  15
+var time = 10;
  16
+
  17
+for (var i = 2; i < process.argv.length; i++) {
  18
+  var arg = process.argv[i];
  19
+  if (arg.match(/^-e$/)) {
  20
+    encoding = process.argv[++i] || null;
  21
+  } else if (arg.match(/^-c$/)) {
  22
+    concurrency = ~~process.argv[++i];
  23
+    if (concurrency < 1) concurrency = 1;
  24
+  } else if (arg === '-t') {
  25
+    time = ~~process.argv[++i];
  26
+    if (time < 1) time = 1;
  27
+  }
  28
+}
  29
+
  30
+
  31
+setTimeout(function() {
  32
+  go = false;
  33
+}, time * 1000);
  34
+
  35
+function round(n) {
  36
+  return Math.floor(n * 100) / 100;
  37
+}
  38
+
  39
+var start = Date.now();
  40
+while (concurrency--) readFile();
  41
+
  42
+function readFile() {
  43
+  if (!go) {
  44
+    process.stdout.write('\n');
  45
+    console.log('read the file %d times (higher is better)', count);
  46
+    var end = Date.now();
  47
+    var elapsed = (end - start) / 1000;
  48
+    var ns = elapsed * 1E9;
  49
+    var nsper = round(ns / count);
  50
+    console.log('%d ns per read (lower is better)', nsper);
  51
+    var readsper = round(count / (ns / 1E9));
  52
+    console.log('%d reads per sec (higher is better)', readsper);
  53
+    process.exit(0);
  54
+    return;
  55
+  }
  56
+
  57
+  if (!(count % 1000)) {
  58
+    process.stdout.write('.');
  59
+  }
  60
+
  61
+  if (encoding) fs.readFile(filename, encoding, then);
  62
+  else fs.readFile(filename, then);
  63
+
  64
+  function then(er, data) {
  65
+    assert.ifError(er);
  66
+    count++;
  67
+    // basic sanity test: we should get the same number of bytes each time.
  68
+    if (count === 1) len = data.length;
  69
+    else assert(len === data.length);
  70
+    readFile();
  71
+  }
  72
+}
12  benchmark/http.sh
... ...
@@ -0,0 +1,12 @@
  1
+#!/bin/bash
  2
+cd "$(dirname "$(dirname $0)")"
  3
+sudo sysctl -w net.inet.ip.portrange.first=12000
  4
+sudo sysctl -w net.inet.tcp.msl=1000
  5
+sudo sysctl -w kern.maxfiles=1000000 kern.maxfilesperproc=1000000
  6
+ulimit -n 100000
  7
+
  8
+./node benchmark/http_simple.js || exit 1 &
  9
+sleep 1
  10
+
  11
+ab -n 30000 -c 100 http://127.0.0.1:8000/${TYPE:-bytes}/${LENGTH:-1024} | grep Req
  12
+killall node
109  benchmark/http_simple.js
... ...
@@ -1,75 +1,99 @@
1  
-path = require("path");
2  
-exec = require("child_process").exec;
3  
-http = require("http");
  1
+var path = require('path'),
  2
+    exec = require('child_process').exec,
  3
+    http = require('http');
4 4
 
5  
-port = parseInt(process.env.PORT || 8000);
  5
+var port = parseInt(process.env.PORT || 8000);
6 6
 
7 7
 console.log('pid ' + process.pid);
8 8
 
9  
-fixed = ""
10  
-for (var i = 0; i < 20*1024; i++) {
11  
-  fixed += "C";
  9
+var fixed = makeString(20 * 1024, 'C'),
  10
+    storedBytes = {},
  11
+    storedBuffer = {},
  12
+    storedUnicode = {};
  13
+
  14
+var useDomains = process.env.NODE_USE_DOMAINS;
  15
+
  16
+// set up one global domain.
  17
+if (useDomains) {
  18
+  var domain = require('domain');
  19
+  var gdom = domain.create();
  20
+  gdom.on('error', function(er) {
  21
+    console.log('Error on global domain', er);
  22
+    throw er;
  23
+  });
  24
+  gdom.enter();
12 25
 }
13 26
 
14  
-stored = {};
15  
-storedBuffer = {};
16  
-
17 27
 var server = http.createServer(function (req, res) {
18  
-  var commands = req.url.split("/");
  28
+  if (useDomains) {
  29
+    var dom = domain.create();
  30
+    dom.add(req);
  31
+    dom.add(res);
  32
+  }
  33
+
  34
+  var commands = req.url.split('/');
19 35
   var command = commands[1];
20  
-  var body = "";
  36
+  var body = '';
21 37
   var arg = commands[2];
22 38
   var n_chunks = parseInt(commands[3], 10);
23 39
   var status = 200;
24 40
 
25  
-  if (command == "bytes") {
26  
-    var n = parseInt(arg, 10)
  41
+  if (command == 'bytes') {
  42
+    var n = ~~arg;
27 43
     if (n <= 0)
28  
-      throw "bytes called with n <= 0"
29  
-    if (stored[n] === undefined) {
30  
-      console.log("create stored[n]");
31  
-      stored[n] = "";
32  
-      for (var i = 0; i < n; i++) {
33  
-        stored[n] += "C"
34  
-      }
  44
+      throw new Error('bytes called with n <= 0')
  45
+    if (storedBytes[n] === undefined) {
  46
+      console.log('create storedBytes[n]');
  47
+      storedBytes[n] = makeString(n, 'C');
35 48
     }
36  
-    body = stored[n];
  49
+    body = storedBytes[n];
37 50
 
38  
-  } else if (command == "buffer") {
39  
-    var n = parseInt(arg, 10)
40  
-    if (n <= 0) throw new Error("bytes called with n <= 0");
  51
+  } else if (command == 'buffer') {
  52
+    var n = ~~arg;
  53
+    if (n <= 0)
  54
+      throw new Error('buffer called with n <= 0');
41 55
     if (storedBuffer[n] === undefined) {
42  
-      console.log("create storedBuffer[n]");
  56
+      console.log('create storedBuffer[n]');
43 57
       storedBuffer[n] = new Buffer(n);
44 58
       for (var i = 0; i < n; i++) {
45  
-        storedBuffer[n][i] = "C".charCodeAt(0);
  59
+        storedBuffer[n][i] = 'C'.charCodeAt(0);
46 60
       }
47 61
     }
48 62
     body = storedBuffer[n];
49 63
 
50  
-  } else if (command == "quit") {
  64
+  } else if (command == 'unicode') {
  65
+    var n = ~~arg;
  66
+    if (n <= 0)
  67
+      throw new Error('unicode called with n <= 0');
  68
+    if (storedUnicode[n] === undefined) {
  69
+      console.log('create storedUnicode[n]');
  70
+      storedUnicode[n] = makeString(n, '\u263A');
  71
+    }
  72
+    body = storedUnicode[n];
  73
+
  74
+  } else if (command == 'quit') {
51 75
     res.connection.server.close();
52  
-    body = "quitting";
  76
+    body = 'quitting';
53 77
 
54  
-  } else if (command == "fixed") {
  78
+  } else if (command == 'fixed') {
55 79
     body = fixed;
56 80
 
57  
-  } else if (command == "echo") {
58  
-    res.writeHead(200, { "Content-Type": "text/plain",
59  
-                         "Transfer-Encoding": "chunked" });
  81
+  } else if (command == 'echo') {
  82
+    res.writeHead(200, { 'Content-Type': 'text/plain',
  83
+                         'Transfer-Encoding': 'chunked' });
60 84
     req.pipe(res);
61 85
     return;
62 86
 
63 87
   } else {
64 88
     status = 404;
65  
-    body = "not found\n";
  89
+    body = 'not found\n';
66 90
   }
67 91
 
68 92
   // example: http://localhost:port/bytes/512/4
69 93
   // sends a 512 byte body in 4 chunks of 128 bytes
70 94
   if (n_chunks > 0) {
71  
-    res.writeHead(status, { "Content-Type": "text/plain",
72  
-                            "Transfer-Encoding": "chunked" });
  95
+    res.writeHead(status, { 'Content-Type': 'text/plain',
  96
+                            'Transfer-Encoding': 'chunked' });
73 97
     // send body in chunks
74 98
     var len = body.length;
75 99
     var step = ~~(len / n_chunks) || len;
@@ -82,13 +106,20 @@ var server = http.createServer(function (req, res) {
82 106
   } else {
83 107
     var content_length = body.length.toString();
84 108
 
85  
-    res.writeHead(status, { "Content-Type": "text/plain",
86  
-                            "Content-Length": content_length });
  109
+    res.writeHead(status, { 'Content-Type': 'text/plain',
  110
+                            'Content-Length': content_length });
87 111
     res.end(body);
88 112
   }
89  
-
90 113
 });
91 114
 
  115
+function makeString(size, c) {
  116
+  var s = '';
  117
+  while (s.length < size) {
  118
+    s += c;
  119
+  }
  120
+  return s;
  121
+}
  122
+
92 123
 server.listen(port, function () {
93 124
   console.log('Listening at http://127.0.0.1:'+port+'/');
94 125
 });
4  benchmark/io.js
@@ -62,7 +62,7 @@ function readtest(size, bsize) {
62 62
 
63 63
 function wt(tsize, bsize, done) {
64 64
   var start = Date.now();
65  
-  s = writetest(tsize, bsizes[0]);
  65
+  s = writetest(tsize, bsize);
66 66
   s.addListener('close', function() {
67 67
     var end = Date.now();
68 68
     var diff = end - start;
@@ -73,7 +73,7 @@ function wt(tsize, bsize, done) {
73 73
 
74 74
 function rt(tsize, bsize, done) {
75 75
   var start = Date.now();
76  
-  s = readtest(tsize, bsizes[0]);
  76
+  s = readtest(tsize, bsize);
77 77
   s.addListener('close', function() {
78 78
     var end = Date.now();
79 79
     var diff = end - start;
22  deps/npm/.npmignore
... ...
@@ -1,16 +1,16 @@
1 1
 *.swp
2  
-test/bin
3  
-test/output.log
4  
-test/packages/*/node_modules
5  
-test/packages/npm-test-depends-on-spark/which-spark.log
6  
-test/packages/test-package/random-data.txt
7  
-test/root
8  
-node_modules/ronn
9  
-node_modules/.bin
10 2
 npm-debug.log
11  
-./npmrc
12  
-.gitignore
13  
-release/
  3
+/test/bin
  4
+/test/output.log
  5
+/test/packages/*/node_modules
  6
+/test/packages/npm-test-depends-on-spark/which-spark.log
  7
+/test/packages/test-package/random-data.txt
  8
+/test/root
  9
+/node_modules/ronn
  10
+/node_modules/tap
  11
+/node_modules/.bin
  12
+/npmrc
  13
+/release/
14 14
 
15 15
 # don't need these in the npm package.
16 16
 html/*.png
5  deps/npm/AUTHORS
@@ -66,3 +66,8 @@ Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>
66 66
 Dalmais Maxence <github@maxired.fr>
67 67
 Marcus Ekwall <marcus.ekwall@gmail.com>
68 68
 Aaron Stacy <aaron.r.stacy@gmail.com>
  69
+Phillip Howell <phowell@cothm.org>
  70
+Domenic Denicola <domenic@domenicdenicola.com>
  71
+James Halliday <mail@substack.net>
  72
+Jeremy Cantrell <jmcantrell@gmail.com>
  73
+Ribettes <patlogan29@gmail.com>
5  deps/npm/LICENSE
@@ -49,6 +49,11 @@ and are not covered by this license.
49 49
 "npm Logo" created by Mathias Pettersson and Brian Hammond,
50 50
 used with permission.
51 51
 
  52
+"Gubblebum Blocky" font
  53
+Copyright (c) 2007 by Tjarda Koster, http://jelloween.deviantart.com
  54
+included for use in the npm website and documentation,
  55
+used with permission.
  56
+
52 57
 This program uses "node-uuid", Copyright (c) 2010 Robert Kieffer,
53 58
 according to the terms of the MIT license.
54 59
 
6  deps/npm/README.md
Source Rendered
@@ -89,21 +89,15 @@ To install the latest **unstable** development version from git:
89 89
 
90 90
     git clone https://github.com/isaacs/npm.git
91 91
     cd npm
92  
-    git submodule update --init --recursive
93 92
     sudo make install     # (or: `node cli.js install -gf`)
94 93
 
95 94
 If you're sitting in the code folder reading this document in your
96 95
 terminal, then you've already got the code.  Just do:
97 96
 
98  
-    git submodule update --init --recursive
99 97
     sudo make install
100 98
 
101 99
 and npm will install itself.
102 100
 
103  
-Note that github tarballs **do not contain submodules**, so
104  
-those won't work.  You'll have to also fetch the appropriate submodules
105  
-listed in the .gitmodules file.
106  
-
107 101
 ## Permissions when Using npm to Install Other Stuff
108 102
 
109 103
 **tl;dr**
13  deps/npm/bin/npm
... ...
@@ -1,6 +1,13 @@
1 1
 #!/bin/sh
2  
-if [ -x "`dirname "$0"`/node.exe" ]; then
3  
-  "`dirname "$0"`/node.exe" "`dirname "$0"`/node_modules/npm/bin/npm-cli.js" "$@"
  2
+
  3
+basedir=`dirname "$0"`
  4
+
  5
+case `uname` in
  6
+    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
  7
+esac
  8
+
  9
+if [ -x "$basedir/node.exe" ]; then
  10
+  "$basedir/node.exe" "$basedir/node_modules/npm/bin/npm-cli.js" "$@"
4 11
 else
5  
-  node "`dirname "$0"`/node_modules/npm/bin/npm-cli.js" "$@"
  12
+  node "$basedir/node_modules/npm/bin/npm-cli.js" "$@"
6 13
 fi
12  deps/npm/bin/npm-cli.js
@@ -15,9 +15,9 @@ if (typeof WScript !== "undefined") {
15 15
 
16 16
 process.title = "npm"
17 17
 
18  
-var log = require("../lib/utils/log.js")
19  
-log.waitForConfig()
20  
-log.info("ok", "it worked if it ends with")
  18
+var log = require("npmlog")
  19
+log.pause() // will be unpaused when config is loaded.
  20
+log.info("it worked if it ends with", "ok")
21 21
 
22 22
 var fs = require("graceful-fs")
23 23
   , path = require("path")
@@ -36,7 +36,7 @@ if (path.basename(process.argv[1]).slice(-1)  === "g") {
36 36
   process.argv.splice(1, 1, "npm", "-g")
37 37
 }
38 38
 
39  
-log.verbose(process.argv, "cli")
  39
+log.verbose("cli", process.argv)
40 40
 
41 41
 var conf = nopt(types, shorthands)
42 42
 npm.argv = conf.argv.remain
@@ -56,8 +56,8 @@ if (conf.versions) {
56 56
   return
57 57
 }
58 58
 
59  
-log.info("npm@"+npm.version, "using")
60  
-log.info("node@"+process.version, "using")
  59
+log.info("using", "npm@%s", npm.version)
  60
+log.info("using", "node@%s", process.version)
61 61
 
62 62
 // make sure that this version of node works with this version of npm.
63 63
 var semver = require("semver")
2  deps/npm/bin/read-package-json.js
@@ -6,7 +6,7 @@ if (argv.length < 3) {
6 6
 
7 7
 var fs = require("fs")
8 8
   , file = argv[2]
9  
-  , readJson = require("../lib/utils/read-json")
  9
+  , readJson = require("read-package-json")
10 10
 
11 11
 readJson(file, function (er, data) {
12 12
   if (er) throw er
21  deps/npm/doc/cli/coding-style.md
Source Rendered
@@ -129,29 +129,18 @@ Just send the error message back as the first argument to the callback.
129 129
 Always create a new Error object with your message.  Don't just return a
130 130
 string message to the callback.  Stack traces are handy.
131 131
 
132  
-Use the `require("./utils/log").er` function.  It takes a callback and an
133  
-error message, and returns an object that will report the message in the
134  
-event of a failure.  It's quite handy.
135  
-
136  
-    function myThing (args, cb) {
137  
-      getData(args, function (er, data) {
138  
-        if (er) return log.er(cb, "Couldn't get data")(er)
139  
-        doSomethingElse(data, cb)
140  
-      })
141  
-    }
142  
-    function justHasToWork (cb) {
143  
-      doSomething(log.er(cb, "the doSomething failed."))
144  
-    }
145  
-
146 132
 ## Logging
147 133
 
  134
+Logging is done using the [npmlog](https://github.com/isaacs/npmlog)
  135
+utility.
  136
+
148 137
 Please clean up logs when they are no longer helpful.  In particular,
149 138
 logging the same object over and over again is not helpful.  Logs should
150 139
 report what's happening so that it's easier to track down where a fault
151 140
 occurs.
152 141
 
153  
-Use appropriate log levels.  The default log() function logs at the
154  
-"info" level.  See `npm-config(1)` and search for "loglevel".
  142
+Use appropriate log levels.  See `npm-config(1)` and search for
  143
+"loglevel".
155 144
 
156 145
 ## Case, naming, etc.
157 146
 
148  deps/npm/doc/cli/config.md
Source Rendered
@@ -117,6 +117,7 @@ The following shorthands are parsed on the command-line:
117 117
 * `-S`: `--save`
118 118
 * `-D`: `--save-dev`
119 119
 * `-O`: `--save-optional`
  120
+* `-B`: `--save-bundle`
120 121
 * `-y`: `--yes`
121 122
 * `-n`: `--yes false`
122 123
 * `ll` and `la` commands: `ls --long`
@@ -167,32 +168,6 @@ then the user could change the behavior by doing:
167 168
 Force npm to always require authentication when accessing the registry,
168 169
 even for `GET` requests.
169 170
 
170  
-### bin-publish
171  
-
172  
-* Default: false
173  
-* Type: Boolean
174  
-
175  
-If set to true, then binary packages will be created on publish.
176  
-
177  
-This is the way to opt into the "bindist" behavior described below.
178  
-
179  
-### bindist
180  
-
181  
-* Default: Unstable node versions, `null`, otherwise
182  
-  `"<node version>-<platform>-<os release>"`
183  
-* Type: String or `null`
184  
-
185  
-Experimental: on stable versions of node, binary distributions will be
186  
-created with this tag.  If a user then installs that package, and their
187  
-`bindist` tag is found in the list of binary distributions, they will
188  
-get that prebuilt version.
189  
-
190  
-Pre-build node packages have their preinstall, install, and postinstall
191  
-scripts stripped (since they are run prior to publishing), and do not
192  
-have their `build` directories automatically ignored.
193  
-
194  
-It's yet to be seen if this is a good idea.
195  
-
196 171
 ### browser
197 172
 
198 173
 * Default: OS X: `"open"`, others: `"google-chrome"`
@@ -220,6 +195,27 @@ See also the `strict-ssl` config.
220 195
 
221 196
 The location of npm's cache directory.  See `npm-cache(1)`
222 197
 
  198
+### cache-lock-stale
  199
+
  200
+* Default: 60000 (1 minute)
  201
+* Type: Number
  202
+
  203
+The number of ms before cache folder lockfiles are considered stale.
  204
+
  205
+### cache-lock-retries
  206
+
  207
+* Default: 10
  208
+* Type: Number
  209
+
  210
+Number of times to retry to acquire a lock on cache folder lockfiles.
  211
+
  212
+### cache-lock-wait
  213
+
  214
+* Default: 10000 (10 seconds)
  215
+* Type: Number
  216
+
  217
+Number of ms to wait for cache lock files to expire.
  218
+
223 219
 ### cache-max
224 220
 
225 221
 * Default: Infinity
@@ -291,6 +287,15 @@ set.
291 287
 
292 288
 The command to run for `npm edit` or `npm config edit`.
293 289
 
  290
+### engine-strict
  291
+
  292
+* Default: false
  293
+* Type: Boolean
  294
+
  295
+If set to true, then npm will stubbornly refuse to install (or even
  296
+consider installing) any package that claims to not be compatible with
  297
+the current Node.js version.
  298
+
294 299
 ### force
295 300
 
296 301
 * Default: false
@@ -303,6 +308,38 @@ Makes various commands more forceful.
303 308
 * skips cache when requesting from the registry.
304 309
 * prevents checks against clobbering non-npm files.
305 310
 
  311
+### fetch-retries
  312
+
  313
+* Default: 2
  314
+* Type: Number
  315
+
  316
+The "retries" config for the `retry` module to use when fetching
  317
+packages from the registry.
  318
+
  319
+### fetch-retry-factor
  320
+
  321
+* Default: 10
  322
+* Type: Number
  323
+
  324
+The "factor" config for the `retry` module to use when fetching
  325
+packages.
  326
+
  327
+### fetch-retry-mintimeout
  328
+
  329
+* Default: 10000 (10 seconds)
  330
+* Type: Number
  331
+
  332
+The "minTimeout" config for the `retry` module to use when fetching
  333
+packages.
  334
+
  335
+### fetch-retry-maxtimeout
  336
+
  337
+* Default: 60000 (1 minute)
  338
+* Type: Number
  339
+
  340
+The "maxTimeout" config for the `retry` module to use when fetching
  341
+packages.
  342
+
306 343
 ### git
307 344
 
308 345
 * Default: `"git"`
@@ -375,6 +412,16 @@ Sets a User-Agent to the request header
375 412
 A white-space separated list of glob patterns of files to always exclude
376 413
 from packages when building tarballs.
377 414
 
  415
+### init-module
  416
+
  417
+* Default: ~/.npm-init.js
  418
+* Type: path
  419
+
  420
+A module that will be loaded by the `npm init` command.  See the
  421
+documentation for the
  422
+[init-package-json](https://github.com/isaacs/init-package-json) module
  423
+for more information, or npm-init(1).
  424
+
378 425
 ### init.version
379 426
 
380 427
 * Default: "0.0.0"
@@ -430,13 +477,6 @@ if one of the two conditions are met:
430 477
 * the globally installed version is identical to the version that is
431 478
   being installed locally.
432 479
 
433  
-### logfd
434  
-
435  
-* Default: stderr file descriptor
436  
-* Type: Number or Stream
437  
-
438  
-The location to write log output.
439  
-
440 480
 ### loglevel
441 481
 
442 482
 * Default: "http"
@@ -449,13 +489,17 @@ What level of logs to report.  On failure, *all* logs are written to
449 489
 Any logs of a higher level than the setting are shown.
450 490
 The default is "http", which shows http, warn, and error output.
451 491
 
452  
-### logprefix
  492
+### logstream
453 493
 
454  
-* Default: true on Posix, false on Windows
455  
-* Type: Boolean
  494
+* Default: process.stderr
  495
+* Type: Stream
  496
+
  497
+This is the stream that is passed to the
  498
+[npmlog](https://github.com/isaacs/npmlog) module at run time.
456 499
 
457  
-Whether or not to prefix log messages with "npm" and the log level.  See
458  
-also "color" and "loglevel".
  500
+It cannot be set from the command line, but if you are using npm
  501
+programmatically, you may wish to send logs to somewhere other than
  502
+stderr.
459 503
 
460 504
 ### long
461 505
 
@@ -503,13 +547,6 @@ The url to report npat test results.
503 547
 A node module to `require()` when npm loads.  Useful for programmatic
504 548
 usage.
505 549
 
506  
-### outfd
507  
-
508  
-* Default: standard output file descriptor
509  
-* Type: Number or Stream
510  
-
511  
-Where to write "normal" output.  This has no effect on log output.
512  
-
513 550
 ### parseable
514 551
 
515 552
 * Default: false
@@ -584,8 +621,23 @@ Remove failed installs.
584 621
 
585 622
 Save installed packages to a package.json file as dependencies.
586 623
 
  624
+When used with the `npm rm` command, it removes it from the dependencies
  625
+hash.
  626
+
587 627
 Only works if there is already a package.json file present.
588 628
 
  629
+### save-bundle
  630
+
  631
+* Default: false
  632
+* Type: Boolean
  633
+
  634
+If a package would be saved at install time by the use of `--save`,
  635
+`--save-dev`, or `--save-optional`, then also put it in the
  636
+`bundleDependencies` list.
  637
+
  638
+When used with the `npm rm` command, it removes it from the
  639
+bundledDependencies list.
  640
+
589 641
 ### save-dev
590 642
 
591 643
 * Default: false
@@ -593,6 +645,9 @@ Only works if there is already a package.json file present.
593 645
 
594 646
 Save installed packages to a package.json file as devDependencies.
595 647
 
  648
+When used with the `npm rm` command, it removes it from the devDependencies
  649
+hash.
  650
+
596 651
 Only works if there is already a package.json file present.
597 652
 
598 653
 ### save-optional
@@ -602,6 +657,9 @@ Only works if there is already a package.json file present.
602 657
 
603 658
 Save installed packages to a package.json file as optionalDependencies.
604 659
 
  660
+When used with the `npm rm` command, it removes it from the devDependencies
  661
+hash.
  662
+
605 663
 Only works if there is already a package.json file present.
606 664
 
607 665
 ### searchopts
1  deps/npm/doc/cli/init.md
Source Rendered
@@ -20,5 +20,6 @@ without a really good reason to do so.
20 20
 
21 21
 ## SEE ALSO
22 22
 
  23
+* <https://github.com/isaacs/init-package-json>
23 24
 * npm-json(1)
24 25
 * npm-version(1)
2  deps/npm/doc/cli/install.md
Source Rendered
@@ -160,7 +160,7 @@ local copy exists on disk.
160 160
     npm install sax --force
161 161
 
162 162
 The `--global` argument will cause npm to install the package globally
163  
-rather than locally.  See `npm-global(1)`.
  163
+rather than locally.  See `npm-folders(1)`.
164 164
 
165 165
 The `--link` argument will cause npm to link global installs into the
166 166
 local space in some cases.
19  deps/npm/doc/cli/json.md
Source Rendered
@@ -453,8 +453,7 @@ Entries in `optionalDependencies` will override entries of the same name in
453 453
 
454 454
 ## engines
455 455
 
456  
-You can specify the version of
457  
-node that your stuff works on:
  456
+You can specify the version of node that your stuff works on:
458 457
 
459 458
     { "engines" : { "node" : ">=0.1.27 <0.1.30" } }
460 459
 
@@ -470,6 +469,22 @@ are capable of properly installing your program.  For example:
470 469
 
471 470
     { "engines" : { "npm" : "~1.0.20" } }
472 471
 
  472
+Note that, unless the user has set the `engine-strict` config flag, this
  473
+field is advisory only.
  474
+
  475
+## engineStrict
  476
+
  477
+If you are sure that your module will *definitely not* run properly on
  478
+versions of Node/npm other than those specified in the `engines` hash,
  479
+then you can set `"engineStrict": true` in your package.json file.
  480
+This will override the user's `engine-strict` config setting.
  481
+
  482
+Please do not do this unless you are really very very sure.  If your
  483
+engines hash is something overly restrictive, you can quite easily and
  484
+inadvertently lock yourself into obscurity and prevent your users from
  485
+updating to new versions of Node.  Consider this choice carefully.  If
  486
+people abuse it, it will be removed in a future version of npm.
  487
+
473 488
 ## os
474 489
 
475 490
 You can specify which operating systems your
20  deps/npm/doc/cli/list.md
Source Rendered
@@ -3,20 +3,26 @@ npm-ls(1) -- List installed packages
3 3
 
4 4
 ## SYNOPSIS
5 5
 
6  
-    npm list
7  
-    npm ls
8  
-    npm la
9  
-    npm ll
  6
+    npm list [<pkg> ...]
  7
+    npm ls [<pkg> ...]
  8
+    npm la [<pkg> ...]
  9
+    npm ll [<pkg> ...]
10 10
 
11 11
 ## DESCRIPTION
12 12
 
13 13
 This command will print to stdout all the versions of packages that are
14 14
 installed, as well as their dependencies, in a tree-structure.
15 15
 
16  
-It does not take positional arguments, though you may set config flags
17  
-like with any other command, such as `-g` to list global packages.
  16
+Positional arguments are `name@version-range` identifiers, which will
  17
+limit the results to only the paths to the packages named.  Note that
  18
+nested packages will *also* show the paths to the specified packages.
  19
+For example, running `npm ls promzard` in npm's source tree will show:
18 20
 
19  
-It will print out extraneous, missing, and invalid packages.
  21
+    npm@@VERSION@ /path/to/npm
  22
+    └─┬ init-package-json@0.0.4
  23
+      └── promzard@0.1.5
  24
+
  25
+It will show print out extraneous, missing, and invalid packages.
20 26
 
21 27
 When run as `ll` or `la`, it shows extended information by default.
22 28
 
2  deps/npm/html/api/bin.html
@@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
19 19
 <p>This function should not be used programmatically.  Instead, just refer
20 20
 to the <code>npm.bin</code> member.</p>
21 21
 </div>
22  
-<p id="footer">bin &mdash; npm@1.1.24</p>
  22
+<p id="footer">bin &mdash; npm@1.1.37</p>
23 23
 <script>
24 24
 ;(function () {
25 25
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/bugs.html
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
25 25
 <p>This command will launch a browser, so this command may not be the most
26 26
 friendly for programmatic use.</p>
27 27
 </div>
28  
-<p id="footer">bugs &mdash; npm@1.1.24</p>
  28
+<p id="footer">bugs &mdash; npm@1.1.37</p>
29 29
 <script>
30 30
 ;(function () {
31 31
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/commands.html
@@ -28,7 +28,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
28 28
 
29 29
 <ul><li><a href="../doc/index.html">index(1)</a></li></ul>
30 30
 </div>
31  
-<p id="footer">commands &mdash; npm@1.1.24</p>
  31
+<p id="footer">commands &mdash; npm@1.1.37</p>
32 32
 <script>
33 33
 ;(function () {
34 34
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/config.html
@@ -33,7 +33,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
33 33
 
34 34
 <ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
35 35
 </div>
36  
-<p id="footer">config &mdash; npm@1.1.24</p>
  36
+<p id="footer">config &mdash; npm@1.1.37</p>
37 37
 <script>
38 38
 ;(function () {
39 39
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/deprecate.html
@@ -30,7 +30,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
30 30
 
31 31
 <ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../api/unpublish.html">unpublish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
32 32
 </div>
33  
-<p id="footer">deprecate &mdash; npm@1.1.24</p>
  33
+<p id="footer">deprecate &mdash; npm@1.1.37</p>
34 34
 <script>
35 35
 ;(function () {
36 36
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/docs.html
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
25 25
 <p>This command will launch a browser, so this command may not be the most
26 26
 friendly for programmatic use.</p>
27 27
 </div>
28  
-<p id="footer">docs &mdash; npm@1.1.24</p>
  28
+<p id="footer">docs &mdash; npm@1.1.37</p>
29 29
 <script>
30 30
 ;(function () {
31 31
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/edit.html
@@ -30,7 +30,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
30 30
 <p>Since this command opens an editor in a new process, be careful about where
31 31
 and how this is used.</p>
32 32
 </div>
33  
-<p id="footer">edit &mdash; npm@1.1.24</p>
  33
+<p id="footer">edit &mdash; npm@1.1.37</p>
34 34
 <script>
35 35
 ;(function () {
36 36
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/explore.html
@@ -24,7 +24,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
24 24
 
25 25
 <p>The first element in the 'args' parameter must be a package name.  After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.</p>
26 26
 </div>
27  
-<p id="footer">explore &mdash; npm@1.1.24</p>
  27
+<p id="footer">explore &mdash; npm@1.1.37</p>
28 28
 <script>
29 29
 ;(function () {
30 30
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/help-search.html
@@ -32,7 +32,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
32 32
 
33 33
 <p>The silent parameter is not neccessary not used, but it may in the future.</p>
34 34
 </div>
35  
-<p id="footer">help-search &mdash; npm@1.1.24</p>
  35
+<p id="footer">help-search &mdash; npm@1.1.37</p>
36 36
 <script>
37 37
 ;(function () {
38 38
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/init.html
@@ -35,7 +35,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
35 35
 
36 36
 <p><a href="../doc/json.html">json(1)</a></p>
37 37
 </div>
38  
-<p id="footer">init &mdash; npm@1.1.24</p>
  38
+<p id="footer">init &mdash; npm@1.1.37</p>
39 39
 <script>
40 40
 ;(function () {
41 41
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/install.html
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
25 25
 <p>Finally, 'callback' is a function that will be called when all packages have been
26 26
 installed or when an error has been encountered.</p>
27 27
 </div>
28  
-<p id="footer">install &mdash; npm@1.1.24</p>
  28
+<p id="footer">install &mdash; npm@1.1.37</p>
29 29
 <script>
30 30
 ;(function () {
31 31
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/link.html
@@ -39,7 +39,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
2  deps/npm/html/api/load.html
@@ -32,7 +32,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
32 32
 
33 33
 <p>For a list of all the available command-line configs, see <code>npm help config</code></p>
34 34
 </div>
35  
-<p id="footer">load &mdash; npm@1.1.24</p>
  35
+<p id="footer">load &mdash; npm@1.1.37</p>
36 36
 <script>
37 37
 ;(function () {
38 38
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/ls.html
@@ -59,7 +59,7 @@ <h3 id="global">global</h3>
59 59
 This means that if a submodule a same dependency as a parent module, then the
60 60
 dependency will only be output once.</p>
61 61
 </div>
62  
-<p id="footer">ls &mdash; npm@1.1.24</p>
  62
+<p id="footer">ls &mdash; npm@1.1.37</p>
63 63
 <script>
64 64
 ;(function () {
65 65
 var wrapper = document.getElementById("wrapper")
4  deps/npm/html/api/npm.html
@@ -24,7 +24,7 @@ <h2 id="SYNOPSIS">SYNOPSIS</h2>
24 24
 
25 25
 <h2 id="VERSION">VERSION</h2>
26 26
 
27  
-<p>1.1.24</p>
  27
+<p>1.1.37</p>
28 28
 
29 29
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
30 30
 
@@ -91,7 +91,7 @@ <h2 id="ABBREVS">ABBREVS</h2>
91 91
 
92 92
 <pre><code>var cmd = npm.deref("unp") // cmd === "unpublish"</code></pre>
93 93
 </div>
94  
-<p id="footer">npm &mdash; npm@1.1.24</p>
  94
+<p id="footer">npm &mdash; npm@1.1.37</p>
95 95
 <script>
96 96
 ;(function () {
97 97
 var wrapper = document.getElementById("wrapper")
2  deps/npm/html/api/outdated.html
@@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
19 19
 
20 20
 <p>If the 'packages' parameter is left out, npm will check all packages.</p>
21 21
 </div>
22