From 6174ea6b4cc95dd2b6fbd0d8d5a82d37e736c4b5 Mon Sep 17 00:00:00 2001
From: Bert Belder
Date: Tue, 4 Sep 2012 16:24:20 +0200
Subject: [PATCH 01/20] doc: don't use '
Ref: #3964
---
doc/blog/release/node-version-0-7-9-unstable.md | 2 +-
doc/blog/release/version-0-6-11-stable.md | 6 +++---
doc/blog/release/version-0-6-12-stable.md | 4 ++--
doc/blog/release/version-0-6-14-stable.md | 6 +++---
doc/blog/release/version-0-6-15-stable.md | 4 ++--
doc/blog/release/version-0-6-16-stable.md | 2 +-
doc/blog/release/version-0-6-18-stable.md | 6 +++---
doc/blog/release/version-0-7-10-unstable.md | 2 +-
doc/blog/release/version-0-7-11-unstable.md | 4 ++--
doc/blog/release/version-0-7-12.md | 2 +-
doc/blog/release/version-0-7-5-unstable.md | 2 +-
doc/blog/release/version-0-7-6-unstable.md | 4 ++--
doc/blog/release/version-0-7-7-unstable.md | 8 ++++----
doc/blog/release/version-0-7-8-unstable.md | 4 ++--
...ver-security-vulnerability-please-upgrade-to-0-6-17.md | 8 ++++----
tools/doc/node_modules/marked/lib/marked.js | 2 +-
16 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/doc/blog/release/node-version-0-7-9-unstable.md b/doc/blog/release/node-version-0-7-9-unstable.md
index 74076c04c46..683823aa3e7 100644
--- a/doc/blog/release/node-version-0-7-9-unstable.md
+++ b/doc/blog/release/node-version-0-7-9-unstable.md
@@ -22,7 +22,7 @@ slug: node-version-0-7-9-unstable
fs: 64bit offsets for fs calls (Igor Zinkovsky)
-fs: add sync open flags 'rs' and 'rs+' (Kevin Bowman)
+fs: add sync open flags 'rs' and 'rs+' (Kevin Bowman)
windows: enable creating directory junctions with fs.symlink (Igor Zinkovsky, Bert Belder)
diff --git a/doc/blog/release/version-0-6-11-stable.md b/doc/blog/release/version-0-6-11-stable.md
index 15fbe337c78..4c19a14995c 100644
--- a/doc/blog/release/version-0-6-11-stable.md
+++ b/doc/blog/release/version-0-6-11-stable.md
@@ -18,7 +18,7 @@ slug: version-0-6-11-stable
tls: mitigate session renegotiation attacks (Ben Noordhuis)
-tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)
+tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)
tls: Allow establishing secure connection on the existing socket (koichik)
@@ -38,13 +38,13 @@ slug: version-0-6-11-stable
dtrace: add missing translator (Dave Pacheco)
-unix: don't flush tty on switch to raw mode (Ben Noordhuis)
+unix: don't flush tty on switch to raw mode (Ben Noordhuis)
windows: reset brightness when reverting to default text color (Bert Belder)
npm: update to 1.1.1
-- Update which, fstream, mkdirp, request, and rimraf - Fix #2123 Set path properly for lifecycle scripts on windows - Mark the root as seen, so we don't recurse into it. Fixes #1838. (Martin Cooper)
+- Update which, fstream, mkdirp, request, and rimraf - Fix #2123 Set path properly for lifecycle scripts on windows - Mark the root as seen, so we don't recurse into it. Fixes #1838. (Martin Cooper)
diff --git a/doc/blog/release/version-0-6-12-stable.md b/doc/blog/release/version-0-6-12-stable.md
index 3e5acd61c49..73e85eec306 100644
--- a/doc/blog/release/version-0-6-12-stable.md
+++ b/doc/blog/release/version-0-6-12-stable.md
@@ -18,7 +18,7 @@ slug: version-0-6-12-stable
#2827 net: fix race write() before and after connect() (koichik)
-#2554 #2567 throw if fs args for 'start' or 'end' are strings (AJ ONeal)
+#2554 #2567 throw if fs args for 'start' or 'end' are strings (AJ ONeal)
punycode: Update to v1.0.0 (Mathias Bynens)
@@ -45,7 +45,7 @@ slug: version-0-6-12-stable
- install: support --save with url install targets
- shrinkwrap: behave properly with url-installed modules
- support installing uncompressed tars or single file modules from urls etc.
-- don't run make clean on rebuild
+- don't run make clean on rebuild
- support HTTPS-over-HTTP proxy tunneling
diff --git a/doc/blog/release/version-0-6-14-stable.md b/doc/blog/release/version-0-6-14-stable.md
index 4f33a2697eb..96877a2aa67 100644
--- a/doc/blog/release/version-0-6-14-stable.md
+++ b/doc/blog/release/version-0-6-14-stable.md
@@ -10,7 +10,7 @@ slug: version-0-6-14-stable
-net: don't crash when queued write fails (Igor Zinkovsky)
+net: don't crash when queued write fails (Igor Zinkovsky)
sunos: fix EMFILE on process.memoryUsage() (Bryan Cantrill)
@@ -26,9 +26,9 @@ slug: version-0-6-14-stable
- upgrade node-gyp to 0.3.7
- work around AV-locked directories on Windows
-- Fix isaacs/npm#2293 Don't try to 'uninstall' /
+- Fix isaacs/npm#2293 Don't try to 'uninstall' /
- Exclude symbolic links from packages.
-- Fix isaacs/npm#2275 Spurious 'unresolvable cycle' error.
+- Fix isaacs/npm#2275 Spurious 'unresolvable cycle' error.
- Exclude/include dot files as if they were normal files
diff --git a/doc/blog/release/version-0-6-15-stable.md b/doc/blog/release/version-0-6-15-stable.md
index 4196876fe6d..5fa6bcf5867 100644
--- a/doc/blog/release/version-0-6-15-stable.md
+++ b/doc/blog/release/version-0-6-15-stable.md
@@ -18,13 +18,13 @@ slug: version-0-6-15-stable
add 64bit offset fs functions (Igor Zinkovsky)
-windows: don't report ENOTSOCK when attempting to bind an udp handle twice (Bert Belder)
+windows: don't report ENOTSOCK when attempting to bind an udp handle twice (Bert Belder)
windows: backport pipe-connect-to-file fixes from master (Bert Belder)
windows: never call fs event callbacks after closing the watcher (Bert Belder)
-fs.readFile: don't make the callback before the fd is closed (Bert Belder)
+fs.readFile: don't make the callback before the fd is closed (Bert Belder)
windows: use 64bit offsets for uv_fs apis (Igor Zinkovsky)
diff --git a/doc/blog/release/version-0-6-16-stable.md b/doc/blog/release/version-0-6-16-stable.md
index 980296c1ab8..051a23af11f 100644
--- a/doc/blog/release/version-0-6-16-stable.md
+++ b/doc/blog/release/version-0-6-16-stable.md
@@ -34,7 +34,7 @@ slug: version-0-6-16-stable
http_parser: Eat CRLF between requests, even on connection:close. (Ben Noordhuis)
-don't check return value of unsetenv (Ben Noordhuis)
+don't check return value of unsetenv (Ben Noordhuis)
Source Code: http://nodejs.org/dist/v0.6.16/node-v0.6.16.tar.gz
diff --git a/doc/blog/release/version-0-6-18-stable.md b/doc/blog/release/version-0-6-18-stable.md
index fe0c1f16637..13714d9c298 100644
--- a/doc/blog/release/version-0-6-18-stable.md
+++ b/doc/blog/release/version-0-6-18-stable.md
@@ -24,15 +24,15 @@ slug: version-0-6-18-stable
#3258: fs.ReadStream.pause() emits duplicate data event (koichik)
-pipe_wrap: don't assert() on pipe accept errors (Ben Noordhuis)
+pipe_wrap: don't assert() on pipe accept errors (Ben Noordhuis)
Better exception output for module load and process.nextTick (Felix Geisendörfer)
zlib: fix error reporting (Ben Noordhuis)
-http: Don't destroy on timeout (isaacs)
+http: Don't destroy on timeout (isaacs)
-#3231: http: Don't try to emit error on a null'ed req object (isaacs)
+#3231: http: Don't try to emit error on a null'ed req object (isaacs)
#3236: http: Refactor ClientRequest.onSocket (isaacs)
diff --git a/doc/blog/release/version-0-7-10-unstable.md b/doc/blog/release/version-0-7-10-unstable.md
index 9ecfb01f173..7fe8a4244d9 100644
--- a/doc/blog/release/version-0-7-10-unstable.md
+++ b/doc/blog/release/version-0-7-10-unstable.md
@@ -44,7 +44,7 @@ on the API before it is locked down for stability.
windows/msi: add start menu links when installing (Jeroen Janssen)
-windows: don't install x64 version into the 'program files (x86)' folder (Matt Gollob)
+windows: don't install x64 version into the 'program files (x86)' folder (Matt Gollob)
domain: Fix #3379 domain.intercept no longer passes error arg to cb (Marc Harter)
diff --git a/doc/blog/release/version-0-7-11-unstable.md b/doc/blog/release/version-0-7-11-unstable.md
index 28c2f6813c4..8e53732893a 100644
--- a/doc/blog/release/version-0-7-11-unstable.md
+++ b/doc/blog/release/version-0-7-11-unstable.md
@@ -28,7 +28,7 @@ on the github issue tracker.
Fix #3425: removeAllListeners should delete array (Reid Burke)
-cluster: don't silently drop messages when the write queue gets big (Bert Belder)
+cluster: don't silently drop messages when the write queue gets big (Bert Belder)
Add Buffer.concat method (isaacs)
@@ -40,7 +40,7 @@ on the github issue tracker.
Windows: Enable ETW events on Windows for existing DTrace probes. (Igor Zinkovsky)
-test: bundle node-weak in test/gc so that it doesn't need to be downloaded (Nathan Rajlich)
+test: bundle node-weak in test/gc so that it doesn't need to be downloaded (Nathan Rajlich)
Make many tests pass on Windows (Bert Belder)
diff --git a/doc/blog/release/version-0-7-12.md b/doc/blog/release/version-0-7-12.md
index c9c448de6a3..15514fa5c76 100644
--- a/doc/blog/release/version-0-7-12.md
+++ b/doc/blog/release/version-0-7-12.md
@@ -13,7 +13,7 @@ slug: version-0-7-12
Please try out this release. There will be very virtually no changes between this and the v0.8.x release family. This is the last chance to comment before it is locked down for stability. The API is effectively frozen now.
This version adds backwards-compatible shims for binary addons that use libeio and libev directly. If you find that binary modules that could compile on v0.6 can not compile on this version, please let us know. Note that libev is officially deprecated in v0.8, and will be removed in v0.9. You should be porting your modules to use libuv as soon as possible.
V8 is on 3.11.10 currently, and will remain on the V8 3.11.x branch for the duration of Node v0.8.x.
- npm: Upgrade to 1.1.30 - Improved 'npm init' - Fix the 'cb never called' error from 'oudated' and 'update' - Add --save-bundle|-B config - Fix isaacs/npm#2465: Make npm script and windows shims cygwin-aware - Fix isaacs/npm#2452 Use --save(-dev|-optional) in npm rm - logstream
option to replace removed logfd
(Rod Vagg) - Read default descriptions from README.md files
+ npm: Upgrade to 1.1.30 - Improved 'npm init' - Fix the 'cb never called' error from 'oudated' and 'update' - Add --save-bundle|-B config - Fix isaacs/npm#2465: Make npm script and windows shims cygwin-aware - Fix isaacs/npm#2452 Use --save(-dev|-optional) in npm rm - logstream
option to replace removed logfd
(Rod Vagg) - Read default descriptions from README.md files
Shims to support deprecated ev_*
and eio_*
methods (Ben Noordhuis)
#3118 net.Socket: Delay pause/resume until after connect (isaacs)
#3465 Add ./configure --no-ifaddrs flag (isaacs)
diff --git a/doc/blog/release/version-0-7-5-unstable.md b/doc/blog/release/version-0-7-5-unstable.md
index b493cde895b..88bd7077886 100644
--- a/doc/blog/release/version-0-7-5-unstable.md
+++ b/doc/blog/release/version-0-7-5-unstable.md
@@ -40,7 +40,7 @@ slug: version-0-7-5-unstable
build: Make a fat binary for the OS X make pkg
. (Nathan Rajlich)
-jslint src/ and lib/ on 'make test' (isaacs)
+jslint src/ and lib/ on 'make test' (isaacs)
Source Code: http://nodejs.org/dist/v0.7.5/node-v0.7.5.tar.gz
diff --git a/doc/blog/release/version-0-7-6-unstable.md b/doc/blog/release/version-0-7-6-unstable.md
index 342c792a0a1..1bac491e647 100644
--- a/doc/blog/release/version-0-7-6-unstable.md
+++ b/doc/blog/release/version-0-7-6-unstable.md
@@ -21,11 +21,11 @@ slug: version-0-7-6-unstable
- Handle cases where an optionalDependency fails to build
-events: newListener emit correct fn when using 'once' (Roly Fentanes)
+events: newListener emit correct fn when using 'once' (Roly Fentanes)
url: Ignore empty port component (Łukasz Walukiewicz)
-module: replace 'children' array (isaacs)
+module: replace 'children' array (isaacs)
tls: parse multiple values of a key in ssl certificate (Sambasiva Suda)
diff --git a/doc/blog/release/version-0-7-7-unstable.md b/doc/blog/release/version-0-7-7-unstable.md
index 4ba17658a3d..1336096e464 100644
--- a/doc/blog/release/version-0-7-7-unstable.md
+++ b/doc/blog/release/version-0-7-7-unstable.md
@@ -28,7 +28,7 @@ slug: version-0-7-7-unstable
cluster: add graceful disconnect support (Andreas Madsen)
-child_process: Separate 'close' event from 'exit' (Charlie McConnell)
+child_process: Separate 'close' event from 'exit' (Charlie McConnell)
typed arrays: add Uint8ClampedArray (Mikael Bourges-Sevenier)
@@ -38,11 +38,11 @@ slug: version-0-7-7-unstable
Expose http parse error codes (Felix Geisendörfer)
-events: don't delete the listeners array (Ben Noordhuis, Nathan Rajlich)
+events: don't delete the listeners array (Ben Noordhuis, Nathan Rajlich)
-process: add process.config to view node's ./configure settings (Nathan Rajlich)
+process: add process.config to view node's ./configure settings (Nathan Rajlich)
-process: process.execArgv to see node's arguments (Micheil Smith)
+process: process.execArgv to see node's arguments (Micheil Smith)
process: fix process.title setter (Ben Noordhuis)
diff --git a/doc/blog/release/version-0-7-8-unstable.md b/doc/blog/release/version-0-7-8-unstable.md
index 9c829fa6ad9..8dfac6fc751 100644
--- a/doc/blog/release/version-0-7-8-unstable.md
+++ b/doc/blog/release/version-0-7-8-unstable.md
@@ -30,11 +30,11 @@ slug: version-0-7-8-unstable
typed arrays: unexport SizeOfArrayElementForType() (Aaron Jacobs)
-net: honor 'enable' flag in .setNoDelay() (Ben Noordhuis)
+net: honor 'enable' flag in .setNoDelay() (Ben Noordhuis)
child_process: emit error when .kill fails (Andreas Madsen)
-gyp: fix 'argument list too long' build error (Ben Noordhuis)
+gyp: fix 'argument list too long' build error (Ben Noordhuis)
fs.WriteStream: Handle modifications to fs.open (isaacs)
diff --git a/doc/blog/vulnerability/http-server-security-vulnerability-please-upgrade-to-0-6-17.md b/doc/blog/vulnerability/http-server-security-vulnerability-please-upgrade-to-0-6-17.md
index 5b29c26acfc..b64858d09cc 100644
--- a/doc/blog/vulnerability/http-server-security-vulnerability-please-upgrade-to-0-6-17.md
+++ b/doc/blog/vulnerability/http-server-security-vulnerability-please-upgrade-to-0-6-17.md
@@ -13,9 +13,9 @@ slug: http-server-security-vulnerability-please-upgrade-to-0-6-17
Details
-A few weeks ago, Matthew Daley found a security vulnerability in Node's HTTP implementation, and thankfully did the responsible thing and reported it to us via email. He explained it quite well, so I'll quote him here:
+A few weeks ago, Matthew Daley found a security vulnerability in Node's HTTP implementation, and thankfully did the responsible thing and reported it to us via email. He explained it quite well, so I'll quote him here:
-There is a vulnerability in node's `http_parser` binding which allows information disclosure to a remote attacker:
+
There is a vulnerability in node's `http_parser` binding which allows information disclosure to a remote attacker:
In node::StringPtr::Update, an attempt is made at an optimization on certain inputs (`node_http_parser.cc`, line 151). The intent is that if the current string pointer plus the current string size is equal to the incoming string pointer, the current string size is just increased to match, as the incoming string lies just beyond the current string pointer. However, the check to see whether or not this can be done is incorrect; "size" is used whereas "size_" should be used. Therefore, an attacker can call Update with a string of certain length and cause the current string to have other data appended to it. In the case of HTTP being parsed out of incoming socket data, this can be incoming data from other sockets.
@@ -41,5 +41,5 @@ X header:
The fix landed on 7b3fb22 and c9a231d , for master and v0.6, respectively. The innocuous commit message does not give away the security implications, precisely because we wanted to get a fix out before making a big deal about it.
The first releases with the fix are v0.7.8 and 0.6.17. So now is a good time to make a big deal about it.
-If you are using node version 0.6 in production, please upgrade to at least v0.6.17 , or at least apply the fix in c9a231d to your system. (Version 0.6.17 also fixes some other important bugs, and is without doubt the most stable release of Node 0.6 to date, so it's a good idea to upgrade anyway.)
-I'm extremely grateful that Matthew took the time to report the problem to us with such an elegant explanation, and in such a way that we had a reasonable amount of time to fix the issue before making it public.
+If you are using node version 0.6 in production, please upgrade to at least v0.6.17 , or at least apply the fix in c9a231d to your system. (Version 0.6.17 also fixes some other important bugs, and is without doubt the most stable release of Node 0.6 to date, so it's a good idea to upgrade anyway.)
+I'm extremely grateful that Matthew took the time to report the problem to us with such an elegant explanation, and in such a way that we had a reasonable amount of time to fix the issue before making it public.
diff --git a/tools/doc/node_modules/marked/lib/marked.js b/tools/doc/node_modules/marked/lib/marked.js
index c6f3d0ac808..e76178471a1 100644
--- a/tools/doc/node_modules/marked/lib/marked.js
+++ b/tools/doc/node_modules/marked/lib/marked.js
@@ -611,7 +611,7 @@ var escape = function(html, encode) {
.replace(//g, '>')
.replace(/"/g, '"')
- .replace(/'/g, ''');
+ .replace(/'/g, ''');
};
var mangle = function(text) {
From 4899116d4b24b50fa23ac1de9befd35d37c3bd29 Mon Sep 17 00:00:00 2001
From: Bert Belder
Date: Thu, 6 Sep 2012 15:58:09 +0200
Subject: [PATCH 02/20] v8: upgrade to 3.11.10.22
---
deps/v8/build/common.gypi | 11 +-
deps/v8/src/accessors.cc | 3 +
deps/v8/src/ic.cc | 11 +-
deps/v8/src/v8natives.js | 4 +-
deps/v8/src/version.cc | 2 +-
deps/v8/src/x64/code-stubs-x64.cc | 12 +-
deps/v8/test/cctest/test-api.cc | 199 ++++++++++++++++--
deps/v8/test/mjsunit/new-function.js | 34 +++
.../v8/test/mjsunit/regress/regress-145201.js | 107 ++++++++++
deps/v8/tools/gyp/v8.gyp | 3 -
10 files changed, 347 insertions(+), 39 deletions(-)
create mode 100644 deps/v8/test/mjsunit/new-function.js
create mode 100644 deps/v8/test/mjsunit/regress/regress-145201.js
diff --git a/deps/v8/build/common.gypi b/deps/v8/build/common.gypi
index 16091978763..7f084b8c1db 100644
--- a/deps/v8/build/common.gypi
+++ b/deps/v8/build/common.gypi
@@ -239,6 +239,7 @@
'WIN32',
],
'msvs_configuration_attributes': {
+ 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)',
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '1',
},
@@ -270,7 +271,7 @@
'target_conditions': [
['_toolset=="host"', {
'variables': {
- 'm32flag': ' /dev/null 2>&1) && echo "-m32" || true)',
+ 'm32flag': ' /dev/null 2>&1) && echo -n "-m32" || true)',
},
'cflags': [ '<(m32flag)' ],
'ldflags': [ '<(m32flag)' ],
@@ -280,7 +281,7 @@
}],
['_toolset=="target"', {
'variables': {
- 'm32flag': ' /dev/null 2>&1) && echo "-m32" || true)',
+ 'm32flag': ' /dev/null 2>&1) && echo -n "-m32" || true)',
},
'cflags': [ '<(m32flag)' ],
'ldflags': [ '<(m32flag)' ],
@@ -323,7 +324,7 @@
},
'conditions': [
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
- 'cflags': [ '-Wno-unused-parameter',
+ 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
'-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
}],
],
@@ -332,6 +333,10 @@
'conditions': [
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \
or OS=="android"', {
+ 'cflags!': [
+ '-O2',
+ '-Os',
+ ],
'cflags': [
'-fdata-sections',
'-ffunction-sections',
diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc
index 8048738b28e..8aabad0d091 100644
--- a/deps/v8/src/accessors.cc
+++ b/deps/v8/src/accessors.cc
@@ -755,6 +755,9 @@ MaybeObject* Accessors::FunctionGetCaller(Object* object, void*) {
caller = potential_caller;
potential_caller = it.next();
}
+ if (!caller->shared()->native() && potential_caller != NULL) {
+ caller = potential_caller;
+ }
// If caller is bound, return null. This is compatible with JSC, and
// allows us to make bound functions use the strict function map
// and its associated throwing caller and arguments.
diff --git a/deps/v8/src/ic.cc b/deps/v8/src/ic.cc
index 0ad0670c36e..d169993e3b1 100644
--- a/deps/v8/src/ic.cc
+++ b/deps/v8/src/ic.cc
@@ -992,7 +992,7 @@ void LoadIC::UpdateCaches(LookupResult* lookup,
if (callback->IsAccessorInfo()) {
Handle info = Handle::cast(callback);
if (v8::ToCData(info->getter()) == 0) return;
- if (!receiver->HasFastProperties()) return;
+ if (!holder->HasFastProperties()) return;
if (!info->IsCompatibleReceiver(*receiver)) return;
code = isolate()->stub_cache()->ComputeLoadCallback(
name, receiver, holder, info);
@@ -1000,7 +1000,7 @@ void LoadIC::UpdateCaches(LookupResult* lookup,
Handle getter(Handle::cast(callback)->getter());
if (!getter->IsJSFunction()) return;
if (holder->IsGlobalObject()) return;
- if (!receiver->HasFastProperties()) return;
+ if (!holder->HasFastProperties()) return;
code = isolate()->stub_cache()->ComputeLoadViaGetter(
name, receiver, holder, Handle::cast(getter));
} else {
@@ -1269,7 +1269,7 @@ void KeyedLoadIC::UpdateCaches(LookupResult* lookup,
Handle callback =
Handle::cast(callback_object);
if (v8::ToCData(callback->getter()) == 0) return;
- if (!receiver->HasFastProperties()) return;
+ if (!holder->HasFastProperties()) return;
if (!callback->IsCompatibleReceiver(*receiver)) return;
code = isolate()->stub_cache()->ComputeKeyedLoadCallback(
name, receiver, holder, callback);
@@ -1487,9 +1487,10 @@ void StoreIC::UpdateCaches(LookupResult* lookup,
case CALLBACKS: {
Handle callback(lookup->GetCallbackObject());
if (callback->IsAccessorInfo()) {
+ ASSERT(*holder == *receiver); // LookupForWrite checks this.
Handle info = Handle::cast(callback);
if (v8::ToCData(info->setter()) == 0) return;
- if (!receiver->HasFastProperties()) return;
+ if (!holder->HasFastProperties()) return;
ASSERT(info->IsCompatibleReceiver(*receiver));
code = isolate()->stub_cache()->ComputeStoreCallback(
name, receiver, info, strict_mode);
@@ -1497,7 +1498,7 @@ void StoreIC::UpdateCaches(LookupResult* lookup,
Handle setter(Handle::cast(callback)->setter());
if (!setter->IsJSFunction()) return;
if (holder->IsGlobalObject()) return;
- if (!receiver->HasFastProperties()) return;
+ if (!holder->HasFastProperties()) return;
code = isolate()->stub_cache()->ComputeStoreViaSetter(
name, receiver, Handle::cast(setter), strict_mode);
} else {
diff --git a/deps/v8/src/v8natives.js b/deps/v8/src/v8natives.js
index 86f07a195ae..e2e642941e9 100644
--- a/deps/v8/src/v8natives.js
+++ b/deps/v8/src/v8natives.js
@@ -1654,7 +1654,9 @@ function NewFunction(arg1) { // length == 1
// The call to SetNewFunctionAttributes will ensure the prototype
// property of the resulting function is enumerable (ECMA262, 15.3.5.2).
- var f = %CompileString(source)();
+ var global_receiver = %GlobalReceiver(global);
+ var f = %_CallFunction(global_receiver, %CompileString(source));
+
%FunctionMarkNameShouldPrintAsAnonymous(f);
return %SetNewFunctionAttributes(f);
}
diff --git a/deps/v8/src/version.cc b/deps/v8/src/version.cc
index 2da80cc678f..102b6455251 100644
--- a/deps/v8/src/version.cc
+++ b/deps/v8/src/version.cc
@@ -35,7 +35,7 @@
#define MAJOR_VERSION 3
#define MINOR_VERSION 11
#define BUILD_NUMBER 10
-#define PATCH_LEVEL 19
+#define PATCH_LEVEL 22
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
#define IS_CANDIDATE_VERSION 0
diff --git a/deps/v8/src/x64/code-stubs-x64.cc b/deps/v8/src/x64/code-stubs-x64.cc
index 61d6c879119..17b5ce93b4c 100644
--- a/deps/v8/src/x64/code-stubs-x64.cc
+++ b/deps/v8/src/x64/code-stubs-x64.cc
@@ -999,8 +999,8 @@ void BinaryOpStub::GenerateSmiCode(
SmiCodeGenerateHeapNumberResults allow_heapnumber_results) {
// Arguments to BinaryOpStub are in rdx and rax.
- Register left = rdx;
- Register right = rax;
+ const Register left = rdx;
+ const Register right = rax;
// We only generate heapnumber answers for overflowing calculations
// for the four basic arithmetic operations and logical right shift by 0.
@@ -1042,20 +1042,16 @@ void BinaryOpStub::GenerateSmiCode(
case Token::DIV:
// SmiDiv will not accept left in rdx or right in rax.
- left = rcx;
- right = rbx;
__ movq(rbx, rax);
__ movq(rcx, rdx);
- __ SmiDiv(rax, left, right, &use_fp_on_smis);
+ __ SmiDiv(rax, rcx, rbx, &use_fp_on_smis);
break;
case Token::MOD:
// SmiMod will not accept left in rdx or right in rax.
- left = rcx;
- right = rbx;
__ movq(rbx, rax);
__ movq(rcx, rdx);
- __ SmiMod(rax, left, right, &use_fp_on_smis);
+ __ SmiMod(rax, rcx, rbx, &use_fp_on_smis);
break;
case Token::BIT_OR: {
diff --git a/deps/v8/test/cctest/test-api.cc b/deps/v8/test/cctest/test-api.cc
index 233cbabd151..df810597a1e 100644
--- a/deps/v8/test/cctest/test-api.cc
+++ b/deps/v8/test/cctest/test-api.cc
@@ -14567,6 +14567,8 @@ THREADED_TEST(FunctionGetScriptId) {
static v8::Handle GetterWhichReturns42(Local name,
const AccessorInfo& info) {
+ CHECK(v8::Utils::OpenHandle(*info.This())->IsJSObject());
+ CHECK(v8::Utils::OpenHandle(*info.Holder())->IsJSObject());
return v8_num(42);
}
@@ -14574,10 +14576,32 @@ static v8::Handle GetterWhichReturns42(Local name,
static void SetterWhichSetsYOnThisTo23(Local name,
Local value,
const AccessorInfo& info) {
+ CHECK(v8::Utils::OpenHandle(*info.This())->IsJSObject());
+ CHECK(v8::Utils::OpenHandle(*info.Holder())->IsJSObject());
info.This()->Set(v8_str("y"), v8_num(23));
}
+Handle FooGetInterceptor(Local name,
+ const AccessorInfo& info) {
+ CHECK(v8::Utils::OpenHandle(*info.This())->IsJSObject());
+ CHECK(v8::Utils::OpenHandle(*info.Holder())->IsJSObject());
+ if (!name->Equals(v8_str("foo"))) return Handle();
+ return v8_num(42);
+}
+
+
+Handle FooSetInterceptor(Local name,
+ Local value,
+ const AccessorInfo& info) {
+ CHECK(v8::Utils::OpenHandle(*info.This())->IsJSObject());
+ CHECK(v8::Utils::OpenHandle(*info.Holder())->IsJSObject());
+ if (!name->Equals(v8_str("foo"))) return Handle();
+ info.This()->Set(v8_str("y"), v8_num(23));
+ return v8_num(23);
+}
+
+
TEST(SetterOnConstructorPrototype) {
v8::HandleScope scope;
Local templ = ObjectTemplate::New();
@@ -16813,25 +16837,60 @@ TEST(TryFinallyMessage) {
}
-THREADED_TEST(Regress137002a) {
- i::FLAG_allow_natives_syntax = true;
- v8::HandleScope scope;
+static void Helper137002(bool do_store,
+ bool polymorphic,
+ bool remove_accessor,
+ bool interceptor) {
LocalContext context;
Local templ = ObjectTemplate::New();
- templ->SetAccessor(v8_str("foo"),
- GetterWhichReturns42,
- SetterWhichSetsYOnThisTo23);
+ if (interceptor) {
+ templ->SetNamedPropertyHandler(FooGetInterceptor, FooSetInterceptor);
+ } else {
+ templ->SetAccessor(v8_str("foo"),
+ GetterWhichReturns42,
+ SetterWhichSetsYOnThisTo23);
+ }
context->Global()->Set(v8_str("obj"), templ->NewInstance());
// Turn monomorphic on slow object with native accessor, then turn
// polymorphic, finally optimize to create negative lookup and fail.
- CompileRun("function f(x) { return x.foo; }"
- "%OptimizeObjectForAddingMultipleProperties(obj, 1);"
- "obj.__proto__ = null;"
- "f(obj); f(obj); f({});"
- "%OptimizeFunctionOnNextCall(f);"
- "var result = f(obj);");
- CHECK_EQ(42, context->Global()->Get(v8_str("result"))->Int32Value());
+ CompileRun(do_store ?
+ "function f(x) { x.foo = void 0; }" :
+ "function f(x) { return x.foo; }");
+ CompileRun("obj.y = void 0;");
+ if (!interceptor) {
+ CompileRun("%OptimizeObjectForAddingMultipleProperties(obj, 1);");
+ }
+ CompileRun("obj.__proto__ = null;"
+ "f(obj); f(obj); f(obj);");
+ if (polymorphic) {
+ CompileRun("f({});");
+ }
+ CompileRun("obj.y = void 0;"
+ "%OptimizeFunctionOnNextCall(f);");
+ if (remove_accessor) {
+ CompileRun("delete obj.foo;");
+ }
+ CompileRun("var result = f(obj);");
+ if (do_store) {
+ CompileRun("result = obj.y;");
+ }
+ if (remove_accessor && !interceptor) {
+ CHECK(context->Global()->Get(v8_str("result"))->IsUndefined());
+ } else {
+ CHECK_EQ(do_store ? 23 : 42,
+ context->Global()->Get(v8_str("result"))->Int32Value());
+ }
+}
+
+
+THREADED_TEST(Regress137002a) {
+ i::FLAG_allow_natives_syntax = true;
+ i::FLAG_compilation_cache = false;
+ v8::HandleScope scope;
+ for (int i = 0; i < 16; i++) {
+ Helper137002(i & 8, i & 4, i & 2, i & 1);
+ }
}
@@ -16847,10 +16906,114 @@ THREADED_TEST(Regress137002b) {
// Turn monomorphic on slow object with native accessor, then just
// delete the property and fail.
- CompileRun("function f(x) { return x.foo; }"
- "%OptimizeObjectForAddingMultipleProperties(obj, 1);"
+ CompileRun("function load(x) { return x.foo; }"
+ "function store(x) { x.foo = void 0; }"
+ "function keyed_load(x, key) { return x[key]; }"
+ // Second version of function has a different source (add void 0)
+ // so that it does not share code with the first version. This
+ // ensures that the ICs are monomorphic.
+ "function load2(x) { void 0; return x.foo; }"
+ "function store2(x) { void 0; x.foo = void 0; }"
+ "function keyed_load2(x, key) { void 0; return x[key]; }"
+
+ "obj.y = void 0;"
"obj.__proto__ = null;"
- "f(obj); f(obj); delete obj.foo;"
- "var result = f(obj);");
- CHECK(context->Global()->Get(v8_str("result"))->IsUndefined());
+ "var subobj = {};"
+ "subobj.y = void 0;"
+ "subobj.__proto__ = obj;"
+ "%OptimizeObjectForAddingMultipleProperties(obj, 1);"
+
+ // Make the ICs monomorphic.
+ "load(obj); load(obj);"
+ "load2(subobj); load2(subobj);"
+ "store(obj); store(obj);"
+ "store2(subobj); store2(subobj);"
+ "keyed_load(obj, 'foo'); keyed_load(obj, 'foo');"
+ "keyed_load2(subobj, 'foo'); keyed_load2(subobj, 'foo');"
+
+ // Actually test the shiny new ICs and better not crash. This
+ // serves as a regression test for issue 142088 as well.
+ "load(obj);"
+ "load2(subobj);"
+ "store(obj);"
+ "store2(subobj);"
+ "keyed_load(obj, 'foo');"
+ "keyed_load2(subobj, 'foo');"
+
+ // Delete the accessor. It better not be called any more now.
+ "delete obj.foo;"
+ "obj.y = void 0;"
+ "subobj.y = void 0;"
+
+ "var load_result = load(obj);"
+ "var load_result2 = load2(subobj);"
+ "var keyed_load_result = keyed_load(obj, 'foo');"
+ "var keyed_load_result2 = keyed_load2(subobj, 'foo');"
+ "store(obj);"
+ "store2(subobj);"
+ "var y_from_obj = obj.y;"
+ "var y_from_subobj = subobj.y;");
+ CHECK(context->Global()->Get(v8_str("load_result"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("load_result2"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("keyed_load_result"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("keyed_load_result2"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("y_from_obj"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("y_from_subobj"))->IsUndefined());
+}
+
+
+THREADED_TEST(Regress142088) {
+ i::FLAG_allow_natives_syntax = true;
+ v8::HandleScope scope;
+ LocalContext context;
+ Local templ = ObjectTemplate::New();
+ templ->SetAccessor(v8_str("foo"),
+ GetterWhichReturns42,
+ SetterWhichSetsYOnThisTo23);
+ context->Global()->Set(v8_str("obj"), templ->NewInstance());
+
+ // Turn monomorphic on slow object with native accessor, then just
+ // delete the property and fail.
+ CompileRun("function load(x) { return x.foo; }"
+ "function store(x) { x.foo = void 0; }"
+ "function keyed_load(x, key) { return x[key]; }"
+ // Second version of function has a different source (add void 0)
+ // so that it does not share code with the first version. This
+ // ensures that the ICs are monomorphic.
+ "function load2(x) { void 0; return x.foo; }"
+ "function store2(x) { void 0; x.foo = void 0; }"
+ "function keyed_load2(x, key) { void 0; return x[key]; }"
+
+ "obj.__proto__ = null;"
+ "var subobj = {};"
+ "subobj.__proto__ = obj;"
+ "%OptimizeObjectForAddingMultipleProperties(obj, 1);"
+
+ // Make the ICs monomorphic.
+ "load(obj); load(obj);"
+ "load2(subobj); load2(subobj);"
+ "store(obj);"
+ "store2(subobj);"
+ "keyed_load(obj, 'foo'); keyed_load(obj, 'foo');"
+ "keyed_load2(subobj, 'foo'); keyed_load2(subobj, 'foo');"
+
+ // Delete the accessor. It better not be called any more now.
+ "delete obj.foo;"
+ "obj.y = void 0;"
+ "subobj.y = void 0;"
+
+ "var load_result = load(obj);"
+ "var load_result2 = load2(subobj);"
+ "var keyed_load_result = keyed_load(obj, 'foo');"
+ "var keyed_load_result2 = keyed_load2(subobj, 'foo');"
+ "store(obj);"
+ "store2(subobj);"
+ "var y_from_obj = obj.y;"
+ "var y_from_subobj = subobj.y;");
+ CHECK(context->Global()->Get(v8_str("load_result"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("load_result2"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("keyed_load_result"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("keyed_load_result2"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("y_from_obj"))->IsUndefined());
+ CHECK(context->Global()->Get(v8_str("y_from_subobj"))->IsUndefined());
}
diff --git a/deps/v8/test/mjsunit/new-function.js b/deps/v8/test/mjsunit/new-function.js
new file mode 100644
index 00000000000..9e8cc277683
--- /dev/null
+++ b/deps/v8/test/mjsunit/new-function.js
@@ -0,0 +1,34 @@
+// Copyright 2012 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+var x;
+try {
+ Function("}), x = this, (function() {");
+} catch(e) {
+ print("Caught " + e);
+}
+assertTrue(x == "[object global]");
diff --git a/deps/v8/test/mjsunit/regress/regress-145201.js b/deps/v8/test/mjsunit/regress/regress-145201.js
new file mode 100644
index 00000000000..7fe7bceda15
--- /dev/null
+++ b/deps/v8/test/mjsunit/regress/regress-145201.js
@@ -0,0 +1,107 @@
+// Copyright 2012 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Fix some corner cases in skipping native methods using caller.
+var net = [];
+
+
+var x = 0;
+
+function collect () {
+ function item(operator) {
+ binary(operator, 1, false);
+ binary(operator, 1, true);
+ binary(operator, '{}', false);
+ binary(operator, '{}', true);
+ binary(operator, '"x"', false);
+ binary(operator, '"x"', true);
+ unary(operator, "");
+ }
+
+ function unary(op, after) {
+ // Capture:
+ try {
+ eval(op + " custom " + after);
+ } catch(e) {
+ }
+ }
+
+ function binary(op, other_side, inverted) {
+ // Capture:
+ try {
+ if (inverted) {
+ eval("custom " + op + " " + other_side);
+ } else {
+ eval(other_side + " " + op + " custom");
+ }
+ } catch(e) {
+ }
+ }
+
+ function catcher() {
+ var caller = catcher.caller;
+ if (/native/i.test(caller) || /ADD/.test(caller)) {
+ net[caller] = 0;
+ }
+ }
+
+ var custom = Object.create(null, {
+ toString: { value: catcher },
+ length: { get: catcher }
+ });
+
+ item('^');
+ item('~');
+ item('<<');
+ item('<');
+ item('==');
+ item('>>>');
+ item('>>');
+ item('|');
+ item('-');
+ item('*');
+ item('&');
+ item('%');
+ item('+');
+ item('in');
+ item('instanceof');
+ unary('{}[', ']');
+ unary('delete {}[', ']');
+ unary('(function() {}).apply(null, ', ')');
+}
+
+collect();
+collect();
+collect();
+
+var keys = 0;
+for (var key in net) {
+ print(key);
+ keys++;
+}
+
+assertTrue(keys == 0);
diff --git a/deps/v8/tools/gyp/v8.gyp b/deps/v8/tools/gyp/v8.gyp
index f742cc6f3cc..ea82d31814e 100644
--- a/deps/v8/tools/gyp/v8.gyp
+++ b/deps/v8/tools/gyp/v8.gyp
@@ -721,9 +721,6 @@
'../../src/win32-math.h',
],
'msvs_disabled_warnings': [4351, 4355, 4800],
- 'direct_dependent_settings': {
- 'msvs_disabled_warnings': [4351, 4355, 4800],
- },
'link_settings': {
'libraries': [ '-lwinmm.lib', '-lws2_32.lib' ],
},
From c5e554dc7ef36c276760f55fb702b1ac0dfa4fa8 Mon Sep 17 00:00:00 2001
From: Bert Belder
Date: Tue, 21 Aug 2012 03:05:25 +0200
Subject: [PATCH 03/20] v8: reapply floating patches
---
deps/v8/build/common.gypi | 11 +++--------
deps/v8/tools/gyp/v8.gyp | 3 +++
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/deps/v8/build/common.gypi b/deps/v8/build/common.gypi
index 7f084b8c1db..16091978763 100644
--- a/deps/v8/build/common.gypi
+++ b/deps/v8/build/common.gypi
@@ -239,7 +239,6 @@
'WIN32',
],
'msvs_configuration_attributes': {
- 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)',
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '1',
},
@@ -271,7 +270,7 @@
'target_conditions': [
['_toolset=="host"', {
'variables': {
- 'm32flag': ' /dev/null 2>&1) && echo -n "-m32" || true)',
+ 'm32flag': ' /dev/null 2>&1) && echo "-m32" || true)',
},
'cflags': [ '<(m32flag)' ],
'ldflags': [ '<(m32flag)' ],
@@ -281,7 +280,7 @@
}],
['_toolset=="target"', {
'variables': {
- 'm32flag': ' /dev/null 2>&1) && echo -n "-m32" || true)',
+ 'm32flag': ' /dev/null 2>&1) && echo "-m32" || true)',
},
'cflags': [ '<(m32flag)' ],
'ldflags': [ '<(m32flag)' ],
@@ -324,7 +323,7 @@
},
'conditions': [
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
- 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
+ 'cflags': [ '-Wno-unused-parameter',
'-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
}],
],
@@ -333,10 +332,6 @@
'conditions': [
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \
or OS=="android"', {
- 'cflags!': [
- '-O2',
- '-Os',
- ],
'cflags': [
'-fdata-sections',
'-ffunction-sections',
diff --git a/deps/v8/tools/gyp/v8.gyp b/deps/v8/tools/gyp/v8.gyp
index ea82d31814e..f742cc6f3cc 100644
--- a/deps/v8/tools/gyp/v8.gyp
+++ b/deps/v8/tools/gyp/v8.gyp
@@ -721,6 +721,9 @@
'../../src/win32-math.h',
],
'msvs_disabled_warnings': [4351, 4355, 4800],
+ 'direct_dependent_settings': {
+ 'msvs_disabled_warnings': [4351, 4355, 4800],
+ },
'link_settings': {
'libraries': [ '-lwinmm.lib', '-lws2_32.lib' ],
},
From 052e63f27f7b1edf5635d6a266653fe77c42941c Mon Sep 17 00:00:00 2001
From: Fedor Indutny
Date: Thu, 6 Sep 2012 16:06:15 +0200
Subject: [PATCH 04/20] v8: fix semaphore on MacOS
Landed upstream: https://chromiumcodereview.appspot.com/10867009/
---
deps/v8/src/platform-macos.cc | 22 ++++++++---
deps/v8/test/cctest/test-api.cc | 70 +++++++++++++++++++++++++++++++++
2 files changed, 86 insertions(+), 6 deletions(-)
diff --git a/deps/v8/src/platform-macos.cc b/deps/v8/src/platform-macos.cc
index a937ed3a5c1..a216f6e4cac 100644
--- a/deps/v8/src/platform-macos.cc
+++ b/deps/v8/src/platform-macos.cc
@@ -682,17 +682,27 @@ Mutex* OS::CreateMutex() {
class MacOSSemaphore : public Semaphore {
public:
explicit MacOSSemaphore(int count) {
- semaphore_create(mach_task_self(), &semaphore_, SYNC_POLICY_FIFO, count);
+ int r;
+ r = semaphore_create(mach_task_self(),
+ &semaphore_,
+ SYNC_POLICY_FIFO,
+ count);
+ ASSERT(r == KERN_SUCCESS);
}
~MacOSSemaphore() {
- semaphore_destroy(mach_task_self(), semaphore_);
+ int r;
+ r = semaphore_destroy(mach_task_self(), semaphore_);
+ ASSERT(r == KERN_SUCCESS);
}
- // The MacOS mach semaphore documentation claims it does not have spurious
- // wakeups, the way pthreads semaphores do. So the code from the linux
- // platform is not needed here.
- void Wait() { semaphore_wait(semaphore_); }
+ void Wait() {
+ int r;
+ do {
+ r = semaphore_wait(semaphore_);
+ ASSERT(r == KERN_SUCCESS || r == KERN_ABORTED);
+ } while (r == KERN_ABORTED);
+ }
bool Wait(int timeout);
diff --git a/deps/v8/test/cctest/test-api.cc b/deps/v8/test/cctest/test-api.cc
index df810597a1e..e24782085f6 100644
--- a/deps/v8/test/cctest/test-api.cc
+++ b/deps/v8/test/cctest/test-api.cc
@@ -27,6 +27,11 @@
#include
+#ifndef WIN32
+#include // kill
+#include // getpid
+#endif // WIN32
+
#include "v8.h"
#include "api.h"
@@ -17017,3 +17022,68 @@ THREADED_TEST(Regress142088) {
CHECK(context->Global()->Get(v8_str("y_from_obj"))->IsUndefined());
CHECK(context->Global()->Get(v8_str("y_from_subobj"))->IsUndefined());
}
+
+
+#ifndef WIN32
+class ThreadInterruptTest {
+ public:
+ ThreadInterruptTest() : sem_(NULL), sem_value_(0) { }
+ ~ThreadInterruptTest() { delete sem_; }
+
+ void RunTest() {
+ sem_ = i::OS::CreateSemaphore(0);
+
+ InterruptThread i_thread(this);
+ i_thread.Start();
+
+ sem_->Wait();
+ CHECK_EQ(kExpectedValue, sem_value_);
+ }
+
+ private:
+ static const int kExpectedValue = 1;
+
+ class InterruptThread : public i::Thread {
+ public:
+ explicit InterruptThread(ThreadInterruptTest* test)
+ : Thread("InterruptThread"), test_(test) {}
+
+ virtual void Run() {
+ struct sigaction action;
+
+ // Ensure that we'll enter waiting condition
+ i::OS::Sleep(100);
+
+ // Setup signal handler
+ memset(&action, 0, sizeof(action));
+ action.sa_handler = SignalHandler;
+ sigaction(SIGCHLD, &action, NULL);
+
+ // Send signal
+ kill(getpid(), SIGCHLD);
+
+ // Ensure that if wait has returned because of error
+ i::OS::Sleep(100);
+
+ // Set value and signal semaphore
+ test_->sem_value_ = 1;
+ test_->sem_->Signal();
+ }
+
+ static void SignalHandler(int signal) {
+ }
+
+ private:
+ ThreadInterruptTest* test_;
+ struct sigaction sa_;
+ };
+
+ i::Semaphore* sem_;
+ volatile int sem_value_;
+};
+
+
+THREADED_TEST(SemaphoreInterruption) {
+ ThreadInterruptTest().RunTest();
+}
+#endif // WIN32
From 0087bc6370c440fad0d8fc61515a7c02e9f8ae1b Mon Sep 17 00:00:00 2001
From: Pooya Karimian
Date: Fri, 17 Aug 2012 13:57:23 -0700
Subject: [PATCH 05/20] cluster.worker description and examples ere missing
from the top level of docs
---
doc/api/cluster.markdown | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/doc/api/cluster.markdown b/doc/api/cluster.markdown
index aa59acbf48a..032e38138e2 100644
--- a/doc/api/cluster.markdown
+++ b/doc/api/cluster.markdown
@@ -252,12 +252,29 @@ die graceful if no other event is waiting.
The method takes an optional callback argument which will be called when finished.
+## cluster.worker
+
+* {Object}
+
+A reference to the current worker object. Not available in the master process.
+
+ var cluster = require('cluster');
+
+ if (cluster.isMaster) {
+ console.log('I am master');
+ cluster.fork();
+ cluster.fork();
+ } else if (cluster.isWorker) {
+ console.log('I am worker #' + cluster.worker.id);
+ }
+
## cluster.workers
* {Object}
A hash that stores the active worker objects, keyed by `id` field. Makes it
-easy to loop through all the workers.
+easy to loop through all the workers. It is only available in the master
+process.
// Go through all workers
function eachWorker(callback) {
From 9a3521cb25e5f0035cf38ed7b16729c8d0dc3c65 Mon Sep 17 00:00:00 2001
From: Ben Noordhuis
Date: Sat, 8 Sep 2012 21:43:55 +0200
Subject: [PATCH 06/20] http: respect HTTP/1.0 TE header
A HTTP/1.0 client does not support 'Transfer-Encoding: chunked' unless it
explicitly requests it by sending a 'TE: chunked' header.
Before this commit, node.js always disabled chunked encoding for HTTP/1.0
clients. Now it will scan for the TE header and turn on chunked encoding if
requested and applicable.
Fixes #940.
---
lib/http.js | 2 +-
test/simple/test-http-1.0-keep-alive.js | 148 ++++++++++++++++++++++++
2 files changed, 149 insertions(+), 1 deletion(-)
create mode 100644 test/simple/test-http-1.0-keep-alive.js
diff --git a/lib/http.js b/lib/http.js
index 87199ea3ac7..e226da334a2 100644
--- a/lib/http.js
+++ b/lib/http.js
@@ -891,7 +891,7 @@ function ServerResponse(req) {
this.sendDate = true;
if (req.httpVersionMajor < 1 || req.httpVersionMinor < 1) {
- this.useChunkedEncodingByDefault = false;
+ this.useChunkedEncodingByDefault = chunkExpression.test(req.headers.te);
this.shouldKeepAlive = false;
}
}
diff --git a/test/simple/test-http-1.0-keep-alive.js b/test/simple/test-http-1.0-keep-alive.js
new file mode 100644
index 00000000000..623facb1738
--- /dev/null
+++ b/test/simple/test-http-1.0-keep-alive.js
@@ -0,0 +1,148 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// 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.
+
+var common = require('../common');
+var assert = require('assert');
+var http = require('http');
+var net = require('net');
+
+// Check that our HTTP server correctly handles HTTP/1.0 keep-alive requests.
+check([{
+ name: 'keep-alive, no TE header',
+ requests: [{
+ expectClose: true,
+ data: 'POST / HTTP/1.0\r\n' +
+ 'Connection: keep-alive\r\n' +
+ '\r\n'
+ }, {
+ expectClose: true,
+ data: 'POST / HTTP/1.0\r\n' +
+ 'Connection: keep-alive\r\n' +
+ '\r\n'
+ }],
+ responses: [{
+ headers: {'Connection': 'keep-alive'},
+ chunks: ['OK']
+ }, {
+ chunks: []
+ }]
+}, {
+ name: 'keep-alive, with TE: chunked',
+ requests: [{
+ expectClose: false,
+ data: 'POST / HTTP/1.0\r\n' +
+ 'Connection: keep-alive\r\n' +
+ 'TE: chunked\r\n' +
+ '\r\n'
+ }, {
+ expectClose: true,
+ data: 'POST / HTTP/1.0\r\n' +
+ '\r\n'
+ }],
+ responses: [{
+ headers: {'Connection': 'keep-alive'},
+ chunks: ['OK']
+ }, {
+ chunks: []
+ }]
+}, {
+ name: 'keep-alive, with Transfer-Encoding: chunked',
+ requests: [{
+ expectClose: false,
+ data: 'POST / HTTP/1.0\r\n' +
+ 'Connection: keep-alive\r\n' +
+ '\r\n'
+ }, {
+ expectClose: true,
+ data: 'POST / HTTP/1.0\r\n' +
+ '\r\n'
+ }],
+ responses: [{
+ headers: {'Connection': 'keep-alive',
+ 'Transfer-Encoding': 'chunked'},
+ chunks: ['OK']
+ }, {
+ chunks: []
+ }]
+}, {
+ name: 'keep-alive, with Content-Length',
+ requests: [{
+ expectClose: false,
+ data: 'POST / HTTP/1.0\r\n' +
+ 'Connection: keep-alive\r\n' +
+ '\r\n'
+ }, {
+ expectClose: true,
+ data: 'POST / HTTP/1.0\r\n' +
+ '\r\n'
+ }],
+ responses: [{
+ headers: {'Connection': 'keep-alive',
+ 'Content-Length': '2'},
+ chunks: ['OK']
+ }, {
+ chunks: []
+ }]
+}]);
+
+function check(tests) {
+ var test = tests[0];
+ if (test) http.createServer(server).listen(common.PORT, '127.0.0.1', client);
+ var current = 0;
+
+ function next() {
+ check(tests.slice(1));
+ }
+
+ function server(req, res) {
+ if (current + 1 === test.responses.length) this.close();
+ var ctx = test.responses[current];
+ res.writeHead(200, ctx.headers);
+ ctx.chunks.slice(0, -1).forEach(function(chunk) { res.write(chunk) });
+ res.end(ctx.chunks[ctx.chunks.length - 1]);
+ }
+
+ function client() {
+ if (current === test.requests.length) return next();
+ var conn = net.createConnection(common.PORT, '127.0.0.1', connected);
+
+ function connected() {
+ var ctx = test.requests[current];
+ conn.setEncoding('utf8');
+ conn.write(ctx.data);
+
+ function onclose() {
+ if (!ctx.expectClose) throw new Error('unexpected close');
+ client();
+ }
+ conn.on('close', onclose);
+
+ function ondata(s) {
+ current++;
+ if (ctx.expectClose) return;
+ conn.removeListener('close', onclose);
+ conn.removeListener('data', ondata);;
+ connected();
+ }
+ conn.on('data', ondata);
+ }
+ }
+}
From fb383a0ad08470d2a50923c7f3baa3a59a530026 Mon Sep 17 00:00:00 2001
From: Nathan Rajlich
Date: Sat, 8 Sep 2012 15:09:59 -0700
Subject: [PATCH 07/20] util: make util.inspect() work when "hasOwnProperty" is
overwritten
---
lib/util.js | 8 ++++++--
test/simple/test-util-inspect.js | 7 +++++++
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/util.js b/lib/util.js
index 53775e74da7..d9a5c2b2277 100644
--- a/lib/util.js
+++ b/lib/util.js
@@ -318,7 +318,7 @@ function formatError(value) {
function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
var output = [];
for (var i = 0, l = value.length; i < l; ++i) {
- if (Object.prototype.hasOwnProperty.call(value, String(i))) {
+ if (hasOwnProperty(value, String(i))) {
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
String(i), true));
} else {
@@ -349,7 +349,7 @@ function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
str = ctx.stylize('[Setter]', 'special');
}
}
- if (!visibleKeys.hasOwnProperty(key)) {
+ if (!hasOwnProperty(visibleKeys, key)) {
name = '[' + key + ']';
}
if (!str) {
@@ -556,3 +556,7 @@ exports._extend = function(origin, add) {
}
return origin;
};
+
+function hasOwnProperty(obj, prop) {
+ return Object.prototype.hasOwnProperty.call(obj, prop);
+}
diff --git a/test/simple/test-util-inspect.js b/test/simple/test-util-inspect.js
index 5b8fed9ffff..b6f5bfa8dc2 100644
--- a/test/simple/test-util-inspect.js
+++ b/test/simple/test-util-inspect.js
@@ -107,3 +107,10 @@ assert.doesNotThrow(function() {
// GH-2225
var x = { inspect: util.inspect };
assert.ok(util.inspect(x).indexOf('inspect') != -1);
+
+// an object with "hasOwnProperty" overwritten should not throw
+assert.doesNotThrow(function() {
+ util.inspect({
+ hasOwnProperty: null
+ });
+});
From 608898c15b9181a583d99d0da05f145997a98db0 Mon Sep 17 00:00:00 2001
From: Nathan Rajlich
Date: Sun, 9 Sep 2012 11:41:05 -0700
Subject: [PATCH 08/20] configure: add a "--dest-os" option to force a gyp
"flavor"
This makes cross-compiling easier. i.e. from my mac:
./configure --dest-cpu=arm --dest-os=linux
---
configure | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/configure b/configure
index a801b657332..8a2b3d645f5 100755
--- a/configure
+++ b/configure
@@ -159,6 +159,12 @@ parser.add_option("--dest-cpu",
dest="dest_cpu",
help="CPU architecture to build for. Valid values are: arm, ia32, x64")
+parser.add_option("--dest-os",
+ action="store",
+ dest="dest_os",
+ help="Operating system to build for. Valid values are: "
+ "win, mac, solaris, freebsd, linux")
+
parser.add_option("--no-ifaddrs",
action="store_true",
dest="no_ifaddrs",
@@ -465,6 +471,8 @@ write('config.mk', "# Do not edit. Generated by the configure script.\n" +
if os.name == 'nt':
gyp_args = ['-f', 'msvs', '-G', 'msvs_version=2010']
+elif options.dest_os:
+ gyp_args = ['-f', 'make-' + options.dest_os]
else:
gyp_args = ['-f', 'make']
From 54a4c639e9753c0094c49f9d9788e727643b3f28 Mon Sep 17 00:00:00 2001
From: isaacs
Date: Mon, 10 Sep 2012 09:11:54 -0700
Subject: [PATCH 09/20] npm: Upgrade to 1.1.61
---
deps/npm/doc/cli/faq.md | 15 +-
deps/npm/doc/cli/index.md | 2 +-
deps/npm/doc/cli/{list.md => ls.md} | 0
deps/npm/html/api/bin.html | 2 +-
deps/npm/html/api/bugs.html | 2 +-
deps/npm/html/api/commands.html | 2 +-
deps/npm/html/api/config.html | 2 +-
deps/npm/html/api/deprecate.html | 2 +-
deps/npm/html/api/docs.html | 2 +-
deps/npm/html/api/edit.html | 2 +-
deps/npm/html/api/explore.html | 2 +-
deps/npm/html/api/help-search.html | 2 +-
deps/npm/html/api/init.html | 2 +-
deps/npm/html/api/install.html | 2 +-
deps/npm/html/api/link.html | 2 +-
deps/npm/html/api/load.html | 2 +-
deps/npm/html/api/ls.html | 2 +-
deps/npm/html/api/npm.html | 4 +-
deps/npm/html/api/outdated.html | 2 +-
deps/npm/html/api/owner.html | 2 +-
deps/npm/html/api/pack.html | 2 +-
deps/npm/html/api/prefix.html | 2 +-
deps/npm/html/api/prune.html | 2 +-
deps/npm/html/api/publish.html | 2 +-
deps/npm/html/api/rebuild.html | 2 +-
deps/npm/html/api/restart.html | 2 +-
deps/npm/html/api/root.html | 2 +-
deps/npm/html/api/run-script.html | 2 +-
deps/npm/html/api/search.html | 2 +-
deps/npm/html/api/shrinkwrap.html | 2 +-
deps/npm/html/api/start.html | 2 +-
deps/npm/html/api/stop.html | 2 +-
deps/npm/html/api/submodule.html | 2 +-
deps/npm/html/api/tag.html | 2 +-
deps/npm/html/api/test.html | 2 +-
deps/npm/html/api/uninstall.html | 2 +-
deps/npm/html/api/unpublish.html | 2 +-
deps/npm/html/api/update.html | 2 +-
deps/npm/html/api/version.html | 2 +-
deps/npm/html/api/view.html | 2 +-
deps/npm/html/api/whoami.html | 2 +-
deps/npm/html/doc/README.html | 2 +-
deps/npm/html/doc/adduser.html | 2 +-
deps/npm/html/doc/bin.html | 2 +-
deps/npm/html/doc/bugs.html | 2 +-
deps/npm/html/doc/build.html | 2 +-
deps/npm/html/doc/bundle.html | 2 +-
deps/npm/html/doc/cache.html | 2 +-
deps/npm/html/doc/changelog.html | 2 +-
deps/npm/html/doc/coding-style.html | 2 +-
deps/npm/html/doc/completion.html | 2 +-
deps/npm/html/doc/config.html | 2 +-
deps/npm/html/doc/dedupe.html | 2 +-
deps/npm/html/doc/deprecate.html | 2 +-
deps/npm/html/doc/developers.html | 2 +-
deps/npm/html/doc/disputes.html | 2 +-
deps/npm/html/doc/docs.html | 2 +-
deps/npm/html/doc/edit.html | 2 +-
deps/npm/html/doc/explore.html | 2 +-
deps/npm/html/doc/faq.html | 17 +-
deps/npm/html/doc/folders.html | 2 +-
deps/npm/html/doc/help-search.html | 2 +-
deps/npm/html/doc/help.html | 2 +-
deps/npm/html/doc/index.html | 4 +-
deps/npm/html/doc/init.html | 2 +-
deps/npm/html/doc/install.html | 2 +-
deps/npm/html/doc/json.html | 2 +-
deps/npm/html/doc/link.html | 2 +-
deps/npm/html/doc/ls.html | 99 +
deps/npm/html/doc/npm.html | 4 +-
deps/npm/html/doc/outdated.html | 2 +-
deps/npm/html/doc/owner.html | 2 +-
deps/npm/html/doc/pack.html | 2 +-
deps/npm/html/doc/prefix.html | 2 +-
deps/npm/html/doc/prune.html | 2 +-
deps/npm/html/doc/publish.html | 2 +-
deps/npm/html/doc/rebuild.html | 2 +-
deps/npm/html/doc/registry.html | 2 +-
deps/npm/html/doc/removing-npm.html | 2 +-
deps/npm/html/doc/restart.html | 2 +-
deps/npm/html/doc/root.html | 2 +-
deps/npm/html/doc/run-script.html | 2 +-
deps/npm/html/doc/scripts.html | 2 +-
deps/npm/html/doc/search.html | 2 +-
deps/npm/html/doc/semver.html | 2 +-
deps/npm/html/doc/shrinkwrap.html | 2 +-
deps/npm/html/doc/star.html | 2 +-
deps/npm/html/doc/start.html | 2 +-
deps/npm/html/doc/stop.html | 2 +-
deps/npm/html/doc/submodule.html | 2 +-
deps/npm/html/doc/tag.html | 2 +-
deps/npm/html/doc/test.html | 2 +-
deps/npm/html/doc/uninstall.html | 2 +-
deps/npm/html/doc/unpublish.html | 2 +-
deps/npm/html/doc/update.html | 2 +-
deps/npm/html/doc/version.html | 2 +-
deps/npm/html/doc/view.html | 2 +-
deps/npm/html/doc/whoami.html | 2 +-
deps/npm/html/{ => static}/style.css | 0
.../html/{ => static}/webfonts/23242D_3_0.eot | Bin
.../html/{ => static}/webfonts/23242D_3_0.ttf | Bin
.../{ => static}/webfonts/23242D_3_0.woff | Bin
deps/npm/lib/ls.js | 3 +-
deps/npm/lib/npm.js | 2 +-
deps/npm/lib/search.js | 2 +-
deps/npm/lib/utils/lifecycle.js | 2 +-
deps/npm/man/man1/README.1 | 2 +-
deps/npm/man/man1/adduser.1 | 2 +-
deps/npm/man/man1/bin.1 | 2 +-
deps/npm/man/man1/bugs.1 | 2 +-
deps/npm/man/man1/build.1 | 2 +-
deps/npm/man/man1/bundle.1 | 2 +-
deps/npm/man/man1/cache.1 | 2 +-
deps/npm/man/man1/changelog.1 | 2 +-
deps/npm/man/man1/coding-style.1 | 2 +-
deps/npm/man/man1/completion.1 | 2 +-
deps/npm/man/man1/config.1 | 2 +-
deps/npm/man/man1/dedupe.1 | 2 +-
deps/npm/man/man1/deprecate.1 | 2 +-
deps/npm/man/man1/developers.1 | 2 +-
deps/npm/man/man1/disputes.1 | 2 +-
deps/npm/man/man1/docs.1 | 2 +-
deps/npm/man/man1/edit.1 | 2 +-
deps/npm/man/man1/explore.1 | 2 +-
deps/npm/man/man1/faq.1 | 14 +-
deps/npm/man/man1/folders.1 | 2 +-
deps/npm/man/man1/help-search.1 | 2 +-
deps/npm/man/man1/help.1 | 2 +-
deps/npm/man/man1/index.1 | 4 +-
deps/npm/man/man1/init.1 | 2 +-
deps/npm/man/man1/install.1 | 2 +-
deps/npm/man/man1/json.1 | 2 +-
deps/npm/man/man1/link.1 | 2 +-
deps/npm/man/man1/ls.1 | 44 +-
deps/npm/man/man1/npm.1 | 4 +-
deps/npm/man/man1/outdated.1 | 2 +-
deps/npm/man/man1/owner.1 | 2 +-
deps/npm/man/man1/pack.1 | 2 +-
deps/npm/man/man1/prefix.1 | 2 +-
deps/npm/man/man1/prune.1 | 2 +-
deps/npm/man/man1/publish.1 | 2 +-
deps/npm/man/man1/rebuild.1 | 2 +-
deps/npm/man/man1/registry.1 | 2 +-
deps/npm/man/man1/removing-npm.1 | 2 +-
deps/npm/man/man1/restart.1 | 2 +-
deps/npm/man/man1/root.1 | 2 +-
deps/npm/man/man1/run-script.1 | 2 +-
deps/npm/man/man1/scripts.1 | 2 +-
deps/npm/man/man1/search.1 | 2 +-
deps/npm/man/man1/semver.1 | 2 +-
deps/npm/man/man1/shrinkwrap.1 | 2 +-
deps/npm/man/man1/star.1 | 2 +-
deps/npm/man/man1/start.1 | 2 +-
deps/npm/man/man1/stop.1 | 2 +-
deps/npm/man/man1/submodule.1 | 2 +-
deps/npm/man/man1/tag.1 | 2 +-
deps/npm/man/man1/test.1 | 2 +-
deps/npm/man/man1/uninstall.1 | 2 +-
deps/npm/man/man1/unpublish.1 | 2 +-
deps/npm/man/man1/update.1 | 2 +-
deps/npm/man/man1/version.1 | 2 +-
deps/npm/man/man1/view.1 | 2 +-
deps/npm/man/man1/whoami.1 | 2 +-
deps/npm/man/man3/bin.3 | 2 +-
deps/npm/man/man3/bugs.3 | 2 +-
deps/npm/man/man3/commands.3 | 2 +-
deps/npm/man/man3/config.3 | 2 +-
deps/npm/man/man3/deprecate.3 | 2 +-
deps/npm/man/man3/docs.3 | 2 +-
deps/npm/man/man3/edit.3 | 2 +-
deps/npm/man/man3/explore.3 | 2 +-
deps/npm/man/man3/help-search.3 | 2 +-
deps/npm/man/man3/init.3 | 2 +-
deps/npm/man/man3/install.3 | 2 +-
deps/npm/man/man3/link.3 | 2 +-
deps/npm/man/man3/load.3 | 2 +-
deps/npm/man/man3/ls.3 | 2 +-
deps/npm/man/man3/npm.3 | 4 +-
deps/npm/man/man3/outdated.3 | 2 +-
deps/npm/man/man3/owner.3 | 2 +-
deps/npm/man/man3/pack.3 | 2 +-
deps/npm/man/man3/prefix.3 | 2 +-
deps/npm/man/man3/prune.3 | 2 +-
deps/npm/man/man3/publish.3 | 2 +-
deps/npm/man/man3/rebuild.3 | 2 +-
deps/npm/man/man3/restart.3 | 2 +-
deps/npm/man/man3/root.3 | 2 +-
deps/npm/man/man3/run-script.3 | 2 +-
deps/npm/man/man3/search.3 | 2 +-
deps/npm/man/man3/shrinkwrap.3 | 2 +-
deps/npm/man/man3/start.3 | 2 +-
deps/npm/man/man3/stop.3 | 2 +-
deps/npm/man/man3/submodule.3 | 2 +-
deps/npm/man/man3/tag.3 | 2 +-
deps/npm/man/man3/test.3 | 2 +-
deps/npm/man/man3/uninstall.3 | 2 +-
deps/npm/man/man3/unpublish.3 | 2 +-
deps/npm/man/man3/update.3 | 2 +-
deps/npm/man/man3/version.3 | 2 +-
deps/npm/man/man3/view.3 | 2 +-
deps/npm/man/man3/whoami.3 | 2 +-
.../node_modules/fstream-npm/fstream-npm.js | 1 +
.../npm/node_modules/fstream-npm/package.json | 4 +-
.../fstream/examples/filter-pipe.js | 131 +
.../npm/node_modules/fstream/examples/pipe.js | 115 +
.../node_modules/fstream/examples/reader.js | 54 +
.../fstream/examples/symlink-write.js | 24 +
deps/npm/node_modules/fstream/lib/abstract.js | 4 +-
.../node_modules/fstream/lib/dir-reader.js | 1 +
deps/npm/node_modules/fstream/package.json | 17 +-
deps/npm/node_modules/lru-cache/AUTHORS | 1 +
.../node_modules/lru-cache/lib/lru-cache.js | 4 +-
deps/npm/node_modules/lru-cache/package.json | 13 +-
.../node_modules/node-gyp/lib/configure.js | 16 +-
deps/npm/node_modules/node-gyp/package.json | 4 +-
.../npm-registry-client/lib/request.js | 8 +-
.../npm-registry-client/package.json | 6 +-
deps/npm/node_modules/npmconf/config-defs.js | 82 +-
.../node_modules/config-chain/index.js | 2 +-
.../node_modules/config-chain/package.json | 7 +-
deps/npm/node_modules/npmconf/npmconf.js | 6 +-
deps/npm/node_modules/npmconf/package.json | 7 +-
deps/npm/node_modules/npmconf/test/basic.js | 3 +-
.../read-package-json/package.json | 4 +-
.../read-package-json/read-json.js | 7 +
deps/npm/package.json | 2 +-
.../node_modules/sax/AUTHORS | 9 +
.../node_modules/sax/LICENSE | 23 +
.../node_modules/sax/README.md | 213 +
.../sax/examples/big-not-pretty.xml | 8002 +++++++++++++++++
.../node_modules/sax/examples/example.js | 41 +
.../node_modules/sax/examples/get-products.js | 58 +
.../node_modules/sax/examples/hello-world.js | 4 +
.../node_modules/sax/examples/not-pretty.xml | 8 +
.../node_modules/sax/examples/pretty-print.js | 74 +
.../node_modules/sax/examples/shopping.xml | 2 +
.../node_modules/sax/examples/strict.dtd | 870 ++
.../node_modules/sax/examples/switch-bench.js | 45 +
.../node_modules/sax/examples/test.html | 15 +
.../node_modules/sax/examples/test.xml | 1254 +++
.../node_modules/sax/lib/sax.js | 1006 +++
.../node_modules/sax/package.json | 75 +
.../node_modules/sax/test/buffer-overrun.js | 25 +
.../node_modules/sax/test/cdata-chunked.js | 11 +
.../node_modules/sax/test/cdata-end-split.js | 15 +
.../node_modules/sax/test/cdata-fake-end.js | 28 +
.../node_modules/sax/test/cdata-multiple.js | 15 +
.../node_modules/sax/test/cdata.js | 10 +
.../node_modules/sax/test/index.js | 86 +
.../node_modules/sax/test/issue-23.js | 43 +
.../node_modules/sax/test/issue-30.js | 24 +
.../node_modules/sax/test/issue-35.js | 15 +
.../node_modules/sax/test/issue-47.js | 13 +
.../node_modules/sax/test/issue-49.js | 31 +
.../node_modules/sax/test/parser-position.js | 28 +
.../node_modules/sax/test/script.js | 12 +
.../sax/test/self-closing-child-strict.js | 40 +
.../sax/test/self-closing-child.js | 40 +
.../node_modules/sax/test/self-closing-tag.js | 25 +
.../node_modules/sax/test/stray-ending.js | 17 +
.../sax/test/trailing-non-whitespace.js | 17 +
.../node_modules/sax/test/unquoted.js | 17 +
.../node_modules/sax/test/xmlns-issue-41.js | 67 +
.../node_modules/sax/test/xmlns-rebinding.js | 59 +
.../node_modules/sax/test/xmlns-strict.js | 71 +
.../node_modules/sax/test/xmlns-unbound.js | 15 +
.../xmlns-xml-default-prefix-attribute.js | 35 +
.../sax/test/xmlns-xml-default-prefix.js | 20 +
.../sax/test/xmlns-xml-default-redefine.js | 40 +
.../node_modules/browserify/.travis.yml | 3 +
.../node_modules/browserify/LICENSE | 63 +
.../node_modules/browserify/README.markdown | 173 +
.../node_modules/browserify/bin/cmd.js | 162 +
.../builtins/__browserify_process.js | 48 +
.../browserify/builtins/assert.js | 303 +
.../browserify/builtins/buffer.js | 1130 +++
.../browserify/builtins/buffer_ieee754.js | 84 +
.../browserify/builtins/events.js | 171 +
.../node_modules/browserify/builtins/fs.js | 1 +
.../node_modules/browserify/builtins/https.js | 1 +
.../node_modules/browserify/builtins/net.js | 1 +
.../node_modules/browserify/builtins/path.js | 134 +
.../browserify/builtins/querystring.js | 250 +
.../browserify/builtins/stream.js | 119 +
.../node_modules/browserify/builtins/sys.js | 1 +
.../node_modules/browserify/builtins/tls.js | 1 +
.../node_modules/browserify/builtins/tty.js | 2 +
.../node_modules/browserify/builtins/url.js | 604 ++
.../node_modules/browserify/builtins/util.js | 312 +
.../browserify/doc/methods.markdown | 177 +
.../browserify/doc/recipes.markdown | 62 +
.../example/simple-build/browserify.js | 368 +
.../browserify/example/simple-build/build.sh | 3 +
.../example/simple-build/index.html | 9 +
.../browserify/example/simple-build/js/bar.js | 3 +
.../example/simple-build/js/entry.js | 5 +
.../browserify/example/simple-build/js/foo.js | 5 +
.../browserify/example/simple-build/server.js | 9 +
.../example/simple-middleware/index.html | 9 +
.../example/simple-middleware/js/bar.js | 3 +
.../example/simple-middleware/js/entry.js | 5 +
.../example/simple-middleware/js/foo.js | 5 +
.../example/simple-middleware/server.js | 11 +
.../browserify/example/using-http/bundle.js | 813 ++
.../browserify/example/using-http/entry.js | 25 +
.../browserify/example/using-http/index.html | 9 +
.../browserify/example/using-http/server.js | 28 +
.../node_modules/browserify/index.js | 255 +
.../node_modules/browserify/lib/wrap.js | 527 ++
.../node_modules/browserify/lib/wrappers.js | 10 +
.../node_modules/coffee-script/.npmignore | 11 +
.../node_modules/coffee-script/CNAME | 1 +
.../node_modules/coffee-script/LICENSE | 22 +
.../node_modules/coffee-script/README | 51 +
.../node_modules/coffee-script/Rakefile | 78 +
.../node_modules/coffee-script/bin/cake | 7 +
.../node_modules/coffee-script/bin/coffee | 7 +
.../coffee-script/extras/jsl.conf | 44 +
.../lib/coffee-script/browser.js | 92 +
.../coffee-script/lib/coffee-script/cake.js | 111 +
.../lib/coffee-script/coffee-script.js | 167 +
.../lib/coffee-script/command.js | 500 +
.../lib/coffee-script/grammar.js | 606 ++
.../lib/coffee-script/helpers.js | 77 +
.../coffee-script/lib/coffee-script/index.js | 11 +
.../coffee-script/lib/coffee-script/lexer.js | 788 ++
.../coffee-script/lib/coffee-script/nodes.js | 2986 ++++++
.../lib/coffee-script/optparse.js | 138 +
.../coffee-script/lib/coffee-script/parser.js | 683 ++
.../coffee-script/lib/coffee-script/repl.js | 261 +
.../lib/coffee-script/rewriter.js | 349 +
.../coffee-script/lib/coffee-script/scope.js | 146 +
.../node_modules/coffee-script/package.json | 47 +
.../node_modules/commondir/README.markdown | 45 +
.../node_modules/commondir/example/base.js | 3 +
.../node_modules/commondir/example/dir.js | 3 +
.../node_modules/commondir/index.js | 29 +
.../node_modules/commondir/package.json | 45 +
.../node_modules/commondir/test/dirs.js | 66 +
.../crypto-browserify/example/bundle.js | 637 ++
.../crypto-browserify/example/index.html | 12 +
.../crypto-browserify/example/test.js | 4 +
.../node_modules/crypto-browserify/index.js | 68 +
.../crypto-browserify/package.json | 28 +
.../crypto-browserify/readme.markdown | 14 +
.../node_modules/crypto-browserify/rng.js | 37 +
.../node_modules/crypto-browserify/sha.js | 210 +
.../crypto-browserify/test/simple.js | 25 +
.../node_modules/deputy/.travis.yml | 4 +
.../node_modules/deputy/README.markdown | 55 +
.../node_modules/deputy/example/cache.js | 5 +
.../browserify/node_modules/deputy/index.js | 45 +
.../node_modules/mkdirp/.gitignore.orig | 2 +
.../deputy/node_modules/mkdirp/.gitignore.rej | 5 +
.../deputy/node_modules/mkdirp/.npmignore | 2 +
.../deputy/node_modules/mkdirp/.travis.yml | 4 +
.../deputy/node_modules/mkdirp/LICENSE | 21 +
.../node_modules/mkdirp/README.markdown | 61 +
.../node_modules/mkdirp/examples/pow.js | 6 +
.../node_modules/mkdirp/examples/pow.js.orig | 6 +
.../node_modules/mkdirp/examples/pow.js.rej | 19 +
.../deputy/node_modules/mkdirp/index.js | 94 +
.../deputy/node_modules/mkdirp/package.json | 32 +
.../deputy/node_modules/mkdirp/test/chmod.js | 38 +
.../node_modules/mkdirp/test/clobber.js | 37 +
.../deputy/node_modules/mkdirp/test/mkdirp.js | 28 +
.../deputy/node_modules/mkdirp/test/perm.js | 32 +
.../node_modules/mkdirp/test/perm_sync.js | 39 +
.../deputy/node_modules/mkdirp/test/race.js | 41 +
.../deputy/node_modules/mkdirp/test/rel.js | 32 +
.../deputy/node_modules/mkdirp/test/return.js | 25 +
.../node_modules/mkdirp/test/return_sync.js | 24 +
.../deputy/node_modules/mkdirp/test/root.js | 18 +
.../deputy/node_modules/mkdirp/test/sync.js | 32 +
.../deputy/node_modules/mkdirp/test/umask.js | 28 +
.../node_modules/mkdirp/test/umask_sync.js | 32 +
.../node_modules/deputy/package.json | 45 +
.../node_modules/deputy/test/cache.js | 58 +
.../node_modules/detective/.travis.yml | 4 +
.../node_modules/detective/README.markdown | 64 +
.../node_modules/detective/example/strings.js | 6 +
.../detective/example/strings_src.js | 3 +
.../node_modules/detective/index.js | 56 +
.../node_modules/uglify-js/.npmignore | 4 +
.../node_modules/uglify-js/README.html | 981 ++
.../node_modules/uglify-js/README.org | 578 ++
.../node_modules/uglify-js/bin/uglifyjs | 332 +
.../node_modules/uglify-js/docstyle.css | 75 +
.../uglify-js/lib/consolidator.js | 2599 ++++++
.../node_modules/uglify-js/lib/object-ast.js | 75 +
.../node_modules/uglify-js/lib/parse-js.js | 1346 +++
.../node_modules/uglify-js/lib/process.js | 2011 +++++
.../uglify-js/lib/squeeze-more.js | 73 +
.../node_modules/uglify-js/package.json | 24 +
.../node_modules/uglify-js/package.json~ | 24 +
.../node_modules/uglify-js/test/beautify.js | 28 +
.../node_modules/uglify-js/test/testparser.js | 403 +
.../test/unit/compress/expected/array1.js | 1 +
.../test/unit/compress/expected/array2.js | 1 +
.../test/unit/compress/expected/array3.js | 1 +
.../test/unit/compress/expected/array4.js | 1 +
.../test/unit/compress/expected/assignment.js | 1 +
.../unit/compress/expected/concatstring.js | 1 +
.../test/unit/compress/expected/const.js | 1 +
.../unit/compress/expected/empty-blocks.js | 1 +
.../unit/compress/expected/forstatement.js | 1 +
.../test/unit/compress/expected/if.js | 1 +
.../test/unit/compress/expected/ifreturn.js | 1 +
.../test/unit/compress/expected/ifreturn2.js | 1 +
.../test/unit/compress/expected/issue10.js | 1 +
.../test/unit/compress/expected/issue11.js | 1 +
.../test/unit/compress/expected/issue13.js | 1 +
.../test/unit/compress/expected/issue14.js | 1 +
.../test/unit/compress/expected/issue16.js | 1 +
.../test/unit/compress/expected/issue17.js | 1 +
.../test/unit/compress/expected/issue20.js | 1 +
.../test/unit/compress/expected/issue21.js | 1 +
.../test/unit/compress/expected/issue25.js | 1 +
.../test/unit/compress/expected/issue27.js | 1 +
.../test/unit/compress/expected/issue278.js | 1 +
.../test/unit/compress/expected/issue28.js | 1 +
.../test/unit/compress/expected/issue29.js | 1 +
.../test/unit/compress/expected/issue30.js | 1 +
.../test/unit/compress/expected/issue34.js | 1 +
.../test/unit/compress/expected/issue4.js | 1 +
.../test/unit/compress/expected/issue48.js | 1 +
.../test/unit/compress/expected/issue50.js | 1 +
.../test/unit/compress/expected/issue53.js | 1 +
.../test/unit/compress/expected/issue54.1.js | 1 +
.../test/unit/compress/expected/issue68.js | 1 +
.../test/unit/compress/expected/issue69.js | 1 +
.../test/unit/compress/expected/issue9.js | 1 +
.../test/unit/compress/expected/mangle.js | 1 +
.../unit/compress/expected/null_string.js | 1 +
.../unit/compress/expected/strict-equals.js | 1 +
.../test/unit/compress/expected/var.js | 1 +
.../test/unit/compress/expected/whitespace.js | 1 +
.../test/unit/compress/expected/with.js | 1 +
.../test/unit/compress/test/array1.js | 3 +
.../test/unit/compress/test/array2.js | 4 +
.../test/unit/compress/test/array3.js | 4 +
.../test/unit/compress/test/array4.js | 6 +
.../test/unit/compress/test/assignment.js | 20 +
.../test/unit/compress/test/concatstring.js | 3 +
.../test/unit/compress/test/const.js | 5 +
.../test/unit/compress/test/empty-blocks.js | 4 +
.../test/unit/compress/test/forstatement.js | 10 +
.../uglify-js/test/unit/compress/test/if.js | 6 +
.../test/unit/compress/test/ifreturn.js | 9 +
.../test/unit/compress/test/ifreturn2.js | 16 +
.../test/unit/compress/test/issue10.js | 1 +
.../test/unit/compress/test/issue11.js | 3 +
.../test/unit/compress/test/issue13.js | 1 +
.../test/unit/compress/test/issue14.js | 1 +
.../test/unit/compress/test/issue16.js | 1 +
.../test/unit/compress/test/issue17.js | 4 +
.../test/unit/compress/test/issue20.js | 1 +
.../test/unit/compress/test/issue21.js | 6 +
.../test/unit/compress/test/issue25.js | 7 +
.../test/unit/compress/test/issue27.js | 1 +
.../test/unit/compress/test/issue278.js | 1 +
.../test/unit/compress/test/issue28.js | 3 +
.../test/unit/compress/test/issue29.js | 1 +
.../test/unit/compress/test/issue30.js | 3 +
.../test/unit/compress/test/issue34.js | 3 +
.../test/unit/compress/test/issue4.js | 3 +
.../test/unit/compress/test/issue48.js | 1 +
.../test/unit/compress/test/issue50.js | 9 +
.../test/unit/compress/test/issue53.js | 1 +
.../test/unit/compress/test/issue54.1.js | 3 +
.../test/unit/compress/test/issue68.js | 5 +
.../test/unit/compress/test/issue69.js | 1 +
.../test/unit/compress/test/issue9.js | 4 +
.../test/unit/compress/test/mangle.js | 5 +
.../test/unit/compress/test/null_string.js | 1 +
.../test/unit/compress/test/strict-equals.js | 3 +
.../uglify-js/test/unit/compress/test/var.js | 3 +
.../test/unit/compress/test/whitespace.js | 21 +
.../uglify-js/test/unit/compress/test/with.js | 2 +
.../uglify-js/test/unit/scripts.js | 55 +
.../node_modules/uglify-js/uglify-js.js | 18 +
.../node_modules/detective/package.json | 45 +
.../node_modules/detective/test/both.js | 11 +
.../node_modules/detective/test/chained.js | 9 +
.../node_modules/detective/test/files/both.js | 4 +
.../detective/test/files/chained.js | 5 +
.../detective/test/files/nested.js | 22 +
.../detective/test/files/strings.js | 13 +
.../node_modules/detective/test/files/word.js | 13 +
.../node_modules/detective/test/nested.js | 9 +
.../node_modules/detective/test/strings.js | 9 +
.../node_modules/detective/test/word.js | 12 +
.../http-browserify/README.markdown | 128 +
.../http-browserify/example/get/index.html | 9 +
.../http-browserify/example/get/main.js | 14 +
.../http-browserify/example/get/server.js | 15 +
.../example/headers/index.html | 9 +
.../http-browserify/example/headers/main.js | 18 +
.../http-browserify/example/headers/server.js | 18 +
.../http-browserify/example/post/index.html | 9 +
.../http-browserify/example/post/main.js | 16 +
.../http-browserify/example/post/server.js | 22 +
.../example/streaming/index.html | 9 +
.../http-browserify/example/streaming/main.js | 16 +
.../example/streaming/server.js | 24 +
.../node_modules/http-browserify/index.js | 59 +
.../http-browserify/lib/request.js | 91 +
.../http-browserify/lib/response.js | 99 +
.../node_modules/http-browserify/package.json | 42 +
.../node_modules/nub/README.markdown | 23 +
.../browserify/node_modules/nub/index.js | 64 +
.../browserify/node_modules/nub/package.json | 44 +
.../browserify/node_modules/nub/test/by.js | 51 +
.../browserify/node_modules/nub/test/nub.js | 46 +
.../node_modules/optimist/.travis.yml | 4 +
.../browserify/node_modules/optimist/LICENSE | 21 +
.../node_modules/optimist/README.markdown | 487 +
.../node_modules/optimist/example/bool.js | 10 +
.../optimist/example/boolean_double.js | 7 +
.../optimist/example/boolean_single.js | 7 +
.../optimist/example/default_hash.js | 8 +
.../optimist/example/default_singles.js | 7 +
.../node_modules/optimist/example/divide.js | 8 +
.../optimist/example/line_count.js | 20 +
.../optimist/example/line_count_options.js | 29 +
.../optimist/example/line_count_wrap.js | 29 +
.../node_modules/optimist/example/nonopt.js | 4 +
.../node_modules/optimist/example/reflect.js | 2 +
.../node_modules/optimist/example/short.js | 3 +
.../node_modules/optimist/example/string.js | 11 +
.../optimist/example/usage-options.js | 19 +
.../node_modules/optimist/example/xup.js | 10 +
.../browserify/node_modules/optimist/index.js | 475 +
.../optimist/node_modules/wordwrap/.npmignore | 1 +
.../node_modules/wordwrap/README.markdown | 70 +
.../node_modules/wordwrap/example/center.js | 10 +
.../node_modules/wordwrap/example/meat.js | 3 +
.../optimist/node_modules/wordwrap/index.js | 76 +
.../node_modules/wordwrap/package.json | 40 +
.../node_modules/wordwrap/test/break.js | 30 +
.../node_modules/wordwrap/test/idleness.txt | 63 +
.../node_modules/wordwrap/test/wrap.js | 31 +
.../node_modules/optimist/package.json | 46 +
.../node_modules/optimist/test/_.js | 71 +
.../node_modules/optimist/test/_/argv.js | 2 +
.../node_modules/optimist/test/_/bin.js | 3 +
.../node_modules/optimist/test/parse.js | 420 +
.../node_modules/optimist/test/usage.js | 292 +
.../node_modules/resolve/.travis.yml | 4 +
.../node_modules/resolve/README.markdown | 47 +
.../browserify/node_modules/resolve/index.js | 105 +
.../node_modules/resolve/package.json | 43 +
.../node_modules/resolve/test/core.js | 12 +
.../node_modules/resolve/test/filter.js | 15 +
.../node_modules/resolve/test/mock.js | 64 +
.../node_modules/resolve/test/resolver.js | 157 +
.../resolver/bar/node_modules/foo/index.js | 1 +
.../resolve/test/resolver/baz/doom.js | 0
.../resolve/test/resolver/baz/package.json | 3 +
.../resolve/test/resolver/baz/quux.js | 1 +
.../resolver/biz/node_modules/grux/index.js | 1 +
.../resolver/biz/node_modules/tiv/index.js | 1 +
.../resolve/test/resolver/cup.coffee | 1 +
.../node_modules/resolve/test/resolver/foo.js | 1 +
.../resolve/test/resolver/mug.coffee | 0
.../node_modules/resolve/test/resolver/mug.js | 0
.../test/resolver/other_path/lib/other-lib.js | 0
.../resolve/test/resolver/other_path/root.js | 0
.../vm-browserify/README.markdown | 103 +
.../vm-browserify/example/run/bundle.js | 473 +
.../vm-browserify/example/run/entry.js | 6 +
.../vm-browserify/example/run/index.html | 9 +
.../vm-browserify/example/run/server.js | 6 +
.../node_modules/vm-browserify/index.js | 85 +
.../node_modules/vm-browserify/package.json | 41 +
.../vm-browserify/testling/run.js | 22 +
.../vm-browserify/testling/test.sh | 11 +
.../node_modules/browserify/package.json | 69 +
.../node_modules/browserify/test/alias.js | 55 +
.../node_modules/browserify/test/backbone.js | 21 +
.../node_modules/browserify/test/bin.js | 39 +
.../node_modules/browserify/test/bundle.js | 32 +
.../node_modules/browserify/test/cache.js | 28 +
.../node_modules/browserify/test/coffee.js | 39 +
.../browserify/test/coffee/bar.js | 1 +
.../browserify/test/coffee/baz.coffee | 1 +
.../browserify/test/coffee/entry.coffee | 1 +
.../browserify/test/coffee/foo.coffee | 1 +
.../browserify/test/coffee/index.coffee | 5 +
.../test/coffee/nested/nested.coffee | 2 +
.../node_modules/browserify/test/dnode.js | 27 +
.../node_modules/browserify/test/dollar.js | 19 +
.../browserify/test/dollar/dollar/index.js | 7 +
.../node_modules/browserify/test/entry.js | 36 +
.../browserify/test/entry/main.js | 1 +
.../node_modules/browserify/test/entry/one.js | 1 +
.../node_modules/browserify/test/entry/two.js | 1 +
.../browserify/test/error_code.js | 24 +
.../browserify/test/error_code/src.js | 2 +
.../node_modules/browserify/test/export.js | 52 +
.../browserify/test/export/entry.js | 1 +
.../node_modules/browserify/test/field.js | 64 +
.../browserify/test/field/miss.js | 1 +
.../test/field/node_modules/z-miss/browser.js | 1 +
.../test/field/node_modules/z-miss/main.js | 1 +
.../field/node_modules/z-miss/package.json | 4 +
.../field/node_modules/z-object/browser.js | 1 +
.../test/field/node_modules/z-object/main.js | 1 +
.../field/node_modules/z-object/package.json | 6 +
.../field/node_modules/z-string/browser.js | 1 +
.../test/field/node_modules/z-string/main.js | 1 +
.../field/node_modules/z-string/package.json | 4 +
.../field/node_modules/z-sub/browser/a.js | 1 +
.../field/node_modules/z-sub/browser/b.js | 1 +
.../test/field/node_modules/z-sub/main.js | 1 +
.../field/node_modules/z-sub/package.json | 4 +
.../browserify/test/field/object.js | 1 +
.../browserify/test/field/string.js | 1 +
.../node_modules/browserify/test/field/sub.js | 1 +
.../node_modules/browserify/test/jade.js | 35 +
.../browserify/test/maxlisteners.js | 8 +
.../browserify/test/middleware.js | 31 +
.../browserify/test/multi_entry.js | 20 +
.../browserify/test/multi_entry/a.js | 2 +
.../browserify/test/multi_entry/b.js | 2 +
.../browserify/test/multi_entry/c.js | 3 +
.../browserify/test/multi_ignore.js | 23 +
.../test/node_modules/beep/index.js | 1 +
.../node_modules/browserify/test/retarget.js | 27 +
.../node_modules/browserify/test/seq.js | 47 +
.../node_modules/browserify/test/subdep.js | 26 +
.../browserify/test/subdep/index.js | 1 +
.../browserify/test/subdep/package.json | 6 +
.../node_modules/browserify/test/util.js | 48 +
.../node_modules/browserify/test/watch.js | 91 +
.../node_modules/browserify/test/watch/a.js | 1 +
.../node_modules/browserify/test/wrap.js | 43 +
.../node_modules/browserify/test/wrap/a.js | 2 +
.../node_modules/browserify/test/wrap/c.js | 1 +
.../test/wrap/node_modules/b/main.js | 1 +
.../test/wrap/node_modules/b/package.json | 3 +
.../test/wrap/node_modules/skipmetoo/index.js | 1 +
.../browserify/test/wrap/skipme.js | 1 +
.../node_modules/browserify/test/wrap/x.js | 0
.../browserify/testling/README.markdown | 29 +
.../node_modules/browserify/testling/test.sh | 28 +
.../node_modules/browserify/testling/tick.js | 9 +
.../node_modules/browserify/testling/util.js | 24 +
.../node_modules/browserify/wrappers/alias.js | 1 +
.../node_modules/browserify/wrappers/body.js | 1 +
.../browserify/wrappers/body_debug.js | 1 +
.../node_modules/browserify/wrappers/entry.js | 2 +
.../browserify/wrappers/entry_debug.js | 2 +
.../browserify/wrappers/package.js | 3 +
.../browserify/wrappers/prelude.js | 176 +
.../npm-test-single-file/index.js | 10 +
.../npm-test-single-file/package.json | 27 +
657 files changed, 43313 insertions(+), 290 deletions(-)
rename deps/npm/doc/cli/{list.md => ls.md} (100%)
create mode 100644 deps/npm/html/doc/ls.html
rename deps/npm/html/{ => static}/style.css (100%)
rename deps/npm/html/{ => static}/webfonts/23242D_3_0.eot (100%)
rename deps/npm/html/{ => static}/webfonts/23242D_3_0.ttf (100%)
rename deps/npm/html/{ => static}/webfonts/23242D_3_0.woff (100%)
create mode 100644 deps/npm/node_modules/fstream/examples/filter-pipe.js
create mode 100644 deps/npm/node_modules/fstream/examples/pipe.js
create mode 100644 deps/npm/node_modules/fstream/examples/reader.js
create mode 100644 deps/npm/node_modules/fstream/examples/symlink-write.js
mode change 100644 => 100755 deps/npm/node_modules/npmconf/node_modules/config-chain/index.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/AUTHORS
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/LICENSE
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/README.md
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/big-not-pretty.xml
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/example.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/get-products.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/hello-world.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/not-pretty.xml
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/pretty-print.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/shopping.xml
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/strict.dtd
create mode 100755 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/switch-bench.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/test.html
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/examples/test.xml
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/lib/sax.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/package.json
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/buffer-overrun.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/cdata-chunked.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/cdata-end-split.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/cdata-fake-end.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/cdata-multiple.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/cdata.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/index.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/issue-23.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/issue-30.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/issue-35.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/issue-47.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/issue-49.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/parser-position.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/script.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/self-closing-child-strict.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/self-closing-child.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/self-closing-tag.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/stray-ending.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/trailing-non-whitespace.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/unquoted.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/xmlns-issue-41.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/xmlns-rebinding.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/xmlns-strict.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/xmlns-unbound.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/xmlns-xml-default-prefix.js
create mode 100644 deps/npm/test/packages/npm-test-optional-deps/node_modules/sax/test/xmlns-xml-default-redefine.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/.travis.yml
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/LICENSE
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/README.markdown
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/bin/cmd.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/__browserify_process.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/assert.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/buffer.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/buffer_ieee754.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/events.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/fs.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/https.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/net.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/path.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/querystring.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/stream.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/sys.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/tls.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/tty.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/url.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/builtins/util.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/doc/methods.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/doc/recipes.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-build/browserify.js
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-build/build.sh
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-build/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-build/js/bar.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-build/js/entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-build/js/foo.js
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-build/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-middleware/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-middleware/js/bar.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-middleware/js/entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-middleware/js/foo.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/simple-middleware/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/using-http/bundle.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/using-http/entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/using-http/index.html
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/example/using-http/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/lib/wrap.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/lib/wrappers.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/.npmignore
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/CNAME
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/LICENSE
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/README
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/Rakefile
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/bin/cake
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/bin/coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/extras/jsl.conf
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/browser.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/cake.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/coffee-script.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/command.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/grammar.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/helpers.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/lexer.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/nodes.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/optparse.js
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/parser.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/repl.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/rewriter.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/lib/coffee-script/scope.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/coffee-script/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/commondir/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/commondir/example/base.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/commondir/example/dir.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/commondir/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/commondir/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/commondir/test/dirs.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/example/bundle.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/example/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/example/test.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/readme.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/rng.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/sha.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/crypto-browserify/test/simple.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/.travis.yml
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/example/cache.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.gitignore.orig
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.gitignore.rej
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.npmignore
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.travis.yml
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/LICENSE
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/examples/pow.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/examples/pow.js.orig
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/examples/pow.js.rej
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/chmod.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/clobber.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/mkdirp.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm_sync.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/race.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/rel.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return_sync.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/root.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/sync.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask_sync.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/deputy/test/cache.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/.travis.yml
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/example/strings.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/example/strings_src.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/.npmignore
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/README.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/README.org
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/bin/uglifyjs
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/docstyle.css
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/lib/consolidator.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/lib/object-ast.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/lib/parse-js.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/lib/process.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/lib/squeeze-more.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/package.json~
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/beautify.js
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/testparser.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/array1.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/array2.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/array3.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/array4.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/assignment.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/concatstring.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/const.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/forstatement.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/if.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue10.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue11.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue13.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue14.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue16.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue17.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue20.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue21.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue25.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue27.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue278.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue28.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue29.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue30.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue34.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue4.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue48.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue50.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue53.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue68.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue69.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/issue9.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/mangle.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/null_string.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/var.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/whitespace.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/expected/with.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/array1.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/array2.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/array3.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/array4.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/assignment.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/concatstring.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/const.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/forstatement.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/if.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/ifreturn.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue10.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue11.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue13.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue14.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue16.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue17.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue20.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue21.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue25.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue27.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue278.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue28.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue29.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue30.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue34.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue4.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue48.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue50.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue53.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue54.1.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue68.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue69.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/issue9.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/mangle.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/null_string.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/strict-equals.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/var.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/whitespace.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/compress/test/with.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/test/unit/scripts.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/node_modules/uglify-js/uglify-js.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/both.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/chained.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/files/both.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/files/chained.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/files/nested.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/files/strings.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/files/word.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/nested.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/strings.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/detective/test/word.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/get/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/get/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/get/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/headers/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/headers/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/headers/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/post/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/post/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/post/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/streaming/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/streaming/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/example/streaming/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/lib/request.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/lib/response.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/http-browserify/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/nub/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/nub/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/nub/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/nub/test/by.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/nub/test/nub.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/.travis.yml
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/LICENSE
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/bool.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/boolean_double.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/boolean_single.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/default_hash.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/default_singles.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/divide.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/line_count.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/line_count_options.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/line_count_wrap.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/nonopt.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/reflect.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/short.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/string.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/usage-options.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/example/xup.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/.npmignore
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/example/center.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/example/meat.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/test/break.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/test/idleness.txt
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/node_modules/wordwrap/test/wrap.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/test/_.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/test/_/argv.js
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/test/_/bin.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/test/parse.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/optimist/test/usage.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/.travis.yml
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/core.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/filter.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/mock.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/baz/doom.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/baz/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/baz/quux.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/cup.coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/foo.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/mug.coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/mug.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/other_path/lib/other-lib.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/resolve/test/resolver/other_path/root.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/README.markdown
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/example/run/bundle.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/example/run/entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/example/run/index.html
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/example/run/server.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/testling/run.js
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/node_modules/vm-browserify/testling/test.sh
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/alias.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/backbone.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/bin.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/bundle.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/cache.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/coffee.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/coffee/bar.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/coffee/baz.coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/coffee/entry.coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/coffee/foo.coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/coffee/index.coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/coffee/nested/nested.coffee
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/dnode.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/dollar.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/dollar/dollar/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/entry/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/entry/one.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/entry/two.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/error_code.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/error_code/src.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/export.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/export/entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/miss.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-miss/browser.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-miss/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-miss/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-object/browser.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-object/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-object/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-string/browser.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-string/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-string/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-sub/browser/a.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-sub/browser/b.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-sub/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/node_modules/z-sub/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/object.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/string.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/field/sub.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/jade.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/maxlisteners.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/middleware.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/multi_entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/multi_entry/a.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/multi_entry/b.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/multi_entry/c.js
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/multi_ignore.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/node_modules/beep/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/retarget.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/seq.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/subdep.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/subdep/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/subdep/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/util.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/watch.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/watch/a.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap/a.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap/c.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap/node_modules/b/main.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap/node_modules/b/package.json
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap/node_modules/skipmetoo/index.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap/skipme.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/test/wrap/x.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/testling/README.markdown
create mode 100755 deps/npm/test/packages/npm-test-platform/node_modules/browserify/testling/test.sh
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/testling/tick.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/testling/util.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/wrappers/alias.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/wrappers/body.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/wrappers/body_debug.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/wrappers/entry.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/wrappers/entry_debug.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/wrappers/package.js
create mode 100644 deps/npm/test/packages/npm-test-platform/node_modules/browserify/wrappers/prelude.js
create mode 100644 deps/npm/test/packages/npm-test-shrinkwrap/node_modules/npm-test-single-file/index.js
create mode 100644 deps/npm/test/packages/npm-test-shrinkwrap/node_modules/npm-test-single-file/package.json
diff --git a/deps/npm/doc/cli/faq.md b/deps/npm/doc/cli/faq.md
index 938338c22b1..7fd43e9a32c 100644
--- a/deps/npm/doc/cli/faq.md
+++ b/deps/npm/doc/cli/faq.md
@@ -211,20 +211,29 @@ means that publishes go over HTTP by default in those versions of node.
## I forgot my password, and can't publish. How do I reset it?
-Go to .
+Go to .
## I get ECONNREFUSED a lot. What's up?
Either the registry is down, or node's DNS isn't able to reach out.
-To check if the registry is down, open up
-
+To check if the registry is down, open up
in a web browser. This will also tell you if you are just unable to
access the internet for some reason.
If the registry IS down, let me know by emailing or posting an issue.
We'll have someone kick it or something.
+## Why no namespaces?
+
+Please see this discussion:
+
+tl;dr - It doesn't actually make things better, and can make them worse.
+
+If you want to namespace your own packages, you may: simply use the
+`-` character to separate the names. npm is a mostly anarchic system.
+There is not sufficient need to impose namespace rules on everyone.
+
## Who does npm?
`npm view npm author`
diff --git a/deps/npm/doc/cli/index.md b/deps/npm/doc/cli/index.md
index b2ffd131797..f8fde254d61 100644
--- a/deps/npm/doc/cli/index.md
+++ b/deps/npm/doc/cli/index.md
@@ -106,7 +106,7 @@ npm-index(1) -- Index of all npm documentation
Symlink a package folder
-## npm-list(1)
+## npm-ls(1)
List installed packages
diff --git a/deps/npm/doc/cli/list.md b/deps/npm/doc/cli/ls.md
similarity index 100%
rename from deps/npm/doc/cli/list.md
rename to deps/npm/doc/cli/ls.md
diff --git a/deps/npm/html/api/bin.html b/deps/npm/html/api/bin.html
index 1c24be26a4e..01c4871baee 100644
--- a/deps/npm/html/api/bin.html
+++ b/deps/npm/html/api/bin.html
@@ -19,7 +19,7 @@
This function should not be used programmatically. Instead, just refer
to the npm.bin
member.
-
+
+