From bbd508f20b4c3b9b5bb688fe9008016be4d7e8f5 Mon Sep 17 00:00:00 2001
From: Forrest L Norvell Legal Stuff
npm, Inc. or the Node.js project.
Data published to the npm registry is not part of npm itself, and is the sole property of the publisher. While every effort is made to -ensure accountability, there is absolutely no guarantee, warrantee, or +ensure accountability, there is absolutely no guarantee, warranty, or assertion expressed or implied as to the quality, fitness for a specific purpose, or lack of malice in any given npm package.
If you have a complaint about a package in the public npm registry, and cannot resolve it with the package owner, please email -support@npmjs.com and explain the situation.
+support@npmjs.com and explain the situation.Any data published to The npm Registry (including user account information) may be removed or modified at the sole discretion of the npm server administrators.
@@ -169,5 +169,5 @@2.5.1
+2.6.0
This is the API documentation for npm. To find documentation of the command line @@ -109,5 +109,5 @@
ls: Show all of the dist-tags for a package, defaulting to the package in -the curren prefix.
+the current prefix.A tag can be used when installing packages as a reference to a version instead @@ -76,4 +76,5 @@
Now, any changes to ~/projects/node-redis will be reflected in -~/projects/node-bloggy/node_modules/redis/
+~/projects/node-bloggy/node_modules/node-redis/You may also shortcut the two steps in one. For example, to do the above use-case in a shorter way:
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
The second line is the equivalent of doing:
(cd ../node-redis; npm link)
-npm link redis
+npm link node-redis
That is, it first creates a global link, and then links the global
installation target into your project's node_modules
folder.
If your linked package is scoped (see npm-scope(7)
) your link command must
@@ -71,5 +71,5 @@
Log out of the registry
+npm logout [--registry=url] [--scope=@orgname]
+
When logged into a registry that supports token-based authentication, tell the +server to end this token's session. This will invalidate the token everywhere +you're using it, not just for the current environment.
+When logged into a legacy registry that uses username and password authentication, this will +clear the credentials in your user configuration. In this case, it will only affect +the current environment.
+If --scope
is provided, this will find the credentials for the registry
+connected to that scope, if set.
Default: http://registry.npmjs.org/
+The base URL of the npm package registry. If scope
is also specified,
+it takes precedence.
Default: none
+If specified, the user and login credentials given will be associated
+with the specified scope. See npm-scope(7)
. You can use both at the same time,
+e.g.
npm adduser --registry=http://myregistry.example.com --scope=@myco
+
This will set a registry for the given scope and login or create a user for +that registry at the same time.
+npm ls promzard
in npm's source tree will show:
-npm@2.5.1 /path/to/npm
+npm@2.6.0 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
It will print out extraneous, missing, and invalid packages.
@@ -85,5 +85,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-outdated.html b/deps/npm/html/doc/cli/npm-outdated.html
index 1b1414d710585c..70fcc8319da723 100644
--- a/deps/npm/html/doc/cli/npm-outdated.html
+++ b/deps/npm/html/doc/cli/npm-outdated.html
@@ -67,5 +67,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-owner.html b/deps/npm/html/doc/cli/npm-owner.html
index 9d6e4541ccdeec..2617a8d08bf79a 100644
--- a/deps/npm/html/doc/cli/npm-owner.html
+++ b/deps/npm/html/doc/cli/npm-owner.html
@@ -49,5 +49,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-pack.html b/deps/npm/html/doc/cli/npm-pack.html
index cf7fcaed9f38a3..47817ba92e8610 100644
--- a/deps/npm/html/doc/cli/npm-pack.html
+++ b/deps/npm/html/doc/cli/npm-pack.html
@@ -41,5 +41,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-prefix.html b/deps/npm/html/doc/cli/npm-prefix.html
index 98f44e133ddf2a..dcb47ecd268667 100644
--- a/deps/npm/html/doc/cli/npm-prefix.html
+++ b/deps/npm/html/doc/cli/npm-prefix.html
@@ -38,5 +38,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-prune.html b/deps/npm/html/doc/cli/npm-prune.html
index 247a291d787ff8..7d00e2ae31d558 100644
--- a/deps/npm/html/doc/cli/npm-prune.html
+++ b/deps/npm/html/doc/cli/npm-prune.html
@@ -39,5 +39,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-publish.html b/deps/npm/html/doc/cli/npm-publish.html
index 23559cacd6b200..59f901ee13293c 100644
--- a/deps/npm/html/doc/cli/npm-publish.html
+++ b/deps/npm/html/doc/cli/npm-publish.html
@@ -66,5 +66,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-rebuild.html b/deps/npm/html/doc/cli/npm-rebuild.html
index bcf73eca7e5532..51c457e86770f3 100644
--- a/deps/npm/html/doc/cli/npm-rebuild.html
+++ b/deps/npm/html/doc/cli/npm-rebuild.html
@@ -38,5 +38,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-repo.html b/deps/npm/html/doc/cli/npm-repo.html
index 5eb88eae94a0a7..a5e17bf592a7f7 100644
--- a/deps/npm/html/doc/cli/npm-repo.html
+++ b/deps/npm/html/doc/cli/npm-repo.html
@@ -42,5 +42,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-restart.html b/deps/npm/html/doc/cli/npm-restart.html
index 67b397552b43c4..843b60d191848c 100644
--- a/deps/npm/html/doc/cli/npm-restart.html
+++ b/deps/npm/html/doc/cli/npm-restart.html
@@ -53,5 +53,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-rm.html b/deps/npm/html/doc/cli/npm-rm.html
index c832eee203c206..8f5cfb6bace02e 100644
--- a/deps/npm/html/doc/cli/npm-rm.html
+++ b/deps/npm/html/doc/cli/npm-rm.html
@@ -39,5 +39,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-root.html b/deps/npm/html/doc/cli/npm-root.html
index c9df7b98fd460c..3c5c547d421dfc 100644
--- a/deps/npm/html/doc/cli/npm-root.html
+++ b/deps/npm/html/doc/cli/npm-root.html
@@ -35,5 +35,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-run-script.html b/deps/npm/html/doc/cli/npm-run-script.html
index 716ad484a4409d..3afb91e50714a4 100644
--- a/deps/npm/html/doc/cli/npm-run-script.html
+++ b/deps/npm/html/doc/cli/npm-run-script.html
@@ -50,5 +50,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-search.html b/deps/npm/html/doc/cli/npm-search.html
index 88ad801bc62434..18b3c9ce68e8f9 100644
--- a/deps/npm/html/doc/cli/npm-search.html
+++ b/deps/npm/html/doc/cli/npm-search.html
@@ -49,5 +49,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-shrinkwrap.html b/deps/npm/html/doc/cli/npm-shrinkwrap.html
index 21c104f59b54ea..318d2ff4f8ef81 100644
--- a/deps/npm/html/doc/cli/npm-shrinkwrap.html
+++ b/deps/npm/html/doc/cli/npm-shrinkwrap.html
@@ -164,5 +164,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-star.html b/deps/npm/html/doc/cli/npm-star.html
index 58c2c240c17d5a..1da8eb977c5b7d 100644
--- a/deps/npm/html/doc/cli/npm-star.html
+++ b/deps/npm/html/doc/cli/npm-star.html
@@ -36,5 +36,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-stars.html b/deps/npm/html/doc/cli/npm-stars.html
index 0ffb3f4d5e389b..40eb2cd1bf23ab 100644
--- a/deps/npm/html/doc/cli/npm-stars.html
+++ b/deps/npm/html/doc/cli/npm-stars.html
@@ -37,5 +37,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-start.html b/deps/npm/html/doc/cli/npm-start.html
index 330378cd81d92a..9f9a42ef0f202c 100644
--- a/deps/npm/html/doc/cli/npm-start.html
+++ b/deps/npm/html/doc/cli/npm-start.html
@@ -34,5 +34,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-stop.html b/deps/npm/html/doc/cli/npm-stop.html
index ee69ec0304a30b..ace8e69e98d87f 100644
--- a/deps/npm/html/doc/cli/npm-stop.html
+++ b/deps/npm/html/doc/cli/npm-stop.html
@@ -34,5 +34,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-tag.html b/deps/npm/html/doc/cli/npm-tag.html
index d66caeebd3ccb4..9b8da589f8198d 100644
--- a/deps/npm/html/doc/cli/npm-tag.html
+++ b/deps/npm/html/doc/cli/npm-tag.html
@@ -62,5 +62,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-test.html b/deps/npm/html/doc/cli/npm-test.html
index 401a51304e219b..223f19185365ed 100644
--- a/deps/npm/html/doc/cli/npm-test.html
+++ b/deps/npm/html/doc/cli/npm-test.html
@@ -37,5 +37,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-uninstall.html b/deps/npm/html/doc/cli/npm-uninstall.html
index ef33583b31c690..d5549493d36545 100644
--- a/deps/npm/html/doc/cli/npm-uninstall.html
+++ b/deps/npm/html/doc/cli/npm-uninstall.html
@@ -57,5 +57,5 @@ SYNOPSIS
-
+
diff --git a/deps/npm/html/doc/cli/npm-unpublish.html b/deps/npm/html/doc/cli/npm-unpublish.html
index f31a4f03b8476d..5c9531367ded3c 100644
--- a/deps/npm/html/doc/cli/npm-unpublish.html
+++ b/deps/npm/html/doc/cli/npm-unpublish.html
@@ -47,5 +47,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-update.html b/deps/npm/html/doc/cli/npm-update.html
index 441c0b1a893d4e..3a695cbd78829c 100644
--- a/deps/npm/html/doc/cli/npm-update.html
+++ b/deps/npm/html/doc/cli/npm-update.html
@@ -42,5 +42,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-version.html b/deps/npm/html/doc/cli/npm-version.html
index bb0fe413ad0efe..779e09060af372 100644
--- a/deps/npm/html/doc/cli/npm-version.html
+++ b/deps/npm/html/doc/cli/npm-version.html
@@ -55,5 +55,5 @@ SYNOPSIS
-
+
diff --git a/deps/npm/html/doc/cli/npm-view.html b/deps/npm/html/doc/cli/npm-view.html
index 3fa8beb7890baa..3fff860a206423 100644
--- a/deps/npm/html/doc/cli/npm-view.html
+++ b/deps/npm/html/doc/cli/npm-view.html
@@ -82,5 +82,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-whoami.html b/deps/npm/html/doc/cli/npm-whoami.html
index eb8274f960ea6e..39a5644bf3fa13 100644
--- a/deps/npm/html/doc/cli/npm-whoami.html
+++ b/deps/npm/html/doc/cli/npm-whoami.html
@@ -33,5 +33,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm.html b/deps/npm/html/doc/cli/npm.html
index 8651e989377392..a34115c1c8b333 100644
--- a/deps/npm/html/doc/cli/npm.html
+++ b/deps/npm/html/doc/cli/npm.html
@@ -13,7 +13,7 @@ npm
javascript package manager
SYNOPSIS
npm <command> [args]
VERSION
-2.5.1
+2.6.0
DESCRIPTION
npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
@@ -110,7 +110,7 @@
CONTRIBUTIONS
the issues list or ask on the mailing list.
BUGS
When you find issues, please report them:
@@ -118,7 +118,7 @@ BUGS
web:
http://github.com/npm/npm/issues
email:
-npm-@googlegroups.com
+npm-@googlegroups.com
Be sure to include all of the output from the npm command that didn't work
as expected. The npm-debug.log
file is also helpful to provide.
@@ -128,7 +128,7 @@ AUTHOR
Isaac Z. Schlueter ::
isaacs ::
@izs ::
-i@izs.me
+i@izs.me
SEE ALSO
- npm-help(1)
@@ -154,5 +154,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/files/npm-folders.html b/deps/npm/html/doc/files/npm-folders.html
index a8e58e4185883d..ce70aec26630d2 100644
--- a/deps/npm/html/doc/files/npm-folders.html
+++ b/deps/npm/html/doc/files/npm-folders.html
@@ -184,5 +184,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/files/npm-global.html b/deps/npm/html/doc/files/npm-global.html
index 202d7f4974589d..d4e9d92cd15c25 100644
--- a/deps/npm/html/doc/files/npm-global.html
+++ b/deps/npm/html/doc/files/npm-global.html
@@ -184,5 +184,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/files/npm-json.html b/deps/npm/html/doc/files/npm-json.html
index b915f8482eb5fb..bbfa31d38a566b 100644
--- a/deps/npm/html/doc/files/npm-json.html
+++ b/deps/npm/html/doc/files/npm-json.html
@@ -63,7 +63,7 @@ bugs
issues should be reported. These are helpful for people who encounter issues
with your package.
It should look like this:
-
{ "url" : "http://github.com/owner/project/issues"
+{ "url" : "https://github.com/owner/project/issues"
, "email" : "project@hostname.com"
}
You can specify either one or both values. If you want to provide only a url,
@@ -161,7 +161,7 @@
bin
directories
The CommonJS Packages spec details a
few ways that you can indicate the structure of your package using a directories
-object. If you look at npm's package.json,
+object. If you look at npm's package.json,
you'll see that it has directories for doc, lib, and man.
In the future, this information may be used in other creative ways.
directories.lib
@@ -186,17 +186,20 @@ repository
Do it like this:
"repository" :
{ "type" : "git"
- , "url" : "http://github.com/npm/npm.git"
+ , "url" : "https://github.com/npm/npm.git"
}
"repository" :
{ "type" : "svn"
- , "url" : "http://v8.googlecode.com/svn/trunk/"
+ , "url" : "https://v8.googlecode.com/svn/trunk/"
}
The URL should be a publicly available (perhaps read-only) url that can be handed
directly to a VCS program without any modification. It should not be a url to an
html project page that you put in your browser. It's for computers.
-scripts
+For GitHub repositories you can use the same shortcut syntax you use for npm
+install
:
+"repository": "npm/npm"
+
scripts
The "scripts" property is a dictionary containing script commands that are run
at various times in the lifecycle of your package. The key is the lifecycle
event, and the value is the command to run at that point.
@@ -342,12 +345,17 @@ peerDependencies
}
}
This ensures your package tea-latte
can be installed along with the second
-major version of the host package tea
only. The host package is automatically
-installed if needed. npm install tea-latte
could possibly yield the following
-dependency graph:
+major version of the host package tea
only. npm install tea-latte
could
+possibly yield the following dependency graph:
├── tea-latte@1.3.5
└── tea@2.2.0
-
Trying to install another plugin with a conflicting requirement will cause an
+
NOTE: npm versions 1 and 2 will automatically install peerDependencies
if
+they are not explicitly depended upon higher in the dependency tree. In the
+next major version of npm (npm@3), this will no longer be the case. You will
+receive a warning that the peerDependency is not installed instead. The
+behavior in npms 1 & 2 was frequently confusing and could easily put you into
+dependency hell, a situation that npm is designed to avoid as much as possible.
Trying to install another plugin with a conflicting requirement will cause an error. For this reason, make sure your plugin requirement is as broad as possible, and not to lock it down to specific patch versions.
Assuming the host complies with semver, only changes in @@ -396,6 +404,7 @@
Note that, unless the user has set the engine-strict
config flag, this
field is advisory only.
NOTE: This feature is deprecated and will be removed in npm 3.0.0.
If you are sure that your module will definitely not run properly on
versions of Node/npm other than those specified in the engines
object,
then you can set "engineStrict": true
in your package.json file.
@@ -403,8 +412,7 @@
Please do not do this unless you are really very very sure. If your engines object is something overly restrictive, you can quite easily and inadvertently lock yourself into obscurity and prevent your users from -updating to new versions of Node. Consider this choice carefully. If -people abuse it, it will be removed in a future version of npm.
+updating to new versions of Node. Consider this choice carefully.You can specify which operating systems your module will run on:
@@ -488,5 +496,5 @@It should look like this:
-{ "url" : "http://github.com/owner/project/issues"
+{ "url" : "https://github.com/owner/project/issues"
, "email" : "project@hostname.com"
}
You can specify either one or both values. If you want to provide only a url,
@@ -161,7 +161,7 @@
bin
directories
The CommonJS Packages spec details a
few ways that you can indicate the structure of your package using a directories
-object. If you look at npm's package.json,
+object. If you look at npm's package.json,
you'll see that it has directories for doc, lib, and man.
In the future, this information may be used in other creative ways.
directories.lib
@@ -186,17 +186,20 @@ repository
Do it like this:
"repository" :
{ "type" : "git"
- , "url" : "http://github.com/npm/npm.git"
+ , "url" : "https://github.com/npm/npm.git"
}
"repository" :
{ "type" : "svn"
- , "url" : "http://v8.googlecode.com/svn/trunk/"
+ , "url" : "https://v8.googlecode.com/svn/trunk/"
}
The URL should be a publicly available (perhaps read-only) url that can be handed
directly to a VCS program without any modification. It should not be a url to an
html project page that you put in your browser. It's for computers.
-scripts
+For GitHub repositories you can use the same shortcut syntax you use for npm
+install
:
+"repository": "npm/npm"
+
scripts
The "scripts" property is a dictionary containing script commands that are run
at various times in the lifecycle of your package. The key is the lifecycle
event, and the value is the command to run at that point.
@@ -342,12 +345,17 @@ peerDependencies
}
}
This ensures your package tea-latte
can be installed along with the second
-major version of the host package tea
only. The host package is automatically
-installed if needed. npm install tea-latte
could possibly yield the following
-dependency graph:
tea
only. npm install tea-latte
could
+possibly yield the following dependency graph:
├── tea-latte@1.3.5
└── tea@2.2.0
-
Trying to install another plugin with a conflicting requirement will cause an +
NOTE: npm versions 1 and 2 will automatically install peerDependencies
if
+they are not explicitly depended upon higher in the dependency tree. In the
+next major version of npm (npm@3), this will no longer be the case. You will
+receive a warning that the peerDependency is not installed instead. The
+behavior in npms 1 & 2 was frequently confusing and could easily put you into
+dependency hell, a situation that npm is designed to avoid as much as possible.
Trying to install another plugin with a conflicting requirement will cause an error. For this reason, make sure your plugin requirement is as broad as possible, and not to lock it down to specific patch versions.
Assuming the host complies with semver, only changes in @@ -396,6 +404,7 @@
Note that, unless the user has set the engine-strict
config flag, this
field is advisory only.
NOTE: This feature is deprecated and will be removed in npm 3.0.0.
If you are sure that your module will definitely not run properly on
versions of Node/npm other than those specified in the engines
object,
then you can set "engineStrict": true
in your package.json file.
@@ -403,8 +412,7 @@
Please do not do this unless you are really very very sure. If your engines object is something overly restrictive, you can quite easily and inadvertently lock yourself into obscurity and prevent your users from -updating to new versions of Node. Consider this choice carefully. If -people abuse it, it will be removed in a future version of npm.
+updating to new versions of Node. Consider this choice carefully.You can specify which operating systems your module will run on:
@@ -488,5 +496,5 @@Symlink a package folder
+Log out of the registry
List installed packages
Handling Module
npm owner ls <pkgname>
Don't squat on package names. Publish code or move out of the way.
@@ -51,12 +51,12 @@npm owner add
joe foo
to add Joe as an owner of the foo
package.To check if the registry is down, open up https://registry.npmjs.org/ 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 us know by emailing support@npmjs.com +
If the registry IS down, let us know by emailing support@npmjs.com or posting an issue at https://github.com/npm/npm/issues. If it's down for the world (and not just on your local network) then we're probably already being pinged about it.
@@ -307,5 +307,5 @@Symlink a package folder
+Log out of the registry
List installed packages
The method .inc
takes an additional identifier
string argument that
will append the value of the string as a prerelease identifier:
> semver.inc('1.2.3', 'pre', 'beta')
+> semver.inc('1.2.3', 'pre', 'beta')
'1.2.4-beta.0'
command-line example:
@@ -219,6 +219,9 @@ Functions
increments it.
+major(v)
: Return the major version number.
+minor(v)
: Return the minor version number.
+patch(v)
: Return the patch version number.
Comparison
@@ -279,5 +282,5 @@ Ranges
-
+
diff --git a/deps/npm/html/partial/doc/README.html b/deps/npm/html/partial/doc/README.html
index 9dedc3b11b0141..5e1fcaa3fdd019 100644
--- a/deps/npm/html/partial/doc/README.html
+++ b/deps/npm/html/partial/doc/README.html
@@ -109,13 +109,13 @@ Legal Stuff
npm, Inc. or the Node.js project.
Data published to the npm registry is not part of npm itself, and is
the sole property of the publisher. While every effort is made to
-ensure accountability, there is absolutely no guarantee, warrantee, or
+ensure accountability, there is absolutely no guarantee, warranty, or
assertion expressed or implied as to the quality, fitness for a
specific purpose, or lack of malice in any given npm package.
If you have a complaint about a package in the public npm registry,
and cannot resolve it with the package
owner, please email
-support@npmjs.com and explain the situation.
+support@npmjs.com and explain the situation.
Any data published to The npm Registry (including user account
information) may be removed or modified at the sole discretion of the
npm server administrators.
diff --git a/deps/npm/html/partial/doc/api/npm.html b/deps/npm/html/partial/doc/api/npm.html
index 207f251030053f..91a8ab88e7829b 100644
--- a/deps/npm/html/partial/doc/api/npm.html
+++ b/deps/npm/html/partial/doc/api/npm.html
@@ -12,7 +12,7 @@ SYNOPSIS
npm.commands.install(["package"], cb)
})
2.5.1
+2.6.0
This is the API documentation for npm. To find documentation of the command line diff --git a/deps/npm/html/partial/doc/cli/npm-access.html b/deps/npm/html/partial/doc/cli/npm-access.html index d31d47066ab0e8..9d84e6db958ede 100644 --- a/deps/npm/html/partial/doc/cli/npm-access.html +++ b/deps/npm/html/partial/doc/cli/npm-access.html @@ -52,3 +52,4 @@
ls: Show all of the dist-tags for a package, defaulting to the package in -the curren prefix.
+the current prefix.A tag can be used when installing packages as a reference to a version instead @@ -53,3 +53,4 @@
Now, any changes to ~/projects/node-redis will be reflected in -~/projects/node-bloggy/node_modules/redis/
+~/projects/node-bloggy/node_modules/node-redis/You may also shortcut the two steps in one. For example, to do the above use-case in a shorter way:
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
The second line is the equivalent of doing:
(cd ../node-redis; npm link)
-npm link redis
+npm link node-redis
That is, it first creates a global link, and then links the global
installation target into your project's node_modules
folder.
If your linked package is scoped (see npm-scope(7)
) your link command must
diff --git a/deps/npm/html/partial/doc/cli/npm-logout.html b/deps/npm/html/partial/doc/cli/npm-logout.html
new file mode 100644
index 00000000000000..63c28a3d7ca7cd
--- /dev/null
+++ b/deps/npm/html/partial/doc/cli/npm-logout.html
@@ -0,0 +1,35 @@
+
Log out of the registry
+npm logout [--registry=url] [--scope=@orgname]
+
When logged into a registry that supports token-based authentication, tell the +server to end this token's session. This will invalidate the token everywhere +you're using it, not just for the current environment.
+When logged into a legacy registry that uses username and password authentication, this will +clear the credentials in your user configuration. In this case, it will only affect +the current environment.
+If --scope
is provided, this will find the credentials for the registry
+connected to that scope, if set.
Default: http://registry.npmjs.org/
+The base URL of the npm package registry. If scope
is also specified,
+it takes precedence.
Default: none
+If specified, the user and login credentials given will be associated
+with the specified scope. See npm-scope(7)
. You can use both at the same time,
+e.g.
npm adduser --registry=http://myregistry.example.com --scope=@myco
+
This will set a registry for the given scope and login or create a user for +that registry at the same time.
+npm ls promzard
in npm's source tree will show:
-npm@2.5.1 /path/to/npm
+npm@2.6.0 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
It will print out extraneous, missing, and invalid packages.
diff --git a/deps/npm/html/partial/doc/cli/npm.html b/deps/npm/html/partial/doc/cli/npm.html
index e8178c2462e2c3..17aa091a56091f 100644
--- a/deps/npm/html/partial/doc/cli/npm.html
+++ b/deps/npm/html/partial/doc/cli/npm.html
@@ -2,7 +2,7 @@ npm
javascript package manager
SYNOPSIS
npm <command> [args]
VERSION
-2.5.1
+2.6.0
DESCRIPTION
npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
@@ -99,7 +99,7 @@
CONTRIBUTIONS
the issues list or ask on the mailing list.
BUGS
When you find issues, please report them:
@@ -107,7 +107,7 @@ BUGS
web:
http://github.com/npm/npm/issues
email:
-npm-@googlegroups.com
+npm-@googlegroups.com
Be sure to include all of the output from the npm command that didn't work
as expected. The npm-debug.log
file is also helpful to provide.
@@ -117,7 +117,7 @@ AUTHOR
Isaac Z. Schlueter ::
isaacs ::
@izs ::
-i@izs.me
+i@izs.me
SEE ALSO
- npm-help(1)
diff --git a/deps/npm/html/partial/doc/files/npm-json.html b/deps/npm/html/partial/doc/files/npm-json.html
index cc2b12a5eaed63..401d27aec8cd82 100644
--- a/deps/npm/html/partial/doc/files/npm-json.html
+++ b/deps/npm/html/partial/doc/files/npm-json.html
@@ -52,7 +52,7 @@ bugs
issues should be reported. These are helpful for people who encounter issues
with your package.
It should look like this:
-
{ "url" : "http://github.com/owner/project/issues"
+{ "url" : "https://github.com/owner/project/issues"
, "email" : "project@hostname.com"
}
You can specify either one or both values. If you want to provide only a url,
@@ -150,7 +150,7 @@
bin
directories
The CommonJS Packages spec details a
few ways that you can indicate the structure of your package using a directories
-object. If you look at npm's package.json,
+object. If you look at npm's package.json,
you'll see that it has directories for doc, lib, and man.
In the future, this information may be used in other creative ways.
directories.lib
@@ -175,17 +175,20 @@ repository
Do it like this:
"repository" :
{ "type" : "git"
- , "url" : "http://github.com/npm/npm.git"
+ , "url" : "https://github.com/npm/npm.git"
}
"repository" :
{ "type" : "svn"
- , "url" : "http://v8.googlecode.com/svn/trunk/"
+ , "url" : "https://v8.googlecode.com/svn/trunk/"
}
The URL should be a publicly available (perhaps read-only) url that can be handed
directly to a VCS program without any modification. It should not be a url to an
html project page that you put in your browser. It's for computers.
-scripts
+For GitHub repositories you can use the same shortcut syntax you use for npm
+install
:
+"repository": "npm/npm"
+
scripts
The "scripts" property is a dictionary containing script commands that are run
at various times in the lifecycle of your package. The key is the lifecycle
event, and the value is the command to run at that point.
@@ -331,12 +334,17 @@ peerDependencies
}
}
This ensures your package tea-latte
can be installed along with the second
-major version of the host package tea
only. The host package is automatically
-installed if needed. npm install tea-latte
could possibly yield the following
-dependency graph:
+major version of the host package tea
only. npm install tea-latte
could
+possibly yield the following dependency graph:
├── tea-latte@1.3.5
└── tea@2.2.0
-
Trying to install another plugin with a conflicting requirement will cause an
+
NOTE: npm versions 1 and 2 will automatically install peerDependencies
if
+they are not explicitly depended upon higher in the dependency tree. In the
+next major version of npm (npm@3), this will no longer be the case. You will
+receive a warning that the peerDependency is not installed instead. The
+behavior in npms 1 & 2 was frequently confusing and could easily put you into
+dependency hell, a situation that npm is designed to avoid as much as possible.
Trying to install another plugin with a conflicting requirement will cause an error. For this reason, make sure your plugin requirement is as broad as possible, and not to lock it down to specific patch versions.
Assuming the host complies with semver, only changes in @@ -385,6 +393,7 @@
Note that, unless the user has set the engine-strict
config flag, this
field is advisory only.
NOTE: This feature is deprecated and will be removed in npm 3.0.0.
If you are sure that your module will definitely not run properly on
versions of Node/npm other than those specified in the engines
object,
then you can set "engineStrict": true
in your package.json file.
@@ -392,8 +401,7 @@
Please do not do this unless you are really very very sure. If your engines object is something overly restrictive, you can quite easily and inadvertently lock yourself into obscurity and prevent your users from -updating to new versions of Node. Consider this choice carefully. If -people abuse it, it will be removed in a future version of npm.
+updating to new versions of Node. Consider this choice carefully.You can specify which operating systems your module will run on:
diff --git a/deps/npm/html/partial/doc/files/package.json.html b/deps/npm/html/partial/doc/files/package.json.html index cc2b12a5eaed63..401d27aec8cd82 100644 --- a/deps/npm/html/partial/doc/files/package.json.html +++ b/deps/npm/html/partial/doc/files/package.json.html @@ -52,7 +52,7 @@It should look like this:
-{ "url" : "http://github.com/owner/project/issues"
+{ "url" : "https://github.com/owner/project/issues"
, "email" : "project@hostname.com"
}
You can specify either one or both values. If you want to provide only a url,
@@ -150,7 +150,7 @@
bin
directories
The CommonJS Packages spec details a
few ways that you can indicate the structure of your package using a directories
-object. If you look at npm's package.json,
+object. If you look at npm's package.json,
you'll see that it has directories for doc, lib, and man.
In the future, this information may be used in other creative ways.
directories.lib
@@ -175,17 +175,20 @@ repository
Do it like this:
"repository" :
{ "type" : "git"
- , "url" : "http://github.com/npm/npm.git"
+ , "url" : "https://github.com/npm/npm.git"
}
"repository" :
{ "type" : "svn"
- , "url" : "http://v8.googlecode.com/svn/trunk/"
+ , "url" : "https://v8.googlecode.com/svn/trunk/"
}
The URL should be a publicly available (perhaps read-only) url that can be handed
directly to a VCS program without any modification. It should not be a url to an
html project page that you put in your browser. It's for computers.
-scripts
+For GitHub repositories you can use the same shortcut syntax you use for npm
+install
:
+"repository": "npm/npm"
+
scripts
The "scripts" property is a dictionary containing script commands that are run
at various times in the lifecycle of your package. The key is the lifecycle
event, and the value is the command to run at that point.
@@ -331,12 +334,17 @@ peerDependencies
}
}
This ensures your package tea-latte
can be installed along with the second
-major version of the host package tea
only. The host package is automatically
-installed if needed. npm install tea-latte
could possibly yield the following
-dependency graph:
tea
only. npm install tea-latte
could
+possibly yield the following dependency graph:
├── tea-latte@1.3.5
└── tea@2.2.0
-
Trying to install another plugin with a conflicting requirement will cause an +
NOTE: npm versions 1 and 2 will automatically install peerDependencies
if
+they are not explicitly depended upon higher in the dependency tree. In the
+next major version of npm (npm@3), this will no longer be the case. You will
+receive a warning that the peerDependency is not installed instead. The
+behavior in npms 1 & 2 was frequently confusing and could easily put you into
+dependency hell, a situation that npm is designed to avoid as much as possible.
Trying to install another plugin with a conflicting requirement will cause an error. For this reason, make sure your plugin requirement is as broad as possible, and not to lock it down to specific patch versions.
Assuming the host complies with semver, only changes in @@ -385,6 +393,7 @@
Note that, unless the user has set the engine-strict
config flag, this
field is advisory only.
NOTE: This feature is deprecated and will be removed in npm 3.0.0.
If you are sure that your module will definitely not run properly on
versions of Node/npm other than those specified in the engines
object,
then you can set "engineStrict": true
in your package.json file.
@@ -392,8 +401,7 @@
Please do not do this unless you are really very very sure. If your engines object is something overly restrictive, you can quite easily and inadvertently lock yourself into obscurity and prevent your users from -updating to new versions of Node. Consider this choice carefully. If -people abuse it, it will be removed in a future version of npm.
+updating to new versions of Node. Consider this choice carefully.You can specify which operating systems your module will run on:
diff --git a/deps/npm/html/partial/doc/index.html b/deps/npm/html/partial/doc/index.html index 2d23cb50cc81bd..2048487ee27fd0 100644 --- a/deps/npm/html/partial/doc/index.html +++ b/deps/npm/html/partial/doc/index.html @@ -45,6 +45,8 @@Install a package
Symlink a package folder
+Log out of the registry
List installed packages
Handling Module
npm owner ls <pkgname>
Don't squat on package names. Publish code or move out of the way.
@@ -40,12 +40,12 @@npm owner add
joe foo
to add Joe as an owner of the foo
package.To check if the registry is down, open up https://registry.npmjs.org/ 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 us know by emailing support@npmjs.com +
If the registry IS down, let us know by emailing support@npmjs.com or posting an issue at https://github.com/npm/npm/issues. If it's down for the world (and not just on your local network) then we're probably already being pinged about it.
diff --git a/deps/npm/html/partial/doc/misc/npm-index.html b/deps/npm/html/partial/doc/misc/npm-index.html index c42ca682cca412..feeb5792cdb984 100644 --- a/deps/npm/html/partial/doc/misc/npm-index.html +++ b/deps/npm/html/partial/doc/misc/npm-index.html @@ -45,6 +45,8 @@Symlink a package folder
+Log out of the registry
List installed packages
The method .inc
takes an additional identifier
string argument that
will append the value of the string as a prerelease identifier:
> semver.inc('1.2.3', 'pre', 'beta')
+> semver.inc('1.2.3', 'pre', 'beta')
'1.2.4-beta.0'
command-line example:
@@ -208,6 +208,9 @@ Functions
increments it.
+major(v)
: Return the major version number.
+minor(v)
: Return the minor version number.
+patch(v)
: Return the patch version number.
Comparison
diff --git a/deps/npm/lib/build.js b/deps/npm/lib/build.js
index 7477ba45791f52..47f1055967667e 100644
--- a/deps/npm/lib/build.js
+++ b/deps/npm/lib/build.js
@@ -239,8 +239,9 @@ function linkMans (pkg, folder, parent, gtop, cb) {
var stem = parseMan[1]
var sxn = parseMan[2]
var bn = path.basename(stem)
+ var manSrc = path.resolve(folder, man)
var manDest = path.join(manRoot, "man" + sxn, bn)
- linkIfExists(man, manDest, gtop && folder, cb)
+ linkIfExists(manSrc, manDest, gtop && folder, cb)
}, cb)
}
diff --git a/deps/npm/lib/cache/add-named.js b/deps/npm/lib/cache/add-named.js
index cb5a3fa8a66e5b..08354dc75f1dc8 100644
--- a/deps/npm/lib/cache/add-named.js
+++ b/deps/npm/lib/cache/add-named.js
@@ -91,6 +91,11 @@ function engineFilter (data) {
Object.keys(data.versions || {}).forEach(function (v) {
var eng = data.versions[v].engines
if (!eng) return
+ if (data.versions[v].engineStrict) {
+ log.warn("deprecation", "Per-package engineStrict will no longer be used")
+ log.warn("deprecation", "in upcoming versions of npm. Use the config")
+ log.warn("deprecation", "setting `engine-strict` instead.")
+ }
if (!strict && !data.versions[v].engineStrict) return
if (eng.node && !semver.satisfies(nodev, eng.node, true)
|| eng.npm && !semver.satisfies(npmv, eng.npm, true)) {
diff --git a/deps/npm/lib/config/clear-credentials-by-uri.js b/deps/npm/lib/config/clear-credentials-by-uri.js
new file mode 100644
index 00000000000000..88131f7adb5b91
--- /dev/null
+++ b/deps/npm/lib/config/clear-credentials-by-uri.js
@@ -0,0 +1,16 @@
+var assert = require("assert")
+
+var toNerfDart = require("./nerf-dart.js")
+
+module.exports = clearCredentialsByURI
+
+function clearCredentialsByURI (uri) {
+ assert(uri && typeof uri === "string", "registry URL is required")
+
+ var nerfed = toNerfDart(uri)
+
+ this.del(nerfed + ":_authToken", "user")
+ this.del(nerfed + ":_password", "user")
+ this.del(nerfed + ":username", "user")
+ this.del(nerfed + ":email", "user")
+}
diff --git a/deps/npm/lib/config/core.js b/deps/npm/lib/config/core.js
index 59f7cf5568f414..97c17919d24e36 100644
--- a/deps/npm/lib/config/core.js
+++ b/deps/npm/lib/config/core.js
@@ -152,10 +152,17 @@ function load_(builtin, rc, cli, cb) {
// annoying humans and their expectations!
if (conf.get("prefix")) {
var etc = path.resolve(conf.get("prefix"), "etc")
- defaults.globalconfig = path.resolve(etc, "npmrc")
- defaults.globalignorefile = path.resolve(etc, "npmignore")
+ mkdirp(etc, function (err) {
+ defaults.globalconfig = path.resolve(etc, "npmrc")
+ defaults.globalignorefile = path.resolve(etc, "npmignore")
+ afterUserContinuation()
+ })
+ } else {
+ afterUserContinuation()
}
+ }
+ function afterUserContinuation() {
conf.addFile(conf.get("globalconfig"), "global")
// move the builtin into the conf stack now.
@@ -220,6 +227,7 @@ Conf.prototype.setUser = require("./set-user.js")
Conf.prototype.findPrefix = require("./find-prefix.js")
Conf.prototype.getCredentialsByURI = require("./get-credentials-by-uri.js")
Conf.prototype.setCredentialsByURI = require("./set-credentials-by-uri.js")
+Conf.prototype.clearCredentialsByURI = require("./clear-credentials-by-uri.js")
Conf.prototype.loadExtras = function(cb) {
this.setUser(function(er) {
diff --git a/deps/npm/lib/install.js b/deps/npm/lib/install.js
index 756d12ee3621ac..87a5b0bb95fe40 100644
--- a/deps/npm/lib/install.js
+++ b/deps/npm/lib/install.js
@@ -162,6 +162,12 @@ function install (args, cb_) {
peers.push(dep)
}
})
+ if (peers.length) {
+ log.warn("deprecation", "peerDependencies will no longer be")
+ log.warn("deprecation", "installed implicitly in the next major")
+ log.warn("deprecation", "version of npm (npm@3). You will need to")
+ log.warn("deprecation", "switch to depending on them explicitly.")
+ }
log.verbose("install", "where, peers", [where, peers])
var context = { family: {}
diff --git a/deps/npm/lib/logout.js b/deps/npm/lib/logout.js
new file mode 100644
index 00000000000000..64635be4decc4c
--- /dev/null
+++ b/deps/npm/lib/logout.js
@@ -0,0 +1,40 @@
+module.exports = logout
+
+var dezalgo = require("dezalgo")
+var log = require("npmlog")
+
+var npm = require("./npm.js")
+var mapToRegistry = require("./utils/map-to-registry.js")
+
+logout.usage = "npm logout [--registry] [--scope]"
+
+function logout (args, cb) {
+ npm.spinner.start()
+ cb = dezalgo(cb)
+
+ mapToRegistry("/", npm.config, function (err, uri, auth, normalized) {
+ if (err) return cb(err)
+
+ if (auth.token) {
+ log.verbose("logout", "clearing session token for", normalized)
+ npm.registry.logout(normalized, { auth: auth }, function (err) {
+ if (err) return cb(err)
+
+ npm.config.clearCredentialsByURI(normalized)
+ npm.spinner.stop()
+ npm.config.save("user", cb)
+ })
+ }
+ else if (auth.username || auth.password) {
+ log.verbose("logout", "clearing user credentials for", normalized)
+ npm.config.clearCredentialsByURI(normalized)
+ npm.spinner.stop()
+ npm.config.save("user", cb)
+ }
+ else {
+ cb(new Error(
+ "Not logged in to", normalized + ",", "so can't log out."
+ ))
+ }
+ })
+}
diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js
index 8077e8ac997668..25b7feab6a76b7 100644
--- a/deps/npm/lib/npm.js
+++ b/deps/npm/lib/npm.js
@@ -110,6 +110,7 @@ var commandCache = {}
, "stars"
, "tag"
, "adduser"
+ , "logout"
, "unpublish"
, "owner"
, "access"
diff --git a/deps/npm/lib/outdated.js b/deps/npm/lib/outdated.js
index f69d81550a367f..9c0623ef12bc69 100644
--- a/deps/npm/lib/outdated.js
+++ b/deps/npm/lib/outdated.js
@@ -41,6 +41,7 @@ function outdated (args, silent, cb) {
if (typeof cb !== "function") cb = silent, silent = false
var dir = path.resolve(npm.dir, "..")
outdated_(args, dir, {}, 0, function (er, list) {
+ if (!list) list = []
if (er || silent || list.length === 0) return cb(er, list)
if (npm.config.get("json")) {
console.log(makeJSON(list))
diff --git a/deps/npm/man/man1/npm-README.1 b/deps/npm/man/man1/npm-README.1
index 2d82982aef3756..aa6c29787a5e58 100644
--- a/deps/npm/man/man1/npm-README.1
+++ b/deps/npm/man/man1/npm-README.1
@@ -192,7 +192,7 @@ npm, Inc\. or the Node\.js project\.
.P
Data published to the npm registry is not part of npm itself, and is
the sole property of the publisher\. While every effort is made to
-ensure accountability, there is absolutely no guarantee, warrantee, or
+ensure accountability, there is absolutely no guarantee, warranty, or
assertion expressed or implied as to the quality, fitness for a
specific purpose, or lack of malice in any given npm package\.
.P
diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1
index 307a33747722bb..2ea011be609297 100644
--- a/deps/npm/man/man1/npm-access.1
+++ b/deps/npm/man/man1/npm-access.1
@@ -75,3 +75,4 @@ npm help 7 config
npm help 7 registry
.RE
+
diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1
index c1a51834dcfa4d..28c3c3da4bc817 100644
--- a/deps/npm/man/man1/npm-dist-tag.1
+++ b/deps/npm/man/man1/npm-dist-tag.1
@@ -24,7 +24,7 @@ Clear a tag that is no longer in use from the package\.
.IP \(bu 2
ls:
Show all of the dist\-tags for a package, defaulting to the package in
-the curren prefix\.
+the current prefix\.
.RE
.P
@@ -92,3 +92,4 @@ npm apihelp tag
npm help 5 npmrc
.RE
+
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
index 9151b68c0e01fa..6c4f04fb8778c6 100644
--- a/deps/npm/man/man1/npm-link.1
+++ b/deps/npm/man/man1/npm-link.1
@@ -45,7 +45,7 @@ npm link redis # link\-install the package
.RE
.P
Now, any changes to ~/projects/node\-redis will be reflected in
-~/projects/node\-bloggy/node_modules/redis/
+~/projects/node\-bloggy/node_modules/node\-redis/
.P
You may also shortcut the two steps in one\. For example, to do the
above use\-case in a shorter way:
@@ -62,7 +62,7 @@ The second line is the equivalent of doing:
.RS 2
.nf
(cd \.\./node\-redis; npm link)
-npm link redis
+npm link node\-redis
.fi
.RE
.P
diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1
new file mode 100644
index 00000000000000..9d56285ad3c65c
--- /dev/null
+++ b/deps/npm/man/man1/npm-logout.1
@@ -0,0 +1,62 @@
+.TH "NPM\-LOGOUT" "1" "February 2015" "" ""
+.SH "NAME"
+\fBnpm-logout\fR \- Log out of the registry
+.SH SYNOPSIS
+.P
+.RS 2
+.nf
+npm logout [\-\-registry=url] [\-\-scope=@orgname]
+.fi
+.RE
+.SH DESCRIPTION
+.P
+When logged into a registry that supports token\-based authentication, tell the
+server to end this token's session\. This will invalidate the token everywhere
+you're using it, not just for the current environment\.
+.P
+When logged into a legacy registry that uses username and password authentication, this will
+clear the credentials in your user configuration\. In this case, it will \fIonly\fR affect
+the current environment\.
+.P
+If \fB\-\-scope\fR is provided, this will find the credentials for the registry
+connected to that scope, if set\.
+.SH CONFIGURATION
+.SS registry
+.P
+Default: http://registry\.npmjs\.org/
+.P
+The base URL of the npm package registry\. If \fBscope\fR is also specified,
+it takes precedence\.
+.SS scope
+.P
+Default: none
+.P
+If specified, the user and login credentials given will be associated
+with the specified scope\. See npm help 7 \fBnpm\-scope\fR\|\. You can use both at the same time,
+e\.g\.
+.P
+.RS 2
+.nf
+npm adduser \-\-registry=http://myregistry\.example\.com \-\-scope=@myco
+.fi
+.RE
+.P
+This will set a registry for the given scope and login or create a user for
+that registry at the same time\.
+.SH SEE ALSO
+.RS 0
+.IP \(bu 2
+npm help adduser
+.IP \(bu 2
+npm help 7 registry
+.IP \(bu 2
+npm help config
+.IP \(bu 2
+npm help 7 config
+.IP \(bu 2
+npm help 5 npmrc
+.IP \(bu 2
+npm help whoami
+
+.RE
+
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 4f2d713e2e9ff1..1c11de9e070cd9 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -23,7 +23,7 @@ For example, running \fBnpm ls promzard\fR in npm's source tree will show:
.P
.RS 2
.nf
-npm@2.5.1 /path/to/npm
+npm@2.6.0 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 6794269320721b..c51359e173353f 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -10,7 +10,7 @@ npm [args]
.RE
.SH VERSION
.P
-2.5.1
+2.6.0
.SH DESCRIPTION
.P
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3
index 8fcfc1ebdc6692..7e86e410e24683 100644
--- a/deps/npm/man/man3/npm.3
+++ b/deps/npm/man/man3/npm.3
@@ -20,7 +20,7 @@ npm\.load([configObject, ]function (er, npm) {
.RE
.SH VERSION
.P
-2.5.1
+2.6.0
.SH DESCRIPTION
.P
This is the API documentation for npm\.
diff --git a/deps/npm/man/man5/npm-json.5 b/deps/npm/man/man5/npm-json.5
index e4a928569e638f..fcdfa167d57af3 100644
--- a/deps/npm/man/man5/npm-json.5
+++ b/deps/npm/man/man5/npm-json.5
@@ -77,7 +77,7 @@ It should look like this:
.P
.RS 2
.nf
-{ "url" : "http://github\.com/owner/project/issues"
+{ "url" : "https://github\.com/owner/project/issues"
, "email" : "project@hostname\.com"
}
.fi
@@ -251,7 +251,7 @@ will create entries for \fBman foo\fR and \fBman 2 foo\fR
.P
The CommonJS Packages \fIhttp://wiki\.commonjs\.org/wiki/Packages/1\.0\fR spec details a
few ways that you can indicate the structure of your package using a \fBdirectories\fR
-object\. If you look at npm's package\.json \fIhttp://registry\.npmjs\.org/npm/latest\fR,
+object\. If you look at npm's package\.json \fIhttps://registry\.npmjs\.org/npm/latest\fR,
you'll see that it has directories for doc, lib, and man\.
.P
In the future, this information may be used in other creative ways\.
@@ -288,12 +288,12 @@ Do it like this:
.nf
"repository" :
{ "type" : "git"
- , "url" : "http://github\.com/npm/npm\.git"
+ , "url" : "https://github\.com/npm/npm\.git"
}
"repository" :
{ "type" : "svn"
- , "url" : "http://v8\.googlecode\.com/svn/trunk/"
+ , "url" : "https://v8\.googlecode\.com/svn/trunk/"
}
.fi
.RE
@@ -301,6 +301,15 @@ Do it like this:
The URL should be a publicly available (perhaps read\-only) url that can be handed
directly to a VCS program without any modification\. It should not be a url to an
html project page that you put in your browser\. It's for computers\.
+.P
+For GitHub repositories you can use the same shortcut syntax you use for \fBnpm
+install\fR:
+.P
+.RS 2
+.nf
+"repository": "npm/npm"
+.fi
+.RE
.SH scripts
.P
The "scripts" property is a dictionary containing script commands that are run
@@ -531,9 +540,8 @@ For example:
.RE
.P
This ensures your package \fBtea\-latte\fR can be installed \fIalong\fR with the second
-major version of the host package \fBtea\fR only\. The host package is automatically
-installed if needed\. \fBnpm install tea\-latte\fR could possibly yield the following
-dependency graph:
+major version of the host package \fBtea\fR only\. \fBnpm install tea\-latte\fR could
+possibly yield the following dependency graph:
.P
.RS 2
.nf
@@ -542,6 +550,13 @@ dependency graph:
.fi
.RE
.P
+\fBNOTE: npm versions 1 and 2 will automatically install \fBpeerDependencies\fR if
+they are not explicitly depended upon higher in the dependency tree\. In the
+next major version of npm (npm@3), this will no longer be the case\. You will
+receive a warning that the peerDependency is not installed instead\.\fR The
+behavior in npms 1 & 2 was frequently confusing and could easily put you into
+dependency hell, a situation that npm is designed to avoid as much as possible\.
+.P
Trying to install another plugin with a conflicting requirement will cause an
error\. For this reason, make sure your plugin requirement is as broad as
possible, and not to lock it down to specific patch versions\.
@@ -618,6 +633,8 @@ Note that, unless the user has set the \fBengine\-strict\fR config flag, this
field is advisory only\.
.SH engineStrict
.P
+\fBNOTE: This feature is deprecated and will be removed in npm 3\.0\.0\.\fR
+.P
If you are sure that your module will \fIdefinitely not\fR run properly on
versions of Node/npm other than those specified in the \fBengines\fR object,
then you can set \fB"engineStrict": true\fR in your package\.json file\.
@@ -626,8 +643,7 @@ This will override the user's \fBengine\-strict\fR config setting\.
Please do not do this unless you are really very very sure\. If your
engines object is something overly restrictive, you can quite easily and
inadvertently lock yourself into obscurity and prevent your users from
-updating to new versions of Node\. Consider this choice carefully\. If
-people abuse it, it will be removed in a future version of npm\.
+updating to new versions of Node\. Consider this choice carefully\.
.SH os
.P
You can specify which operating systems your
diff --git a/deps/npm/man/man5/package.json.5 b/deps/npm/man/man5/package.json.5
index e4a928569e638f..fcdfa167d57af3 100644
--- a/deps/npm/man/man5/package.json.5
+++ b/deps/npm/man/man5/package.json.5
@@ -77,7 +77,7 @@ It should look like this:
.P
.RS 2
.nf
-{ "url" : "http://github\.com/owner/project/issues"
+{ "url" : "https://github\.com/owner/project/issues"
, "email" : "project@hostname\.com"
}
.fi
@@ -251,7 +251,7 @@ will create entries for \fBman foo\fR and \fBman 2 foo\fR
.P
The CommonJS Packages \fIhttp://wiki\.commonjs\.org/wiki/Packages/1\.0\fR spec details a
few ways that you can indicate the structure of your package using a \fBdirectories\fR
-object\. If you look at npm's package\.json \fIhttp://registry\.npmjs\.org/npm/latest\fR,
+object\. If you look at npm's package\.json \fIhttps://registry\.npmjs\.org/npm/latest\fR,
you'll see that it has directories for doc, lib, and man\.
.P
In the future, this information may be used in other creative ways\.
@@ -288,12 +288,12 @@ Do it like this:
.nf
"repository" :
{ "type" : "git"
- , "url" : "http://github\.com/npm/npm\.git"
+ , "url" : "https://github\.com/npm/npm\.git"
}
"repository" :
{ "type" : "svn"
- , "url" : "http://v8\.googlecode\.com/svn/trunk/"
+ , "url" : "https://v8\.googlecode\.com/svn/trunk/"
}
.fi
.RE
@@ -301,6 +301,15 @@ Do it like this:
The URL should be a publicly available (perhaps read\-only) url that can be handed
directly to a VCS program without any modification\. It should not be a url to an
html project page that you put in your browser\. It's for computers\.
+.P
+For GitHub repositories you can use the same shortcut syntax you use for \fBnpm
+install\fR:
+.P
+.RS 2
+.nf
+"repository": "npm/npm"
+.fi
+.RE
.SH scripts
.P
The "scripts" property is a dictionary containing script commands that are run
@@ -531,9 +540,8 @@ For example:
.RE
.P
This ensures your package \fBtea\-latte\fR can be installed \fIalong\fR with the second
-major version of the host package \fBtea\fR only\. The host package is automatically
-installed if needed\. \fBnpm install tea\-latte\fR could possibly yield the following
-dependency graph:
+major version of the host package \fBtea\fR only\. \fBnpm install tea\-latte\fR could
+possibly yield the following dependency graph:
.P
.RS 2
.nf
@@ -542,6 +550,13 @@ dependency graph:
.fi
.RE
.P
+\fBNOTE: npm versions 1 and 2 will automatically install \fBpeerDependencies\fR if
+they are not explicitly depended upon higher in the dependency tree\. In the
+next major version of npm (npm@3), this will no longer be the case\. You will
+receive a warning that the peerDependency is not installed instead\.\fR The
+behavior in npms 1 & 2 was frequently confusing and could easily put you into
+dependency hell, a situation that npm is designed to avoid as much as possible\.
+.P
Trying to install another plugin with a conflicting requirement will cause an
error\. For this reason, make sure your plugin requirement is as broad as
possible, and not to lock it down to specific patch versions\.
@@ -618,6 +633,8 @@ Note that, unless the user has set the \fBengine\-strict\fR config flag, this
field is advisory only\.
.SH engineStrict
.P
+\fBNOTE: This feature is deprecated and will be removed in npm 3\.0\.0\.\fR
+.P
If you are sure that your module will \fIdefinitely not\fR run properly on
versions of Node/npm other than those specified in the \fBengines\fR object,
then you can set \fB"engineStrict": true\fR in your package\.json file\.
@@ -626,8 +643,7 @@ This will override the user's \fBengine\-strict\fR config setting\.
Please do not do this unless you are really very very sure\. If your
engines object is something overly restrictive, you can quite easily and
inadvertently lock yourself into obscurity and prevent your users from
-updating to new versions of Node\. Consider this choice carefully\. If
-people abuse it, it will be removed in a future version of npm\.
+updating to new versions of Node\. Consider this choice carefully\.
.SH os
.P
You can specify which operating systems your
diff --git a/deps/npm/man/man7/npm-index.7 b/deps/npm/man/man7/npm-index.7
index f9c996fb78c66b..c1491c918b2894 100644
--- a/deps/npm/man/man7/npm-index.7
+++ b/deps/npm/man/man7/npm-index.7
@@ -70,6 +70,9 @@ Install a package
.SS npm help link
.P
Symlink a package folder
+.SS npm help logout
+.P
+Log out of the registry
.SS npm help ls
.P
List installed packages
diff --git a/deps/npm/man/man7/semver.7 b/deps/npm/man/man7/semver.7
index de6a8891854e96..d15e0de43ed939 100644
--- a/deps/npm/man/man7/semver.7
+++ b/deps/npm/man/man7/semver.7
@@ -311,6 +311,12 @@ prerelease\. If the input version is already a prerelease it simply
increments it\.
.RE
+.IP \(bu 2
+\fBmajor(v)\fR: Return the major version number\.
+.IP \(bu 2
+\fBminor(v)\fR: Return the minor version number\.
+.IP \(bu 2
+\fBpatch(v)\fR: Return the patch version number\.
.RE
.SS Comparison
diff --git a/deps/npm/node_modules/columnify/Readme.md b/deps/npm/node_modules/columnify/Readme.md
index d0deee1bb6b374..b2b846f366be99 100644
--- a/deps/npm/node_modules/columnify/Readme.md
+++ b/deps/npm/node_modules/columnify/Readme.md
@@ -175,11 +175,11 @@ console.log(columns)
#### Output:
```
-NAME DESCRIPTION VERSION
-mod1 some description which happens 0.0.1
- to be far larger than the max
-module-two another description larger 0.2.0
- than the max
+NAME DESCRIPTION VERSION
+mod1 some description which happens 0.0.1
+ to be far larger than the max
+module-two another description larger 0.2.0
+ than the max
```
#### Maximum Line Width
@@ -392,8 +392,8 @@ var columns = columnify([{
```
#### Output:
```
-*MODULE NAME* DESCRIPTION
-mod1 some description text.
+*MODULE NAME* DESCRIPTION
+mod1 some description text.
module-two some slightly longer description text.
```
diff --git a/deps/npm/node_modules/columnify/columnify.js b/deps/npm/node_modules/columnify/columnify.js
index 912ab845858d9a..548efc679de024 100644
--- a/deps/npm/node_modules/columnify/columnify.js
+++ b/deps/npm/node_modules/columnify/columnify.js
@@ -298,3 +298,4 @@ function toArray(items, columnNames) {
}
return rows;
}
+
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/clone.js b/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/clone.js
index 321ffa30f5e2ab..f8fa3159a7c4ee 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/clone.js
+++ b/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/clone.js
@@ -114,7 +114,7 @@ function clone(parent, circular, depth, prototype) {
if (proto) {
attrs = Object.getOwnPropertyDescriptor(proto, i);
}
-
+
if (attrs && attrs.set == null) {
continue;
}
diff --git a/deps/npm/node_modules/ini/ini.js b/deps/npm/node_modules/ini/ini.js
index 1e232e74387036..ddf5bd9cc6baed 100644
--- a/deps/npm/node_modules/ini/ini.js
+++ b/deps/npm/node_modules/ini/ini.js
@@ -145,7 +145,7 @@ function isQuoted (val) {
function safe (val) {
return ( typeof val !== "string"
- || val.match(/[\r\n]/)
+ || val.match(/[=\r\n]/)
|| val.match(/^\[/)
|| (val.length > 1
&& isQuoted(val))
diff --git a/deps/npm/node_modules/ini/package.json b/deps/npm/node_modules/ini/package.json
index a910b788619c91..5a1e10b81c9aa2 100644
--- a/deps/npm/node_modules/ini/package.json
+++ b/deps/npm/node_modules/ini/package.json
@@ -6,7 +6,7 @@
},
"name": "ini",
"description": "An ini encoder/decoder for node",
- "version": "1.3.2",
+ "version": "1.3.3",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/ini.git"
@@ -23,16 +23,16 @@
"tap": "~0.4.0"
},
"license": "ISC",
- "gitHead": "bbe4a8bb09afa58f724c04ce43a49037cabeadfb",
+ "gitHead": "566268f1fb8dd3c0f7d968091de7b7fb2b97b483",
"bugs": {
"url": "https://github.com/isaacs/ini/issues"
},
"homepage": "https://github.com/isaacs/ini",
- "_id": "ini@1.3.2",
- "_shasum": "9ebf4a44daf9d89acd07aab9f89a083d887f6dec",
- "_from": "ini@>=1.3.2 <1.4.0",
- "_npmVersion": "2.1.9",
- "_nodeVersion": "0.10.16",
+ "_id": "ini@1.3.3",
+ "_shasum": "c07e34aef1de06aff21d413b458e52b21533a11e",
+ "_from": "ini@>=1.3.1 <1.4.0",
+ "_npmVersion": "2.5.1",
+ "_nodeVersion": "1.1.0",
"_npmUser": {
"name": "isaacs",
"email": "i@izs.me"
@@ -44,9 +44,9 @@
}
],
"dist": {
- "shasum": "9ebf4a44daf9d89acd07aab9f89a083d887f6dec",
- "tarball": "http://registry.npmjs.org/ini/-/ini-1.3.2.tgz"
+ "shasum": "c07e34aef1de06aff21d413b458e52b21533a11e",
+ "tarball": "http://registry.npmjs.org/ini/-/ini-1.3.3.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.2.tgz"
+ "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz"
}
diff --git a/deps/npm/node_modules/ini/test/fixtures/foo.ini b/deps/npm/node_modules/ini/test/fixtures/foo.ini
index 27555e9d82d1d6..fc2080f161167f 100644
--- a/deps/npm/node_modules/ini/test/fixtures/foo.ini
+++ b/deps/npm/node_modules/ini/test/fixtures/foo.ini
@@ -29,6 +29,8 @@ ar = this is included
br = cold
br = warm
+eq = "eq=eq"
+
; a section
[a]
av = a val
diff --git a/deps/npm/node_modules/ini/test/foo.js b/deps/npm/node_modules/ini/test/foo.js
index 9d34aa6fdaf37b..58102d1e7254c2 100644
--- a/deps/npm/node_modules/ini/test/foo.js
+++ b/deps/npm/node_modules/ini/test/foo.js
@@ -18,6 +18,7 @@ var i = require("../")
+ 'ar[]=three\n'
+ 'ar[]=this is included\n'
+ 'br=warm\n'
+ + 'eq=\"eq=eq\"\n'
+ '\n'
+ '[a]\n'
+ 'av=a val\n'
@@ -43,6 +44,7 @@ var i = require("../")
'zr': ['deedee'],
'ar': ['one', 'three', 'this is included'],
'br': 'warm',
+ 'eq': 'eq=eq',
a:
{ av: 'a val',
e: '{ o: p, a: { av: a val, b: { c: { e: "this [value]" } } } }',
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md
index fd4e03a897d140..f23049dc3bf509 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md
@@ -1,6 +1,6 @@
# brace-expansion
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
+[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
as known from sh/bash, in JavaScript.
[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.png)](http://travis-ci.org/juliangruber/brace-expansion)
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/example.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/example.js
index 36cde4de5c114b..60ecfc74d41618 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/example.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/example.js
@@ -5,3 +5,4 @@ console.log(expand('http://www.numericals.com/file{1..100..10}.txt'));
console.log(expand('http://www.letters.com/file{a..z..2}.txt'));
console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}'));
console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}'));
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.bak b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.bak
index ed35e15af3d0e0..71b53671d7c868 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.bak
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.bak
@@ -195,3 +195,4 @@ function expand(str, isTop) {
return expansions;
}
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.js
index f8d40f79acde0a..a23104e9550173 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.js
@@ -188,3 +188,4 @@ function expand(str, isTop) {
return expansions;
}
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
index dd2730cfde0cab..fa5da71a6d0d34 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
@@ -3,3 +3,4 @@ test:
@node_modules/.bin/tape test/*.js
.PHONY: test
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
index 9ce76f480a4321..c02ad348e69aec 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
@@ -2,3 +2,4 @@ var balanced = require('./');
console.log(balanced('{', '}', 'pre{in{nested}}post'));
console.log(balanced('{', '}', 'pre{first}between{second}post'));
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js
index fd1132826a00c9..e429121eab8059 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js
@@ -7,3 +7,4 @@ test('empty option', function(t) {
]);
t.end();
});
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js
index 54d1e88f6865bf..0862dc51f90aee 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js
@@ -13,3 +13,4 @@ test('nested', function(t) {
]);
t.end();
});
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js
index d5f62566c95d6d..c00ad155fe6760 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js
@@ -7,3 +7,4 @@ test('order', function(t) {
]);
t.end();
});
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js
index f830f7c46621bb..e4158775f1bd06 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js
@@ -10,3 +10,4 @@ test('pad', function(t) {
]);
t.end();
});
+
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js
index 18ee665fb99cd9..f73a9579ab398b 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js
+++ b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js
@@ -47,3 +47,4 @@ test('alphabetic sequences with step count', function(t) {
]);
t.end();
});
+
diff --git a/deps/npm/node_modules/node-gyp/addon.gypi b/deps/npm/node_modules/node-gyp/addon.gypi
index 63fefe3d16c80b..0b81fab2027ff7 100644
--- a/deps/npm/node_modules/node-gyp/addon.gypi
+++ b/deps/npm/node_modules/node-gyp/addon.gypi
@@ -42,7 +42,7 @@
'-luuid.lib',
'-lodbc32.lib',
'-lDelayImp.lib',
- '-l"<(node_root_dir)/$(ConfigurationName)/iojs.lib"'
+ '-l"<(node_root_dir)/$(ConfigurationName)/node.lib"'
],
# warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent'
# needs to have dll-interface to be used by clients of class 'node::ObjectWrap'
diff --git a/deps/npm/node_modules/node-gyp/lib/build.js b/deps/npm/node_modules/node-gyp/lib/build.js
index 3d3c58785f1795..f3605902e93c10 100644
--- a/deps/npm/node_modules/node-gyp/lib/build.js
+++ b/deps/npm/node_modules/node-gyp/lib/build.js
@@ -173,7 +173,7 @@ function build (gyp, argv, callback) {
}
/**
- * Copies the iojs.lib file for the current target architecture into the
+ * Copies the node.lib file for the current target architecture into the
* current proper dev dir location.
*/
@@ -181,15 +181,15 @@ function build (gyp, argv, callback) {
if (!win || !copyDevLib) return doBuild()
var buildDir = path.resolve(nodeDir, buildType)
- , archNodeLibPath = path.resolve(nodeDir, arch, 'iojs.lib')
- , buildNodeLibPath = path.resolve(buildDir, 'iojs.lib')
+ , archNodeLibPath = path.resolve(nodeDir, arch, 'node.lib')
+ , buildNodeLibPath = path.resolve(buildDir, 'node.lib')
mkdirp(buildDir, function (err, isNew) {
if (err) return callback(err)
log.verbose('"' + buildType + '" dir needed to be created?', isNew)
var rs = fs.createReadStream(archNodeLibPath)
, ws = fs.createWriteStream(buildNodeLibPath)
- log.verbose('copying "iojs.lib" for ' + arch, buildNodeLibPath)
+ log.verbose('copying "node.lib" for ' + arch, buildNodeLibPath)
rs.pipe(ws)
rs.on('error', callback)
ws.on('error', callback)
diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js
index 378fbfae4769b5..6f72e6a93d6cf8 100644
--- a/deps/npm/node_modules/node-gyp/lib/install.js
+++ b/deps/npm/node_modules/node-gyp/lib/install.js
@@ -39,7 +39,7 @@ function install (gyp, argv, callback) {
}
}
- var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'https://iojs.org/dist'
+ var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'http://nodejs.org/dist'
// Determine which node dev files version we are installing
@@ -185,7 +185,7 @@ function install (gyp, argv, callback) {
// now download the node tarball
var tarPath = gyp.opts['tarball']
- var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/iojs-v' + version + '.tar.gz'
+ var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/node-v' + version + '.tar.gz'
, badDownload = false
, extractCount = 0
, gunzip = zlib.createGunzip()
@@ -267,7 +267,7 @@ function install (gyp, argv, callback) {
var async = 0
if (win) {
- // need to download iojs.lib
+ // need to download node.lib
async++
downloadNodeLib(deref)
}
@@ -295,8 +295,7 @@ function install (gyp, argv, callback) {
// check content shasums
for (var k in contentShasums) {
log.verbose('validating download checksum for ' + k, '(%s == %s)', contentShasums[k], expectShasums[k])
- // TODO(piscisaureus) re-enable checksum verification when the correct files are in place.
- if (false || contentShasums[k] !== expectShasums[k]) {
+ if (contentShasums[k] !== expectShasums[k]) {
cb(new Error(k + ' local checksum ' + contentShasums[k] + ' not match remote ' + expectShasums[k]))
return
}
@@ -344,36 +343,36 @@ function install (gyp, argv, callback) {
}
function downloadNodeLib (done) {
- log.verbose('on Windows; need to download `iojs.lib`...')
+ log.verbose('on Windows; need to download `node.lib`...')
var dir32 = path.resolve(devDir, 'ia32')
, dir64 = path.resolve(devDir, 'x64')
- , nodeLibPath32 = path.resolve(dir32, 'iojs.lib')
- , nodeLibPath64 = path.resolve(dir64, 'iojs.lib')
- , nodeLibUrl32 = distUrl + '/v' + version + '/win-x86/iojs.lib'
- , nodeLibUrl64 = distUrl + '/v' + version + '/win-x64/iojs.lib'
+ , nodeLibPath32 = path.resolve(dir32, 'node.lib')
+ , nodeLibPath64 = path.resolve(dir64, 'node.lib')
+ , nodeLibUrl32 = distUrl + '/v' + version + '/node.lib'
+ , nodeLibUrl64 = distUrl + '/v' + version + '/x64/node.lib'
- log.verbose('32-bit iojs.lib dir', dir32)
- log.verbose('64-bit iojs.lib dir', dir64)
- log.verbose('`iojs.lib` 32-bit url', nodeLibUrl32)
- log.verbose('`iojs.lib` 64-bit url', nodeLibUrl64)
+ log.verbose('32-bit node.lib dir', dir32)
+ log.verbose('64-bit node.lib dir', dir64)
+ log.verbose('`node.lib` 32-bit url', nodeLibUrl32)
+ log.verbose('`node.lib` 64-bit url', nodeLibUrl64)
var async = 2
mkdir(dir32, function (err) {
if (err) return done(err)
- log.verbose('streaming 32-bit iojs.lib to:', nodeLibPath32)
+ log.verbose('streaming 32-bit node.lib to:', nodeLibPath32)
var req = download(nodeLibUrl32)
if (!req) return
req.on('error', done)
req.on('response', function (res) {
if (res.statusCode !== 200) {
- done(new Error(res.statusCode + ' status code downloading 32-bit iojs.lib'))
+ done(new Error(res.statusCode + ' status code downloading 32-bit node.lib'))
return
}
getContentSha(res, function (_, checksum) {
- contentShasums['win-x86/iojs.lib'] = checksum
- log.verbose('content checksum', 'win-x86/iojs.lib', checksum)
+ contentShasums['node.lib'] = checksum
+ log.verbose('content checksum', 'node.lib', checksum)
})
var ws = fs.createWriteStream(nodeLibPath32)
@@ -386,20 +385,20 @@ function install (gyp, argv, callback) {
})
mkdir(dir64, function (err) {
if (err) return done(err)
- log.verbose('streaming 64-bit iojs.lib to:', nodeLibPath64)
+ log.verbose('streaming 64-bit node.lib to:', nodeLibPath64)
var req = download(nodeLibUrl64)
if (!req) return
req.on('error', done)
req.on('response', function (res) {
if (res.statusCode !== 200) {
- done(new Error(res.statusCode + ' status code downloading 64-bit iojs.lib'))
+ done(new Error(res.statusCode + ' status code downloading 64-bit node.lib'))
return
}
getContentSha(res, function (_, checksum) {
- contentShasums['win-x64/iojs.lib'] = checksum
- log.verbose('content checksum', 'win-x64/iojs.lib', checksum)
+ contentShasums['x64/node.lib'] = checksum
+ log.verbose('content checksum', 'x64/node.lib', checksum)
})
var ws = fs.createWriteStream(nodeLibPath64)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js
index 6149a80239f059..50c53a13e98d0e 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js
@@ -21,3 +21,4 @@ test('basic', function (t) {
t.equal(sigmund(obj3), cycleHash)
t.end()
})
+
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js
index c3e19d9baf571b..e63d3f60c80e82 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js
@@ -36,3 +36,5 @@ tap.test("brace expansion", function (t) {
console.error("ending")
t.end()
})
+
+
diff --git a/deps/npm/node_modules/npm-registry-client/.travis.yml b/deps/npm/node_modules/npm-registry-client/.travis.yml
new file mode 100644
index 00000000000000..686d9aecaf6450
--- /dev/null
+++ b/deps/npm/node_modules/npm-registry-client/.travis.yml
@@ -0,0 +1,10 @@
+language: node_js
+node_js:
+ - "0.12"
+ - "0.10"
+ - iojs
+before_install:
+ - "npm install -g npm@^2"
+script: "npm test"
+notifications:
+ slack: npm-inc:kRqQjto7YbINqHPb1X6nS3g8
diff --git a/deps/npm/node_modules/npm-registry-client/lib/logout.js b/deps/npm/node_modules/npm-registry-client/lib/logout.js
new file mode 100644
index 00000000000000..00964a4be7c173
--- /dev/null
+++ b/deps/npm/node_modules/npm-registry-client/lib/logout.js
@@ -0,0 +1,23 @@
+module.exports = logout
+
+var assert = require("assert")
+var url = require("url")
+
+function logout (uri, params, cb) {
+ assert(typeof uri === "string", "must pass registry URI to logout")
+ assert(params && typeof params === "object", "must pass params to logout")
+ assert(typeof cb === "function", "must pass callback to star")
+
+ var auth = params.auth
+ assert(auth && typeof auth === "object", "must pass auth to logout")
+ assert(typeof auth.token === "string", "can only log out for token auth")
+
+ uri = url.resolve(uri, "-/user/token/" + auth.token)
+ var options = {
+ method: "DELETE",
+ auth: auth
+ }
+
+ this.log.verbose("logout", "invalidating session token for user")
+ this.request(uri, options, cb)
+}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE
index 1e836b4760025f..99c130e1de3427 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE
@@ -2,23 +2,23 @@ The MIT License
Copyright (c) 2013 Max Ogden
-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,
+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
+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
+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.
\ No newline at end of file
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/README.md b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/README.md
index 9e9b6eee9f349f..e46b823903d2c6 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/README.md
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/README.md
@@ -12,3 +12,4 @@ If you want to guarantee a stable streams base, regardless of what version of No
**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12.
**readable-stream** uses proper patch-level versioning so if you pin to `"~1.0.0"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `"~1.1.0"`
+
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/float.patch b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/float.patch
index 7abb6dc30b21bf..b984607a41cc1f 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/float.patch
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/float.patch
@@ -3,36 +3,36 @@ index c5a741c..a2e0d8e 100644
--- a/lib/_stream_duplex.js
+++ b/lib/_stream_duplex.js
@@ -26,8 +26,8 @@
-
+
module.exports = Duplex;
var util = require('util');
-var Readable = require('_stream_readable');
-var Writable = require('_stream_writable');
+var Readable = require('./_stream_readable');
+var Writable = require('./_stream_writable');
-
+
util.inherits(Duplex, Readable);
-
+
diff --git a/lib/_stream_passthrough.js b/lib/_stream_passthrough.js
index a5e9864..330c247 100644
--- a/lib/_stream_passthrough.js
+++ b/lib/_stream_passthrough.js
@@ -25,7 +25,7 @@
-
+
module.exports = PassThrough;
-
+
-var Transform = require('_stream_transform');
+var Transform = require('./_stream_transform');
var util = require('util');
util.inherits(PassThrough, Transform);
-
+
diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js
index 0c3fe3e..90a8298 100644
--- a/lib/_stream_readable.js
+++ b/lib/_stream_readable.js
@@ -23,10 +23,34 @@ module.exports = Readable;
Readable.ReadableState = ReadableState;
-
+
var EE = require('events').EventEmitter;
+if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
+ return emitter.listeners(type).length;
@@ -63,12 +63,12 @@ index 0c3fe3e..90a8298 100644
+} catch (er) {
+ debug = function() {};
+}
-
+
util.inherits(Readable, Stream);
-
+
@@ -380,7 +404,7 @@ function chunkInvalid(state, chunk) {
-
-
+
+
function onEofChunk(stream, state) {
- if (state.decoder && !state.ended) {
+ if (state.decoder && !state.ended && state.decoder.end) {
@@ -80,9 +80,9 @@ index b1f9fcc..b0caf57 100644
--- a/lib/_stream_transform.js
+++ b/lib/_stream_transform.js
@@ -64,8 +64,14 @@
-
+
module.exports = Transform;
-
+
-var Duplex = require('_stream_duplex');
+var Duplex = require('./_stream_duplex');
var util = require('util');
@@ -93,15 +93,15 @@ index b1f9fcc..b0caf57 100644
+ }
+}
util.inherits(Transform, Duplex);
-
-
+
+
diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js
index ba2e920..f49288b 100644
--- a/lib/_stream_writable.js
+++ b/lib/_stream_writable.js
@@ -27,6 +27,12 @@ module.exports = Writable;
Writable.WritableState = WritableState;
-
+
var util = require('util');
+if (!util.isUndefined) {
+ var utilIs = require('core-util-is');
@@ -110,7 +110,7 @@ index ba2e920..f49288b 100644
+ }
+}
var Stream = require('stream');
-
+
util.inherits(Writable, Stream);
@@ -119,7 +125,7 @@ function WritableState(options, stream) {
function Writable(options) {
@@ -119,29 +119,29 @@ index ba2e920..f49288b 100644
- if (!(this instanceof Writable) && !(this instanceof Stream.Duplex))
+ if (!(this instanceof Writable) && !(this instanceof require('./_stream_duplex')))
return new Writable(options);
-
+
this._writableState = new WritableState(options, this);
diff --git a/test/simple/test-stream-big-push.js b/test/simple/test-stream-big-push.js
index e3787e4..8cd2127 100644
--- a/test/simple/test-stream-big-push.js
+++ b/test/simple/test-stream-big-push.js
@@ -21,7 +21,7 @@
-
+
var common = require('../common');
var assert = require('assert');
-var stream = require('stream');
+var stream = require('../../');
var str = 'asdfasdfasdfasdfasdf';
-
+
var r = new stream.Readable({
diff --git a/test/simple/test-stream-end-paused.js b/test/simple/test-stream-end-paused.js
index bb73777..d40efc7 100644
--- a/test/simple/test-stream-end-paused.js
+++ b/test/simple/test-stream-end-paused.js
@@ -25,7 +25,7 @@ var gotEnd = false;
-
+
// Make sure we don't miss the end event for paused 0-length streams
-
+
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
var stream = new Readable();
@@ -154,13 +154,13 @@ index b46ee90..0be8366 100644
@@ -22,8 +22,8 @@
var common = require('../common');
var assert = require('assert');
-
+
-var Readable = require('_stream_readable');
-var Writable = require('_stream_writable');
+var Readable = require('../../lib/_stream_readable');
+var Writable = require('../../lib/_stream_writable');
var util = require('util');
-
+
util.inherits(TestReadable, Readable);
diff --git a/test/simple/test-stream-pipe-cleanup.js b/test/simple/test-stream-pipe-cleanup.js
deleted file mode 100644
@@ -295,12 +295,12 @@ index c5d724b..c7d6b7d 100644
--- a/test/simple/test-stream-pipe-error-handling.js
+++ b/test/simple/test-stream-pipe-error-handling.js
@@ -21,7 +21,7 @@
-
+
var common = require('../common');
var assert = require('assert');
-var Stream = require('stream').Stream;
+var Stream = require('../../').Stream;
-
+
(function testErrorListenerCatches() {
var source = new Stream();
diff --git a/test/simple/test-stream-pipe-event.js b/test/simple/test-stream-pipe-event.js
@@ -309,25 +309,25 @@ index cb9d5fe..56f8d61 100644
+++ b/test/simple/test-stream-pipe-event.js
@@ -20,7 +20,7 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
+
var common = require('../common');
-var stream = require('stream');
+var stream = require('../../');
var assert = require('assert');
var util = require('util');
-
+
diff --git a/test/simple/test-stream-push-order.js b/test/simple/test-stream-push-order.js
index f2e6ec2..a5c9bf9 100644
--- a/test/simple/test-stream-push-order.js
+++ b/test/simple/test-stream-push-order.js
@@ -20,7 +20,7 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
+
var common = require('../common.js');
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
var assert = require('assert');
-
+
var s = new Readable({
diff --git a/test/simple/test-stream-push-strings.js b/test/simple/test-stream-push-strings.js
index 06f43dc..1701a9a 100644
@@ -336,11 +336,11 @@ index 06f43dc..1701a9a 100644
@@ -22,7 +22,7 @@
var common = require('../common');
var assert = require('assert');
-
+
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
var util = require('util');
-
+
util.inherits(MyStream, Readable);
diff --git a/test/simple/test-stream-readable-event.js b/test/simple/test-stream-readable-event.js
index ba6a577..a8e6f7b 100644
@@ -349,10 +349,10 @@ index ba6a577..a8e6f7b 100644
@@ -22,7 +22,7 @@
var common = require('../common');
var assert = require('assert');
-
+
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
-
+
(function first() {
// First test, not reading when the readable is added.
diff --git a/test/simple/test-stream-readable-flow-recursion.js b/test/simple/test-stream-readable-flow-recursion.js
@@ -362,10 +362,10 @@ index 2891ad6..11689ba 100644
@@ -27,7 +27,7 @@ var assert = require('assert');
// more data continuously, but without triggering a nextTick
// warning or RangeError.
-
+
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
-
+
// throw an error if we trigger a nextTick warning.
process.throwDeprecation = true;
diff --git a/test/simple/test-stream-unshift-empty-chunk.js b/test/simple/test-stream-unshift-empty-chunk.js
@@ -373,12 +373,12 @@ index 0c96476..7827538 100644
--- a/test/simple/test-stream-unshift-empty-chunk.js
+++ b/test/simple/test-stream-unshift-empty-chunk.js
@@ -24,7 +24,7 @@ var assert = require('assert');
-
- // This test verifies that stream.unshift(Buffer(0)) or
+
+ // This test verifies that stream.unshift(Buffer(0)) or
// stream.unshift('') does not set state.reading=false.
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
-
+
var r = new Readable();
var nChunks = 10;
diff --git a/test/simple/test-stream-unshift-read-race.js b/test/simple/test-stream-unshift-read-race.js
@@ -388,14 +388,14 @@ index 83fd9fa..17c18aa 100644
@@ -29,7 +29,7 @@ var assert = require('assert');
// 3. push() after the EOF signaling null is an error.
// 4. _read() is not called after pushing the EOF null chunk.
-
+
-var stream = require('stream');
+var stream = require('../../');
var hwm = 10;
var r = stream.Readable({ highWaterMark: hwm });
var chunks = 10;
@@ -51,7 +51,14 @@ r._read = function(n) {
-
+
function push(fast) {
assert(!pushedNull, 'push() after null push');
- var c = pos >= data.length ? null : data.slice(pos, pos + n);
@@ -417,10 +417,10 @@ index 5b49e6e..b5321f3 100644
@@ -22,7 +22,7 @@
var common = require('../common');
var assert = require('assert');
-
+
-var stream = require('stream');
+var stream = require('../../');
-
+
var queue = [];
for (var decode = 0; decode < 2; decode++) {
diff --git a/test/simple/test-stream2-basic.js b/test/simple/test-stream2-basic.js
@@ -428,26 +428,26 @@ index 3814bf0..248c1be 100644
--- a/test/simple/test-stream2-basic.js
+++ b/test/simple/test-stream2-basic.js
@@ -21,7 +21,7 @@
-
-
+
+
var common = require('../common.js');
-var R = require('_stream_readable');
+var R = require('../../lib/_stream_readable');
var assert = require('assert');
-
+
var util = require('util');
diff --git a/test/simple/test-stream2-compatibility.js b/test/simple/test-stream2-compatibility.js
index 6cdd4e9..f0fa84b 100644
--- a/test/simple/test-stream2-compatibility.js
+++ b/test/simple/test-stream2-compatibility.js
@@ -21,7 +21,7 @@
-
-
+
+
var common = require('../common.js');
-var R = require('_stream_readable');
+var R = require('../../lib/_stream_readable');
var assert = require('assert');
-
+
var util = require('util');
diff --git a/test/simple/test-stream2-finish-pipe.js b/test/simple/test-stream2-finish-pipe.js
index 39b274f..006a19b 100644
@@ -455,12 +455,12 @@ index 39b274f..006a19b 100644
+++ b/test/simple/test-stream2-finish-pipe.js
@@ -20,7 +20,7 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
+
var common = require('../common.js');
-var stream = require('stream');
+var stream = require('../../');
var Buffer = require('buffer').Buffer;
-
+
var r = new stream.Readable();
diff --git a/test/simple/test-stream2-fs.js b/test/simple/test-stream2-fs.js
deleted file mode 100644
@@ -605,7 +605,7 @@ index 2fbfbca..667985b 100644
@@ -30,7 +30,7 @@ var PUSHSIZE = 20;
var PUSHCOUNT = 1000;
var HWM = 50;
-
+
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
var r = new Readable({
@@ -613,7 +613,7 @@ index 2fbfbca..667985b 100644
});
@@ -39,23 +39,23 @@ var rs = r._readableState;
r._read = push;
-
+
r.on('readable', function() {
- console.error('>> readable');
+ //console.error('>> readable');
@@ -624,7 +624,7 @@ index 2fbfbca..667985b 100644
- console.error(' < %j (%d remain)', ret && ret.length, rs.length);
+ //console.error(' < %j (%d remain)', ret && ret.length, rs.length);
} while (ret && ret.length === READSIZE);
-
+
- console.error('<< after read()',
- ret && ret.length,
- rs.needReadable,
@@ -634,24 +634,24 @@ index 2fbfbca..667985b 100644
+ // rs.needReadable,
+ // rs.length);
});
-
+
var endEmitted = false;
r.on('end', function() {
endEmitted = true;
- console.error('end');
+ //console.error('end');
});
-
+
var pushes = 0;
@@ -64,11 +64,11 @@ function push() {
return;
-
+
if (pushes++ === PUSHCOUNT) {
- console.error(' push(EOF)');
+ //console.error(' push(EOF)');
return r.push(null);
}
-
+
- console.error(' push #%d', pushes);
+ //console.error(' push #%d', pushes);
if (r.push(new Buffer(PUSHSIZE)))
@@ -662,27 +662,27 @@ index 3e6931d..ff47d89 100644
--- a/test/simple/test-stream2-objects.js
+++ b/test/simple/test-stream2-objects.js
@@ -21,8 +21,8 @@
-
-
+
+
var common = require('../common.js');
-var Readable = require('_stream_readable');
-var Writable = require('_stream_writable');
+var Readable = require('../../lib/_stream_readable');
+var Writable = require('../../lib/_stream_writable');
var assert = require('assert');
-
+
// tiny node-tap lookalike.
diff --git a/test/simple/test-stream2-pipe-error-handling.js b/test/simple/test-stream2-pipe-error-handling.js
index cf7531c..e3f3e4e 100644
--- a/test/simple/test-stream2-pipe-error-handling.js
+++ b/test/simple/test-stream2-pipe-error-handling.js
@@ -21,7 +21,7 @@
-
+
var common = require('../common');
var assert = require('assert');
-var stream = require('stream');
+var stream = require('../../');
-
+
(function testErrorListenerCatches() {
var count = 1000;
diff --git a/test/simple/test-stream2-pipe-error-once-listener.js b/test/simple/test-stream2-pipe-error-once-listener.js
@@ -691,12 +691,12 @@ index 5e8e3cb..53b2616 100755
+++ b/test/simple/test-stream2-pipe-error-once-listener.js
@@ -24,7 +24,7 @@ var common = require('../common.js');
var assert = require('assert');
-
+
var util = require('util');
-var stream = require('stream');
+var stream = require('../../');
-
-
+
+
var Read = function() {
diff --git a/test/simple/test-stream2-push.js b/test/simple/test-stream2-push.js
index b63edc3..eb2b0e9 100644
@@ -704,7 +704,7 @@ index b63edc3..eb2b0e9 100644
+++ b/test/simple/test-stream2-push.js
@@ -20,7 +20,7 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
+
var common = require('../common.js');
-var stream = require('stream');
+var stream = require('../../');
@@ -716,14 +716,14 @@ index e8a7305..9740a47 100644
--- a/test/simple/test-stream2-read-sync-stack.js
+++ b/test/simple/test-stream2-read-sync-stack.js
@@ -21,7 +21,7 @@
-
+
var common = require('../common');
var assert = require('assert');
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
var r = new Readable();
var N = 256 * 1024;
-
+
diff --git a/test/simple/test-stream2-readable-empty-buffer-no-eof.js b/test/simple/test-stream2-readable-empty-buffer-no-eof.js
index cd30178..4b1659d 100644
--- a/test/simple/test-stream2-readable-empty-buffer-no-eof.js
@@ -731,13 +731,13 @@ index cd30178..4b1659d 100644
@@ -22,10 +22,9 @@
var common = require('../common');
var assert = require('assert');
-
+
-var Readable = require('stream').Readable;
+var Readable = require('../../').Readable;
-
+
test1();
-test2();
-
+
function test1() {
var r = new Readable();
@@ -88,31 +87,3 @@ function test1() {
@@ -777,12 +777,12 @@ index 7c96ffe..04a96f5 100644
--- a/test/simple/test-stream2-readable-from-list.js
+++ b/test/simple/test-stream2-readable-from-list.js
@@ -21,7 +21,7 @@
-
+
var assert = require('assert');
var common = require('../common.js');
-var fromList = require('_stream_readable')._fromList;
+var fromList = require('../../lib/_stream_readable')._fromList;
-
+
// tiny node-tap lookalike.
var tests = [];
diff --git a/test/simple/test-stream2-readable-legacy-drain.js b/test/simple/test-stream2-readable-legacy-drain.js
@@ -792,23 +792,23 @@ index 675da8e..51fd3d5 100644
@@ -22,7 +22,7 @@
var common = require('../common');
var assert = require('assert');
-
+
-var Stream = require('stream');
+var Stream = require('../../');
var Readable = Stream.Readable;
-
+
var r = new Readable();
diff --git a/test/simple/test-stream2-readable-non-empty-end.js b/test/simple/test-stream2-readable-non-empty-end.js
index 7314ae7..c971898 100644
--- a/test/simple/test-stream2-readable-non-empty-end.js
+++ b/test/simple/test-stream2-readable-non-empty-end.js
@@ -21,7 +21,7 @@
-
+
var assert = require('assert');
var common = require('../common.js');
-var Readable = require('_stream_readable');
+var Readable = require('../../lib/_stream_readable');
-
+
var len = 0;
var chunks = new Array(10);
diff --git a/test/simple/test-stream2-readable-wrap-empty.js b/test/simple/test-stream2-readable-wrap-empty.js
@@ -818,11 +818,11 @@ index 2e5cf25..fd8a3dc 100644
@@ -22,7 +22,7 @@
var common = require('../common');
var assert = require('assert');
-
+
-var Readable = require('_stream_readable');
+var Readable = require('../../lib/_stream_readable');
var EE = require('events').EventEmitter;
-
+
var oldStream = new EE();
diff --git a/test/simple/test-stream2-readable-wrap.js b/test/simple/test-stream2-readable-wrap.js
index 90eea01..6b177f7 100644
@@ -831,40 +831,40 @@ index 90eea01..6b177f7 100644
@@ -22,8 +22,8 @@
var common = require('../common');
var assert = require('assert');
-
+
-var Readable = require('_stream_readable');
-var Writable = require('_stream_writable');
+var Readable = require('../../lib/_stream_readable');
+var Writable = require('../../lib/_stream_writable');
var EE = require('events').EventEmitter;
-
+
var testRuns = 0, completedRuns = 0;
diff --git a/test/simple/test-stream2-set-encoding.js b/test/simple/test-stream2-set-encoding.js
index 5d2c32a..685531b 100644
--- a/test/simple/test-stream2-set-encoding.js
+++ b/test/simple/test-stream2-set-encoding.js
@@ -22,7 +22,7 @@
-
+
var common = require('../common.js');
var assert = require('assert');
-var R = require('_stream_readable');
+var R = require('../../lib/_stream_readable');
var util = require('util');
-
+
// tiny node-tap lookalike.
diff --git a/test/simple/test-stream2-transform.js b/test/simple/test-stream2-transform.js
index 9c9ddd8..a0cacc6 100644
--- a/test/simple/test-stream2-transform.js
+++ b/test/simple/test-stream2-transform.js
@@ -21,8 +21,8 @@
-
+
var assert = require('assert');
var common = require('../common.js');
-var PassThrough = require('_stream_passthrough');
-var Transform = require('_stream_transform');
+var PassThrough = require('../../').PassThrough;
+var Transform = require('../../').Transform;
-
+
// tiny node-tap lookalike.
var tests = [];
diff --git a/test/simple/test-stream2-unpipe-drain.js b/test/simple/test-stream2-unpipe-drain.js
@@ -872,41 +872,41 @@ index d66dc3c..365b327 100644
--- a/test/simple/test-stream2-unpipe-drain.js
+++ b/test/simple/test-stream2-unpipe-drain.js
@@ -22,7 +22,7 @@
-
+
var common = require('../common.js');
var assert = require('assert');
-var stream = require('stream');
+var stream = require('../../');
var crypto = require('crypto');
-
+
var util = require('util');
diff --git a/test/simple/test-stream2-unpipe-leak.js b/test/simple/test-stream2-unpipe-leak.js
index 99f8746..17c92ae 100644
--- a/test/simple/test-stream2-unpipe-leak.js
+++ b/test/simple/test-stream2-unpipe-leak.js
@@ -22,7 +22,7 @@
-
+
var common = require('../common.js');
var assert = require('assert');
-var stream = require('stream');
+var stream = require('../../');
-
+
var chunk = new Buffer('hallo');
-
+
diff --git a/test/simple/test-stream2-writable.js b/test/simple/test-stream2-writable.js
index 704100c..209c3a6 100644
--- a/test/simple/test-stream2-writable.js
+++ b/test/simple/test-stream2-writable.js
@@ -20,8 +20,8 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
+
var common = require('../common.js');
-var W = require('_stream_writable');
-var D = require('_stream_duplex');
+var W = require('../../').Writable;
+var D = require('../../').Duplex;
var assert = require('assert');
-
+
var util = require('util');
diff --git a/test/simple/test-stream3-pause-then-read.js b/test/simple/test-stream3-pause-then-read.js
index b91bde3..2f72c15 100644
@@ -915,8 +915,9 @@ index b91bde3..2f72c15 100644
@@ -22,7 +22,7 @@
var common = require('../common');
var assert = require('assert');
-
+
-var stream = require('stream');
+var stream = require('../../');
var Readable = stream.Readable;
var Writable = stream.Writable;
+
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/build/build.js b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/build/build.js
index e1856ef0943728..ec58596aeebe4e 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/build/build.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/build/build.js
@@ -206,3 +206,4 @@ module.exports = Array.isArray || function (arr) {
});
require.alias("isarray/index.js", "isarray/index.js");
+
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/server/undef_globals.js b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/server/undef_globals.js
index e57dabdcebc9c1..425950f9fc9ed7 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/server/undef_globals.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/server/undef_globals.js
@@ -11,7 +11,7 @@ test('u8a without globals', function (t) {
vm.runInNewContext(src, c);
var TA = c.module.exports;
var ua = new(TA.Uint8Array)(5);
-
+
t.equal(ua.length, 5);
ua[1] = 256 + 55;
t.equal(ua[1], 55);
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/readme.md b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/readme.md
index 487b5000b7e0c6..e6dda4e34ad129 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/readme.md
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/readme.md
@@ -63,7 +63,7 @@ var concat = require('concat-stream')
Return a `writable` stream that will fire `cb(data)` with all of the data that
was written to the stream. Data can be written to `writable` as strings,
-Buffers, arrays of byte integers, and Uint8Arrays.
+Buffers, arrays of byte integers, and Uint8Arrays.
By default `concat-stream` will give you back the same data type as the type of the first buffer written to the stream. Use `opts.encoding` to set what format `data` should be returned as, e.g. if you if you don't want to rely on the built-in type checking or for some other reason.
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/test/string.js b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/test/string.js
index b20d4dd5777dc5..218c522063be9a 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/test/string.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/test/string.js
@@ -58,7 +58,7 @@ test('string from buffers with multibyte characters', function (t) {
var snowman = new Buffer('☃')
for (var i = 0; i < 8; i++) {
strings.write(snowman.slice(0, 1))
- strings.write(snowman.slice(1))
+ strings.write(snowman.slice(1))
}
strings.end()
})
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/README.md b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/README.md
index f1d799b17377bf..ebf40a2ab231ee 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/README.md
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/README.md
@@ -79,3 +79,4 @@ eg, `npm/hosted-git-info`
Currently this supports Github, Bitbucket and Gitlab. Pull requests for
additional hosts welcome.
+
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/bitbucket.js b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/bitbucket.js
index 87127231458371..089cb281905aa7 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/bitbucket.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/bitbucket.js
@@ -21,3 +21,4 @@ test("fromUrl(bitbucket url)", function (t) {
t.end()
})
+
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gist.js b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gist.js
index 3081c3db42aeb7..a316048cb77417 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gist.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gist.js
@@ -37,3 +37,4 @@ test("fromUrl(gist url)", function (t) {
t.end()
})
+
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/github.js b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/github.js
index 1b945d26c3f35a..e551c45d7b9989 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/github.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/github.js
@@ -39,3 +39,4 @@ test("fromUrl(github url)", function (t) {
t.end()
})
+
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gitlab.js b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gitlab.js
index 1b25d60c7d026c..1a4e07096c1c68 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gitlab.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/npm-package-arg/node_modules/hosted-git-info/test/gitlab.js
@@ -22,3 +22,4 @@ test("fromUrl(gitlab url)", function (t) {
t.end()
})
+
diff --git a/deps/npm/node_modules/npm-registry-client/package.json b/deps/npm/node_modules/npm-registry-client/package.json
index 0cd832ad7d177c..35b1ea46089707 100644
--- a/deps/npm/node_modules/npm-registry-client/package.json
+++ b/deps/npm/node_modules/npm-registry-client/package.json
@@ -6,7 +6,7 @@
},
"name": "npm-registry-client",
"description": "Client for the npm registry",
- "version": "6.0.7",
+ "version": "6.1.1",
"repository": {
"url": "git://github.com/isaacs/npm-registry-client"
},
@@ -40,12 +40,12 @@
"license": "ISC",
"readme": "# npm-registry-client\n\nThe code that npm uses to talk to the registry.\n\nIt handles all the caching and HTTP calls.\n\n## Usage\n\n```javascript\nvar RegClient = require('npm-registry-client')\nvar client = new RegClient(config)\nvar uri = \"npm://registry.npmjs.org/npm\"\nvar params = {timeout: 1000}\n\nclient.get(uri, params, function (error, data, raw, res) {\n // error is an error if there was a problem.\n // data is the parsed data object\n // raw is the json string\n // res is the response from couch\n})\n```\n\n# Registry URLs\n\nThe registry calls take either a full URL pointing to a resource in the\nregistry, or a base URL for the registry as a whole (including the registry\npath – but be sure to terminate the path with `/`). `http` and `https` URLs are\nthe only ones supported.\n\n## Using the client\n\nEvery call to the client follows the same pattern:\n\n* `uri` {String} The *fully-qualified* URI of the registry API method being\n invoked.\n* `params` {Object} Per-request parameters.\n* `callback` {Function} Callback to be invoked when the call is complete.\n\n### Credentials\n\nMany requests to the registry can by authenticated, and require credentials\nfor authorization. These credentials always look the same:\n\n* `username` {String}\n* `password` {String}\n* `email` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n**or**\n\n* `token` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n## API\n\n### client.access(uri, params, cb)\n\n* `uri` {String} Registry URL for the package's access API endpoint.\n Looks like `/-/package//access`.\n* `params` {Object} Object containing per-request properties.\n * `access` {String} New access level for the package. Can be either\n `public` or `restricted`. Registry will raise an error if trying\n to change the access level of an unscoped package.\n * `auth` {Credentials}\n\nSet the access level for scoped packages. For now, there are only two\naccess levels: \"public\" and \"restricted\".\n\n### client.adduser(uri, params, cb)\n\n* `uri` {String} Base registry URL.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nAdd a user account to the registry, or verify the credentials.\n\n### client.deprecate(uri, params, cb)\n\n* `uri` {String} Full registry URI for the deprecated package.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Semver version range.\n * `message` {String} The message to use as a deprecation warning.\n * `auth` {Credentials}\n* `cb` {Function}\n\nDeprecate a version of a package in the registry.\n\n### client.distTags.fetch(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `auth` {Credentials}\n* `cb` {Function}\n\nFetch all of the `dist-tags` for the named package.\n\n### client.distTags.add(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `version` {String} Exact version to be mapped to the `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nAdd (or replace) a single dist-tag onto the named package.\n\n### client.distTags.set(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSet all of the `dist-tags` for the named package at once, creating any\n`dist-tags` that do not already exit. Any `dist-tags` not included in the\n`distTags` map will be removed.\n\n### client.distTags.update(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nUpdate the values of multiple `dist-tags`, creating any `dist-tags` that do\nnot already exist. Any pre-existing `dist-tags` not included in the `distTags`\nmap will be left alone.\n\n### client.distTags.rm(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a single `dist-tag` from the named package.\n\n### client.get(uri, params, cb)\n\n* `uri` {String} The complete registry URI to fetch\n* `params` {Object} Object containing per-request properties.\n * `timeout` {Number} Duration before the request times out. Optional\n (default: never).\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `staleOk` {Boolean} If there's cached data available, then return that to\n the callback quickly, and update the cache the background. Optional\n (default: false).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetches data from the registry via a GET request, saving it in the cache folder\nwith the ETag or the \"Last Modified\" timestamp.\n\n### client.publish(uri, params, cb)\n\n* `uri` {String} The registry URI for the package to publish.\n* `params` {Object} Object containing per-request properties.\n * `metadata` {Object} Package metadata.\n * `access` {String} Access for the package. Can be `public` or `restricted` (no default).\n * `body` {Stream} Stream of the package body / tarball.\n * `auth` {Credentials}\n* `cb` {Function}\n\nPublish a package to the registry.\n\nNote that this does not create the tarball from a folder.\n\n### client.star(uri, params, cb)\n\n* `uri` {String} The complete registry URI for the package to star.\n* `params` {Object} Object containing per-request properties.\n * `starred` {Boolean} True to star the package, false to unstar it. Optional\n (default: false).\n * `auth` {Credentials}\n* `cb` {Function}\n\nStar or unstar a package.\n\nNote that the user does not have to be the package owner to star or unstar a\npackage, though other writes do require that the user be the package owner.\n\n### client.stars(uri, params, cb)\n\n* `uri` {String} The base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `username` {String} Name of user to fetch starred packages for. Optional\n (default: user in `auth`).\n * `auth` {Credentials} Optional (required if `username` is omitted).\n* `cb` {Function}\n\nView your own or another user's starred packages.\n\n### client.tag(uri, params, cb)\n\n* `uri` {String} The complete registry URI to tag\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Version to tag.\n * `tag` {String} Tag name to apply.\n * `auth` {Credentials}\n* `cb` {Function}\n\nMark a version in the `dist-tags` hash, so that `pkg@tag` will fetch the\nspecified version.\n\n### client.unpublish(uri, params, cb)\n\n* `uri` {String} The complete registry URI of the package to unpublish.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} version to unpublish. Optional – omit to unpublish all\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a version of a package (or all versions) from the registry. When the\nlast version us unpublished, the entire document is removed from the database.\n\n### client.whoami(uri, params, cb)\n\n* `uri` {String} The base registry for the URI.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSimple call to see who the registry thinks you are. Especially useful with\ntoken-based auth.\n\n\n## PLUMBING\n\nThe below are primarily intended for use by the rest of the API, or by the npm\ncaching logic directly.\n\n### client.request(uri, params, cb)\n\n* `uri` {String} URI pointing to the resource to request.\n* `params` {Object} Object containing per-request properties.\n * `method` {String} HTTP method. Optional (default: \"GET\").\n * `body` {Stream | Buffer | String | Object} The request body. Objects\n that are not Buffers or Streams are encoded as JSON. Optional – body\n only used for write operations.\n * `etag` {String} The cached ETag. Optional.\n * `lastModified` {String} The cached Last-Modified timestamp. Optional.\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nMake a generic request to the registry. All the other methods are wrappers\naround `client.request`.\n\n### client.fetch(uri, params, cb)\n\n* `uri` {String} The complete registry URI to upload to\n* `params` {Object} Object containing per-request properties.\n * `headers` {Stream} HTTP headers to be included with the request. Optional.\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetch a package from a URL, with auth set appropriately if included. Used to\ncache remote tarballs as well as request package tarballs from the registry.\n\n# Configuration\n\nThe client uses its own configuration, which is just passed in as a simple\nnested object. The following are the supported values (with their defaults, if\nany):\n\n* `proxy.http` {URL} The URL to proxy HTTP requests through.\n* `proxy.https` {URL} The URL to proxy HTTPS requests through. Defaults to be\n the same as `proxy.http` if unset.\n* `proxy.localAddress` {IP} The local address to use on multi-homed systems.\n* `ssl.ca` {String} Certificate signing authority certificates to trust.\n* `ssl.certificate` {String} Client certificate (PEM encoded). Enable access\n to servers that require client certificates.\n* `ssl.key` {String} Private key (PEM encoded) for client certificate.\n* `ssl.strict` {Boolean} Whether or not to be strict with SSL certificates.\n Default = `true`\n* `retry.count` {Number} Number of times to retry on GET failures. Default = 2.\n* `retry.factor` {Number} `factor` setting for `node-retry`. Default = 10.\n* `retry.minTimeout` {Number} `minTimeout` setting for `node-retry`.\n Default = 10000 (10 seconds)\n* `retry.maxTimeout` {Number} `maxTimeout` setting for `node-retry`.\n Default = 60000 (60 seconds)\n* `userAgent` {String} User agent header to send. Default =\n `\"node/{process.version}\"`\n* `log` {Object} The logger to use. Defaults to `require(\"npmlog\")` if\n that works, otherwise logs are disabled.\n* `defaultTag` {String} The default tag to use when publishing new packages.\n Default = `\"latest\"`\n* `couchToken` {Object} A token for use with\n [couch-login](https://npmjs.org/package/couch-login).\n* `sessionToken` {string} A random identifier for this set of client requests.\n Default = 8 random hexadecimal bytes.\n",
"readmeFilename": "README.md",
- "gitHead": "8691eaf8ca1f4c8a4d16389da6e8f6d0a0042ed9",
+ "gitHead": "88399fa1ebc5473125466ffa940c5b7df9e693bc",
"bugs": {
"url": "https://github.com/isaacs/npm-registry-client/issues"
},
"homepage": "https://github.com/isaacs/npm-registry-client",
- "_id": "npm-registry-client@6.0.7",
- "_shasum": "c9f36f727f0b72f47a9ed11a539829770565e0fb",
- "_from": "npm-registry-client@>=6.0.7 <6.1.0"
+ "_id": "npm-registry-client@6.1.1",
+ "_shasum": "ffc74d9d85f3228fcd21a7eaad8a8ed134a5dddb",
+ "_from": "npm-registry-client@>=6.1.1 <6.2.0"
}
diff --git a/deps/npm/node_modules/npm-registry-client/test/logout.js b/deps/npm/node_modules/npm-registry-client/test/logout.js
new file mode 100644
index 00000000000000..bbf1b8c095e44e
--- /dev/null
+++ b/deps/npm/node_modules/npm-registry-client/test/logout.js
@@ -0,0 +1,74 @@
+var test = require("tap").test
+
+var server = require("./lib/server.js")
+var common = require("./lib/common.js")
+var client = common.freshClient()
+
+function nop () {}
+
+var URI = "http://localhost:1337/rewrite"
+var TOKEN = "b00b00feed"
+var PARAMS = {
+ auth: {
+ token: TOKEN
+ }
+}
+
+test("logout call contract", function (t) {
+ t.throws(function () {
+ client.logout(undefined, PARAMS, nop)
+ }, "requires a URI")
+
+ t.throws(function () {
+ client.logout([], PARAMS, nop)
+ }, "requires URI to be a string")
+
+ t.throws(function () {
+ client.logout(URI, undefined, nop)
+ }, "requires params object")
+
+ t.throws(function () {
+ client.logout(URI, "", nop)
+ }, "params must be object")
+
+ t.throws(function () {
+ client.logout(URI, PARAMS, undefined)
+ }, "requires callback")
+
+ t.throws(function () {
+ client.logout(URI, PARAMS, "callback")
+ }, "callback must be function")
+
+ t.throws(
+ function () {
+ var params = {
+ auth: {}
+ }
+ client.logout(URI, params, nop)
+ },
+ { name: "AssertionError", message: "can only log out for token auth" },
+ "auth must include token"
+ )
+
+ t.end()
+})
+
+test("log out from a token-based registry", function (t) {
+ server.expect("DELETE", "/-/user/token/" + TOKEN, function (req, res) {
+ t.equal(req.method, "DELETE")
+ t.equal(req.headers.authorization, "Bearer " + TOKEN, "request is authed")
+
+ res.json({message: "ok"})
+ })
+
+ client.logout(URI, PARAMS, function (er) {
+ t.ifError(er, "no errors")
+
+ t.end()
+ })
+})
+
+test("cleanup", function (t) {
+ server.close()
+ t.end()
+})
diff --git a/deps/npm/node_modules/npm-registry-client/test/request-gzip-content.js b/deps/npm/node_modules/npm-registry-client/test/request-gzip-content.js
index 497a6b8c0d3482..5f6a33daa3fd6e 100644
--- a/deps/npm/node_modules/npm-registry-client/test/request-gzip-content.js
+++ b/deps/npm/node_modules/npm-registry-client/test/request-gzip-content.js
@@ -40,7 +40,7 @@ zlib.gzip(JSON.stringify(pkg), function (err, pkgGzip) {
tap.test("request wrong gzip package content", function (t) {
// will retry 3 times
for (var i = 0; i < 3; i++) {
- server.expect("GET", "/some-package-gzip-error/1.2.3", function (req, res) {
+ server.expect("GET", "/some-package-gzip/1.2.3", function (req, res) {
res.statusCode = 200
res.setHeader("Content-Encoding", "gzip")
res.setHeader("Content-Type", "application/json")
diff --git a/deps/npm/node_modules/read-package-json/package.json b/deps/npm/node_modules/read-package-json/package.json
index 1fd2f674f785a7..3c2ff0ff801d5b 100644
--- a/deps/npm/node_modules/read-package-json/package.json
+++ b/deps/npm/node_modules/read-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "read-package-json",
- "version": "1.2.7",
+ "version": "1.3.1",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
@@ -30,15 +30,16 @@
"graceful-fs": "2 || 3"
},
"license": "ISC",
- "gitHead": "41d6696c527e32a1cb38ebf0b6fc91b489b0499c",
+ "gitHead": "59011e6b660cf0cc916646a08955c12a8f990174",
"bugs": {
"url": "https://github.com/isaacs/read-package-json/issues"
},
"homepage": "https://github.com/isaacs/read-package-json",
- "_id": "read-package-json@1.2.7",
- "_shasum": "f0b440c461a218f4dbf48b094e80fc65c5248502",
- "_from": "read-package-json@>=1.2.7-0 <1.3.0-0",
- "_npmVersion": "2.0.0-beta.0",
+ "_id": "read-package-json@1.3.1",
+ "_shasum": "5a965f9fc34b25ffa5e0d93b1d0fc063af6d10b0",
+ "_from": "read-package-json@1.3.1",
+ "_npmVersion": "2.5.1",
+ "_nodeVersion": "0.12.0",
"_npmUser": {
"name": "othiym23",
"email": "ogd@aoaioxxysz.net"
@@ -54,9 +55,9 @@
}
],
"dist": {
- "shasum": "f0b440c461a218f4dbf48b094e80fc65c5248502",
- "tarball": "http://registry.npmjs.org/read-package-json/-/read-package-json-1.2.7.tgz"
+ "shasum": "5a965f9fc34b25ffa5e0d93b1d0fc063af6d10b0",
+ "tarball": "http://registry.npmjs.org/read-package-json/-/read-package-json-1.3.1.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-1.2.7.tgz"
+ "_resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-1.3.1.tgz"
}
diff --git a/deps/npm/node_modules/read-package-json/read-json.js b/deps/npm/node_modules/read-package-json/read-json.js
index acb7d62d815273..863f8e8e321acc 100644
--- a/deps/npm/node_modules/read-package-json/read-json.js
+++ b/deps/npm/node_modules/read-package-json/read-json.js
@@ -332,6 +332,31 @@ function githead_ (file, data, dir, head, cb) {
})
}
+/**
+ * Warn if the bin references don't point to anything. This might be better in
+ * normalize-package-data if it had access to the file path.
+ */
+function checkBinReferences_ (file, data, warn, cb) {
+ if (!(data.bin instanceof Object)) return cb()
+
+ var keys = Object.keys(data.bin)
+ var keysLeft = keys.length
+ if (!keysLeft) return cb()
+
+ function handleExists(relName, result) {
+ keysLeft--
+ if (!result) warn("No bin file found at " + relName)
+ if (!keysLeft) cb()
+ }
+
+ keys.forEach(function (key) {
+ var dirName = path.dirname(file)
+ var relName = data.bin[key]
+ var binPath = path.resolve(dirName, relName)
+ fs.exists(binPath, handleExists.bind(null, relName))
+ })
+}
+
function final (file, data, log, strict, cb) {
var pId = makePackageId(data)
function warn(msg) {
@@ -344,9 +369,11 @@ function final (file, data, log, strict, cb) {
catch (error) {
return cb(error)
}
- typoWarned[pId] = true
- readJson.cache.set(file, data)
- cb(null, data)
+ checkBinReferences_(file, data, warn, function () {
+ typoWarned[pId] = true
+ readJson.cache.set(file, data)
+ cb(null, data)
+ })
}
function makePackageId (data) {
diff --git a/deps/npm/node_modules/read-package-json/test/bin.js b/deps/npm/node_modules/read-package-json/test/bin.js
new file mode 100644
index 00000000000000..2ed4ec5ca5e218
--- /dev/null
+++ b/deps/npm/node_modules/read-package-json/test/bin.js
@@ -0,0 +1,43 @@
+// vim: set softtabstop=16 shiftwidth=16:
+var tap = require("tap")
+var readJson = require("../")
+var path = require("path")
+var fs = require("fs")
+
+var createWarningCollector = function () {
+ var warn = function (msg) {
+ warn.warnings.push(arguments)
+ }
+ warn.warnings = []
+ return warn
+}
+
+tap.test("Bin test", function (t) {
+ var p = path.resolve(__dirname, "fixtures/bin.json")
+ var warn = createWarningCollector()
+ readJson(p, warn, function (er, data) {
+ t.equals(warn.warnings.length, 0)
+ t.deepEqual(data.bin, {"bin-test": "./bin/echo"})
+ t.end()
+ })
+})
+
+tap.test("Bad bin test", function (t) {
+ var p = path.resolve(__dirname, "fixtures/badbin.json")
+ var warn = createWarningCollector()
+ readJson(p, warn, function (er, data) {
+ t.equals(warn.warnings.length, 1)
+ t.equals(warn.warnings[0][2], "No bin file found at ./bin/typo")
+ t.end()
+ })
+})
+
+tap.test("Empty bin test", function (t) {
+ var p = path.resolve(__dirname, "fixtures/emptybin.json")
+ var warn = createWarningCollector()
+ readJson(p, warn, function (er, data) {
+ t.equals(warn.warnings.length, 0)
+ t.same(data.bin, {}, "no mapping to bin because object was empty")
+ t.end()
+ })
+})
diff --git a/deps/npm/node_modules/read-package-json/test/fixtures/badbin.json b/deps/npm/node_modules/read-package-json/test/fixtures/badbin.json
new file mode 100644
index 00000000000000..06c57f43bcbe9f
--- /dev/null
+++ b/deps/npm/node_modules/read-package-json/test/fixtures/badbin.json
@@ -0,0 +1,11 @@
+{
+ "name": "badbin-test",
+ "description": "my desc",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/npm/read-package-json.git"
+ },
+ "version": "0.0.1",
+ "readme": "hello world",
+ "bin": "./bin/typo"
+}
diff --git a/deps/npm/node_modules/read-package-json/test/fixtures/bin.json b/deps/npm/node_modules/read-package-json/test/fixtures/bin.json
new file mode 100644
index 00000000000000..d47a5270c6e734
--- /dev/null
+++ b/deps/npm/node_modules/read-package-json/test/fixtures/bin.json
@@ -0,0 +1,11 @@
+{
+ "name": "bin-test",
+ "description": "my desc",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/npm/read-package-json.git"
+ },
+ "version": "0.0.1",
+ "readme": "hello world",
+ "bin": "./bin/echo"
+}
diff --git a/deps/npm/node_modules/read-package-json/test/fixtures/bin/echo b/deps/npm/node_modules/read-package-json/test/fixtures/bin/echo
new file mode 100644
index 00000000000000..aaed878509c235
--- /dev/null
+++ b/deps/npm/node_modules/read-package-json/test/fixtures/bin/echo
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "Hello world"
\ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-json/test/fixtures/emptybin.json b/deps/npm/node_modules/read-package-json/test/fixtures/emptybin.json
new file mode 100644
index 00000000000000..ef926f04d352ff
--- /dev/null
+++ b/deps/npm/node_modules/read-package-json/test/fixtures/emptybin.json
@@ -0,0 +1,11 @@
+{
+ "name": "badbin-test",
+ "description": "my desc",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/npm/read-package-json.git"
+ },
+ "version": "0.0.1",
+ "readme": "hello world",
+ "bin": {}
+}
diff --git a/deps/npm/node_modules/request/lib/getProxyFromURI.js b/deps/npm/node_modules/request/lib/getProxyFromURI.js
index c2013a6e125b2c..0e54767f540f48 100644
--- a/deps/npm/node_modules/request/lib/getProxyFromURI.js
+++ b/deps/npm/node_modules/request/lib/getProxyFromURI.js
@@ -49,7 +49,7 @@ function getProxyFromURI(uri) {
if (noProxy === '*') {
return null
}
-
+
// if the noProxy is not empty and the uri is found return null
if (noProxy !== '' && uriInNoProxy(uri, noProxy)) {
@@ -62,7 +62,7 @@ function getProxyFromURI(uri) {
return process.env.HTTP_PROXY ||
process.env.http_proxy || null
}
-
+
if (uri.protocol === 'https:') {
return process.env.HTTPS_PROXY ||
process.env.https_proxy ||
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile b/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile
index 2d7580746d0b84..b4ff85a33b6eb4 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile
+++ b/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile
@@ -4,3 +4,4 @@ test:
@./test/run.js
.PHONY: test
+
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js b/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js
index 787539606e6f58..9ecad5b8ad1c58 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js
+++ b/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js
@@ -34,3 +34,5 @@ server.listen(common.PORT, function() {
});
});
});
+
+
diff --git a/deps/npm/node_modules/request/node_modules/hawk/.npmignore b/deps/npm/node_modules/request/node_modules/hawk/.npmignore
index ab108bf92f34a7..70febc05e4f360 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/.npmignore
+++ b/deps/npm/node_modules/request/node_modules/hawk/.npmignore
@@ -17,3 +17,4 @@ config.json
*/*/._*
coverage.*
lib-cov
+
diff --git a/deps/npm/node_modules/request/node_modules/hawk/.travis.yml b/deps/npm/node_modules/request/node_modules/hawk/.travis.yml
index 77795c6a9b47df..047f7e3d5e1e39 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/.travis.yml
+++ b/deps/npm/node_modules/request/node_modules/hawk/.travis.yml
@@ -2,3 +2,4 @@ language: node_js
node_js:
- 0.10
+
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js b/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js
index e791a5d0378156..c34bf6a19aaac3 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js
+++ b/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js
@@ -289,3 +289,4 @@ exports.badImplementation = function (message, data) {
err.isDeveloperError = true;
return err;
};
+
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore b/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore
index b0939eabe34d2d..77ba16cb055ca5 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore
+++ b/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore
@@ -15,3 +15,4 @@ config.json
*/*/._*
coverage.*
lib-cov
+
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml b/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml
index 77795c6a9b47df..047f7e3d5e1e39 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml
+++ b/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml
@@ -2,3 +2,4 @@ language: node_js
node_js:
- 0.10
+
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml b/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml
index 77795c6a9b47df..047f7e3d5e1e39 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml
+++ b/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml
@@ -2,3 +2,4 @@ language: node_js
node_js:
- 0.10
+
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md b/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md
index 61f4478a770ad3..a22fa06e974c6b 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md
+++ b/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md
@@ -499,7 +499,7 @@ nextFn();
console.log('Do this first');
// Results in:
-//
+//
// Do this first
// Do this later
```
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/uri.js b/deps/npm/node_modules/request/node_modules/hawk/test/uri.js
index b2173f5aa2747a..e64b0095b2f0b9 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/uri.js
+++ b/deps/npm/node_modules/request/node_modules/hawk/test/uri.js
@@ -314,7 +314,7 @@ describe('Hawk', function () {
done();
});
});
-
+
it('should fail on expired access', function (done) {
var req = {
diff --git a/deps/npm/node_modules/request/node_modules/isstream/test.js b/deps/npm/node_modules/request/node_modules/isstream/test.js
index 881e70b3098ff7..8c950c55e6375f 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/test.js
+++ b/deps/npm/node_modules/request/node_modules/isstream/test.js
@@ -163,3 +163,6 @@ testDuplex(true, 'ReadableStream11.PassThrough', new (ReadableStream11.PassThrou
})
})
+
+
+
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/LICENSE.md b/deps/npm/node_modules/request/node_modules/node-uuid/LICENSE.md
index a43093bf321f2b..652609b37e009c 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/LICENSE.md
+++ b/deps/npm/node_modules/request/node_modules/node-uuid/LICENSE.md
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2010-2012 Robert Kieffer
+Copyright (c) 2010-2012 Robert Kieffer
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/deps/npm/node_modules/request/node_modules/qs/CHANGELOG.md b/deps/npm/node_modules/request/node_modules/qs/CHANGELOG.md
index c6214d5da7c384..f5ee8b464484d1 100644
--- a/deps/npm/node_modules/request/node_modules/qs/CHANGELOG.md
+++ b/deps/npm/node_modules/request/node_modules/qs/CHANGELOG.md
@@ -65,3 +65,4 @@
## [**1.0.2**](https://github.com/hapijs/qs/issues?milestone=2&state=closed)
- [**#5**](https://github.com/hapijs/qs/issues/5) array holes incorrectly copied into object on large index
+
diff --git a/deps/npm/node_modules/request/request.js b/deps/npm/node_modules/request/request.js
index 00665b918e93a6..f43c8c6b5b3db5 100644
--- a/deps/npm/node_modules/request/request.js
+++ b/deps/npm/node_modules/request/request.js
@@ -280,7 +280,7 @@ Request.prototype.setupTunnel = function () {
if (typeof self.proxy === 'string') {
self.proxy = url.parse(self.proxy)
}
-
+
if (!self.proxy || !self.tunnel) {
return false
}
@@ -296,7 +296,7 @@ Request.prototype.setupTunnel = function () {
self.proxyHeaders = constructProxyHeaderWhiteList(self.headers, proxyHeaderWhiteList)
self.proxyHeaders.host = constructProxyHost(self.uri)
proxyHeaderExclusiveList.forEach(self.removeHeader, self)
-
+
// Set Agent from Tunnel Data
var tunnelFn = getTunnelFn(self)
var tunnelOptions = constructTunnelOptions(self)
diff --git a/deps/npm/node_modules/semver/README.md b/deps/npm/node_modules/semver/README.md
index 1ec80895463b61..b5e35ff0b5bd95 100644
--- a/deps/npm/node_modules/semver/README.md
+++ b/deps/npm/node_modules/semver/README.md
@@ -106,7 +106,7 @@ similar risk on the *next* set of prerelease versions.
The method `.inc` takes an additional `identifier` string argument that
will append the value of the string as a prerelease identifier:
-````javascript
+```javascript
> semver.inc('1.2.3', 'pre', 'beta')
'1.2.4-beta.0'
```
@@ -248,6 +248,9 @@ strings that they parse.
same as `prepatch`. It increments the patch version, then makes a
prerelease. If the input version is already a prerelease it simply
increments it.
+* `major(v)`: Return the major version number.
+* `minor(v)`: Return the minor version number.
+* `patch(v)`: Return the patch version number.
### Comparison
diff --git a/deps/npm/node_modules/semver/package.json b/deps/npm/node_modules/semver/package.json
index 51326d7a307d04..466de0e19a31cb 100644
--- a/deps/npm/node_modules/semver/package.json
+++ b/deps/npm/node_modules/semver/package.json
@@ -1,6 +1,6 @@
{
"name": "semver",
- "version": "4.2.0",
+ "version": "4.3.0",
"description": "The semantic version parser used by npm.",
"main": "semver.js",
"browser": "semver.browser.js",
@@ -21,16 +21,16 @@
"bin": {
"semver": "./bin/semver"
},
- "gitHead": "f353d3337dd9bef990b6873e281342260b4e63ae",
+ "gitHead": "12c0304de19c3d01ae2524b70592e9c49a76ff9d",
"bugs": {
"url": "https://github.com/isaacs/node-semver/issues"
},
"homepage": "https://github.com/isaacs/node-semver",
- "_id": "semver@4.2.0",
- "_shasum": "a571fd4adbe974fe32bd9cb4c5e249606f498423",
- "_from": "semver@>=4.2.0 <4.3.0",
- "_npmVersion": "2.1.14",
- "_nodeVersion": "0.10.33",
+ "_id": "semver@4.3.0",
+ "_shasum": "3757ceed2b91afefe0ba2c3b6bda49c688b0257a",
+ "_from": "semver@>=4.3.0 <4.4.0",
+ "_npmVersion": "2.5.1",
+ "_nodeVersion": "1.1.0",
"_npmUser": {
"name": "isaacs",
"email": "i@izs.me"
@@ -46,10 +46,9 @@
}
],
"dist": {
- "shasum": "a571fd4adbe974fe32bd9cb4c5e249606f498423",
- "tarball": "http://registry.npmjs.org/semver/-/semver-4.2.0.tgz"
+ "shasum": "3757ceed2b91afefe0ba2c3b6bda49c688b0257a",
+ "tarball": "http://registry.npmjs.org/semver/-/semver-4.3.0.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/semver/-/semver-4.2.0.tgz",
- "readme": "ERROR: No README data found!"
+ "_resolved": "https://registry.npmjs.org/semver/-/semver-4.3.0.tgz"
}
diff --git a/deps/npm/node_modules/semver/semver.browser.js b/deps/npm/node_modules/semver/semver.browser.js
index 49d785650e04b9..1ee7204222cf83 100644
--- a/deps/npm/node_modules/semver/semver.browser.js
+++ b/deps/npm/node_modules/semver/semver.browser.js
@@ -505,6 +505,21 @@ function rcompareIdentifiers(a, b) {
return compareIdentifiers(b, a);
}
+exports.major = major;
+function major(a, loose) {
+ return new SemVer(a, loose).major;
+}
+
+exports.minor = minor;
+function minor(a, loose) {
+ return new SemVer(a, loose).minor;
+}
+
+exports.patch = patch;
+function patch(a, loose) {
+ return new SemVer(a, loose).patch;
+}
+
exports.compare = compare;
function compare(a, b, loose) {
return new SemVer(a, loose).compare(b);
diff --git a/deps/npm/node_modules/semver/semver.browser.js.gz b/deps/npm/node_modules/semver/semver.browser.js.gz
index c6b27c9ad311eba6e0be891e8c4decf10a8f4fb7..4bd16d689ccfb4706c0aed722ee0b8c03c683ce7 100644
GIT binary patch
literal 7786
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
B_{jhO
diff --git a/deps/npm/node_modules/semver/semver.js b/deps/npm/node_modules/semver/semver.js
index 026173eabcde45..544bc83123f237 100644
--- a/deps/npm/node_modules/semver/semver.js
+++ b/deps/npm/node_modules/semver/semver.js
@@ -515,6 +515,21 @@ function rcompareIdentifiers(a, b) {
return compareIdentifiers(b, a);
}
+exports.major = major;
+function major(a, loose) {
+ return new SemVer(a, loose).major;
+}
+
+exports.minor = minor;
+function minor(a, loose) {
+ return new SemVer(a, loose).minor;
+}
+
+exports.patch = patch;
+function patch(a, loose) {
+ return new SemVer(a, loose).patch;
+}
+
exports.compare = compare;
function compare(a, b, loose) {
return new SemVer(a, loose).compare(b);
diff --git a/deps/npm/node_modules/semver/semver.min.js b/deps/npm/node_modules/semver/semver.min.js
index 2f07e16ed3dd52..6de8c7345919da 100644
--- a/deps/npm/node_modules/semver/semver.min.js
+++ b/deps/npm/node_modules/semver/semver.min.js
@@ -1 +1 @@
-(function(e){if(typeof module==="object"&&module.exports===e)e=module.exports=H;e.SEMVER_SPEC_VERSION="2.0.0";var r=e.re=[];var t=e.src=[];var n=0;var i=n++;t[i]="0|[1-9]\\d*";var s=n++;t[s]="[0-9]+";var a=n++;t[a]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var o=n++;t[o]="("+t[i]+")\\."+"("+t[i]+")\\."+"("+t[i]+")";var f=n++;t[f]="("+t[s]+")\\."+"("+t[s]+")\\."+"("+t[s]+")";var u=n++;t[u]="(?:"+t[i]+"|"+t[a]+")";var l=n++;t[l]="(?:"+t[s]+"|"+t[a]+")";var p=n++;t[p]="(?:-("+t[u]+"(?:\\."+t[u]+")*))";var c=n++;t[c]="(?:-?("+t[l]+"(?:\\."+t[l]+")*))";var h=n++;t[h]="[0-9A-Za-z-]+";var v=n++;t[v]="(?:\\+("+t[h]+"(?:\\."+t[h]+")*))";var m=n++;var g="v?"+t[o]+t[p]+"?"+t[v]+"?";t[m]="^"+g+"$";var w="[v=\\s]*"+t[f]+t[c]+"?"+t[v]+"?";var d=n++;t[d]="^"+w+"$";var y=n++;t[y]="((?:<|>)?=?)";var j=n++;t[j]=t[s]+"|x|X|\\*";var b=n++;t[b]=t[i]+"|x|X|\\*";var $=n++;t[$]="[v=\\s]*("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:"+t[p]+")?"+t[v]+"?"+")?)?";var k=n++;t[k]="[v=\\s]*("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:"+t[c]+")?"+t[v]+"?"+")?)?";var E=n++;t[E]="^"+t[y]+"\\s*"+t[$]+"$";var x=n++;t[x]="^"+t[y]+"\\s*"+t[k]+"$";var R=n++;t[R]="(?:~>?)";var S=n++;t[S]="(\\s*)"+t[R]+"\\s+";r[S]=new RegExp(t[S],"g");var V="$1~";var I=n++;t[I]="^"+t[R]+t[$]+"$";var T=n++;t[T]="^"+t[R]+t[k]+"$";var A=n++;t[A]="(?:\\^)";var C=n++;t[C]="(\\s*)"+t[A]+"\\s+";r[C]=new RegExp(t[C],"g");var M="$1^";var z=n++;t[z]="^"+t[A]+t[$]+"$";var N=n++;t[N]="^"+t[A]+t[k]+"$";var P=n++;t[P]="^"+t[y]+"\\s*("+w+")$|^$";var Z=n++;t[Z]="^"+t[y]+"\\s*("+g+")$|^$";var q=n++;t[q]="(\\s*)"+t[y]+"\\s*("+w+"|"+t[$]+")";r[q]=new RegExp(t[q],"g");var L="$1$2$3";var X=n++;t[X]="^\\s*("+t[$]+")"+"\\s+-\\s+"+"("+t[$]+")"+"\\s*$";var _=n++;t[_]="^\\s*("+t[k]+")"+"\\s+-\\s+"+"("+t[k]+")"+"\\s*$";var O=n++;t[O]="(<|>)?=?\\s*\\*";for(var B=0;B'};H.prototype.toString=function(){return this.version};H.prototype.compare=function(e){if(!(e instanceof H))e=new H(e,this.loose);return this.compareMain(e)||this.comparePre(e)};H.prototype.compareMain=function(e){if(!(e instanceof H))e=new H(e,this.loose);return U(this.major,e.major)||U(this.minor,e.minor)||U(this.patch,e.patch)};H.prototype.comparePre=function(e){if(!(e instanceof H))e=new H(e,this.loose);if(this.prerelease.length&&!e.prerelease.length)return-1;else if(!this.prerelease.length&&e.prerelease.length)return 1;else if(!this.prerelease.length&&!e.prerelease.length)return 0;var r=0;do{var t=this.prerelease[r];var n=e.prerelease[r];if(t===undefined&&n===undefined)return 0;else if(n===undefined)return 1;else if(t===undefined)return-1;else if(t===n)continue;else return U(t,n)}while(++r)};H.prototype.inc=function(e,r){switch(e){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",r);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",r);break;case"prepatch":this.prerelease.length=0;this.inc("patch",r);this.inc("pre",r);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",r);this.inc("pre",r);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{var t=this.prerelease.length;while(--t>=0){if(typeof this.prerelease[t]==="number"){this.prerelease[t]++;t=-2}}if(t===-1)this.prerelease.push(0)}if(r){if(this.prerelease[0]===r){if(isNaN(this.prerelease[1]))this.prerelease=[r,0]}else this.prerelease=[r,0]}break;default:throw new Error("invalid increment argument: "+e)}this.format();return this};e.inc=J;function J(e,r,t,n){if(typeof t==="string"){n=t;t=undefined}try{return new H(e,t).inc(r,n).version}catch(i){return null}}e.diff=K;function K(e,r){if(ar(e,r)){return null}else{var t=D(e);var n=D(r);if(t.prerelease.length||n.prerelease.length){for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return"pre"+i}}}return"prerelease"}for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return i}}}}}e.compareIdentifiers=U;var Q=/^[0-9]+$/;function U(e,r){var t=Q.test(e);var n=Q.test(r);if(t&&n){e=+e;r=+r}return t&&!n?-1:n&&!t?1:er?1:0}e.rcompareIdentifiers=W;function W(e,r){return U(r,e)}e.compare=Y;function Y(e,r,t){return new H(e,t).compare(r)}e.compareLoose=er;function er(e,r){return Y(e,r,true)}e.rcompare=rr;function rr(e,r,t){return Y(r,e,t)}e.sort=tr;function tr(r,t){return r.sort(function(r,n){return e.compare(r,n,t)})}e.rsort=nr;function nr(r,t){return r.sort(function(r,n){return e.rcompare(r,n,t)})}e.gt=ir;function ir(e,r,t){return Y(e,r,t)>0}e.lt=sr;function sr(e,r,t){return Y(e,r,t)<0}e.eq=ar;function ar(e,r,t){return Y(e,r,t)===0}e.neq=or;function or(e,r,t){return Y(e,r,t)!==0}e.gte=fr;function fr(e,r,t){return Y(e,r,t)>=0}e.lte=ur;function ur(e,r,t){return Y(e,r,t)<=0}e.cmp=lr;function lr(e,r,t,n){var i;switch(r){case"===":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e===t;break;case"!==":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e!==t;break;case"":case"=":case"==":i=ar(e,t,n);break;case"!=":i=or(e,t,n);break;case">":i=ir(e,t,n);break;case">=":i=fr(e,t,n);break;case"<":i=sr(e,t,n);break;case"<=":i=ur(e,t,n);break;default:throw new TypeError("Invalid operator: "+r)}return i}e.Comparator=pr;function pr(e,r){if(e instanceof pr){if(e.loose===r)return e;else e=e.value}if(!(this instanceof pr))return new pr(e,r);this.loose=r;this.parse(e);if(this.semver===cr)this.value="";else this.value=this.operator+this.semver.version}var cr={};pr.prototype.parse=function(e){var t=this.loose?r[P]:r[Z];var n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1];if(this.operator==="=")this.operator="";if(!n[2])this.semver=cr;else this.semver=new H(n[2],this.loose)};pr.prototype.inspect=function(){return''};pr.prototype.toString=function(){return this.value};pr.prototype.test=function(e){if(this.semver===cr)return true;if(typeof e==="string")e=new H(e,this.loose);return lr(e,this.operator,this.semver,this.loose)};e.Range=hr;function hr(e,r){if(e instanceof hr&&e.loose===r)return e;if(!(this instanceof hr))return new hr(e,r);this.loose=r;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}hr.prototype.inspect=function(){return''};hr.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};hr.prototype.toString=function(){return this.range};hr.prototype.parseRange=function(e){var t=this.loose;e=e.trim();var n=t?r[_]:r[X];e=e.replace(n,Er);e=e.replace(r[q],L);e=e.replace(r[S],V);e=e.replace(r[C],M);e=e.split(/\s+/).join(" ");var i=t?r[P]:r[Z];var s=e.split(" ").map(function(e){return mr(e,t)}).join(" ").split(/\s+/);if(this.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new pr(e,t)});return s};e.toComparators=vr;function vr(e,r){return new hr(e,r).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function mr(e,r){e=yr(e,r);e=wr(e,r);e=br(e,r);e=kr(e,r);return e}function gr(e){return!e||e.toLowerCase()==="x"||e==="*"}function wr(e,r){return e.trim().split(/\s+/).map(function(e){return dr(e,r)}).join(" ")}function dr(e,t){var n=t?r[T]:r[I];return e.replace(n,function(e,r,t,n,i){var s;if(gr(r))s="";else if(gr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(gr(n))s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else if(i){if(i.charAt(0)!=="-")i="-"+i;s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0";return s})}function yr(e,r){return e.trim().split(/\s+/).map(function(e){return jr(e,r)}).join(" ")}function jr(e,t){var n=t?r[N]:r[z];return e.replace(n,function(e,r,t,n,i){var s;if(gr(r))s="";else if(gr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(gr(n)){if(r==="0")s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else s=">="+r+"."+t+".0 <"+(+r+1)+".0.0"}else if(i){if(i.charAt(0)!=="-")i="-"+i;if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+i+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+i+" <"+(+r+1)+".0.0"}else{if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+(+r+1)+".0.0"}return s})}function br(e,r){return e.split(/\s+/).map(function(e){return $r(e,r)}).join(" ")}function $r(e,t){e=e.trim();var n=t?r[x]:r[E];return e.replace(n,function(e,r,t,n,i,s){var a=gr(t);var o=a||gr(n);var f=o||gr(i);var u=f;if(r==="="&&u)r="";if(a){if(r===">"||r==="<"){e="<0.0.0"}else{e="*"}}else if(r&&u){if(o)n=0;if(f)i=0;if(r===">"){r=">=";if(o){t=+t+1;n=0;i=0}else if(f){n=+n+1;i=0}}else if(r==="<="){r="<";if(o)t=+t+1;else n=+n+1}e=r+t+"."+n+"."+i}else if(o){e=">="+t+".0.0 <"+(+t+1)+".0.0"}else if(f){e=">="+t+"."+n+".0 <"+t+"."+(+n+1)+".0"}return e})}function kr(e,t){return e.trim().replace(r[O],"")}function Er(e,r,t,n,i,s,a,o,f,u,l,p,c){if(gr(t))r="";else if(gr(n))r=">="+t+".0.0";else if(gr(i))r=">="+t+"."+n+".0";else r=">="+r;if(gr(f))o="";else if(gr(u))o="<"+(+f+1)+".0.0";else if(gr(l))o="<"+f+"."+(+u+1)+".0";else if(p)o="<="+f+"."+u+"."+l+"-"+p;else o="<="+o;return(r+" "+o).trim()}hr.prototype.test=function(e){if(!e)return false;if(typeof e==="string")e=new H(e,this.loose);for(var r=0;r0){var n=e[t].semver;if(n.major===r.major&&n.minor===r.minor&&n.patch===r.patch)return true}}return false}return true}e.satisfies=Rr;function Rr(e,r,t){try{r=new hr(r,t)}catch(n){return false}return r.test(e)}e.maxSatisfying=Sr;function Sr(e,r,t){return e.filter(function(e){return Rr(e,r,t)}).sort(function(e,r){return rr(e,r,t)})[0]||null}e.validRange=Vr;function Vr(e,r){try{return new hr(e,r).range||"*"}catch(t){return null}}e.ltr=Ir;function Ir(e,r,t){return Ar(e,r,"<",t)}e.gtr=Tr;function Tr(e,r,t){return Ar(e,r,">",t)}e.outside=Ar;function Ar(e,r,t,n){e=new H(e,n);r=new hr(r,n);var i,s,a,o,f;switch(t){case">":i=ir;s=ur;a=sr;o=">";f=">=";break;case"<":i=sr;s=fr;a=ir;o="<";f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Rr(e,r,n)){return false}for(var u=0;u)?=?)";var j=n++;t[j]=t[s]+"|x|X|\\*";var b=n++;t[b]=t[i]+"|x|X|\\*";var $=n++;t[$]="[v=\\s]*("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:"+t[p]+")?"+t[v]+"?"+")?)?";var k=n++;t[k]="[v=\\s]*("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:"+t[c]+")?"+t[v]+"?"+")?)?";var E=n++;t[E]="^"+t[y]+"\\s*"+t[$]+"$";var x=n++;t[x]="^"+t[y]+"\\s*"+t[k]+"$";var R=n++;t[R]="(?:~>?)";var S=n++;t[S]="(\\s*)"+t[R]+"\\s+";r[S]=new RegExp(t[S],"g");var V="$1~";var I=n++;t[I]="^"+t[R]+t[$]+"$";var T=n++;t[T]="^"+t[R]+t[k]+"$";var A=n++;t[A]="(?:\\^)";var C=n++;t[C]="(\\s*)"+t[A]+"\\s+";r[C]=new RegExp(t[C],"g");var M="$1^";var z=n++;t[z]="^"+t[A]+t[$]+"$";var N=n++;t[N]="^"+t[A]+t[k]+"$";var P=n++;t[P]="^"+t[y]+"\\s*("+w+")$|^$";var Z=n++;t[Z]="^"+t[y]+"\\s*("+g+")$|^$";var q=n++;t[q]="(\\s*)"+t[y]+"\\s*("+w+"|"+t[$]+")";r[q]=new RegExp(t[q],"g");var L="$1$2$3";var X=n++;t[X]="^\\s*("+t[$]+")"+"\\s+-\\s+"+"("+t[$]+")"+"\\s*$";var _=n++;t[_]="^\\s*("+t[k]+")"+"\\s+-\\s+"+"("+t[k]+")"+"\\s*$";var O=n++;t[O]="(<|>)?=?\\s*\\*";for(var B=0;B'};H.prototype.toString=function(){return this.version};H.prototype.compare=function(e){if(!(e instanceof H))e=new H(e,this.loose);return this.compareMain(e)||this.comparePre(e)};H.prototype.compareMain=function(e){if(!(e instanceof H))e=new H(e,this.loose);return U(this.major,e.major)||U(this.minor,e.minor)||U(this.patch,e.patch)};H.prototype.comparePre=function(e){if(!(e instanceof H))e=new H(e,this.loose);if(this.prerelease.length&&!e.prerelease.length)return-1;else if(!this.prerelease.length&&e.prerelease.length)return 1;else if(!this.prerelease.length&&!e.prerelease.length)return 0;var r=0;do{var t=this.prerelease[r];var n=e.prerelease[r];if(t===undefined&&n===undefined)return 0;else if(n===undefined)return 1;else if(t===undefined)return-1;else if(t===n)continue;else return U(t,n)}while(++r)};H.prototype.inc=function(e,r){switch(e){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",r);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",r);break;case"prepatch":this.prerelease.length=0;this.inc("patch",r);this.inc("pre",r);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",r);this.inc("pre",r);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{var t=this.prerelease.length;while(--t>=0){if(typeof this.prerelease[t]==="number"){this.prerelease[t]++;t=-2}}if(t===-1)this.prerelease.push(0)}if(r){if(this.prerelease[0]===r){if(isNaN(this.prerelease[1]))this.prerelease=[r,0]}else this.prerelease=[r,0]}break;default:throw new Error("invalid increment argument: "+e)}this.format();return this};e.inc=J;function J(e,r,t,n){if(typeof t==="string"){n=t;t=undefined}try{return new H(e,t).inc(r,n).version}catch(i){return null}}e.diff=K;function K(e,r){if(ur(e,r)){return null}else{var t=D(e);var n=D(r);if(t.prerelease.length||n.prerelease.length){for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return"pre"+i}}}return"prerelease"}for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return i}}}}}e.compareIdentifiers=U;var Q=/^[0-9]+$/;function U(e,r){var t=Q.test(e);var n=Q.test(r);if(t&&n){e=+e;r=+r}return t&&!n?-1:n&&!t?1:er?1:0}e.rcompareIdentifiers=W;function W(e,r){return U(r,e)}e.major=Y;function Y(e,r){return new H(e,r).major}e.minor=er;function er(e,r){return new H(e,r).minor}e.patch=rr;function rr(e,r){return new H(e,r).patch}e.compare=tr;function tr(e,r,t){return new H(e,t).compare(r)}e.compareLoose=nr;function nr(e,r){return tr(e,r,true)}e.rcompare=ir;function ir(e,r,t){return tr(r,e,t)}e.sort=sr;function sr(r,t){return r.sort(function(r,n){return e.compare(r,n,t)})}e.rsort=ar;function ar(r,t){return r.sort(function(r,n){return e.rcompare(r,n,t)})}e.gt=or;function or(e,r,t){return tr(e,r,t)>0}e.lt=fr;function fr(e,r,t){return tr(e,r,t)<0}e.eq=ur;function ur(e,r,t){return tr(e,r,t)===0}e.neq=lr;function lr(e,r,t){return tr(e,r,t)!==0}e.gte=pr;function pr(e,r,t){return tr(e,r,t)>=0}e.lte=cr;function cr(e,r,t){return tr(e,r,t)<=0}e.cmp=hr;function hr(e,r,t,n){var i;switch(r){case"===":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e===t;break;case"!==":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e!==t;break;case"":case"=":case"==":i=ur(e,t,n);break;case"!=":i=lr(e,t,n);break;case">":i=or(e,t,n);break;case">=":i=pr(e,t,n);break;case"<":i=fr(e,t,n);break;case"<=":i=cr(e,t,n);break;default:throw new TypeError("Invalid operator: "+r)}return i}e.Comparator=vr;function vr(e,r){if(e instanceof vr){if(e.loose===r)return e;else e=e.value}if(!(this instanceof vr))return new vr(e,r);this.loose=r;this.parse(e);if(this.semver===mr)this.value="";else this.value=this.operator+this.semver.version}var mr={};vr.prototype.parse=function(e){var t=this.loose?r[P]:r[Z];var n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1];if(this.operator==="=")this.operator="";if(!n[2])this.semver=mr;else this.semver=new H(n[2],this.loose)};vr.prototype.inspect=function(){return''};vr.prototype.toString=function(){return this.value};vr.prototype.test=function(e){if(this.semver===mr)return true;if(typeof e==="string")e=new H(e,this.loose);return hr(e,this.operator,this.semver,this.loose)};e.Range=gr;function gr(e,r){if(e instanceof gr&&e.loose===r)return e;if(!(this instanceof gr))return new gr(e,r);this.loose=r;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}gr.prototype.inspect=function(){return''};gr.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};gr.prototype.toString=function(){return this.range};gr.prototype.parseRange=function(e){var t=this.loose;e=e.trim();var n=t?r[_]:r[X];e=e.replace(n,Sr);e=e.replace(r[q],L);e=e.replace(r[S],V);e=e.replace(r[C],M);e=e.split(/\s+/).join(" ");var i=t?r[P]:r[Z];var s=e.split(" ").map(function(e){return dr(e,t)}).join(" ").split(/\s+/);if(this.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new vr(e,t)});return s};e.toComparators=wr;function wr(e,r){return new gr(e,r).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function dr(e,r){e=$r(e,r);e=jr(e,r);e=Er(e,r);e=Rr(e,r);return e}function yr(e){return!e||e.toLowerCase()==="x"||e==="*"}function jr(e,r){return e.trim().split(/\s+/).map(function(e){return br(e,r)}).join(" ")}function br(e,t){var n=t?r[T]:r[I];return e.replace(n,function(e,r,t,n,i){var s;if(yr(r))s="";else if(yr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(yr(n))s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else if(i){if(i.charAt(0)!=="-")i="-"+i;s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0";return s})}function $r(e,r){return e.trim().split(/\s+/).map(function(e){return kr(e,r)}).join(" ")}function kr(e,t){var n=t?r[N]:r[z];return e.replace(n,function(e,r,t,n,i){var s;if(yr(r))s="";else if(yr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(yr(n)){if(r==="0")s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else s=">="+r+"."+t+".0 <"+(+r+1)+".0.0"}else if(i){if(i.charAt(0)!=="-")i="-"+i;if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+i+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+i+" <"+(+r+1)+".0.0"}else{if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+(+r+1)+".0.0"}return s})}function Er(e,r){return e.split(/\s+/).map(function(e){return xr(e,r)}).join(" ")}function xr(e,t){e=e.trim();var n=t?r[x]:r[E];return e.replace(n,function(e,r,t,n,i,s){var a=yr(t);var o=a||yr(n);var f=o||yr(i);var u=f;if(r==="="&&u)r="";if(a){if(r===">"||r==="<"){e="<0.0.0"}else{e="*"}}else if(r&&u){if(o)n=0;if(f)i=0;if(r===">"){r=">=";if(o){t=+t+1;n=0;i=0}else if(f){n=+n+1;i=0}}else if(r==="<="){r="<";if(o)t=+t+1;else n=+n+1}e=r+t+"."+n+"."+i}else if(o){e=">="+t+".0.0 <"+(+t+1)+".0.0"}else if(f){e=">="+t+"."+n+".0 <"+t+"."+(+n+1)+".0"}return e})}function Rr(e,t){return e.trim().replace(r[O],"")}function Sr(e,r,t,n,i,s,a,o,f,u,l,p,c){if(yr(t))r="";else if(yr(n))r=">="+t+".0.0";else if(yr(i))r=">="+t+"."+n+".0";else r=">="+r;if(yr(f))o="";else if(yr(u))o="<"+(+f+1)+".0.0";else if(yr(l))o="<"+f+"."+(+u+1)+".0";else if(p)o="<="+f+"."+u+"."+l+"-"+p;else o="<="+o;return(r+" "+o).trim()}gr.prototype.test=function(e){if(!e)return false;if(typeof e==="string")e=new H(e,this.loose);for(var r=0;r0){var n=e[t].semver;if(n.major===r.major&&n.minor===r.minor&&n.patch===r.patch)return true}}return false}return true}e.satisfies=Ir;function Ir(e,r,t){try{r=new gr(r,t)}catch(n){return false}return r.test(e)}e.maxSatisfying=Tr;function Tr(e,r,t){return e.filter(function(e){return Ir(e,r,t)}).sort(function(e,r){return ir(e,r,t)})[0]||null}e.validRange=Ar;function Ar(e,r){try{return new gr(e,r).range||"*"}catch(t){return null}}e.ltr=Cr;function Cr(e,r,t){return zr(e,r,"<",t)}e.gtr=Mr;function Mr(e,r,t){return zr(e,r,">",t)}e.outside=zr;function zr(e,r,t,n){e=new H(e,n);r=new gr(r,n);var i,s,a,o,f;switch(t){case">":i=or;s=cr;a=fr;o=">";f=">=";break;case"<":i=fr;s=pr;a=or;o="<";f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ir(e,r,n)){return false}for(var u=0;ua
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
cd_~FtaU_pWurPys}ZaiZVz`l2}SS;C^rr{*4
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
diff --git a/deps/npm/node_modules/semver/test/index.js b/deps/npm/node_modules/semver/test/index.js
index 1528bb77885095..926d560fe0a5fd 100644
--- a/deps/npm/node_modules/semver/test/index.js
+++ b/deps/npm/node_modules/semver/test/index.js
@@ -50,7 +50,9 @@ test('\ncomparison tests', function(t) {
['1.2.3-a.10', '1.2.3-a.5'],
['1.2.3-a.b', '1.2.3-a.5'],
['1.2.3-a.b', '1.2.3-a'],
- ['1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100']
+ ['1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100'],
+ ['1.2.3-r2', '1.2.3-r100'],
+ ['1.2.3-r100', '1.2.3-R2']
].forEach(function(v) {
var v0 = v[0];
var v1 = v[1];
diff --git a/deps/npm/node_modules/semver/test/major-minor-patch.js b/deps/npm/node_modules/semver/test/major-minor-patch.js
new file mode 100644
index 00000000000000..e9d4039c8be629
--- /dev/null
+++ b/deps/npm/node_modules/semver/test/major-minor-patch.js
@@ -0,0 +1,72 @@
+var tap = require('tap');
+var test = tap.test;
+var semver = require('../semver.js');
+
+test('\nmajor tests', function(t) {
+ // [range, version]
+ // Version should be detectable despite extra characters
+ [
+ ['1.2.3', 1],
+ [' 1.2.3 ', 1],
+ [' 2.2.3-4 ', 2],
+ [' 3.2.3-pre ', 3],
+ ['v5.2.3', 5],
+ [' v8.2.3 ', 8],
+ ['\t13.2.3', 13],
+ ['=21.2.3', 21, true],
+ ['v=34.2.3', 34, true]
+ ].forEach(function(tuple) {
+ var range = tuple[0];
+ var version = tuple[1];
+ var loose = tuple[2] || false;
+ var msg = 'major(' + range + ') = ' + version;
+ t.equal(semver.major(range, loose), version, msg);
+ });
+ t.end();
+});
+
+test('\nminor tests', function(t) {
+ // [range, version]
+ // Version should be detectable despite extra characters
+ [
+ ['1.1.3', 1],
+ [' 1.1.3 ', 1],
+ [' 1.2.3-4 ', 2],
+ [' 1.3.3-pre ', 3],
+ ['v1.5.3', 5],
+ [' v1.8.3 ', 8],
+ ['\t1.13.3', 13],
+ ['=1.21.3', 21, true],
+ ['v=1.34.3', 34, true]
+ ].forEach(function(tuple) {
+ var range = tuple[0];
+ var version = tuple[1];
+ var loose = tuple[2] || false;
+ var msg = 'minor(' + range + ') = ' + version;
+ t.equal(semver.minor(range, loose), version, msg);
+ });
+ t.end();
+});
+
+test('\npatch tests', function(t) {
+ // [range, version]
+ // Version should be detectable despite extra characters
+ [
+ ['1.2.1', 1],
+ [' 1.2.1 ', 1],
+ [' 1.2.2-4 ', 2],
+ [' 1.2.3-pre ', 3],
+ ['v1.2.5', 5],
+ [' v1.2.8 ', 8],
+ ['\t1.2.13', 13],
+ ['=1.2.21', 21, true],
+ ['v=1.2.34', 34, true]
+ ].forEach(function(tuple) {
+ var range = tuple[0];
+ var version = tuple[1];
+ var loose = tuple[2] || false;
+ var msg = 'patch(' + range + ') = ' + version;
+ t.equal(semver.patch(range, loose), version, msg);
+ });
+ t.end();
+});
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/float.patch b/deps/npm/node_modules/sha/node_modules/readable-stream/float.patch
index c5d8242da5be4b..b984607a41cc1f 100644
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/float.patch
+++ b/deps/npm/node_modules/sha/node_modules/readable-stream/float.patch
@@ -3,16 +3,16 @@ index c5a741c..a2e0d8e 100644
--- a/lib/_stream_duplex.js
+++ b/lib/_stream_duplex.js
@@ -26,8 +26,8 @@
-
+
module.exports = Duplex;
var util = require('util');
-var Readable = require('_stream_readable');
-var Writable = require('_stream_writable');
+var Readable = require('./_stream_readable');
+var Writable = require('./_stream_writable');
-
+
util.inherits(Duplex, Readable);
-
+
diff --git a/lib/_stream_passthrough.js b/lib/_stream_passthrough.js
index a5e9864..330c247 100644
--- a/lib/_stream_passthrough.js
diff --git a/deps/npm/node_modules/umask/ChangeLog b/deps/npm/node_modules/umask/ChangeLog
index 59ea54d15d6116..1254674513b6fd 100644
--- a/deps/npm/node_modules/umask/ChangeLog
+++ b/deps/npm/node_modules/umask/ChangeLog
@@ -6,3 +6,4 @@
2015-01-14 Sam Mikes
* index.js: initial rev
+
diff --git a/deps/npm/node_modules/umask/LICENSE b/deps/npm/node_modules/umask/LICENSE
index c3d2eb3550079b..e637724b3bc595 100644
--- a/deps/npm/node_modules/umask/LICENSE
+++ b/deps/npm/node_modules/umask/LICENSE
@@ -19,3 +19,4 @@ 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.
+
diff --git a/deps/npm/node_modules/umask/index.js b/deps/npm/node_modules/umask/index.js
index 724544c072666e..501c0e0c05cb50 100644
--- a/deps/npm/node_modules/umask/index.js
+++ b/deps/npm/node_modules/umask/index.js
@@ -74,3 +74,4 @@ function fromString(val, cb) {
exports.toString = toString;
exports.fromString = fromString;
exports.validate = validate;
+
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 07b74e0960c897..f6ed8a73890163 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "2.5.1",
+ "version": "2.6.0",
"name": "npm",
"description": "a package manager for JavaScript",
"keywords": [
@@ -57,7 +57,7 @@
"graceful-fs": "~3.0.5",
"inflight": "~1.0.4",
"inherits": "~2.0.1",
- "ini": "~1.3.2",
+ "ini": "~1.3.3",
"init-package-json": "~1.2.0",
"lockfile": "~1.0.0",
"lru-cache": "~2.5.0",
@@ -70,7 +70,7 @@
"npm-cache-filename": "~1.0.1",
"npm-install-checks": "~1.0.5",
"npm-package-arg": "~2.1.3",
- "npm-registry-client": "~6.0.7",
+ "npm-registry-client": "~6.1.1",
"npm-user-validate": "~0.1.1",
"npmlog": "~0.1.1",
"once": "~1.3.1",
@@ -79,13 +79,13 @@
"path-is-inside": "~1.0.0",
"read": "~1.0.4",
"read-installed": "~3.1.5",
- "read-package-json": "~1.2.7",
+ "read-package-json": "~1.3.1",
"readable-stream": "~1.0.33",
"realize-package-specifier": "~1.3.0",
"request": "~2.53.0",
"retry": "~0.6.1",
"rimraf": "~2.2.8",
- "semver": "~4.2.0",
+ "semver": "~4.3.0",
"sha": "~1.3.0",
"slide": "~1.1.6",
"sorted-object": "~1.0.0",
@@ -171,7 +171,8 @@
"npm-registry-couchapp": "~2.6.2",
"npm-registry-mock": "~1.0.0",
"require-inject": "~1.1.0",
- "tap": "~0.5.0"
+ "sprintf-js": "~1.0.2",
+ "tap": "~0.6.0"
},
"scripts": {
"test-legacy": "node ./test/run.js",
diff --git a/deps/npm/test/common-tap.js b/deps/npm/test/common-tap.js
index 7dcfc35cc89293..40367082866cff 100644
--- a/deps/npm/test/common-tap.js
+++ b/deps/npm/test/common-tap.js
@@ -18,7 +18,7 @@ exports.npm = function (cmd, opts, cb) {
cmd = [bin].concat(cmd)
opts = opts || {}
- opts.env = opts.env ? opts.env : process.env
+ opts.env = opts.env || process.env
if (!opts.env.npm_config_cache) {
opts.env.npm_config_cache = npm_config_cache
}
diff --git a/deps/npm/test/fixtures/config/userconfig-with-gc b/deps/npm/test/fixtures/config/userconfig-with-gc
index 3e5d605f4e307d..7268fcb3c611f9 100644
--- a/deps/npm/test/fixtures/config/userconfig-with-gc
+++ b/deps/npm/test/fixtures/config/userconfig-with-gc
@@ -12,7 +12,7 @@ npm-www:nocache=1
sign-git-tag=false
message=v%s
strict-ssl=false
-_auth=dXNlcm5hbWU6cGFzc3dvcmQ=
+_auth="dXNlcm5hbWU6cGFzc3dvcmQ="
[_token]
AuthSession=yabba-dabba-doodle
diff --git a/deps/npm/test/tap/add-remote-git-fake-windows.js b/deps/npm/test/tap/add-remote-git-fake-windows.js
index 5de7cff7d0af68..30524779278d33 100644
--- a/deps/npm/test/tap/add-remote-git-fake-windows.js
+++ b/deps/npm/test/tap/add-remote-git-fake-windows.js
@@ -20,7 +20,9 @@ var git
test("setup", function (t) {
bootstrap()
setup(function (er, r) {
- t.ifError(er, "git started up successfully")
+ if (er) {
+ throw er
+ }
if (!er) {
daemon = r[r.length - 2]
@@ -66,11 +68,13 @@ var pjChild = JSON.stringify({
}, null, 2) + "\n"
function bootstrap () {
+ rimraf.sync(pkg)
mkdirp.sync(pkg)
fs.writeFileSync(resolve(pkg, "package.json"), pjParent)
}
function setup (cb) {
+ rimraf.sync(repo)
mkdirp.sync(repo)
fs.writeFileSync(resolve(repo, "package.json"), pjChild)
npm.load({ registry : common.registry, loglevel : "silent" }, function () {
diff --git a/deps/npm/test/tap/config-credentials.js b/deps/npm/test/tap/config-credentials.js
index c24bb7e1b27f4f..1cb2a7eb410c59 100644
--- a/deps/npm/test/tap/config-credentials.js
+++ b/deps/npm/test/tap/config-credentials.js
@@ -28,6 +28,18 @@ test("trying to set credentials with no URI", function (t) {
})
})
+test("trying to clear credentials with no URI", function (t) {
+ npmconf.load(common.builtin, function (er, conf) {
+ t.ifError(er, "configuration loaded")
+
+ t.throws(function () {
+ conf.clearCredentialsByURI()
+ }, "enforced missing URI")
+
+ t.end()
+ })
+})
+
test("set with missing credentials object", function (t) {
npmconf.load(common.builtin, function (er, conf) {
t.ifError(er, "configuration loaded")
@@ -76,6 +88,24 @@ test("set with token", function (t) {
})
})
+test("clear with token", function (t) {
+ npmconf.load(common.builtin, function (er, conf) {
+ t.ifError(er, "configuration loaded")
+
+ t.doesNotThrow(function () {
+ conf.setCredentialsByURI(URI, {token : "simple-token"})
+ }, "needs only token")
+
+ t.doesNotThrow(function () {
+ conf.clearCredentialsByURI(URI)
+ }, "needs only URI")
+
+ t.notOk(conf.getCredentialsByURI(URI).token, "token all gone")
+
+ t.end()
+ })
+})
+
test("set with missing username", function (t) {
npmconf.load(common.builtin, function (er, conf) {
t.ifError(er, "configuration loaded")
@@ -157,6 +187,31 @@ test("set with old-style credentials", function (t) {
})
})
+test("clear with old-style credentials", function (t) {
+ npmconf.load(common.builtin, function (er, conf) {
+ t.ifError(er, "configuration loaded")
+
+ var credentials = {
+ username : "username",
+ password : "password",
+ email : "ogd@aoaioxxysz.net"
+ }
+
+ t.doesNotThrow(function () {
+ conf.setCredentialsByURI(URI, credentials)
+ }, "requires all of username, password, and email")
+
+ t.doesNotThrow(function () {
+ conf.clearCredentialsByURI(URI)
+ }, "clearing only required URI")
+
+ t.notOk(conf.getCredentialsByURI(URI).username, "username cleared")
+ t.notOk(conf.getCredentialsByURI(URI).password, "password cleared")
+
+ t.end()
+ })
+})
+
test("get old-style credentials for default registry", function (t) {
npmconf.load(common.builtin, function (er, conf) {
var actual = conf.getCredentialsByURI(conf.get("registry"))
diff --git a/deps/npm/test/tap/config-edit.js b/deps/npm/test/tap/config-edit.js
new file mode 100644
index 00000000000000..97a54d2ece58da
--- /dev/null
+++ b/deps/npm/test/tap/config-edit.js
@@ -0,0 +1,72 @@
+var fs = require("fs")
+var path = require("path")
+
+var mkdirp = require("mkdirp")
+var rimraf = require("rimraf")
+var test = require("tap").test
+var common = require("../common-tap.js")
+
+var pkg = path.resolve(__dirname, "npm-global-edit")
+
+var editorSrc = function () {/*
+#!/usr/bin/env node
+var fs = require("fs")
+if (fs.existsSync(process.argv[2])) {
+ console.log("success")
+} else {
+ console.log("error")
+ process.exit(1)
+}
+*/}.toString().split("\n").slice(1, -1).join("\n")
+var editorPath = path.join(pkg, "editor")
+
+test("setup", function (t) {
+ cleanup(function (er) {
+ t.ifError(er, "old directory removed")
+
+ mkdirp(pkg, "0777", function (er) {
+ fs.writeFileSync(editorPath, editorSrc)
+ fs.chmodSync(editorPath, "0777")
+ t.ifError(er, "created package directory correctly")
+ t.end()
+ })
+ })
+})
+
+test("saving configs", function (t) {
+ var opts = {
+ cwd: pkg,
+ env: {
+ PATH: process.env.PATH,
+ EDITOR: editorPath
+ }
+ }
+ common.npm(
+ [
+ "config",
+ "--prefix", pkg,
+ "--global",
+ "edit"
+ ],
+ opts,
+ function (err, code, stdout, stderr) {
+ t.ifError(err, "command ran without issue")
+
+ t.equal(stderr, "", "got nothing on stderr")
+ t.equal(code, 0, "exit ok")
+ t.equal(stdout, "success\n", "got success message")
+ t.end()
+ }
+ )
+})
+
+test("cleanup", function (t) {
+ cleanup(function (er) {
+ t.ifError(er, "test directory removed OK")
+ t.end()
+ })
+})
+
+function cleanup (cb) {
+ rimraf(pkg, cb)
+}
diff --git a/deps/npm/test/tap/install-man.js b/deps/npm/test/tap/install-man.js
new file mode 100644
index 00000000000000..70879d81f12bf9
--- /dev/null
+++ b/deps/npm/test/tap/install-man.js
@@ -0,0 +1,75 @@
+var fs = require("fs")
+var resolve = require("path").resolve
+
+var osenv = require("osenv")
+var mkdirp = require("mkdirp")
+var rimraf = require("rimraf")
+var test = require("tap").test
+
+var common = require("../common-tap.js")
+
+var pkg = resolve(__dirname, "install-man")
+var target = resolve(__dirname, "install-man-target")
+
+var EXEC_OPTS = {
+ cwd: target
+}
+
+test("setup", function (t) {
+ setup()
+ t.pass("setup ran")
+ t.end()
+})
+
+test("install man page", function (t) {
+ common.npm(
+ [
+ "install",
+ "--prefix", target,
+ "--global",
+ pkg
+ ],
+ EXEC_OPTS,
+ function (err, code, stdout, stderr) {
+ t.ifError(err, "npm command ran from test")
+ t.equals(code, 0, "install exited with success (0)")
+ t.ok(stdout, "output indicating success")
+ t.ok(
+ fs.existsSync(resolve(target, "share", "man", "man1", "install-man.1")),
+ "man page link was created"
+ )
+
+ t.end()
+ }
+ )
+})
+
+test("clean", function (t) {
+ cleanup()
+ t.pass("cleaned up")
+ t.end()
+})
+
+var json = {
+ name : "install-man",
+ version : "1.2.3",
+ man : [ "./install-man.1" ]
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(pkg)
+ // make sure it installs locally
+ mkdirp.sync(resolve(target, "node_modules"))
+ fs.writeFileSync(
+ resolve(pkg, "package.json"),
+ JSON.stringify(json, null, 2)+"\n"
+ )
+ fs.writeFileSync(resolve(pkg, "install-man.1"), "THIS IS A MANPAGE\n")
+}
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(pkg)
+ rimraf.sync(target)
+}
diff --git a/deps/npm/test/tap/logout.js b/deps/npm/test/tap/logout.js
new file mode 100644
index 00000000000000..1d9392ad16ae65
--- /dev/null
+++ b/deps/npm/test/tap/logout.js
@@ -0,0 +1,67 @@
+var fs = require("fs")
+var path = require("path")
+
+var mkdirp = require("mkdirp")
+var mr = require("npm-registry-mock")
+var rimraf = require("rimraf")
+var test = require("tap").test
+
+var common = require("../common-tap.js")
+
+var pkg = path.resolve(__dirname, "logout")
+var outfile = path.join(pkg, "_npmrc")
+var opts = { cwd: pkg }
+
+var contents = function () {/*
+foo=boo
+//localhost:1337/:_authToken=glarb
+*/}.toString().split("\n").slice(1, -1).join("\n")
+
+function mocks (server) {
+ server.delete("/-/user/token/glarb")
+ .reply(200, {})
+}
+
+test("setup", function (t) {
+ cleanup()
+ setup()
+ t.end()
+})
+
+test("npm logout", function (t) {
+ mr({ port: common.port, plugin: mocks }, function (err, s) {
+ if (err) throw err
+
+ common.npm(
+ [
+ "logout",
+ "--registry", common.registry,
+ "--loglevel", "silent",
+ "--userconfig", outfile
+ ],
+ opts,
+ function (err, code) {
+ t.ifError(err, "no error output")
+ t.notOk(code, "exited OK")
+
+ var config = fs.readFileSync(outfile, "utf8")
+ t.equal(config, "foo=boo\n", "creds gone")
+ s.close()
+ t.end()
+ })
+ })
+})
+
+test("cleanup", function (t) {
+ cleanup()
+ t.end()
+})
+
+function setup () {
+ mkdirp.sync(pkg)
+ fs.writeFileSync(outfile, contents)
+}
+
+function cleanup () {
+ rimraf.sync(pkg)
+}
diff --git a/deps/npm/test/tap/umask-lifecycle.js b/deps/npm/test/tap/umask-lifecycle.js
index a40eae44be4dc0..e4f91a2df6f060 100644
--- a/deps/npm/test/tap/umask-lifecycle.js
+++ b/deps/npm/test/tap/umask-lifecycle.js
@@ -3,6 +3,7 @@ var test = require("tap").test
var fs = require("fs")
var rimraf = require("rimraf")
var mkdirp = require("mkdirp")
+var sprintf = require("sprintf-js").sprintf
var common = require("../common-tap.js")
var pkg = path.resolve(__dirname, "umask-lifecycle")
@@ -12,14 +13,15 @@ var pj = JSON.stringify({
scripts: { umask: "$npm_execpath config get umask && echo \"$npm_config_umask\" && node -p 'process.umask()'" }
}, null, 2) + "\n"
+var umask = process.umask()
var expected = [
"",
"> x@1.2.3 umask "+path.join(__dirname, "umask-lifecycle"),
"> $npm_execpath config get umask && echo \"$npm_config_umask\" && node -p 'process.umask()'",
"",
- "0022",
- "0022",
- "18",
+ sprintf("%04o", umask),
+ sprintf("%04o", umask),
+ sprintf("%d", umask),
""
].join("\n")
@@ -32,7 +34,6 @@ test("setup", function (t) {
test("umask script", function (t) {
common.npm(["run", "umask"], {
- umask: 0022,
cwd: pkg,
env: {
PATH: process.env.PATH,
diff --git a/deps/npm/test/tap/version-git-not-clean.js b/deps/npm/test/tap/version-git-not-clean.js
index efca3624077c0b..1deae49f92bdb3 100644
--- a/deps/npm/test/tap/version-git-not-clean.js
+++ b/deps/npm/test/tap/version-git-not-clean.js
@@ -55,7 +55,8 @@ test("npm version with working directory not clean", function (t) {
t.fail("should fail on non-clean working directory")
}
else {
- t.equal(err.message, "Git working directory not clean.\nM package.json")
+ t.ok(err.message.match(/Git working directory not clean./))
+ t.ok(err.message.match(/M package.json/))
}
t.end()
})
From 4c2d183f9c582b1b155cef191070178f4726e2b8 Mon Sep 17 00:00:00 2001
From: Ben Noordhuis
Date: Tue, 13 Jan 2015 23:22:49 +0100
Subject: [PATCH 2/3] deps: make node-gyp fetch tarballs from iojs.org
Apply a small patch that makes node-gyp fetch the tarballs from
https://iojs.org/ instead of http://nodejs.org/
A patch better suited for inclusion upstream will be put together
shortly.
PR-URL: https://github.com/iojs/io.js/pull/343
Reviewed-By: Rod Vagg
---
deps/npm/node_modules/node-gyp/lib/install.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js
index 6f72e6a93d6cf8..ebc4e571a4e187 100644
--- a/deps/npm/node_modules/node-gyp/lib/install.js
+++ b/deps/npm/node_modules/node-gyp/lib/install.js
@@ -39,7 +39,7 @@ function install (gyp, argv, callback) {
}
}
- var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'http://nodejs.org/dist'
+ var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'https://iojs.org/dist'
// Determine which node dev files version we are installing
@@ -185,7 +185,7 @@ function install (gyp, argv, callback) {
// now download the node tarball
var tarPath = gyp.opts['tarball']
- var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/node-v' + version + '.tar.gz'
+ var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/iojs-v' + version + '.tar.gz'
, badDownload = false
, extractCount = 0
, gunzip = zlib.createGunzip()
From a652e327b2a9bb5b8f4a73b48f8b0d4181467582 Mon Sep 17 00:00:00 2001
From: Bert Belder
Date: Thu, 15 Jan 2015 01:39:30 +0100
Subject: [PATCH 3/3] deps: make node-gyp work again on windows
* Fetch from the correct url.
* Link compiled addons with iojs.lib instead of node.lib.
* Disable checksum checks for iojs.lib until our website supports
them.
PR: https://github.com/iojs/io.js/pull/422
Reviewed-by: Ben Noordhuis
Reviewed-by: Rod Vagg
---
deps/npm/node_modules/node-gyp/addon.gypi | 2 +-
deps/npm/node_modules/node-gyp/lib/build.js | 8 ++--
deps/npm/node_modules/node-gyp/lib/install.js | 39 ++++++++++---------
3 files changed, 25 insertions(+), 24 deletions(-)
diff --git a/deps/npm/node_modules/node-gyp/addon.gypi b/deps/npm/node_modules/node-gyp/addon.gypi
index 0b81fab2027ff7..63fefe3d16c80b 100644
--- a/deps/npm/node_modules/node-gyp/addon.gypi
+++ b/deps/npm/node_modules/node-gyp/addon.gypi
@@ -42,7 +42,7 @@
'-luuid.lib',
'-lodbc32.lib',
'-lDelayImp.lib',
- '-l"<(node_root_dir)/$(ConfigurationName)/node.lib"'
+ '-l"<(node_root_dir)/$(ConfigurationName)/iojs.lib"'
],
# warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent'
# needs to have dll-interface to be used by clients of class 'node::ObjectWrap'
diff --git a/deps/npm/node_modules/node-gyp/lib/build.js b/deps/npm/node_modules/node-gyp/lib/build.js
index f3605902e93c10..3d3c58785f1795 100644
--- a/deps/npm/node_modules/node-gyp/lib/build.js
+++ b/deps/npm/node_modules/node-gyp/lib/build.js
@@ -173,7 +173,7 @@ function build (gyp, argv, callback) {
}
/**
- * Copies the node.lib file for the current target architecture into the
+ * Copies the iojs.lib file for the current target architecture into the
* current proper dev dir location.
*/
@@ -181,15 +181,15 @@ function build (gyp, argv, callback) {
if (!win || !copyDevLib) return doBuild()
var buildDir = path.resolve(nodeDir, buildType)
- , archNodeLibPath = path.resolve(nodeDir, arch, 'node.lib')
- , buildNodeLibPath = path.resolve(buildDir, 'node.lib')
+ , archNodeLibPath = path.resolve(nodeDir, arch, 'iojs.lib')
+ , buildNodeLibPath = path.resolve(buildDir, 'iojs.lib')
mkdirp(buildDir, function (err, isNew) {
if (err) return callback(err)
log.verbose('"' + buildType + '" dir needed to be created?', isNew)
var rs = fs.createReadStream(archNodeLibPath)
, ws = fs.createWriteStream(buildNodeLibPath)
- log.verbose('copying "node.lib" for ' + arch, buildNodeLibPath)
+ log.verbose('copying "iojs.lib" for ' + arch, buildNodeLibPath)
rs.pipe(ws)
rs.on('error', callback)
ws.on('error', callback)
diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js
index ebc4e571a4e187..378fbfae4769b5 100644
--- a/deps/npm/node_modules/node-gyp/lib/install.js
+++ b/deps/npm/node_modules/node-gyp/lib/install.js
@@ -267,7 +267,7 @@ function install (gyp, argv, callback) {
var async = 0
if (win) {
- // need to download node.lib
+ // need to download iojs.lib
async++
downloadNodeLib(deref)
}
@@ -295,7 +295,8 @@ function install (gyp, argv, callback) {
// check content shasums
for (var k in contentShasums) {
log.verbose('validating download checksum for ' + k, '(%s == %s)', contentShasums[k], expectShasums[k])
- if (contentShasums[k] !== expectShasums[k]) {
+ // TODO(piscisaureus) re-enable checksum verification when the correct files are in place.
+ if (false || contentShasums[k] !== expectShasums[k]) {
cb(new Error(k + ' local checksum ' + contentShasums[k] + ' not match remote ' + expectShasums[k]))
return
}
@@ -343,36 +344,36 @@ function install (gyp, argv, callback) {
}
function downloadNodeLib (done) {
- log.verbose('on Windows; need to download `node.lib`...')
+ log.verbose('on Windows; need to download `iojs.lib`...')
var dir32 = path.resolve(devDir, 'ia32')
, dir64 = path.resolve(devDir, 'x64')
- , nodeLibPath32 = path.resolve(dir32, 'node.lib')
- , nodeLibPath64 = path.resolve(dir64, 'node.lib')
- , nodeLibUrl32 = distUrl + '/v' + version + '/node.lib'
- , nodeLibUrl64 = distUrl + '/v' + version + '/x64/node.lib'
+ , nodeLibPath32 = path.resolve(dir32, 'iojs.lib')
+ , nodeLibPath64 = path.resolve(dir64, 'iojs.lib')
+ , nodeLibUrl32 = distUrl + '/v' + version + '/win-x86/iojs.lib'
+ , nodeLibUrl64 = distUrl + '/v' + version + '/win-x64/iojs.lib'
- log.verbose('32-bit node.lib dir', dir32)
- log.verbose('64-bit node.lib dir', dir64)
- log.verbose('`node.lib` 32-bit url', nodeLibUrl32)
- log.verbose('`node.lib` 64-bit url', nodeLibUrl64)
+ log.verbose('32-bit iojs.lib dir', dir32)
+ log.verbose('64-bit iojs.lib dir', dir64)
+ log.verbose('`iojs.lib` 32-bit url', nodeLibUrl32)
+ log.verbose('`iojs.lib` 64-bit url', nodeLibUrl64)
var async = 2
mkdir(dir32, function (err) {
if (err) return done(err)
- log.verbose('streaming 32-bit node.lib to:', nodeLibPath32)
+ log.verbose('streaming 32-bit iojs.lib to:', nodeLibPath32)
var req = download(nodeLibUrl32)
if (!req) return
req.on('error', done)
req.on('response', function (res) {
if (res.statusCode !== 200) {
- done(new Error(res.statusCode + ' status code downloading 32-bit node.lib'))
+ done(new Error(res.statusCode + ' status code downloading 32-bit iojs.lib'))
return
}
getContentSha(res, function (_, checksum) {
- contentShasums['node.lib'] = checksum
- log.verbose('content checksum', 'node.lib', checksum)
+ contentShasums['win-x86/iojs.lib'] = checksum
+ log.verbose('content checksum', 'win-x86/iojs.lib', checksum)
})
var ws = fs.createWriteStream(nodeLibPath32)
@@ -385,20 +386,20 @@ function install (gyp, argv, callback) {
})
mkdir(dir64, function (err) {
if (err) return done(err)
- log.verbose('streaming 64-bit node.lib to:', nodeLibPath64)
+ log.verbose('streaming 64-bit iojs.lib to:', nodeLibPath64)
var req = download(nodeLibUrl64)
if (!req) return
req.on('error', done)
req.on('response', function (res) {
if (res.statusCode !== 200) {
- done(new Error(res.statusCode + ' status code downloading 64-bit node.lib'))
+ done(new Error(res.statusCode + ' status code downloading 64-bit iojs.lib'))
return
}
getContentSha(res, function (_, checksum) {
- contentShasums['x64/node.lib'] = checksum
- log.verbose('content checksum', 'x64/node.lib', checksum)
+ contentShasums['win-x64/iojs.lib'] = checksum
+ log.verbose('content checksum', 'win-x64/iojs.lib', checksum)
})
var ws = fs.createWriteStream(nodeLibPath64)