Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge remote-tracking branch 'origin/v0.8'

  • Loading branch information...
commit 4f27a0822aaae0de5580d49ce97c7c6ddc490b8c 2 parents 5a2cc62 + 07e5877
@bnoordhuis bnoordhuis authored
Showing with 1,061 additions and 282 deletions.
  1. +28 −1 ChangeLog
  2. +1 −1  Makefile
  3. +1 −1  deps/npm/html/api/bin.html
  4. +1 −1  deps/npm/html/api/bugs.html
  5. +1 −1  deps/npm/html/api/commands.html
  6. +1 −1  deps/npm/html/api/config.html
  7. +1 −1  deps/npm/html/api/deprecate.html
  8. +1 −1  deps/npm/html/api/docs.html
  9. +1 −1  deps/npm/html/api/edit.html
  10. +1 −1  deps/npm/html/api/explore.html
  11. +1 −1  deps/npm/html/api/help-search.html
  12. +1 −1  deps/npm/html/api/init.html
  13. +1 −1  deps/npm/html/api/install.html
  14. +1 −1  deps/npm/html/api/link.html
  15. +1 −1  deps/npm/html/api/load.html
  16. +1 −1  deps/npm/html/api/ls.html
  17. +2 −2 deps/npm/html/api/npm.html
  18. +1 −1  deps/npm/html/api/outdated.html
  19. +1 −1  deps/npm/html/api/owner.html
  20. +1 −1  deps/npm/html/api/pack.html
  21. +1 −1  deps/npm/html/api/prefix.html
  22. +1 −1  deps/npm/html/api/prune.html
  23. +1 −1  deps/npm/html/api/publish.html
  24. +1 −1  deps/npm/html/api/rebuild.html
  25. +1 −1  deps/npm/html/api/restart.html
  26. +1 −1  deps/npm/html/api/root.html
  27. +1 −1  deps/npm/html/api/run-script.html
  28. +1 −1  deps/npm/html/api/search.html
  29. +1 −1  deps/npm/html/api/shrinkwrap.html
  30. +1 −1  deps/npm/html/api/start.html
  31. +1 −1  deps/npm/html/api/stop.html
  32. +1 −1  deps/npm/html/api/submodule.html
  33. +1 −1  deps/npm/html/api/tag.html
  34. +1 −1  deps/npm/html/api/test.html
  35. +1 −1  deps/npm/html/api/uninstall.html
  36. +1 −1  deps/npm/html/api/unpublish.html
  37. +1 −1  deps/npm/html/api/update.html
  38. +1 −1  deps/npm/html/api/version.html
  39. +1 −1  deps/npm/html/api/view.html
  40. +1 −1  deps/npm/html/api/whoami.html
  41. +1 −1  deps/npm/html/doc/README.html
  42. +1 −1  deps/npm/html/doc/adduser.html
  43. +1 −1  deps/npm/html/doc/bin.html
  44. +1 −1  deps/npm/html/doc/bugs.html
  45. +1 −1  deps/npm/html/doc/build.html
  46. +1 −1  deps/npm/html/doc/bundle.html
  47. +1 −1  deps/npm/html/doc/cache.html
  48. +1 −1  deps/npm/html/doc/changelog.html
  49. +1 −1  deps/npm/html/doc/coding-style.html
  50. +1 −1  deps/npm/html/doc/completion.html
  51. +1 −1  deps/npm/html/doc/config.html
  52. +1 −1  deps/npm/html/doc/deprecate.html
  53. +1 −1  deps/npm/html/doc/developers.html
  54. +1 −1  deps/npm/html/doc/disputes.html
  55. +1 −1  deps/npm/html/doc/docs.html
  56. +1 −1  deps/npm/html/doc/edit.html
  57. +1 −1  deps/npm/html/doc/explore.html
  58. +1 −1  deps/npm/html/doc/faq.html
  59. +1 −1  deps/npm/html/doc/folders.html
  60. +1 −1  deps/npm/html/doc/help-search.html
  61. +1 −1  deps/npm/html/doc/help.html
  62. +1 −1  deps/npm/html/doc/index.html
  63. +1 −1  deps/npm/html/doc/init.html
  64. +1 −1  deps/npm/html/doc/install.html
  65. +1 −1  deps/npm/html/doc/json.html
  66. +1 −1  deps/npm/html/doc/link.html
  67. +1 −1  deps/npm/html/doc/list.html
  68. +2 −2 deps/npm/html/doc/npm.html
  69. +1 −1  deps/npm/html/doc/outdated.html
  70. +1 −1  deps/npm/html/doc/owner.html
  71. +1 −1  deps/npm/html/doc/pack.html
  72. +1 −1  deps/npm/html/doc/prefix.html
  73. +1 −1  deps/npm/html/doc/prune.html
  74. +1 −1  deps/npm/html/doc/publish.html
  75. +1 −1  deps/npm/html/doc/rebuild.html
  76. +1 −1  deps/npm/html/doc/registry.html
  77. +1 −1  deps/npm/html/doc/removing-npm.html
  78. +1 −1  deps/npm/html/doc/restart.html
  79. +1 −1  deps/npm/html/doc/root.html
  80. +1 −1  deps/npm/html/doc/run-script.html
  81. +1 −1  deps/npm/html/doc/scripts.html
  82. +1 −1  deps/npm/html/doc/search.html
  83. +1 −1  deps/npm/html/doc/semver.html
  84. +1 −1  deps/npm/html/doc/shrinkwrap.html
  85. +1 −1  deps/npm/html/doc/star.html
  86. +1 −1  deps/npm/html/doc/start.html
  87. +1 −1  deps/npm/html/doc/stop.html
  88. +1 −1  deps/npm/html/doc/submodule.html
  89. +1 −1  deps/npm/html/doc/tag.html
  90. +1 −1  deps/npm/html/doc/test.html
  91. +1 −1  deps/npm/html/doc/uninstall.html
  92. +1 −1  deps/npm/html/doc/unpublish.html
  93. +1 −1  deps/npm/html/doc/update.html
  94. +1 −1  deps/npm/html/doc/version.html
  95. +1 −1  deps/npm/html/doc/view.html
  96. +1 −1  deps/npm/html/doc/whoami.html
  97. +7 −0 deps/npm/lib/config.js
  98. +11 −1 deps/npm/lib/test.js
  99. +3 −2 deps/npm/lib/utils/cmd-shim.js
  100. +4 −1 deps/npm/lib/utils/error-handler.js
  101. +1 −1  deps/npm/man/man1/npm.1
  102. +1 −1  deps/npm/man/man3/npm.3
  103. +3 −3 deps/npm/node_modules/read-package-json/package.json
  104. +2 −1  deps/npm/node_modules/read-package-json/read-json.js
  105. +1 −1  deps/npm/package.json
  106. +1 −1  deps/uv/include/uv.h
  107. +1 −1  deps/uv/src/unix/sunos.c
  108. +1 −0  deps/uv/src/win/error.c
  109. +132 −57 deps/uv/src/win/fs.c
  110. +0 −1  deps/uv/src/win/internal.h
  111. +0 −23 deps/uv/src/win/util.c
  112. +164 −0 deps/uv/test/benchmark-fs-stat.c
  113. +3 −0  deps/uv/test/benchmark-list.h
  114. +1 −0  deps/uv/uv.gyp
  115. +8 −3 deps/v8/src/ia32/lithium-codegen-ia32.cc
  116. +1 −1  deps/v8/src/version.cc
  117. +8 −3 deps/v8/src/x64/lithium-codegen-x64.cc
  118. +63 −0 deps/v8/test/mjsunit/regress/regress-crbug-134055.js
  119. +9 −10 doc/about/index.html
  120. +1 −0  doc/api/_toc.markdown
  121. +1 −0  doc/api/all.markdown
  122. +6 −2 doc/api/cluster.markdown
  123. +14 −10 doc/blog.html
  124. +381 −0 doc/blog/release/node-v0.8.0.md
  125. +8 −9 doc/changelog-foot.html
  126. +13 −15 doc/community/index.html
  127. +9 −11 doc/index.html
  128. +9 −11 doc/logos/index.html
  129. +45 −0 doc/rss.xml
  130. +8 −9 doc/template.html
  131. +1 −1  src/node_version.h
  132. BIN  src/res/node.ico
  133. +14 −4 tools/blog/generate.js
  134. +1 −1  tools/msvs/msi/product.wxs
View
29 ChangeLog
@@ -1,4 +1,31 @@
-2012.06.19, Version 0.7.12 (unstable)
+2012.06.25, Version 0.8.0 (stable)
+
+* V8: upgrade to v3.11.10.10
+
+* npm: Upgrade to 1.1.32
+
+* Deprecate iowatcher (Ben Noordhuis)
+
+* windows: update icon (Bert Belder)
+
+* http: Hush 'MUST NOT have a body' warnings to debug() (isaacs)
+
+* Move blog.nodejs.org content into repository (isaacs)
+
+* Fix #3503: stdin: resume() on pipe(dest) (isaacs)
+
+* crypto: fix error reporting in SetKey() (Fedor Indutny)
+
+* Add --no-deprecation and --trace-deprecation command-line flags (isaacs)
+
+* fs: fix fs.watchFile() (Ben Noordhuis)
+
+* fs: Fix fs.readfile() on pipes (isaacs)
+
+* Rename GYP variable node_use_system_openssl to be consistent (Ryan Dahl)
+
+
+2012.06.19, Version 0.7.12 (unstable), a72120190a8ffdbcd3d6ad2a2e6ceecd2087111e
* npm: Upgrade to 1.1.30
- Improved 'npm init'
View
2  Makefile
@@ -136,7 +136,7 @@ blogclean:
rm -rf out/blog
blog: doc/blog out/Release/node tools/blog
- out/Release/node tools/blog/generate.js doc/blog/ out/blog/ doc/blog.html
+ out/Release/node tools/blog/generate.js doc/blog/ out/blog/ doc/blog.html doc/rss.xml
$(apidoc_dirs):
mkdir -p $@
View
2  deps/npm/html/api/bin.html
@@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This function should not be used programmatically. Instead, just refer
to the <code>npm.bin</code> member.</p>
</div>
-<p id="footer">bin &mdash; npm@1.1.30</p>
+<p id="footer">bin &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/bugs.html
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This command will launch a browser, so this command may not be the most
friendly for programmatic use.</p>
</div>
-<p id="footer">bugs &mdash; npm@1.1.30</p>
+<p id="footer">bugs &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/commands.html
@@ -28,7 +28,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer">commands &mdash; npm@1.1.30</p>
+<p id="footer">commands &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/config.html
@@ -33,7 +33,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
</div>
-<p id="footer">config &mdash; npm@1.1.30</p>
+<p id="footer">config &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/deprecate.html
@@ -30,7 +30,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<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>
</div>
-<p id="footer">deprecate &mdash; npm@1.1.30</p>
+<p id="footer">deprecate &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/docs.html
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This command will launch a browser, so this command may not be the most
friendly for programmatic use.</p>
</div>
-<p id="footer">docs &mdash; npm@1.1.30</p>
+<p id="footer">docs &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/edit.html
@@ -30,7 +30,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>Since this command opens an editor in a new process, be careful about where
and how this is used.</p>
</div>
-<p id="footer">edit &mdash; npm@1.1.30</p>
+<p id="footer">edit &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/explore.html
@@ -24,7 +24,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<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>
</div>
-<p id="footer">explore &mdash; npm@1.1.30</p>
+<p id="footer">explore &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/help-search.html
@@ -32,7 +32,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>The silent parameter is not neccessary not used, but it may in the future.</p>
</div>
-<p id="footer">help-search &mdash; npm@1.1.30</p>
+<p id="footer">help-search &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/init.html
@@ -35,7 +35,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<p><a href="../doc/json.html">json(1)</a></p>
</div>
-<p id="footer">init &mdash; npm@1.1.30</p>
+<p id="footer">init &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/install.html
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>Finally, 'callback' is a function that will be called when all packages have been
installed or when an error has been encountered.</p>
</div>
-<p id="footer">install &mdash; npm@1.1.30</p>
+<p id="footer">install &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/link.html
@@ -39,7 +39,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>Now, any changes to the redis package will be reflected in
the package in the current working directory</p>
</div>
-<p id="footer">link &mdash; npm@1.1.30</p>
+<p id="footer">link &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/load.html
@@ -32,7 +32,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>For a list of all the available command-line configs, see <code>npm help config</code></p>
</div>
-<p id="footer">load &mdash; npm@1.1.30</p>
+<p id="footer">load &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/ls.html
@@ -59,7 +59,7 @@ <h3 id="global">global</h3>
This means that if a submodule a same dependency as a parent module, then the
dependency will only be output once.</p>
</div>
-<p id="footer">ls &mdash; npm@1.1.30</p>
+<p id="footer">ls &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
4 deps/npm/html/api/npm.html
@@ -24,7 +24,7 @@ <h2 id="SYNOPSIS">SYNOPSIS</h2>
<h2 id="VERSION">VERSION</h2>
-<p>1.1.30</p>
+<p>1.1.32</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
@@ -91,7 +91,7 @@ <h2 id="ABBREVS">ABBREVS</h2>
<pre><code>var cmd = npm.deref("unp") // cmd === "unpublish"</code></pre>
</div>
-<p id="footer">npm &mdash; npm@1.1.30</p>
+<p id="footer">npm &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/outdated.html
@@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>If the 'packages' parameter is left out, npm will check all packages.</p>
</div>
-<p id="footer">outdated &mdash; npm@1.1.30</p>
+<p id="footer">outdated &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/owner.html
@@ -34,7 +34,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">owner &mdash; npm@1.1.30</p>
+<p id="footer">owner &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/pack.html
@@ -25,7 +25,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>If no arguments are supplied, then npm packs the current package folder.</p>
</div>
-<p id="footer">pack &mdash; npm@1.1.30</p>
+<p id="footer">pack &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/prefix.html
@@ -21,7 +21,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This function is not useful programmatically</p>
</div>
-<p id="footer">prefix &mdash; npm@1.1.30</p>
+<p id="footer">prefix &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/prune.html
@@ -23,7 +23,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>Extraneous packages are packages that are not listed on the parent
package's dependencies list.</p>
</div>
-<p id="footer">prune &mdash; npm@1.1.30</p>
+<p id="footer">prune &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/publish.html
@@ -32,7 +32,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../api/owner.html">owner(3)</a></li></ul>
</div>
-<p id="footer">publish &mdash; npm@1.1.30</p>
+<p id="footer">publish &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/rebuild.html
@@ -22,7 +22,7 @@ <h2 id="CONFIGURATION">CONFIGURATION</h2>
<p>See <code>npm help build</code></p>
</div>
-<p id="footer">rebuild &mdash; npm@1.1.30</p>
+<p id="footer">rebuild &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/restart.html
@@ -27,7 +27,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
</div>
-<p id="footer">restart &mdash; npm@1.1.30</p>
+<p id="footer">restart &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/root.html
@@ -21,7 +21,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This function is not useful programmatically.</p>
</div>
-<p id="footer">root &mdash; npm@1.1.30</p>
+<p id="footer">root &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/run-script.html
@@ -29,7 +29,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../api/test.html">test(3)</a></li><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/restart.html">restart(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
</div>
-<p id="footer">run-script &mdash; npm@1.1.30</p>
+<p id="footer">run-script &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/search.html
@@ -32,7 +32,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
and doesn't try to read your mind (it doesn't do any verb tense matching or the
like).</p>
</div>
-<p id="footer">search &mdash; npm@1.1.30</p>
+<p id="footer">search &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/shrinkwrap.html
@@ -26,7 +26,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>Finally, 'callback' is a function that will be called when the shrinkwrap has
been saved.</p>
</div>
-<p id="footer">shrinkwrap &mdash; npm@1.1.30</p>
+<p id="footer">shrinkwrap &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/start.html
@@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>npm can run tests on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
</div>
-<p id="footer">start &mdash; npm@1.1.30</p>
+<p id="footer">start &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/stop.html
@@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>npm can run stop on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
</div>
-<p id="footer">stop &mdash; npm@1.1.30</p>
+<p id="footer">stop &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/submodule.html
@@ -33,7 +33,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li>npm help json</li><li>git help submodule</li></ul>
</div>
-<p id="footer">submodule &mdash; npm@1.1.30</p>
+<p id="footer">submodule &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/tag.html
@@ -29,7 +29,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
used. For more information about how to set this config, check
<code>man 3 npm-config</code> for programmatic usage or <code>man npm-config</code> for cli usage.</p>
</div>
-<p id="footer">tag &mdash; npm@1.1.30</p>
+<p id="footer">tag &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/test.html
@@ -22,7 +22,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>npm can run tests on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
</div>
-<p id="footer">test &mdash; npm@1.1.30</p>
+<p id="footer">test &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/uninstall.html
@@ -22,7 +22,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>Finally, 'callback' is a function that will be called when all packages have been
uninstalled or when an error has been encountered.</p>
</div>
-<p id="footer">uninstall &mdash; npm@1.1.30</p>
+<p id="footer">uninstall &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/unpublish.html
@@ -26,7 +26,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>If no version is specified, or if all versions are removed then
the root package entry is removed from the registry entirely.</p>
</div>
-<p id="footer">unpublish &mdash; npm@1.1.30</p>
+<p id="footer">unpublish &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/update.html
@@ -18,7 +18,7 @@ <h2 id="SYNOPSIS">SYNOPSIS</h2>
<p>The 'packages' argument is an array of packages to update. The 'callback' parameter will be called when done or when an error occurs.</p>
</div>
-<p id="footer">update &mdash; npm@1.1.30</p>
+<p id="footer">update &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/version.html
@@ -24,7 +24,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
parameter. The difference, however, is this function will fail if it does
not have exactly one element. The only element should be a version number.</p>
</div>
-<p id="footer">version &mdash; npm@1.1.30</p>
+<p id="footer">version &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/view.html
@@ -99,7 +99,7 @@ <h2 id="RETURN-VALUE">RETURN VALUE</h2>
<p>corresponding to the list of fields selected.</p>
</div>
-<p id="footer">view &mdash; npm@1.1.30</p>
+<p id="footer">view &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/api/whoami.html
@@ -21,7 +21,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This function is not useful programmatically</p>
</div>
-<p id="footer">whoami &mdash; npm@1.1.30</p>
+<p id="footer">whoami &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/README.html
@@ -261,7 +261,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.1.30</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/adduser.html
@@ -39,7 +39,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li></ul>
</div>
-<p id="footer">adduser &mdash; npm@1.1.30</p>
+<p id="footer">adduser &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/bin.html
@@ -20,7 +20,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">bin &mdash; npm@1.1.30</p>
+<p id="footer">bin &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/bugs.html
@@ -36,7 +36,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/docs.html">docs(1)</a></li><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">bugs &mdash; npm@1.1.30</p>
+<p id="footer">bugs &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/build.html
@@ -25,7 +25,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">build &mdash; npm@1.1.30</p>
+<p id="footer">build &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/bundle.html
@@ -20,7 +20,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">bundle &mdash; npm@1.1.30</p>
+<p id="footer">bundle &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/cache.html
@@ -66,7 +66,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li></ul>
</div>
-<p id="footer">cache &mdash; npm@1.1.30</p>
+<p id="footer">cache &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/changelog.html
@@ -65,7 +65,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li></ul>
</div>
-<p id="footer">changelog &mdash; npm@1.1.30</p>
+<p id="footer">changelog &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/coding-style.html
@@ -180,7 +180,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">coding-style &mdash; npm@1.1.30</p>
+<p id="footer">coding-style &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/completion.html
@@ -33,7 +33,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">completion &mdash; npm@1.1.30</p>
+<p id="footer">completion &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/config.html
@@ -681,7 +681,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">config &mdash; npm@1.1.30</p>
+<p id="footer">config &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/deprecate.html
@@ -29,7 +29,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">deprecate &mdash; npm@1.1.30</p>
+<p id="footer">deprecate &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/developers.html
@@ -160,7 +160,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">developers &mdash; npm@1.1.30</p>
+<p id="footer">developers &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/disputes.html
@@ -80,7 +80,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
</div>
-<p id="footer">disputes &mdash; npm@1.1.30</p>
+<p id="footer">disputes &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/docs.html
@@ -37,7 +37,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">docs &mdash; npm@1.1.30</p>
+<p id="footer">docs &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/edit.html
@@ -37,7 +37,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/explore.html">explore(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">edit &mdash; npm@1.1.30</p>
+<p id="footer">edit &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/explore.html
@@ -40,7 +40,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/submodule.html">submodule(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/edit.html">edit(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">explore &mdash; npm@1.1.30</p>
+<p id="footer">explore &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/faq.html
@@ -241,7 +241,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
</div>
-<p id="footer">faq &mdash; npm@1.1.30</p>
+<p id="footer">faq &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/folders.html
@@ -205,7 +205,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li></ul>
</div>
-<p id="footer">folders &mdash; npm@1.1.30</p>
+<p id="footer">folders &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/help-search.html
@@ -38,7 +38,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li></ul>
</div>
-<p id="footer">help-search &mdash; npm@1.1.30</p>
+<p id="footer">help-search &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/help.html
@@ -36,7 +36,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/help-search.html">help-search(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer">help &mdash; npm@1.1.30</p>
+<p id="footer">help &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/index.html
@@ -384,7 +384,7 @@ <h2 id="npm-whoami-3"><a href="../api/whoami.html">whoami(3)</a></h2>
<p> Display npm username</p>
</div>
-<p id="footer">index &mdash; npm@1.1.30</p>
+<p id="footer">index &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/init.html
@@ -29,7 +29,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="https://github.com/isaacs/init-package-json">https://github.com/isaacs/init-package-json</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/version.html">version(1)</a></li></ul>
</div>
-<p id="footer">init &mdash; npm@1.1.30</p>
+<p id="footer">init &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/install.html
@@ -133,7 +133,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/shrinkwrap.html">shrinkwrap(1)</a></li></ul>
</div>
-<p id="footer">install &mdash; npm@1.1.30</p>
+<p id="footer">install &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/json.html
@@ -509,7 +509,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/semver.html">semver(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/version.html">version(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li></ul>
</div>
-<p id="footer">json &mdash; npm@1.1.30</p>
+<p id="footer">json &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/link.html
@@ -58,7 +58,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">link &mdash; npm@1.1.30</p>
+<p id="footer">link &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/list.html
@@ -58,7 +58,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/update.html">update(1)</a></li></ul>
</div>
-<p id="footer">list &mdash; npm@1.1.30</p>
+<p id="footer">list &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
4 deps/npm/html/doc/npm.html
@@ -14,7 +14,7 @@ <h2 id="SYNOPSIS">SYNOPSIS</h2>
<h2 id="VERSION">VERSION</h2>
-<p>1.1.30</p>
+<p>1.1.32</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
@@ -135,7 +135,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/index.html">index(1)</a></li><li><a href="../api/npm.html">npm(3)</a></li></ul>
</div>
-<p id="footer">npm &mdash; npm@1.1.30</p>
+<p id="footer">npm &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/outdated.html
@@ -21,7 +21,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
</div>
-<p id="footer">outdated &mdash; npm@1.1.30</p>
+<p id="footer">outdated &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/owner.html
@@ -34,7 +34,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
</div>
-<p id="footer">owner &mdash; npm@1.1.30</p>
+<p id="footer">owner &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/pack.html
@@ -29,7 +29,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">pack &mdash; npm@1.1.30</p>
+<p id="footer">pack &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/prefix.html
@@ -20,7 +20,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">prefix &mdash; npm@1.1.30</p>
+<p id="footer">prefix &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/prune.html
@@ -25,7 +25,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">prune &mdash; npm@1.1.30</p>
+<p id="footer">prune &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/publish.html
@@ -29,7 +29,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li></ul>
</div>
-<p id="footer">publish &mdash; npm@1.1.30</p>
+<p id="footer">publish &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/rebuild.html
@@ -25,7 +25,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">rebuild &mdash; npm@1.1.30</p>
+<p id="footer">rebuild &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/registry.html
@@ -97,7 +97,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
</div>
-<p id="footer">registry &mdash; npm@1.1.30</p>
+<p id="footer">registry &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/removing-npm.html
@@ -58,7 +58,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/README.html">README</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li></ul>
</div>
-<p id="footer">removing-npm &mdash; npm@1.1.30</p>
+<p id="footer">removing-npm &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/restart.html
@@ -24,7 +24,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">restart &mdash; npm@1.1.30</p>
+<p id="footer">restart &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/root.html
@@ -20,7 +20,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">root &mdash; npm@1.1.30</p>
+<p id="footer">root &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/run-script.html
@@ -23,7 +23,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">run-script &mdash; npm@1.1.30</p>
+<p id="footer">run-script &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/scripts.html
@@ -177,7 +177,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">scripts &mdash; npm@1.1.30</p>
+<p id="footer">scripts &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/search.html
@@ -24,7 +24,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/view.html">view(1)</a></li></ul>
</div>
-<p id="footer">search &mdash; npm@1.1.30</p>
+<p id="footer">search &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/semver.html
@@ -104,7 +104,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/json.html">json(1)</a></li></ul>
</div>
-<p id="footer">semver &mdash; npm@1.1.30</p>
+<p id="footer">semver &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/shrinkwrap.html
@@ -169,7 +169,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">shrinkwrap &mdash; npm@1.1.30</p>
+<p id="footer">shrinkwrap &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/star.html
@@ -26,7 +26,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
</div>
-<p id="footer">star &mdash; npm@1.1.30</p>
+<p id="footer">star &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/start.html
@@ -20,7 +20,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">start &mdash; npm@1.1.30</p>
+<p id="footer">start &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/stop.html
@@ -20,7 +20,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li></ul>
</div>
-<p id="footer">stop &mdash; npm@1.1.30</p>
+<p id="footer">stop &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/submodule.html
@@ -33,7 +33,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/json.html">json(1)</a></li><li>git help submodule</li></ul>
</div>
-<p id="footer">submodule &mdash; npm@1.1.30</p>
+<p id="footer">submodule &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/tag.html
@@ -21,7 +21,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">tag &mdash; npm@1.1.30</p>
+<p id="footer">tag &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/test.html
@@ -23,7 +23,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">test &mdash; npm@1.1.30</p>
+<p id="footer">test &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/uninstall.html
@@ -22,7 +22,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">uninstall &mdash; npm@1.1.30</p>
+<p id="footer">uninstall &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/unpublish.html
@@ -34,7 +34,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
</div>
-<p id="footer">unpublish &mdash; npm@1.1.30</p>
+<p id="footer">unpublish &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/update.html
@@ -23,7 +23,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">update &mdash; npm@1.1.30</p>
+<p id="footer">update &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/version.html
@@ -31,7 +31,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/semver.html">semver(1)</a></li></ul>
</div>
-<p id="footer">version &mdash; npm@1.1.30</p>
+<p id="footer">version &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/view.html
@@ -88,7 +88,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/search.html">search(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/docs.html">docs(1)</a></li></ul>
</div>
-<p id="footer">view &mdash; npm@1.1.30</p>
+<p id="footer">view &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
2  deps/npm/html/doc/whoami.html
@@ -20,7 +20,7 @@ <h2 id="SEE-ALSO">SEE ALSO</h2>
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
</div>
-<p id="footer">whoami &mdash; npm@1.1.30</p>
+<p id="footer">whoami &mdash; npm@1.1.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
View
7 deps/npm/lib/config.js
@@ -167,7 +167,9 @@ function list (cb) {
if (cliKeys.length) {
msg += "; cli configs" + eol
cliKeys.forEach(function (k) {
+ if (cli[k] && typeof cli[k] === 'object') return
if (k === "argv") return
+ if (typeof cli[k] === 'object') return
msg += k + " = " + JSON.stringify(cli[k]) + eol
})
msg += eol
@@ -183,6 +185,7 @@ function list (cb) {
if (envKeys.length) {
msg += "; environment configs" + eol
envKeys.forEach(function (k) {
+ if (env[k] && typeof env[k] === 'object') return
if (env[k] !== ini.get(k)) {
if (!long) return
msg += "; " + k + " = " + JSON.stringify(env[k])
@@ -202,6 +205,7 @@ function list (cb) {
if (uconfKeys.length) {
msg += "; userconfig " + ini.get("userconfig") + eol
uconfKeys.forEach(function (k) {
+ if (uconf[k] && typeof uconf[k] === 'object') return
var val = (k.charAt(0) === "_")
? "---sekretz---"
: JSON.stringify(uconf[k])
@@ -224,6 +228,7 @@ function list (cb) {
if (gconfKeys.length) {
msg += "; globalconfig " + ini.get("globalconfig") + eol
gconfKeys.forEach(function (k) {
+ if (gconf[k] && typeof gconf[k] === 'object') return
var val = (k.charAt(0) === "_")
? "---sekretz---"
: JSON.stringify(gconf[k])
@@ -247,6 +252,7 @@ function list (cb) {
var path = require("path")
msg += "; builtin config " + path.resolve(__dirname, "../npmrc") + eol
bconfKeys.forEach(function (k) {
+ if (bconf[k] && typeof bconf[k] === 'object') return
var val = (k.charAt(0) === "_")
? "---sekretz---"
: JSON.stringify(bconf[k])
@@ -274,6 +280,7 @@ function list (cb) {
, defKeys = Object.keys(defaults)
msg += "; default values" + eol
defKeys.forEach(function (k) {
+ if (defaults[k] && typeof defaults[k] === 'object') return
var val = JSON.stringify(defaults[k])
if (defaults[k] !== ini.get(k)) {
if (!long) return
View
12 deps/npm/lib/test.js
@@ -1 +1,11 @@
-module.exports = require("./utils/lifecycle.js").cmd("test")
+module.exports = test
+
+var testCmd = require("./utils/lifecycle.js").cmd("test")
+ , log = require("npmlog")
+
+function test (args, cb) {
+ testCmd(args, function (er) {
+ if (!er) return cb()
+ return cb("Test failed. See above for more details.")
+ })
+}
View
5 deps/npm/lib/utils/cmd-shim.js
@@ -59,11 +59,12 @@ function writeShim (from, to, cb) {
}
function writeShim_ (from, to, prog, args, cb) {
- var shTarget = from
+ var shTarget = path.relative(path.dirname(to), from)
, target = shTarget.split("/").join("\\")
, longProg
- , shProg = prog
+ , shProg = prog.split("\\").join("/")
, shLongProg
+ shTarget = shTarget.split("\\").join("/")
args = args || ""
if (!prog) {
prog = "\"%~dp0\\" + target + "\""
View
5 deps/npm/lib/utils/error-handler.js
@@ -82,7 +82,10 @@ function errorHandler (er) {
cbCalled = true
if (!er) return exit(0)
- if (!(er instanceof Error)) {
+ if (typeof er === "string") {
+ log.error("", er)
+ return exit(1, true)
+ } else if (!(er instanceof Error)) {
log.error("weird error", er)
return exit(1, true)
}
View
2  deps/npm/man/man1/npm.1
@@ -14,7 +14,7 @@ npm <command> [args]
.fi
.
.SH "VERSION"
-1.1.30
+1.1.32
.
.SH "DESCRIPTION"
npm is the package manager for the Node JavaScript platform\. It puts
View
2  deps/npm/man/man3/npm.3
@@ -21,7 +21,7 @@ npm\.load(configObject, function (er, npm) {
.fi
.
.SH "VERSION"
-1.1.30
+1.1.32
.
.SH "DESCRIPTION"
This is the API documentation for npm\.
View
6 deps/npm/node_modules/read-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "read-package-json",
- "version": "0.0.10",
+ "version": "0.0.11",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
@@ -31,6 +31,6 @@
"graceful-fs": "~1.1.8"
},
"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",
- "_id": "read-package-json@0.0.10",
- "_from": "read-package-json@latest"
+ "_id": "read-package-json@0.0.11",
+ "_from": "read-package-json@0"
}
View
3  deps/npm/node_modules/read-package-json/read-json.js
@@ -208,6 +208,7 @@ function gitDescription (file, data, cb) {
}
function readmeDescription (file, data) {
+ if (data.description) return cb(null, data);
var d = data.readme
if (!d) return;
// the first block of text before the first heading
@@ -294,7 +295,7 @@ function final (file, data, cb) {
unParsePeople(file, data)
parsePeople(file, data)
- if (data.readme)
+ if (data.readme && !data.description)
readmeDescription(file, data)
readJson.cache.set(file, data)
View
2  deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "1.1.30",
+ "version": "1.1.32",
"name": "npm",
"publishConfig": {
"proprietary-attribs": false
View
2  deps/uv/include/uv.h
@@ -49,7 +49,7 @@ extern "C" {
#define UV_VERSION_MAJOR 0
-#define UV_VERSION_MINOR 6
+#define UV_VERSION_MINOR 8
#include <stdint.h> /* int64_t */
View
2  deps/uv/src/unix/sunos.c
@@ -349,7 +349,7 @@ uv_err_t uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
knp = (kstat_named_t *) kstat_data_lookup(ksp, (char *)"brand");
assert(knp->data_type == KSTAT_DATA_STRING);
- cpu_info->model = KSTAT_NAMED_STR_PTR(knp);
+ cpu_info->model = strdup(KSTAT_NAMED_STR_PTR(knp));
}
lookup_instance++;
View
1  deps/uv/src/win/error.c
@@ -132,6 +132,7 @@ uv_err_code uv_translate_sys_error(int sys_errno) {
case ERROR_NOT_SUPPORTED: return UV_ENOTSUP;
case ERROR_INSUFFICIENT_BUFFER: return UV_EINVAL;
case ERROR_INVALID_FLAGS: return UV_EBADF;
+ case ERROR_INVALID_HANDLE: return UV_EBADF;
case ERROR_INVALID_PARAMETER: return UV_EINVAL;
case ERROR_NO_UNICODE_TRANSLATION: return UV_ECHARSET;
case ERROR_BROKEN_PIPE: return UV_EOF;
View
189 deps/uv/src/win/fs.c
@@ -87,10 +87,20 @@
if (file == -1) { \
req->result = -1; \
req->errorno = UV_EBADF; \
- req->sys_errno_ = ERROR_SUCCESS; \
+ req->sys_errno_ = ERROR_INVALID_HANDLE; \
return; \
}
+#define FILETIME_TO_TIME_T(filetime) \
+ ((*((uint64_t*) &(filetime)) - 116444736000000000ULL) / 10000000ULL);
+
+#define TIME_T_TO_FILETIME(time, filetime_ptr) \
+ do { \
+ *(uint64_t*) (filetime_ptr) = ((int64_t) (time) * 10000000LL) + \
+ 116444736000000000ULL; \
+ } while(0)
+
+
#define IS_SLASH(c) ((c) == L'\\' || (c) == L'/')
#define IS_LETTER(c) (((c) >= L'a' && (c) <= L'z') || \
((c) >= L'A' && (c) <= L'Z'))
@@ -142,7 +152,7 @@ static void uv_fs_req_init_sync(uv_loop_t* loop, uv_fs_t* req,
static int is_path_dir(const wchar_t* path) {
DWORD attr = GetFileAttributesW(path);
-
+
if (attr != INVALID_FILE_ATTRIBUTES) {
return attr & FILE_ATTRIBUTE_DIRECTORY ? 1 : 0;
} else {
@@ -175,7 +185,7 @@ static int get_reparse_point(HANDLE handle, int* target_length) {
}
reparse_data = (REPARSE_DATA_BUFFER*)buffer;
-
+
if (reparse_data->ReparseTag == IO_REPARSE_TAG_SYMLINK) {
rv = 1;
if (target_length) {
@@ -572,17 +582,67 @@ void fs__readdir(uv_fs_t* req, const wchar_t* path, int flags) {
}
-static void fs__stat(uv_fs_t* req, const wchar_t* path, int link) {
- HANDLE handle;
+INLINE static int fs__stat_handle(HANDLE handle, uv_statbuf_t* statbuf) {
int target_length;
- int symlink = 0;
BY_HANDLE_FILE_INFORMATION info;
+
+ if (!GetFileInformationByHandle(handle, &info)) {
+ return -1;
+ }
+
+ /* TODO: set st_dev, st_rdev and st_ino to something meaningful. */
+ statbuf->st_ino = 0;
+ statbuf->st_dev = 0;
+ statbuf->st_rdev = 0;
+
+ statbuf->st_gid = 0;
+ statbuf->st_uid = 0;
+
+ statbuf->st_mode = 0;
+
+ if (info.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT &&
+ get_reparse_point(handle, &target_length)) {
+ statbuf->st_mode = S_IFLNK;
+ /* Adjust for long path */
+ statbuf->st_size = target_length - JUNCTION_PREFIX_LEN;
+ } else {
+ if (info.dwFileAttributes & FILE_ATTRIBUTE_READONLY) {
+ statbuf->st_mode |= (_S_IREAD + (_S_IREAD >> 3) + (_S_IREAD >> 6));
+ } else {
+ statbuf->st_mode |= ((_S_IREAD|_S_IWRITE) + ((_S_IREAD|_S_IWRITE) >> 3) +
+ ((_S_IREAD|_S_IWRITE) >> 6));
+ }
+
+ if (info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
+ statbuf->st_mode |= _S_IFDIR;
+ } else {
+ statbuf->st_mode |= _S_IFREG;
+ }
+
+ statbuf->st_size = ((int64_t) info.nFileSizeHigh << 32) +
+ (int64_t) info.nFileSizeLow;
+
+ }
+
+ statbuf->st_mtime = FILETIME_TO_TIME_T(info.ftLastWriteTime);
+ statbuf->st_atime = FILETIME_TO_TIME_T(info.ftLastAccessTime);
+ statbuf->st_ctime = FILETIME_TO_TIME_T(info.ftCreationTime);
+
+ statbuf->st_nlink = (info.nNumberOfLinks <= SHRT_MAX) ?
+ (short) info.nNumberOfLinks : SHRT_MAX;
+
+ return 0;
+}
+
+
+INLINE static void fs__stat(uv_fs_t* req, const wchar_t* path, int do_lstat) {
+ HANDLE handle;
DWORD flags;
req->ptr = NULL;
flags = FILE_FLAG_BACKUP_SEMANTICS;
- if (link) {
+ if (do_lstat) {
flags |= FILE_FLAG_OPEN_REPARSE_POINT;
}
@@ -598,45 +658,12 @@ static void fs__stat(uv_fs_t* req, const wchar_t* path, int link) {
return;
}
- if (!GetFileInformationByHandle(handle, &info)) {
+ if (fs__stat_handle(handle, &req->stat) != 0) {
SET_REQ_WIN32_ERROR(req, GetLastError());
CloseHandle(handle);
return;
}
- memset(&req->stat, 0, sizeof req->stat);
-
- /* TODO: set st_dev and st_ino? */
-
- if (link && get_reparse_point(handle, &target_length)) {
- req->stat.st_mode = S_IFLNK;
- /* Adjust for long path */
- req->stat.st_size = target_length - JUNCTION_PREFIX_LEN;
- } else {
- if (info.dwFileAttributes & FILE_ATTRIBUTE_READONLY) {
- req->stat.st_mode |= (_S_IREAD + (_S_IREAD >> 3) + (_S_IREAD >> 6));
- } else {
- req->stat.st_mode |= ((_S_IREAD|_S_IWRITE) + ((_S_IREAD|_S_IWRITE) >> 3) +
- ((_S_IREAD|_S_IWRITE) >> 6));
- }
-
- if (info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
- req->stat.st_mode |= _S_IFDIR;
- } else {
- req->stat.st_mode |= _S_IFREG;
- }
-
- req->stat.st_size = ((int64_t) info.nFileSizeHigh << 32) +
- (int64_t) info.nFileSizeLow;
- }
-
- uv_filetime_to_time_t(&info.ftLastWriteTime, &(req->stat.st_mtime));
- uv_filetime_to_time_t(&info.ftLastAccessTime, &(req->stat.st_atime));
- uv_filetime_to_time_t(&info.ftCreationTime, &(req->stat.st_ctime));
-
- req->stat.st_nlink = (info.nNumberOfLinks <= SHRT_MAX) ?
- (short) info.nNumberOfLinks : SHRT_MAX;
-
req->ptr = &req->stat;
req->result = 0;
CloseHandle(handle);
@@ -644,18 +671,26 @@ static void fs__stat(uv_fs_t* req, const wchar_t* path, int link) {
void fs__fstat(uv_fs_t* req, uv_file file) {
- int result;
+ HANDLE handle;
+
+ req->ptr = NULL;
VERIFY_UV_FILE(file, req);
- result = _fstati64(file, &req->stat);
- if (result == -1) {
- req->ptr = NULL;
- } else {
- req->ptr = &req->stat;
+ handle = (HANDLE) _get_osfhandle(file);
+
+ if (handle == INVALID_HANDLE_VALUE) {
+ SET_REQ_WIN32_ERROR(req, ERROR_INVALID_HANDLE);
+ return;
}
- SET_REQ_RESULT(req, result);
+ if (fs__stat_handle(handle, &req->stat) != 0) {
+ SET_REQ_WIN32_ERROR(req, GetLastError());
+ return;
+ }
+
+ req->ptr = &req->stat;
+ req->result = 0;
}
@@ -804,22 +839,62 @@ void fs__fchmod(uv_fs_t* req, uv_file file, int mode) {
}
+INLINE static int fs__utime_handle(HANDLE handle, double atime, double mtime) {
+ FILETIME filetime_a, filetime_m;
+
+ TIME_T_TO_FILETIME((time_t) atime, &filetime_a);
+ TIME_T_TO_FILETIME((time_t) mtime, &filetime_m);
+
+ if (!SetFileTime(handle, NULL, &filetime_a, &filetime_m)) {
+ return -1;
+ }
+
+ return 0;
+}
+
+
void fs__utime(uv_fs_t* req, const wchar_t* path, double atime, double mtime) {
- int result;
- struct _utimbuf b = {(time_t)atime, (time_t)mtime};
- result = _wutime(path, &b);
- SET_REQ_RESULT(req, result);
+ HANDLE handle;
+
+ handle = CreateFileW(path,
+ FILE_WRITE_ATTRIBUTES,
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS,
+ NULL);
+
+ if (handle == INVALID_HANDLE_VALUE) {
+ SET_REQ_WIN32_ERROR(req, GetLastError());
+ return;
+ }
+
+ if (fs__utime_handle(handle, atime, mtime) != 0) {
+ SET_REQ_WIN32_ERROR(req, GetLastError());
+ return;
+ }
+
+ req->result = 0;
}
void fs__futime(uv_fs_t* req, uv_file file, double atime, double mtime) {
- int result;
- struct _utimbuf b = {(time_t)atime, (time_t)mtime};
-
+ HANDLE handle;
VERIFY_UV_FILE(file, req);
- result = _futime(file, &b);
- SET_REQ_RESULT(req, result);
+ handle = (HANDLE) _get_osfhandle(file);
+
+ if (handle == INVALID_HANDLE_VALUE) {
+ SET_REQ_WIN32_ERROR(req, ERROR_INVALID_HANDLE);
+ return;
+ }
+
+ if (fs__utime_handle(handle, atime, mtime) != 0) {
+ SET_REQ_WIN32_ERROR(req, GetLastError());
+ return;
+ }
+
+ req->result = 0;
}
View
1  deps/uv/src/win/internal.h
@@ -280,7 +280,6 @@ void uv__fs_poll_endgame(uv_loop_t* loop, uv_fs_poll_t* handle);
void uv__util_init();
int uv_parent_pid();
-void uv_filetime_to_time_t(FILETIME* file_time, time_t* stat_time);
void uv_fatal_error(const int errorno, const char* syscall);
uv_err_code uv_translate_sys_error(int sys_errno);
View
23 deps/uv/src/win/util.c
@@ -862,26 +862,3 @@ void uv_free_interface_addresses(uv_interface_address_t* addresses,
free(addresses);
}
-
-
-void uv_filetime_to_time_t(FILETIME* file_time, time_t* stat_time) {
- FILETIME local_time;
- SYSTEMTIME system_time;
- struct tm time;
-
- if ((file_time->dwLowDateTime || file_time->dwHighDateTime) &&
- FileTimeToLocalFileTime(file_time, &local_time) &&
- FileTimeToSystemTime(&local_time, &system_time)) {
- time.tm_year = system_time.wYear - 1900;
- time.tm_mon = system_time.wMonth - 1;
- time.tm_mday = system_time.wDay;
- time.tm_hour = system_time.wHour;
- time.tm_min = system_time.wMinute;
- time.tm_sec = system_time.wSecond;
- time.tm_isdst = -1;
-
- *stat_time = mktime(&time);
- } else {
- *stat_time = 0;
- }
-}
View
164 deps/uv/test/benchmark-fs-stat.c
@@ -0,0 +1,164 @@
+/* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
+ *
+ * Permission 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:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE 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.
+ */
+
+#include "task.h"
+#include "uv.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define NUM_SYNC_REQS (10 * 1e5)
+#define NUM_ASYNC_REQS (1 * 1e5)
+#define MAX_CONCURRENT_REQS 32
+
+#define sync_stat(req, path) \
+ do { \
+ uv_fs_stat(uv_default_loop(), (req), (path), NULL); \
+ uv_fs_req_cleanup((req)); \
+ } \
+ while (0)
+
+struct async_req {
+ const char* path;
+ uv_fs_t fs_req;
+ int* count;
+};
+
+
+static const char* fmt(double d) {
+ uint64_t v;
+ char* p;
+
+ p = (char *) calloc(1, 32) + 31; /* leaks memory */
+ v = d;
+
+#if 0 /* works but we don't care about fractional precision */
+ if (d - v >= 0.01) {
+ *--p = '0' + (uint64_t) (d * 100) % 10;
+ *--