diff --git a/CHANGELOG.md b/CHANGELOG.md index afebb94b69cb04..2c316b9231981e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,73 @@ # io.js ChangeLog +## 2015-06-23, Version 2.3.1, @rvagg + +### Notable changes + +* **module**: The number of syscalls made during a `require()` have been significantly reduced again (see [#1801](https://github.com/nodejs/io.js/pull/1801) from v2.2.0 for previous work), which should lead to a performance improvement (Pierre Inglebert) [#1920](https://github.com/nodejs/io.js/pull/1920). +* **npm**: + * Upgrade to [v2.11.2](https://github.com/npm/npm/releases/tag/v2.11.2) (Rebecca Turner) [#1956](https://github.com/nodejs/io.js/pull/1956). + * Upgrade to [v2.11.3](https://github.com/npm/npm/releases/tag/v2.11.3) (Forrest L Norvell) [#2018](https://github.com/nodejs/io.js/pull/2018). +* **zlib**: A bug was discovered where the process would abort if the final part of a zlib decompression results in a buffer that would exceed the maximum length of `0x3fffffff` bytes (~1GiB). This was likely to only occur during buffered decompression (rather than streaming). This is now fixed and will instead result in a thrown `RangeError` (Michaël Zasso) [#1811](https://github.com/nodejs/io.js/pull/1811). + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760) and fix in [#774](https://github.com/nodejs/io.js/issues/774) +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +## Commits + +* [[`e56758a5e0`](https://github.com/nodejs/io.js/commit/e56758a5e0)] - **async-wrap**: add provider id and object info cb (Trevor Norris) [#1896](https://github.com/nodejs/io.js/pull/1896) +* [[`d5637e67c9`](https://github.com/nodejs/io.js/commit/d5637e67c9)] - **buffer**: fix cyclic dependency with util (Brendan Ashworth) [#1988](https://github.com/nodejs/io.js/pull/1988) +* [[`c5353d7c62`](https://github.com/nodejs/io.js/commit/c5353d7c62)] - **build**: remove lint from test-ci on windows (Johan Bergström) [#2004](https://github.com/nodejs/io.js/pull/2004) +* [[`c207e8d223`](https://github.com/nodejs/io.js/commit/c207e8d223)] - **build**: fix pkg-config output parsing in configure (Ben Noordhuis) [#1986](https://github.com/nodejs/io.js/pull/1986) +* [[`8d8a26e8f7`](https://github.com/nodejs/io.js/commit/8d8a26e8f7)] - **build**: don't run lint from test-ci (Johan Bergström) [#1965](https://github.com/nodejs/io.js/pull/1965) +* [[`1ec53c044d`](https://github.com/nodejs/io.js/commit/1ec53c044d)] - **build**: simplify execution of built binary (Johan Bergström) [#1955](https://github.com/nodejs/io.js/pull/1955) +* [[`3beb880716`](https://github.com/nodejs/io.js/commit/3beb880716)] - **crypto**: add cert check to CNNIC Whitelist (Shigeki Ohtsu) [#1895](https://github.com/nodejs/io.js/pull/1895) +* [[`48c0fb8b1a`](https://github.com/nodejs/io.js/commit/48c0fb8b1a)] - **deps**: make node-gyp work with io.js (cjihrig) [iojs/io.js#990](https://github.com/iojs/io.js/pull/990) +* [[`6a359b1ce9`](https://github.com/nodejs/io.js/commit/6a359b1ce9)] - **deps**: upgrade to npm 2.11.3 (Forrest L Norvell) [#2018](https://github.com/nodejs/io.js/pull/2018) +* [[`6aab2f3b9a`](https://github.com/nodejs/io.js/commit/6aab2f3b9a)] - **deps**: make node-gyp work with io.js (cjihrig) [iojs/io.js#990](https://github.com/iojs/io.js/pull/990) +* [[`3e12561b55`](https://github.com/nodejs/io.js/commit/3e12561b55)] - **deps**: upgrade to npm 2.11.2 (Rebecca Turner) [#1956](https://github.com/nodejs/io.js/pull/1956) +* [[`8ac50819b6`](https://github.com/nodejs/io.js/commit/8ac50819b6)] - **doc**: add security section to README.md (Rod Vagg) [#1948](https://github.com/nodejs/io.js/pull/1948) +* [[`1f93b63b11`](https://github.com/nodejs/io.js/commit/1f93b63b11)] - **doc**: change the info to the same as in gitconfig (Christian Tellnes) [#2000](https://github.com/nodejs/io.js/pull/2000) +* [[`0cf94e6856`](https://github.com/nodejs/io.js/commit/0cf94e6856)] - **doc**: mention CI in Collaborator Guide (Rich Trott) [#1995](https://github.com/nodejs/io.js/pull/1995) +* [[`7a3006efe4`](https://github.com/nodejs/io.js/commit/7a3006efe4)] - **doc**: add TOC links to Collaborator Guide (Rich Trott) [#1994](https://github.com/nodejs/io.js/pull/1994) +* [[`30638b150f`](https://github.com/nodejs/io.js/commit/30638b150f)] - **doc**: add TSC meeting notes 2015-06-10 (Bert Belder) [#1943](https://github.com/nodejs/io.js/pull/1943) +* [[`c4ec04136b`](https://github.com/nodejs/io.js/commit/c4ec04136b)] - **doc**: reformat authors section (Johan Bergström) [#1966](https://github.com/nodejs/io.js/pull/1966) +* [[`96165f9be2`](https://github.com/nodejs/io.js/commit/96165f9be2)] - **doc**: minor clarification in the modules API doc. (Сковорода Никита Андреевич) [#1983](https://github.com/nodejs/io.js/pull/1983) +* [[`5c2707c1b2`](https://github.com/nodejs/io.js/commit/5c2707c1b2)] - **doc**: benchmark/README.md copyedit (Rich Trott) [#1970](https://github.com/nodejs/io.js/pull/1970) +* [[`74fdf732d0`](https://github.com/nodejs/io.js/commit/74fdf732d0)] - **doc**: copyedit COLLABORATOR_GUIDE.md (Rich Trott) [#1964](https://github.com/nodejs/io.js/pull/1964) +* [[`5fe6e83640`](https://github.com/nodejs/io.js/commit/5fe6e83640)] - **doc**: copyedit GOVERNANCE.md (Rich Trott) [#1963](https://github.com/nodejs/io.js/pull/1963) +* [[`428526544c`](https://github.com/nodejs/io.js/commit/428526544c)] - **doc**: add ChALkeR as collaborator (Сковорода Никита Андреевич) [#1927](https://github.com/nodejs/io.js/pull/1927) +* [[`5dfe0d5d61`](https://github.com/nodejs/io.js/commit/5dfe0d5d61)] - **doc**: remove irrelevant SEMVER-MINOR & MAJOR (Rod Vagg) +* [[`fb8811d95e`](https://github.com/nodejs/io.js/commit/fb8811d95e)] - **lib,test**: fix whitespace issues (Roman Reiss) [#1971](https://github.com/nodejs/io.js/pull/1971) +* [[`a4f4909f3d`](https://github.com/nodejs/io.js/commit/a4f4909f3d)] - **module**: fix stat with long paths on Windows (Michaël Zasso) [#2013](https://github.com/nodejs/io.js/pull/2013) +* [[`a71ee93afe`](https://github.com/nodejs/io.js/commit/a71ee93afe)] - **module**: reduce syscalls during require search (Pierre Inglebert) [#1920](https://github.com/nodejs/io.js/pull/1920) +* [[`671e64ac73`](https://github.com/nodejs/io.js/commit/671e64ac73)] - **module**: allow long paths for require on Windows (Michaël Zasso) +* [[`061342a500`](https://github.com/nodejs/io.js/commit/061342a500)] - **net**: Defer reading until listeners could be added (James Hartig) [#1496](https://github.com/nodejs/io.js/pull/1496) +* [[`5d2b846d11`](https://github.com/nodejs/io.js/commit/5d2b846d11)] - **test**: assert tmp and fixture dirs different (Rich Trott) [#2015](https://github.com/nodejs/io.js/pull/2015) +* [[`b0990ef45d`](https://github.com/nodejs/io.js/commit/b0990ef45d)] - **test**: confirm symlink (Rich Trott) [#2014](https://github.com/nodejs/io.js/pull/2014) +* [[`3ba4f71fc4`](https://github.com/nodejs/io.js/commit/3ba4f71fc4)] - **test**: check result as early as possible (Rich Trott) [#2007](https://github.com/nodejs/io.js/pull/2007) +* [[`0abcf44d6b`](https://github.com/nodejs/io.js/commit/0abcf44d6b)] - **test**: add Buffer slice UTF-8 test (Rich Trott) [#1989](https://github.com/nodejs/io.js/pull/1989) +* [[`88c1831ff4`](https://github.com/nodejs/io.js/commit/88c1831ff4)] - **test**: tmpdir creation failures should fail tests (Rich Trott) [#1976](https://github.com/nodejs/io.js/pull/1976) +* [[`52a822d944`](https://github.com/nodejs/io.js/commit/52a822d944)] - **test**: fix test-cluster-worker-disconnect (Santiago Gimeno) [#1919](https://github.com/nodejs/io.js/pull/1919) +* [[`7c79490bfb`](https://github.com/nodejs/io.js/commit/7c79490bfb)] - **test**: only refresh tmpDir for tests that need it (Rich Trott) [#1954](https://github.com/nodejs/io.js/pull/1954) +* [[`88d7904c0b`](https://github.com/nodejs/io.js/commit/88d7904c0b)] - **test**: remove test repetition (Rich Trott) [#1874](https://github.com/nodejs/io.js/pull/1874) +* [[`91dfb5e094`](https://github.com/nodejs/io.js/commit/91dfb5e094)] - **tools**: make test-npm work without global npm (Jeremiah Senkpiel) [#1926](https://github.com/nodejs/io.js/pull/1926) +* [[`3777f41562`](https://github.com/nodejs/io.js/commit/3777f41562)] - **tools**: enable whitespace related rules in eslint (Roman Reiss) [#1971](https://github.com/nodejs/io.js/pull/1971) +* [[`626432d843`](https://github.com/nodejs/io.js/commit/626432d843)] - **util**: dont repeat isBuffer (Brendan Ashworth) [#1988](https://github.com/nodejs/io.js/pull/1988) +* [[`1d79f572f1`](https://github.com/nodejs/io.js/commit/1d79f572f1)] - **util**: move deprecate() to internal module (Brendan Ashworth) [#1988](https://github.com/nodejs/io.js/pull/1988) +* [[`4b4b1760b5`](https://github.com/nodejs/io.js/commit/4b4b1760b5)] - **v8**: cherry-pick uclibc build patch from upstream (Ben Noordhuis) [#1974](https://github.com/nodejs/io.js/pull/1974) +* [[`5d0cee46bb`](https://github.com/nodejs/io.js/commit/5d0cee46bb)] - **vm**: remove unnecessary HandleScopes (Ben Noordhuis) [#2001](https://github.com/nodejs/io.js/pull/2001) +* [[`0ecf9457b5`](https://github.com/nodejs/io.js/commit/0ecf9457b5)] - **win,node-gyp**: enable delay-load hook by default (Bert Belder) [iojs/io.js#1433](https://github.com/iojs/io.js/pull/1433) +* [[`953b3e75e8`](https://github.com/nodejs/io.js/commit/953b3e75e8)] - **win,node-gyp**: enable delay-load hook by default (Bert Belder) [iojs/io.js#1433](https://github.com/iojs/io.js/pull/1433) +* [[`3806d875d3`](https://github.com/nodejs/io.js/commit/3806d875d3)] - **zlib**: prevent uncaught exception in zlibBuffer (Michaël Zasso) [#1811](https://github.com/nodejs/io.js/pull/1811) + ## 2015-06-13, Version 2.3.0, @rvagg ### Notable changes diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index e3a93b9c190d44..9d37f5ca5ea32b 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -2,11 +2,12 @@ **Contents** -* Issues and Pull Requests -* Accepting Modifications - - Involving the TC -* Landing Pull Requests - - Technical HOWTO +* [Issues and Pull Requests](#issues-and-pull-requests) +* [Accepting Modifications](#accepting-modifications) + - [Involving the TC](#involving-the-tc) +* [Landing Pull Requests](#landing-pull-requests) + - [Technical HOWTO](#technical-howto) + - [I Just Made a Mistake](#i-just-made-a-mistake) This document contains information for Collaborators of the io.js project regarding maintaining the code, documentation and issues. @@ -67,6 +68,10 @@ TC for resolution (see below). All bugfixes require a test case which demonstrates the defect. The test should *fail* before the change, and *pass* after the change. +All pull requests that modify executable code should be subjected to +continuous integration tests on the +[project CI server](https://jenkins-iojs.nodesource.com/). + ### Involving the TC Collaborators may opt to elevate pull requests or issues to the TC for @@ -212,7 +217,7 @@ Time to push it: $ git push origin master ``` -### I just made a mistake +### I Just Made a Mistake With `git`, there's a way to override remote trees by force pushing (`git push -f`). This should generally be seen as forbidden (since diff --git a/README.md b/README.md index f27569d02c28bd..0d1c2e809605e0 100644 --- a/README.md +++ b/README.md @@ -280,7 +280,16 @@ Instructions: [#io.js on Freenode.net](http://webchat.freenode.net?channels=io.js&uio=d4) * [iojs/io.js on Gitter](https://gitter.im/nodejs/io.js) +## Security +All security bugs in io.js are taken seriously and should be reported by +emailing security@iojs.org. This will be delivered to a subset of the project +team who handle security issues. Please don't disclose security bugs +public until they have been handled by the security team. + +Your email will be acknowledged within 24 hours, and you’ll receive a more +detailed response to your email within 48 hours indicating the next steps in +handling your report. ## Current Project Team Members @@ -314,7 +323,7 @@ information about the governance of the io.js project, see * **Sam Roberts** <vieuxtech@gmail.com> ([@sam-github](https://github.com/sam-github)) * **Wyatt Preul** <wpreul@gmail.com> ([@geek](https://github.com/geek)) * **Brian White** <mscdex@mscdex.net> ([@mscdex](https://github.com/mscdex)) -* **Christian Vaagland Tellnes** <christian@tellnes.com> ([@tellnes](https://github.com/tellnes)) +* **Christian Tellnes** <christian@tellnes.no> ([@tellnes](https://github.com/tellnes)) * **Robert Kowalski** <rok@kowalski.gd> ([@robertkowalski](https://github.com/robertkowalski)) * **Julian Duque** <julianduquej@gmail.com> ([@julianduque](https://github.com/julianduque)) * **Johan Bergström** <bugs@bergstroem.nu> ([@jbergstroem](https://github.com/jbergstroem)) diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md index 93d0ca46451391..a2b62ecf174e52 100644 --- a/deps/npm/CHANGELOG.md +++ b/deps/npm/CHANGELOG.md @@ -1,3 +1,34 @@ +### v2.11.3 (2015-06-11): + +This was a very quiet week. This release was done by +[@iarna](https://github.com/iarna), while the rest of the team hangs out at +NodeConf Adventure! + +#### TESTS IN 0.8 FAIL LESS + +* [`5b3b3c2`](https://github.com/npm/npm/commit/5b3b3c2) + [#8491](//github.com/npm/npm/pull/8491) + Updates a test to use only 0.8 compatible features + ([@watilde](https://github.com/watilde)) + +#### THE TREADMILL OF UPDATES NEVER CEASES + +* [`9f439da`](https://github.com/npm/npm/commit/9f439da) + `spdx@0.4.1`: License range updates + (@kemitchell)[https://github.com/kemitchell] +* [`2dd055b`](https://github.com/npm/npm/commit/2dd055b) + `normalize-package-data@2.2.1`: Fixes a crashing bug when the package.json + `scripts` property is not an object. + (@iarna)[https://github.com/iarna] +* [`e02e85d`](https://github.com/npm/npm/commit/e02e85d) + `osenv@0.1.2`: Switches to using the `os-tmpdir` module instead of + `os.tmpdir()` for greate consistency in behavior between node versions. + (@iarna)[https://github.com/iarna] +* [`a6f0265`](https://github.com/npm/npm/commit/a6f0265) + `ini@1.3.4` (@isaacs)[https://github.com/isaacs] +* [`7395977`](https://github.com/npm/npm/commit/7395977) + `rimraf@2.4.0` (@isaacs)[https://github.com/isaacs] + ### v2.11.2 (2015-06-04): Another small release this week, brought to you by the latest addition to the @@ -14,7 +45,7 @@ while it lasts. :3 * [`31aada4`](https://github.com/npm/npm/commit/31aada4ccc369c0903ff7f233f464955d12c6fe2) [#8401](https://github.com/npm/npm/issues/8401) `npm outdated` output is just that much nicer to consume now, due to sorting by name. - [@watilde](https://github.com/watilde) + ([@watilde](https://github.com/watilde)) * [`458a919`](https://github.com/npm/npm/commit/458a91925d8b20c5e672ba71a86745aad654abaf) [#8469](https://github.com/npm/npm/pull/8469) Explicitly set `cwd` for `preversion`, `version`, and `postversion` scripts. This makes the scripts @@ -42,10 +73,11 @@ while it lasts. :3 #### VERSION NUMBERS HAVE NEVER BEEN BIGGER * [`c929fd1`](https://github.com/npm/npm/commit/c929fd1d0604b5878ed05706447e078d3e41f5b3) - `readable-steam@1.1.13`: Manually installed `v1.1.13` (steams3) to make deduping more reliable on `npm@<3`. - ([@othiym23](https://github.com/othiym23)) + `readable-stream@1.1.13`: Manually deduped `v1.1.13` (streams3) to make + deduping more reliable on `npm@<3`. ([@othiym23](https://github.com/othiym23)) * [`a9b4b78`](https://github.com/npm/npm/commit/a9b4b78dcc85571fd1cdd737903f7f37a5e6a755) - `request@2.57.0`: Replace dependency on IncomingMessage's `.client` with `.socket` as the former was deprecated in 2.2.0. + `request@2.57.0`: Replace dependency on IncomingMessage's `.client` with + `.socket` as the former was deprecated in io.js 2.2.0. ([@othiym23](https://github.com/othiym23)) * [`4b5e557`](https://github.com/npm/npm/commit/4b5e557a23cdefd521ad154111e3d4dcc81f1cdb) `abbrev@1.0.7`: Better testing, with coverage. diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html index 467fac35a50631..58a7ad43f2e4f3 100644 --- a/deps/npm/html/doc/README.html +++ b/deps/npm/html/doc/README.html @@ -140,7 +140,7 @@
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.
@@ -183,5 +183,5 @@Add a package as a git submodule
+npm.commands.submodule(packages, callback)
+
For each package specified, npm will check if it has a git repository url
+in its package.json description then add it as a git submodule at
+node_modules/<pkg name>
.
This is a convenience only. From then on, it's up to you to manage
+updates by using the appropriate git commands. npm will stubbornly
+refuse to update, modify, or remove anything with a .git
subfolder
+in it.
This command also does not install missing dependencies, if the package
+does not include them in its git repository. If npm ls
reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do npm explore <pkgname> -- npm install
to install the
+dependencies into the submodule folder.
2.11.2
+2.11.3
This is the API documentation for npm. To find documentation of the command line @@ -109,5 +109,5 @@
npm ls promzard
in npm's source tree will show:
-npm@2.11.2 /path/to/npm
+npm@2.11.3 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
It will print out extraneous, missing, and invalid packages.
@@ -97,5 +97,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-outdated.html b/deps/npm/html/doc/cli/npm-outdated.html
index f4d4affb1c8bdc..e0ecfd26c2d746 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 7977700de1065f..9b83f7e6735eba 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 07f91e6b0ceca8..ccebbe323da364 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 46187fdb54f400..f9af61318d4c46 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 f4b851c2edc622..58125c416497b8 100644
--- a/deps/npm/html/doc/cli/npm-prune.html
+++ b/deps/npm/html/doc/cli/npm-prune.html
@@ -41,5 +41,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-publish.html b/deps/npm/html/doc/cli/npm-publish.html
index f2b14926f8ed09..ba1bad9e26c8a4 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 77b5684dbaba93..38bc945329aa9c 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 59dbb3c832e2cf..63b850a61edfd1 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 3fbd1a3cb35073..faafb1d00e45c8 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 94f0ba525beacb..09ece656aa2f55 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 259315bd2e39f0..c3092e686fd899 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 553542da9a3b25..03f1aa201a2a69 100644
--- a/deps/npm/html/doc/cli/npm-run-script.html
+++ b/deps/npm/html/doc/cli/npm-run-script.html
@@ -56,5 +56,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-search.html b/deps/npm/html/doc/cli/npm-search.html
index ceb867fbf00fb9..fc065f99915d96 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 5fd6d9c9b17401..b6f8ddc6d0489a 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 4943fe78068e37..273ba24060f395 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 4e14f5b2994ce5..1899557adf5ab3 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 bdc38e83cb2959..eb36bd5b29f623 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 9a1c84adfd0d15..c772f894616830 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-submodule.html b/deps/npm/html/doc/cli/npm-submodule.html
new file mode 100644
index 00000000000000..30bde01b318f47
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-submodule.html
@@ -0,0 +1,45 @@
+
+
+ npm-submodule
+
+
+
+
+
+
+
+
+npm-submodule
Add a package as a git submodule
+SYNOPSIS
+npm submodule <pkg>
+
DESCRIPTION
+If the specified package has a git repository url in its package.json
+description, then this command will add it as a git submodule at
+node_modules/<pkg name>
.
+This is a convenience only. From then on, it's up to you to manage
+updates by using the appropriate git commands. npm will stubbornly
+refuse to update, modify, or remove anything with a .git
subfolder
+in it.
+This command also does not install missing dependencies, if the package
+does not include them in its git repository. If npm ls
reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do npm explore <pkgname> -- npm install
to install the
+dependencies into the submodule folder.
+SEE ALSO
+
+- package.json(5)
+- git help submodule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/deps/npm/html/doc/cli/npm-tag.html b/deps/npm/html/doc/cli/npm-tag.html
index a1cd6a34722584..414e84a0dd165a 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 f1297a218d781b..1adc889770378d 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 ffa3f9fed67463..aae5ca9b4d8571 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 2c688d6c7e5b37..1f042fc55e3292 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 90665678babc42..ae6685d449547a 100644
--- a/deps/npm/html/doc/cli/npm-update.html
+++ b/deps/npm/html/doc/cli/npm-update.html
@@ -119,5 +119,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-version.html b/deps/npm/html/doc/cli/npm-version.html
index 741b08519683aa..941df172003f9f 100644
--- a/deps/npm/html/doc/cli/npm-version.html
+++ b/deps/npm/html/doc/cli/npm-version.html
@@ -73,5 +73,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/cli/npm-view.html b/deps/npm/html/doc/cli/npm-view.html
index a08ed9c2a46f16..e0f48b675e967a 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 5bee748a3a5edc..9b451f148cc5b7 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 f5e08486c793b7..83fe67d5759669 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.11.2
+2.11.3
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 ea06ea2dc70ccf..db8b092111a6ff 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 463c8aa3517941..ddc76520145e5d 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 85a7fa10e99f03..faf036a9816797 100644
--- a/deps/npm/html/doc/files/npm-json.html
+++ b/deps/npm/html/doc/files/npm-json.html
@@ -538,5 +538,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/files/npmrc.html b/deps/npm/html/doc/files/npmrc.html
index 80166c343ed569..38f5c86e3e9cf3 100644
--- a/deps/npm/html/doc/files/npmrc.html
+++ b/deps/npm/html/doc/files/npmrc.html
@@ -81,5 +81,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/files/package.json.html b/deps/npm/html/doc/files/package.json.html
index a50f9d6a8abaf8..66651bd4e5045f 100644
--- a/deps/npm/html/doc/files/package.json.html
+++ b/deps/npm/html/doc/files/package.json.html
@@ -538,5 +538,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/index.html b/deps/npm/html/doc/index.html
index c1c84c4a710df3..e45b852b5f911b 100644
--- a/deps/npm/html/doc/index.html
+++ b/deps/npm/html/doc/index.html
@@ -236,5 +236,5 @@ semver(
-
+
diff --git a/deps/npm/html/doc/misc/npm-coding-style.html b/deps/npm/html/doc/misc/npm-coding-style.html
index 506d293e762a98..c336977c58d29e 100644
--- a/deps/npm/html/doc/misc/npm-coding-style.html
+++ b/deps/npm/html/doc/misc/npm-coding-style.html
@@ -147,5 +147,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/npm-config.html b/deps/npm/html/doc/misc/npm-config.html
index 773c928f5d9961..baa0762f1bb49f 100644
--- a/deps/npm/html/doc/misc/npm-config.html
+++ b/deps/npm/html/doc/misc/npm-config.html
@@ -799,5 +799,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/npm-developers.html b/deps/npm/html/doc/misc/npm-developers.html
index 23c378fb865295..c3b26357b238b4 100644
--- a/deps/npm/html/doc/misc/npm-developers.html
+++ b/deps/npm/html/doc/misc/npm-developers.html
@@ -189,5 +189,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/npm-disputes.html b/deps/npm/html/doc/misc/npm-disputes.html
index 2e2d14193f8051..797d3e6bce9409 100644
--- a/deps/npm/html/doc/misc/npm-disputes.html
+++ b/deps/npm/html/doc/misc/npm-disputes.html
@@ -13,7 +13,7 @@ npm-disputes
Handling Module
SYNOPSIS
- Get the author email with
npm owner ls <pkgname>
-- Email the author, CC support@npmjs.com
+- Email the author, CC support@npmjs.com
- After a few weeks, if there's no resolution, we'll sort it out.
Don't squat on package names. Publish code or move out of the way.
@@ -51,12 +51,12 @@ DESCRIPTION
owner (Bob).
- Joe emails Bob, explaining the situation as respectfully as
possible, and what he would like to do with the module name. He
-adds the npm support staff support@npmjs.com to the CC list of
+adds the npm support staff support@npmjs.com to the CC list of
the email. Mention in the email that Bob can run
npm owner add
joe foo
to add Joe as an owner of the foo
package.
- After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can't come to any sort of resolution, email support
-support@npmjs.com and we'll sort it out. ("Reasonable" is
+support@npmjs.com and we'll sort it out. ("Reasonable" is
usually at least 4 weeks, but extra time is allowed around common
holidays.)
@@ -112,5 +112,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/npm-faq.html b/deps/npm/html/doc/misc/npm-faq.html
index e07eebe7a76238..01ef2c2d42f64a 100644
--- a/deps/npm/html/doc/misc/npm-faq.html
+++ b/deps/npm/html/doc/misc/npm-faq.html
@@ -236,7 +236,7 @@ I get ECONNREFUSED a lot. What'
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 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/npm-index.html b/deps/npm/html/doc/misc/npm-index.html
index 759d5283136bee..18d73b0abbb391 100644
--- a/deps/npm/html/doc/misc/npm-index.html
+++ b/deps/npm/html/doc/misc/npm-index.html
@@ -236,5 +236,5 @@ s
-
+
diff --git a/deps/npm/html/doc/misc/npm-registry.html b/deps/npm/html/doc/misc/npm-registry.html
index e2a28a6f2db4e0..23c36db63c6770 100644
--- a/deps/npm/html/doc/misc/npm-registry.html
+++ b/deps/npm/html/doc/misc/npm-registry.html
@@ -70,5 +70,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/npm-scope.html b/deps/npm/html/doc/misc/npm-scope.html
index 1c901316f6eb7e..027e64ed948d1f 100644
--- a/deps/npm/html/doc/misc/npm-scope.html
+++ b/deps/npm/html/doc/misc/npm-scope.html
@@ -91,5 +91,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/npm-scripts.html b/deps/npm/html/doc/misc/npm-scripts.html
index 297e195d636d7f..982c219fea69a3 100644
--- a/deps/npm/html/doc/misc/npm-scripts.html
+++ b/deps/npm/html/doc/misc/npm-scripts.html
@@ -207,5 +207,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/removing-npm.html b/deps/npm/html/doc/misc/removing-npm.html
index c4f0110aba1888..37253651bb5d81 100644
--- a/deps/npm/html/doc/misc/removing-npm.html
+++ b/deps/npm/html/doc/misc/removing-npm.html
@@ -57,5 +57,5 @@ SEE ALSO
-
+
diff --git a/deps/npm/html/doc/misc/semver.html b/deps/npm/html/doc/misc/semver.html
index 05ba284de751df..bf227e4834a006 100644
--- a/deps/npm/html/doc/misc/semver.html
+++ b/deps/npm/html/doc/misc/semver.html
@@ -282,5 +282,5 @@ Ranges
-
+
diff --git a/deps/npm/html/partial/doc/README.html b/deps/npm/html/partial/doc/README.html
index ed1e7e1864b321..7db20d8965a693 100644
--- a/deps/npm/html/partial/doc/README.html
+++ b/deps/npm/html/partial/doc/README.html
@@ -129,7 +129,7 @@ Legal Stuff
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-submodule.html b/deps/npm/html/partial/doc/api/npm-submodule.html
new file mode 100644
index 00000000000000..cc7dd822ada426
--- /dev/null
+++ b/deps/npm/html/partial/doc/api/npm-submodule.html
@@ -0,0 +1,21 @@
+npm-submodule
Add a package as a git submodule
+SYNOPSIS
+npm.commands.submodule(packages, callback)
+
DESCRIPTION
+For each package specified, npm will check if it has a git repository url
+in its package.json description then add it as a git submodule at
+node_modules/<pkg name>
.
+This is a convenience only. From then on, it's up to you to manage
+updates by using the appropriate git commands. npm will stubbornly
+refuse to update, modify, or remove anything with a .git
subfolder
+in it.
+This command also does not install missing dependencies, if the package
+does not include them in its git repository. If npm ls
reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do npm explore <pkgname> -- npm install
to install the
+dependencies into the submodule folder.
+SEE ALSO
+
+- npm help json
+- git help submodule
+
diff --git a/deps/npm/html/partial/doc/api/npm.html b/deps/npm/html/partial/doc/api/npm.html
index 5f094ed0e9604e..8e9de746a143cc 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.11.2
+2.11.3
This is the API documentation for npm. To find documentation of the command line diff --git a/deps/npm/html/partial/doc/cli/npm-ls.html b/deps/npm/html/partial/doc/cli/npm-ls.html index cb1810bf555ca4..f240024f22fe2a 100644 --- a/deps/npm/html/partial/doc/cli/npm-ls.html +++ b/deps/npm/html/partial/doc/cli/npm-ls.html @@ -11,7 +11,7 @@
npm ls promzard
in npm's source tree will show:
-npm@2.11.2 /path/to/npm
+npm@2.11.3 /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-submodule.html b/deps/npm/html/partial/doc/cli/npm-submodule.html
new file mode 100644
index 00000000000000..dd7c7e8878e734
--- /dev/null
+++ b/deps/npm/html/partial/doc/cli/npm-submodule.html
@@ -0,0 +1,21 @@
+npm-submodule
Add a package as a git submodule
+SYNOPSIS
+npm submodule <pkg>
+
DESCRIPTION
+If the specified package has a git repository url in its package.json
+description, then this command will add it as a git submodule at
+node_modules/<pkg name>
.
+This is a convenience only. From then on, it's up to you to manage
+updates by using the appropriate git commands. npm will stubbornly
+refuse to update, modify, or remove anything with a .git
subfolder
+in it.
+This command also does not install missing dependencies, if the package
+does not include them in its git repository. If npm ls
reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do npm explore <pkgname> -- npm install
to install the
+dependencies into the submodule folder.
+SEE ALSO
+
+- package.json(5)
+- git help submodule
+
diff --git a/deps/npm/html/partial/doc/cli/npm.html b/deps/npm/html/partial/doc/cli/npm.html
index 3778f1aa9b4e06..b09a9846790e26 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.11.2
+2.11.3
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/misc/npm-disputes.html b/deps/npm/html/partial/doc/misc/npm-disputes.html
index 9824c29482dda2..ee9992f7702d10 100644
--- a/deps/npm/html/partial/doc/misc/npm-disputes.html
+++ b/deps/npm/html/partial/doc/misc/npm-disputes.html
@@ -2,7 +2,7 @@ npm-disputes
Handling Module
SYNOPSIS
- Get the author email with
npm owner ls <pkgname>
-- Email the author, CC support@npmjs.com
+- Email the author, CC support@npmjs.com
- After a few weeks, if there's no resolution, we'll sort it out.
Don't squat on package names. Publish code or move out of the way.
@@ -40,12 +40,12 @@ DESCRIPTION
owner (Bob).
- Joe emails Bob, explaining the situation as respectfully as
possible, and what he would like to do with the module name. He
-adds the npm support staff support@npmjs.com to the CC list of
+adds the npm support staff support@npmjs.com to the CC list of
the email. Mention in the email that Bob can run
npm owner add
joe foo
to add Joe as an owner of the foo
package.
- After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can't come to any sort of resolution, email support
-support@npmjs.com and we'll sort it out. ("Reasonable" is
+support@npmjs.com and we'll sort it out. ("Reasonable" is
usually at least 4 weeks, but extra time is allowed around common
holidays.)
diff --git a/deps/npm/html/partial/doc/misc/npm-faq.html b/deps/npm/html/partial/doc/misc/npm-faq.html
index 556037740e21ca..448ef469483720 100644
--- a/deps/npm/html/partial/doc/misc/npm-faq.html
+++ b/deps/npm/html/partial/doc/misc/npm-faq.html
@@ -225,7 +225,7 @@ I get ECONNREFUSED a lot. What'
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/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index c7b2c14fa0e271..31d93d17b4a77b 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.11.2 /path/to/npm
+npm@2.11.3 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi
diff --git a/deps/npm/man/man1/npm-submodule.1 b/deps/npm/man/man1/npm-submodule.1
new file mode 100644
index 00000000000000..771f0c0a2286a2
--- /dev/null
+++ b/deps/npm/man/man1/npm-submodule.1
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "1" "September 2014" "" ""
+.
+.SH "NAME"
+\fBnpm-submodule\fR \-\- Add a package as a git submodule
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm submodule
+.
+.fi
+.
+.SH "DESCRIPTION"
+If the specified package has a git repository url in its package\.json
+description, then this command will add it as a git submodule at \fBnode_modules/\fR\|\.
+.
+.P
+This is a convenience only\. From then on, it\'s up to you to manage
+updates by using the appropriate git commands\. npm will stubbornly
+refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder
+in it\.
+.
+.P
+This command also does not install missing dependencies, if the package
+does not include them in its git repository\. If \fBnpm ls\fR reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do \fBnpm explore \-\- npm install\fR to install the
+dependencies into the submodule folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help 5 package\.json
+.
+.IP "\(bu" 4
+git help submodule
+.
+.IP "" 0
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 45636f9093d2ec..b38102a3f9bb0c 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.11.2
+2.11.3
.SH DESCRIPTION
.P
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/man/man3/npm-submodule.3 b/deps/npm/man/man3/npm-submodule.3
new file mode 100644
index 00000000000000..d2e23d7e8fc245
--- /dev/null
+++ b/deps/npm/man/man3/npm-submodule.3
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "3" "September 2014" "" ""
+.
+.SH "NAME"
+\fBnpm-submodule\fR \-\- Add a package as a git submodule
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.submodule(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+For each package specified, npm will check if it has a git repository url
+in its package\.json description then add it as a git submodule at \fBnode_modules/\fR\|\.
+.
+.P
+This is a convenience only\. From then on, it\'s up to you to manage
+updates by using the appropriate git commands\. npm will stubbornly
+refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder
+in it\.
+.
+.P
+This command also does not install missing dependencies, if the package
+does not include them in its git repository\. If \fBnpm ls\fR reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do \fBnpm explore \-\- npm install\fR to install the
+dependencies into the submodule folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+git help submodule
+.
+.IP "" 0
diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3
index e7364762d46469..a27078deb1cacc 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.11.2
+2.11.3
.SH DESCRIPTION
.P
This is the API documentation for npm\.
diff --git a/deps/npm/node_modules/ini/.npmignore b/deps/npm/node_modules/ini/.npmignore
deleted file mode 100644
index 3c3629e647f5dd..00000000000000
--- a/deps/npm/node_modules/ini/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/deps/npm/node_modules/ini/package.json b/deps/npm/node_modules/ini/package.json
index 5a1e10b81c9aa2..e9b9d5396c0e09 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.3",
+ "version": "1.3.4",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/ini.git"
@@ -20,22 +20,29 @@
},
"dependencies": {},
"devDependencies": {
- "tap": "~0.4.0"
+ "tap": "^1.2.0"
},
"license": "ISC",
- "gitHead": "566268f1fb8dd3c0f7d968091de7b7fb2b97b483",
+ "files": [
+ "ini.js"
+ ],
+ "gitHead": "4a3001abc4c608e51add9f1d2b2cadf02b8e6dea",
"bugs": {
"url": "https://github.com/isaacs/ini/issues"
},
- "homepage": "https://github.com/isaacs/ini",
- "_id": "ini@1.3.3",
- "_shasum": "c07e34aef1de06aff21d413b458e52b21533a11e",
- "_from": "ini@>=1.3.1 <1.4.0",
- "_npmVersion": "2.5.1",
- "_nodeVersion": "1.1.0",
+ "homepage": "https://github.com/isaacs/ini#readme",
+ "_id": "ini@1.3.4",
+ "_shasum": "0537cb79daf59b59a1a517dff706c86ec039162e",
+ "_from": "ini@latest",
+ "_npmVersion": "2.10.1",
+ "_nodeVersion": "2.0.1",
"_npmUser": {
"name": "isaacs",
- "email": "i@izs.me"
+ "email": "isaacs@npmjs.com"
+ },
+ "dist": {
+ "shasum": "0537cb79daf59b59a1a517dff706c86ec039162e",
+ "tarball": "http://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
},
"maintainers": [
{
@@ -43,10 +50,7 @@
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "c07e34aef1de06aff21d413b458e52b21533a11e",
- "tarball": "http://registry.npmjs.org/ini/-/ini-1.3.3.tgz"
- },
"directories": {},
- "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz"
+ "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/deps/npm/node_modules/ini/test/bar.js b/deps/npm/node_modules/ini/test/bar.js
deleted file mode 100644
index cb16176efa1d65..00000000000000
--- a/deps/npm/node_modules/ini/test/bar.js
+++ /dev/null
@@ -1,23 +0,0 @@
-//test that parse(stringify(obj) deepEqu
-
-var ini = require('../')
-var test = require('tap').test
-
-var data = {
- 'number': {count: 10},
- 'string': {drink: 'white russian'},
- 'boolean': {isTrue: true},
- 'nested boolean': {theDude: {abides: true, rugCount: 1}}
-}
-
-
-test('parse(stringify(x)) deepEqual x', function (t) {
-
- for (var k in data) {
- var s = ini.stringify(data[k])
- console.log(s, data[k])
- t.deepEqual(ini.parse(s), data[k])
- }
-
- t.end()
-})
diff --git a/deps/npm/node_modules/ini/test/fixtures/foo.ini b/deps/npm/node_modules/ini/test/fixtures/foo.ini
deleted file mode 100644
index fc2080f161167f..00000000000000
--- a/deps/npm/node_modules/ini/test/fixtures/foo.ini
+++ /dev/null
@@ -1,65 +0,0 @@
-o = p
-
- a with spaces = b c
-
-; wrap in quotes to JSON-decode and preserve spaces
-" xa n p " = "\"\r\nyoyoyo\r\r\n"
-
-; wrap in quotes to get a key with a bracket, not a section.
-"[disturbing]" = hey you never know
-
-; Test single quotes
-s = 'something'
-
-; Test mixing quotes
-
-s1 = "something'
-
-; Test double quotes
-s2 = "something else"
-
-; Test arrays
-zr[] = deedee
-ar[] = one
-ar[] = three
-; This should be included in the array
-ar = this is included
-
-; Test resetting of a value (and not turn it into an array)
-br = cold
-br = warm
-
-eq = "eq=eq"
-
-; a section
-[a]
-av = a val
-e = { o: p, a: { av: a val, b: { c: { e: "this [value]" } } } }
-j = "{ o: "p", a: { av: "a val", b: { c: { e: "this [value]" } } } }"
-"[]" = a square?
-
-; Nested array
-cr[] = four
-cr[] = eight
-
-; nested child without middle parent
-; should create otherwise-empty a.b
-[a.b.c]
-e = 1
-j = 2
-
-; dots in the section name should be literally interpreted
-[x\.y\.z]
-x.y.z = xyz
-
-[x\.y\.z.a\.b\.c]
-a.b.c = abc
-
-; this next one is not a comment! it's escaped!
-nocomment = this\; this is not a comment
-
-# Support the use of the number sign (#) as an alternative to the semicolon for indicating comments.
-# http://en.wikipedia.org/wiki/INI_file#Comments
-
-# this next one is not a comment! it's escaped!
-noHashComment = this\# this is not a comment
diff --git a/deps/npm/node_modules/ini/test/foo.js b/deps/npm/node_modules/ini/test/foo.js
deleted file mode 100644
index 58102d1e7254c2..00000000000000
--- a/deps/npm/node_modules/ini/test/foo.js
+++ /dev/null
@@ -1,107 +0,0 @@
-var i = require("../")
- , tap = require("tap")
- , test = tap.test
- , fs = require("fs")
- , path = require("path")
- , fixture = path.resolve(__dirname, "./fixtures/foo.ini")
- , data = fs.readFileSync(fixture, "utf8")
- , d
- , expectE = 'o=p\n'
- + 'a with spaces=b c\n'
- + '" xa n p "="\\"\\r\\nyoyoyo\\r\\r\\n"\n'
- + '"[disturbing]"=hey you never know\n'
- + 's=something\n'
- + 's1=\"something\'\n'
- + 's2=something else\n'
- + 'zr[]=deedee\n'
- + 'ar[]=one\n'
- + 'ar[]=three\n'
- + 'ar[]=this is included\n'
- + 'br=warm\n'
- + 'eq=\"eq=eq\"\n'
- + '\n'
- + '[a]\n'
- + 'av=a val\n'
- + 'e={ o: p, a: '
- + '{ av: a val, b: { c: { e: "this [value]" '
- + '} } } }\nj="\\"{ o: \\"p\\", a: { av:'
- + ' \\"a val\\", b: { c: { e: \\"this [value]'
- + '\\" } } } }\\""\n"[]"=a square?\n'
- + 'cr[]=four\ncr[]=eight\n\n'
- +'[a.b.c]\ne=1\n'
- + 'j=2\n\n[x\\.y\\.z]\nx.y.z=xyz\n\n'
- + '[x\\.y\\.z.a\\.b\\.c]\na.b.c=abc\n'
- + 'nocomment=this\\; this is not a comment\n'
- + 'noHashComment=this\\# this is not a comment\n'
- , expectD =
- { o: 'p',
- 'a with spaces': 'b c',
- " xa n p ":'"\r\nyoyoyo\r\r\n',
- '[disturbing]': 'hey you never know',
- 's': 'something',
- 's1' : '\"something\'',
- 's2': 'something else',
- '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]" } } } }',
- j: '"{ o: "p", a: { av: "a val", b: { c: { e: "this [value]" } } } }"',
- "[]": "a square?",
- cr: ['four', 'eight'],
- b: { c: { e: '1', j: '2' } } },
- 'x.y.z': {
- 'x.y.z': 'xyz',
- 'a.b.c': {
- 'a.b.c': 'abc',
- 'nocomment': 'this\; this is not a comment',
- noHashComment: 'this\# this is not a comment'
- }
- }
- }
- , expectF = '[prefix.log]\n'
- + 'type=file\n\n'
- + '[prefix.log.level]\n'
- + 'label=debug\n'
- + 'value=10\n'
- , expectG = '[log]\n'
- + 'type = file\n\n'
- + '[log.level]\n'
- + 'label = debug\n'
- + 'value = 10\n'
-
-test("decode from file", function (t) {
- var d = i.decode(data)
- t.deepEqual(d, expectD)
- t.end()
-})
-
-test("encode from data", function (t) {
- var e = i.encode(expectD)
- t.deepEqual(e, expectE)
-
- var obj = {log: { type:'file', level: {label:'debug', value:10} } }
- e = i.encode(obj)
- t.notEqual(e.slice(0, 1), '\n', 'Never a blank first line')
- t.notEqual(e.slice(-2), '\n\n', 'Never a blank final line')
-
- t.end()
-})
-
-test("encode with option", function (t) {
- var obj = {log: { type:'file', level: {label:'debug', value:10} } }
- e = i.encode(obj, {section: 'prefix'})
-
- t.equal(e, expectF)
- t.end()
-})
-
-test("encode with whitespace", function (t) {
- var obj = {log: { type:'file', level: {label:'debug', value:10} } }
- e = i.encode(obj, {whitespace: true})
-
- t.equal(e, expectG)
- t.end()
-})
diff --git a/deps/npm/node_modules/normalize-git-url/.eslintrc b/deps/npm/node_modules/normalize-git-url/.eslintrc
new file mode 100644
index 00000000000000..b54e30fd2aa2a9
--- /dev/null
+++ b/deps/npm/node_modules/normalize-git-url/.eslintrc
@@ -0,0 +1,19 @@
+{
+ "env" : {
+ "node" : true
+ },
+ "rules" : {
+ "semi": [2, "never"],
+ "strict": 0,
+ "quotes": [1, "double", "avoid-escape"],
+ "no-use-before-define": 0,
+ "curly": 0,
+ "no-underscore-dangle": 0,
+ "no-lonely-if": 1,
+ "no-unused-vars": [2, {"vars" : "all", "args" : "after-used"}],
+ "no-mixed-requires": 0,
+ "space-infix-ops": 0,
+ "key-spacing": 0,
+ "no-multi-spaces": 0
+ }
+}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/fixer.js b/deps/npm/node_modules/normalize-package-data/lib/fixer.js
index d1b39831e4f719..3d9380b6e43d80 100644
--- a/deps/npm/node_modules/normalize-package-data/lib/fixer.js
+++ b/deps/npm/node_modules/normalize-package-data/lib/fixer.js
@@ -50,6 +50,7 @@ var fixer = module.exports = {
if (typeof data.scripts !== "object") {
this.warn("nonObjectScripts")
delete data.scripts
+ return
}
Object.keys(data.scripts).forEach(function (k) {
if (typeof data.scripts[k] !== "string") {
diff --git a/deps/npm/node_modules/normalize-package-data/package.json b/deps/npm/node_modules/normalize-package-data/package.json
index e8ff579766f340..44ca4d58675ffc 100644
--- a/deps/npm/node_modules/normalize-package-data/package.json
+++ b/deps/npm/node_modules/normalize-package-data/package.json
@@ -1,6 +1,6 @@
{
"name": "normalize-package-data",
- "version": "2.2.0",
+ "version": "2.2.1",
"author": {
"name": "Meryn Stol",
"email": "merynstol@gmail.com"
@@ -21,9 +21,9 @@
"spdx": "^0.4.0"
},
"devDependencies": {
- "tap": "~0.2.5",
- "underscore": "~1.4.4",
- "async": "~0.9.0"
+ "async": "~0.9.0",
+ "tap": "^1.1.0",
+ "underscore": "~1.4.4"
},
"contributors": [
{
@@ -41,12 +41,12 @@
],
"readme": "# normalize-package-data [![Build Status](https://travis-ci.org/npm/normalize-package-data.png?branch=master)](https://travis-ci.org/npm/normalize-package-data)\n\nnormalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.\n\nnormalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.\n\n## Installation\n\n```\nnpm install normalize-package-data\n```\n\n## Usage\n\nBasic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readFileSync(\"package.json\")\nnormalizeData(packageData)\n// packageData is now normalized\n```\n\n#### Strict mode\n\nYou may activate strict validation by passing true as the second argument.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readFileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, true)\n// packageData is now normalized\n```\n\nIf strict mode is activated, only Semver 2.0 version strings are accepted. Otherwise, Semver 1.0 strings are accepted as well. Packages must have a name, and the name field must not have contain leading or trailing whitespace.\n\n#### Warnings\n\nOptionally, you may pass a \"warning\" function. It gets called whenever the `normalizeData` function encounters something that doesn't look right. It indicates less than perfect input data.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readFileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, warnFn)\n// packageData is now normalized. Any number of warnings may have been logged.\n```\n\nYou may combine strict validation with warnings by passing `true` as the second argument, and `warnFn` as third.\n\nWhen `private` field is set to `true`, warnings will be suppressed.\n\n### Potential exceptions\n\nIf the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.\n\n## What normalization (currently) entails\n\n* The value of `name` field gets trimmed (unless in strict mode).\n* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n* If `name` and/or `version` fields are missing, they are set to empty strings.\n* If `files` field is not an array, it will be removed.\n* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.\n* If `man` field is a string, it will become an array with the original string as its sole member.\n* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\\s+`.\n* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.\n* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.\n* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.\n* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.\n* As of v2: Dependencies that point at known hosted git providers (currently: github, bitbucket, gitlab) will have their URLs canonicalized, but protocols will be preserved.\n* As of v2: Dependencies that use shortcuts for hosted git providers (`org/proj`, `github:org/proj`, `bitbucket:org/proj`, `gitlab:org/proj`, `gist:docid`) will have the shortcut left in place. (In the case of github, the `org/proj` form will be expanded to `github:org/proj`.) THIS MARKS A BREAKING CHANGE FROM V1, where the shorcut was previously expanded to a URL.\n* If `description` field does not exist, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.\n* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `\"git\"`.\n* If `repository.url` is not a valid url, but in the style of \"[owner-name]/[repo-name]\", `repository.url` will be set to https://github.com/[owner-name]/[repo-name]\n* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.\n* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.\n* If `homepage` field is not a string, it will be removed.\n* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.\n* If `homepage` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `homepage` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/ . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n\n### Rules for name field\n\nIf `name` field is given, the value of the name field must be a string. The string may not:\n\n* start with a period.\n* contain the following characters: `/@\\s+%`\n* contain and characters that would need to be encoded for use in urls.\n* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).\n\n### Rules for version field\n\nIf `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n\n### Rules for license field\n\nThe `license` field should be a valid *SDPDX license expression* string, as determined by the `spdx.valid` method. See [documentation for the spdx module](https://github.com/kemitchell/spdx.js).\n\n## Credits\n\nThis package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.\n\n## License\n\nnormalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT). \nCopyright (c) 2013 Meryn Stol \n",
"readmeFilename": "README.md",
- "gitHead": "5b7630cb2a9c475bc93cc8a05854587f2dc9a26c",
+ "gitHead": "e319259b7ebac34c470ae0dc55610befa711dbb6",
"bugs": {
"url": "https://github.com/npm/normalize-package-data/issues"
},
- "homepage": "https://github.com/npm/normalize-package-data",
- "_id": "normalize-package-data@2.2.0",
- "_shasum": "b4f65b40df659b04820f30a2688db5dabc9dfad9",
- "_from": "normalize-package-data@2.2.0"
+ "homepage": "https://github.com/npm/normalize-package-data#readme",
+ "_id": "normalize-package-data@2.2.1",
+ "_shasum": "0e00ebd73ac065eb19092fd313531dd291a0e045",
+ "_from": "normalize-package-data@latest"
}
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/badscripts.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/badscripts.json
new file mode 100644
index 00000000000000..25feb4c8f4e694
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/badscripts.json
@@ -0,0 +1,5 @@
+{
+ "name": "bad-scripts-package",
+ "version": "0.0.1",
+ "scripts": "foo"
+}
diff --git a/deps/npm/node_modules/normalize-package-data/test/scripts.js b/deps/npm/node_modules/normalize-package-data/test/scripts.js
new file mode 100644
index 00000000000000..473596eef2c65f
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/scripts.js
@@ -0,0 +1,24 @@
+var tap = require("tap")
+var normalize = require("../lib/normalize")
+var path = require("path")
+var fs = require("fs")
+
+tap.test("bad scripts", function (t) {
+ var p = path.resolve(__dirname, "./fixtures/badscripts.json")
+ fs.readFile (p, function (err, contents) {
+ if (err) throw err
+ var originalData = JSON.parse(contents.toString())
+ var data = JSON.parse(contents.toString())
+ normalize(data)
+ t.ok(data)
+ verifyFields(t, data, originalData)
+ t.end()
+ })
+})
+
+function verifyFields (t, normalized, original) {
+ t.equal(normalized.version, original.version, "Version field stays same")
+ t.equal(normalized.name, original.name, "Name stays the same.")
+ // scripts is not an object, so it should be deleted
+ t.notOk(normalized.scripts)
+}
diff --git a/deps/npm/node_modules/osenv/.travis.yml b/deps/npm/node_modules/osenv/.travis.yml
new file mode 100644
index 00000000000000..99f2bbf5068a8c
--- /dev/null
+++ b/deps/npm/node_modules/osenv/.travis.yml
@@ -0,0 +1,9 @@
+language: node_js
+language: node_js
+node_js:
+ - '0.8'
+ - '0.10'
+ - '0.12'
+ - 'iojs'
+before_install:
+ - npm install -g npm@latest
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/index.js b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/index.js
new file mode 100644
index 00000000000000..52d90bf2698008
--- /dev/null
+++ b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/index.js
@@ -0,0 +1,25 @@
+'use strict';
+var isWindows = process.platform === 'win32';
+var trailingSlashRe = isWindows ? /[^:]\\$/ : /.\/$/;
+
+// https://github.com/nodejs/io.js/blob/3e7a14381497a3b73dda68d05b5130563cdab420/lib/os.js#L25-L43
+module.exports = function () {
+ var path;
+
+ if (isWindows) {
+ path = process.env.TEMP ||
+ process.env.TMP ||
+ (process.env.SystemRoot || process.env.windir) + '\\temp';
+ } else {
+ path = process.env.TMPDIR ||
+ process.env.TMP ||
+ process.env.TEMP ||
+ '/tmp';
+ }
+
+ if (trailingSlashRe.test(path)) {
+ path = path.slice(0, -1);
+ }
+
+ return path;
+};
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/license b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/license
new file mode 100644
index 00000000000000..654d0bfe943437
--- /dev/null
+++ b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/package.json b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/package.json
new file mode 100644
index 00000000000000..1857f8f5fa2cd9
--- /dev/null
+++ b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "os-tmpdir",
+ "version": "1.0.1",
+ "description": "Node.js os.tmpdir() ponyfill",
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/os-tmpdir.git"
+ },
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "files": [
+ "index.js"
+ ],
+ "keywords": [
+ "built-in",
+ "core",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "os",
+ "tmpdir",
+ "tempdir",
+ "tmp",
+ "temp",
+ "dir",
+ "directory",
+ "env",
+ "environment"
+ ],
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "gitHead": "5c5d355f81378980db629d60128ad03e02b1c1e5",
+ "bugs": {
+ "url": "https://github.com/sindresorhus/os-tmpdir/issues"
+ },
+ "homepage": "https://github.com/sindresorhus/os-tmpdir",
+ "_id": "os-tmpdir@1.0.1",
+ "_shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
+ "_from": "os-tmpdir@>=1.0.0 <2.0.0",
+ "_npmVersion": "2.9.1",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "dist": {
+ "shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
+ "tarball": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
+ },
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "directories": {},
+ "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz",
+ "readme": "ERROR: No README data found!"
+}
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/readme.md b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/readme.md
new file mode 100644
index 00000000000000..54d4c6ec8e5056
--- /dev/null
+++ b/deps/npm/node_modules/osenv/node_modules/os-tmpdir/readme.md
@@ -0,0 +1,36 @@
+# os-tmpdir [![Build Status](https://travis-ci.org/sindresorhus/os-tmpdir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-tmpdir)
+
+> Node.js [`os.tmpdir()`](https://nodejs.org/api/os.html#os_os_tmpdir) ponyfill
+
+> Ponyfill: A polyfill that doesn't overwrite the native method
+
+Use this instead of `require('os').tmpdir()` to get a consistent behaviour on different Node.js versions (even 0.8).
+
+*This is actually taken from io.js 2.0.2 as it contains some fixes that haven't bubbled up to Node.js yet.*
+
+
+## Install
+
+```
+$ npm install --save os-tmpdir
+```
+
+
+## Usage
+
+```js
+var osTmpdir = require('os-tmpdir');
+
+osTmpdir();
+//=> /var/folders/m3/5574nnhn0yj488ccryqr7tc80000gn/T
+```
+
+
+## API
+
+See the [`os.tmpdir()` docs](https://nodejs.org/api/os.html#os_os_tmpdir).
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/osenv/osenv.js b/deps/npm/node_modules/osenv/osenv.js
index 7836fafcc1a661..0cabcba66ec3f5 100644
--- a/deps/npm/node_modules/osenv/osenv.js
+++ b/deps/npm/node_modules/osenv/osenv.js
@@ -1,7 +1,7 @@
var isWindows = process.platform === 'win32'
var path = require('path')
var exec = require('child_process').exec
-var os = require('os')
+var osTmpdir = require('os-tmpdir')
// looking up envs is a bit costly.
// Also, sometimes we want to have a fallback
@@ -46,7 +46,7 @@ memo('hostname', function () {
}, 'hostname')
memo('tmpdir', function () {
- return os.tmpDir()
+ return osTmpdir()
})
memo('home', function () {
diff --git a/deps/npm/node_modules/osenv/package.json b/deps/npm/node_modules/osenv/package.json
index 7f83dc0c0cbf47..851f19b51ef44b 100644
--- a/deps/npm/node_modules/osenv/package.json
+++ b/deps/npm/node_modules/osenv/package.json
@@ -1,13 +1,15 @@
{
"name": "osenv",
- "version": "0.1.1",
+ "version": "0.1.2",
"main": "osenv.js",
"directories": {
"test": "test"
},
- "dependencies": {},
+ "dependencies": {
+ "os-tmpdir": "^1.0.0"
+ },
"devDependencies": {
- "tap": "~0.4.9"
+ "tap": "^1.2.0"
},
"scripts": {
"test": "tap test/*.js"
@@ -32,41 +34,14 @@
},
"license": "ISC",
"description": "Look up environment settings specific to different operating systems",
- "gitHead": "769ada6737026254372e3013b702c450a9b781e9",
+ "readme": "# osenv\n\nLook up environment settings specific to different operating systems.\n\n## Usage\n\n```javascript\nvar osenv = require('osenv')\nvar path = osenv.path()\nvar user = osenv.user()\n// etc.\n\n// Some things are not reliably in the env, and have a fallback command:\nvar h = osenv.hostname(function (er, hostname) {\n h = hostname\n})\n// This will still cause it to be memoized, so calling osenv.hostname()\n// is now an immediate operation.\n\n// You can always send a cb, which will get called in the nextTick\n// if it's been memoized, or wait for the fallback data if it wasn't\n// found in the environment.\nosenv.hostname(function (er, hostname) {\n if (er) console.error('error looking up hostname')\n else console.log('this machine calls itself %s', hostname)\n})\n```\n\n## osenv.hostname()\n\nThe machine name. Calls `hostname` if not found.\n\n## osenv.user()\n\nThe currently logged-in user. Calls `whoami` if not found.\n\n## osenv.prompt()\n\nEither PS1 on unix, or PROMPT on Windows.\n\n## osenv.tmpdir()\n\nThe place where temporary files should be created.\n\n## osenv.home()\n\nNo place like it.\n\n## osenv.path()\n\nAn array of the places that the operating system will search for\nexecutables.\n\n## osenv.editor() \n\nReturn the executable name of the editor program. This uses the EDITOR\nand VISUAL environment variables, and falls back to `vi` on Unix, or\n`notepad.exe` on Windows.\n\n## osenv.shell()\n\nThe SHELL on Unix, which Windows calls the ComSpec. Defaults to 'bash'\nor 'cmd'.\n",
+ "readmeFilename": "README.md",
+ "gitHead": "88a154d6d8ad39fefb9af2fe1b306cd12fb6d6d0",
"bugs": {
"url": "https://github.com/npm/osenv/issues"
},
"homepage": "https://github.com/npm/osenv#readme",
- "_id": "osenv@0.1.1",
- "_shasum": "ddc7c4bb86c64a3022e95f030ee028e9a5996c07",
- "_from": "osenv@0.1.1",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- "dist": {
- "shasum": "ddc7c4bb86c64a3022e95f030ee028e9a5996c07",
- "tarball": "http://registry.npmjs.org/osenv/-/osenv-0.1.1.tgz"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- },
- {
- "name": "robertkowalski",
- "email": "rok@kowalski.gd"
- },
- {
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
- },
- {
- "name": "iarna",
- "email": "me@re-becca.org"
- }
- ],
- "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.1.tgz"
+ "_id": "osenv@0.1.2",
+ "_shasum": "f4d23ebeceaef078600fb78c0ea58fac5996a02d",
+ "_from": "osenv@latest"
}
diff --git a/deps/npm/node_modules/osenv/test/windows.js b/deps/npm/node_modules/osenv/test/windows.js
index 63ca453212ad35..c9d837a32d4c68 100644
--- a/deps/npm/node_modules/osenv/test/windows.js
+++ b/deps/npm/node_modules/osenv/test/windows.js
@@ -3,9 +3,8 @@
// how the underlying system looks up module paths and runs
// child processes, and all that stuff is cached.
if (process.platform !== 'win32') {
- console.log('TAP Version 13\n' +
- '1..0\n' +
- '# Skip windows tests, this is not windows\n')
+ console.log('TAP version 13\n' +
+ '1..0 # Skip windows tests, this is not windows\n')
return
}
diff --git a/deps/npm/node_modules/request/.eslintrc b/deps/npm/node_modules/request/.eslintrc
new file mode 100644
index 00000000000000..e79f481f0cedcc
--- /dev/null
+++ b/deps/npm/node_modules/request/.eslintrc
@@ -0,0 +1,45 @@
+{
+ "env": {
+ "node": true
+ },
+ "rules": {
+ // 2-space indentation
+ "indent": [2, 2],
+ // Disallow semi-colons, unless needed to disambiguate statement
+ "semi": [2, "never"],
+ // Require strings to use single quotes
+ "quotes": [2, "single"],
+ // Require curly braces for all control statements
+ "curly": 2,
+ // Disallow using variables and functions before they've been defined
+ "no-use-before-define": 2,
+ // Allow any case for variable naming
+ "camelcase": 0,
+ // Disallow unused variables, except as function arguments
+ "no-unused-vars": [2, {"args":"none"}],
+ // Allow leading underscores for method names
+ // REASON: we use underscores to denote private methods
+ "no-underscore-dangle": 0,
+ // Allow multi spaces around operators since they are
+ // used for alignment. This is not consistent in the
+ // code.
+ "no-multi-spaces": 0,
+ // Style rule is: most objects use { beforeColon: false, afterColon: true }, unless aligning which uses:
+ //
+ // {
+ // beforeColon : true,
+ // afterColon : true
+ // }
+ //
+ // eslint can't handle this, so the check is disabled.
+ "key-spacing": 0,
+ // Allow shadowing vars in outer scope (needs discussion)
+ "no-shadow": 0,
+ // Use if () { }
+ // ^ space
+ "space-after-keywords": [2, "always"],
+ // Use if () { }
+ // ^ space
+ "space-before-blocks": [2, "always"]
+ }
+}
diff --git a/deps/npm/node_modules/request/node_modules/bl/.jshintrc b/deps/npm/node_modules/request/node_modules/bl/.jshintrc
new file mode 100644
index 00000000000000..c8ef3ca4097f82
--- /dev/null
+++ b/deps/npm/node_modules/request/node_modules/bl/.jshintrc
@@ -0,0 +1,59 @@
+{
+ "predef": [ ]
+ , "bitwise": false
+ , "camelcase": false
+ , "curly": false
+ , "eqeqeq": false
+ , "forin": false
+ , "immed": false
+ , "latedef": false
+ , "noarg": true
+ , "noempty": true
+ , "nonew": true
+ , "plusplus": false
+ , "quotmark": true
+ , "regexp": false
+ , "undef": true
+ , "unused": true
+ , "strict": false
+ , "trailing": true
+ , "maxlen": 120
+ , "asi": true
+ , "boss": true
+ , "debug": true
+ , "eqnull": true
+ , "esnext": true
+ , "evil": true
+ , "expr": true
+ , "funcscope": false
+ , "globalstrict": false
+ , "iterator": false
+ , "lastsemic": true
+ , "laxbreak": true
+ , "laxcomma": true
+ , "loopfunc": true
+ , "multistr": false
+ , "onecase": false
+ , "proto": false
+ , "regexdash": false
+ , "scripturl": true
+ , "smarttabs": false
+ , "shadow": false
+ , "sub": true
+ , "supernew": false
+ , "validthis": true
+ , "browser": true
+ , "couch": false
+ , "devel": false
+ , "dojo": false
+ , "mootools": false
+ , "node": true
+ , "nonstandard": true
+ , "prototypejs": false
+ , "rhino": false
+ , "worker": true
+ , "wsh": false
+ , "nomen": false
+ , "onevar": false
+ , "passfail": false
+}
\ No newline at end of file
diff --git a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/.jshintrc b/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/.jshintrc
new file mode 100644
index 00000000000000..7427dce48a3c89
--- /dev/null
+++ b/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/.jshintrc
@@ -0,0 +1,25 @@
+{
+ // Enforcing options
+ "eqeqeq": false,
+ "forin": true,
+ "indent": 4,
+ "noarg": true,
+ "undef": true,
+ "unused": true,
+ "trailing": true,
+ "evil": true,
+ "laxcomma": true,
+
+ // Relaxing options
+ "onevar": false,
+ "asi": false,
+ "eqnull": true,
+ "expr": false,
+ "loopfunc": true,
+ "sub": true,
+ "browser": true,
+ "node": true,
+ "globals": {
+ "define": true
+ }
+}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.jshintrc b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.jshintrc
new file mode 100644
index 00000000000000..77887b5f0f2efc
--- /dev/null
+++ b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.jshintrc
@@ -0,0 +1,30 @@
+{
+ "maxdepth": 4,
+ "maxstatements": 200,
+ "maxcomplexity": 12,
+ "maxlen": 80,
+ "maxparams": 5,
+
+ "curly": true,
+ "eqeqeq": true,
+ "immed": true,
+ "latedef": false,
+ "noarg": true,
+ "noempty": true,
+ "nonew": true,
+ "undef": true,
+ "unused": "vars",
+ "trailing": true,
+
+ "quotmark": true,
+ "expr": true,
+ "asi": true,
+
+ "browser": false,
+ "esnext": true,
+ "devel": false,
+ "node": false,
+ "nonstandard": false,
+
+ "predef": ["require", "module", "__dirname", "__filename"]
+}
diff --git a/deps/npm/node_modules/request/node_modules/isstream/.jshintrc b/deps/npm/node_modules/request/node_modules/isstream/.jshintrc
new file mode 100644
index 00000000000000..c8ef3ca4097f82
--- /dev/null
+++ b/deps/npm/node_modules/request/node_modules/isstream/.jshintrc
@@ -0,0 +1,59 @@
+{
+ "predef": [ ]
+ , "bitwise": false
+ , "camelcase": false
+ , "curly": false
+ , "eqeqeq": false
+ , "forin": false
+ , "immed": false
+ , "latedef": false
+ , "noarg": true
+ , "noempty": true
+ , "nonew": true
+ , "plusplus": false
+ , "quotmark": true
+ , "regexp": false
+ , "undef": true
+ , "unused": true
+ , "strict": false
+ , "trailing": true
+ , "maxlen": 120
+ , "asi": true
+ , "boss": true
+ , "debug": true
+ , "eqnull": true
+ , "esnext": true
+ , "evil": true
+ , "expr": true
+ , "funcscope": false
+ , "globalstrict": false
+ , "iterator": false
+ , "lastsemic": true
+ , "laxbreak": true
+ , "laxcomma": true
+ , "loopfunc": true
+ , "multistr": false
+ , "onecase": false
+ , "proto": false
+ , "regexdash": false
+ , "scripturl": true
+ , "smarttabs": false
+ , "shadow": false
+ , "sub": true
+ , "supernew": false
+ , "validthis": true
+ , "browser": true
+ , "couch": false
+ , "devel": false
+ , "dojo": false
+ , "mootools": false
+ , "node": true
+ , "nonstandard": true
+ , "prototypejs": false
+ , "rhino": false
+ , "worker": true
+ , "wsh": false
+ , "nomen": false
+ , "onevar": false
+ , "passfail": false
+}
\ No newline at end of file
diff --git a/deps/npm/node_modules/request/node_modules/qs/.jshintrc b/deps/npm/node_modules/request/node_modules/qs/.jshintrc
new file mode 100644
index 00000000000000..997b3f7d45e31b
--- /dev/null
+++ b/deps/npm/node_modules/request/node_modules/qs/.jshintrc
@@ -0,0 +1,10 @@
+{
+ "node": true,
+
+ "curly": true,
+ "latedef": true,
+ "quotmark": true,
+ "undef": true,
+ "unused": true,
+ "trailing": true
+}
diff --git a/deps/npm/node_modules/request/node_modules/tunnel-agent/.jshintrc b/deps/npm/node_modules/request/node_modules/tunnel-agent/.jshintrc
new file mode 100644
index 00000000000000..4c1c8d49723519
--- /dev/null
+++ b/deps/npm/node_modules/request/node_modules/tunnel-agent/.jshintrc
@@ -0,0 +1,5 @@
+{
+ "node": true,
+ "asi": true,
+ "laxcomma": true
+}
diff --git a/deps/npm/node_modules/rimraf/package.json b/deps/npm/node_modules/rimraf/package.json
index aabb562a7a53d4..b0ec171e085d79 100644
--- a/deps/npm/node_modules/rimraf/package.json
+++ b/deps/npm/node_modules/rimraf/package.json
@@ -1,6 +1,6 @@
{
"name": "rimraf",
- "version": "2.3.4",
+ "version": "2.4.0",
"main": "rimraf.js",
"description": "A deep deletion module for node (like `rm -rf`)",
"author": {
@@ -14,7 +14,7 @@
"url": "git://github.com/isaacs/rimraf.git"
},
"scripts": {
- "test": "cd test && bash run.sh"
+ "test": "tap test/*.js"
},
"bin": {
"rimraf": "./bin.js"
@@ -28,23 +28,27 @@
"LICENSE",
"README.md"
],
- "gitHead": "2a6cc45bbbdd8da5fd703d8af62843565f7dea57",
+ "devDependencies": {
+ "mkdirp": "^0.5.1",
+ "tap": "^1.2.0"
+ },
+ "gitHead": "2128f0b9ade05a81394dd21a383fa309dd9eca94",
"bugs": {
"url": "https://github.com/isaacs/rimraf/issues"
},
"homepage": "https://github.com/isaacs/rimraf#readme",
- "_id": "rimraf@2.3.4",
- "_shasum": "82d9bc1b2fcf31e205ac7b28138a025d08e9159a",
- "_from": "rimraf@>=2.3.4 <2.4.0",
- "_npmVersion": "2.10.0",
+ "_id": "rimraf@2.4.0",
+ "_shasum": "40ba0416037d8511ecb50f6b07cf8d18e658a864",
+ "_from": "rimraf@latest",
+ "_npmVersion": "2.10.1",
"_nodeVersion": "2.0.1",
"_npmUser": {
"name": "isaacs",
"email": "isaacs@npmjs.com"
},
"dist": {
- "shasum": "82d9bc1b2fcf31e205ac7b28138a025d08e9159a",
- "tarball": "http://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz"
+ "shasum": "40ba0416037d8511ecb50f6b07cf8d18e658a864",
+ "tarball": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.0.tgz"
},
"maintainers": [
{
@@ -53,6 +57,6 @@
}
],
"directories": {},
- "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz",
+ "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.0.tgz",
"readme": "ERROR: No README data found!"
}
diff --git a/deps/npm/node_modules/rimraf/rimraf.js b/deps/npm/node_modules/rimraf/rimraf.js
index 7f684e4b593842..447705ac97bb0b 100644
--- a/deps/npm/node_modules/rimraf/rimraf.js
+++ b/deps/npm/node_modules/rimraf/rimraf.js
@@ -35,6 +35,7 @@ function defaults (options) {
options.maxBusyTries = options.maxBusyTries || 3
options.emfileWait = options.emfileWait || 1000
+ options.disableGlob = options.disableGlob || false
}
function rimraf (p, options, cb) {
@@ -55,7 +56,7 @@ function rimraf (p, options, cb) {
var errState = null
var n = 0
- if (!glob.hasMagic(p))
+ if (options.disableGlob || !glob.hasMagic(p))
return afterGlob(null, [p])
fs.lstat(p, function (er, stat) {
@@ -262,7 +263,7 @@ function rimrafSync (p, options) {
var results
- if (!glob.hasMagic(p)) {
+ if (options.disableGlob || !glob.hasMagic(p)) {
results = [p]
} else {
try {
diff --git a/deps/npm/node_modules/spdx/README.md b/deps/npm/node_modules/spdx/README.md
index 4bf07fe1715fba..f373262474e8bb 100644
--- a/deps/npm/node_modules/spdx/README.md
+++ b/deps/npm/node_modules/spdx/README.md
@@ -104,8 +104,10 @@ spdx.gt('GPL-3.0', 'GPL-2.0'); // => true
spdx.lt('MPL-1.0', 'MPL-2.0'); // => true
spdx.gt('LPPL-1.3a', 'LPPL-1.0'); // => true
-spdx.gt('LPPL-1.3a', 'LPPL-1.3a'); // => false
+spdx.gt('LPPL-1.3c', 'LPPL-1.3a'); // => true
spdx.gt('MIT', 'ISC'); // => false
+spdx.gt('OSL-1.0', 'OPL-1.0'); // => false
+spdx.gt('AGPL-3.0', 'AGPL-1.0'); // => true
try {
spdx.gt('(MIT OR ISC)', 'GPL-3.0');
@@ -122,7 +124,9 @@ spdx.satisfies('GPL-3.0', 'GPL-2.0+'); // => true
spdx.satisfies('GPL-1.0', 'GPL-2.0+'); // => false
spdx.satisfies('GPL-2.0', 'GPL-2.0+ WITH Bison-exception-2.2'); // => false
-spdx.satisfies('GPL-3.0 WITH Bison-exception-2.2', 'GPL-2.0+ WITH Bison-exception-2.2'); // => true
+spdx.satisfies(
+ 'GPL-3.0 WITH Bison-exception-2.2', 'GPL-2.0+ WITH Bison-exception-2.2'
+); // => true
spdx.satisfies('(MIT OR GPL-2.0)', '(ISC OR MIT)'); // => true
spdx.satisfies('(MIT AND GPL-2.0)', '(MIT OR GPL-2.0)'); // => true
diff --git a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md
index c96e56b1e1d7d4..7ea6092d6cb3df 100755
--- a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md
+++ b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md
@@ -52,4 +52,4 @@ var spdxLicenseIds = require('spdx-license-ids'); //=> ['Glide', 'Abstyles', 'AF
## License
-[The Uicense](./LICENSE).
+[The Unlicense](./LICENSE).
diff --git a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json
index 7ba26183b67a2f..e6e341b111d03a 100644
--- a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json
+++ b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json
@@ -1,6 +1,6 @@
{
"name": "spdx-license-ids",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "A list of SPDX license identifiers",
"repository": {
"type": "git",
@@ -18,12 +18,7 @@
"coverage": "node --harmony_arrow_functions node_modules/.bin/istanbul cover test.js",
"coveralls": "${npm_package_scripts_coverage} && istanbul-coveralls"
},
- "licenses": [
- {
- "type": "Unlicense",
- "url": "https://github.com/shinnn/spdx-license-ids/blob/master/LICENSE"
- }
- ],
+ "license": "Unlicense",
"main": "spdx-license-ids.json",
"files": [
"spdx-license-ids.json"
@@ -44,25 +39,25 @@
"devDependencies": {
"@shinnn/eslintrc": "^1.0.0",
"each-async": "^1.1.1",
- "eslint": "^0.20.0",
- "istanbul": "^0.3.13",
+ "eslint": "^0.21.2",
+ "got": "^3.2.0",
+ "istanbul": "^0.3.14",
"istanbul-coveralls": "^1.0.2",
"require-bower-files": "^2.0.0",
"rm-rf": "^0.1.0",
- "spdx-license-list": "^2.0.0",
- "stringify-object": "^1.0.1",
+ "stringify-object": "^2.0.0",
"tape": "^4.0.0"
},
- "gitHead": "64eecd85af21ddfc325dc024906b281b1ebdc120",
+ "gitHead": "05c7466fcd62c8642006ef354c95064fcade3a03",
"bugs": {
"url": "https://github.com/shinnn/spdx-license-ids/issues"
},
"homepage": "https://github.com/shinnn/spdx-license-ids#readme",
- "_id": "spdx-license-ids@1.0.0",
- "_shasum": "a966050150dec883ffce877431b361b36742a28d",
+ "_id": "spdx-license-ids@1.0.1",
+ "_shasum": "8f7d365fbeb056f82d21d0c0e9c1ebbd676e6af4",
"_from": "spdx-license-ids@>=1.0.0 <2.0.0",
- "_npmVersion": "2.8.4",
- "_nodeVersion": "1.8.1",
+ "_npmVersion": "2.10.1",
+ "_nodeVersion": "2.0.2",
"_npmUser": {
"name": "shinnn",
"email": "snnskwtnb@gmail.com"
@@ -74,10 +69,10 @@
}
],
"dist": {
- "shasum": "a966050150dec883ffce877431b361b36742a28d",
- "tarball": "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.0.tgz"
+ "shasum": "8f7d365fbeb056f82d21d0c0e9c1ebbd676e6af4",
+ "tarball": "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.1.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.0.tgz",
+ "_resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.1.tgz",
"readme": "ERROR: No README data found!"
}
diff --git a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json
index c04844d6dfb2c0..3c5bdfcd0fc2dd 100644
--- a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json
+++ b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json
@@ -56,7 +56,6 @@
"CECILL-C",
"ClArtistic",
"MIT-CMU",
- "CNRI-Jython",
"CNRI-Python",
"CNRI-Python-GPL-Compatible",
"CPOL-1.02",
@@ -147,7 +146,6 @@
"HPND",
"IBM-pibs",
"IPL-1.0",
- "ICU",
"ImageMagick",
"iMatix",
"Imlib2",
@@ -244,7 +242,6 @@
"RPL-1.5",
"RHeCos-1.1",
"RSCPL",
- "RSA-MD",
"Ruby",
"SAX-PD",
"Saxpath",
@@ -270,13 +267,12 @@
"TORQUE-1.1",
"TOSL",
"Unicode-TOU",
- "UPL-1.0",
"NCSA",
"Vim",
"VOSTROM",
"VSL-1.0",
- "W3C-19980720",
"W3C",
+ "W3C-19980720",
"Wsuipa",
"Xnet",
"X11",
@@ -295,5 +291,6 @@
"zlib-acknowledgement",
"ZPL-1.1",
"ZPL-2.0",
- "ZPL-2.1"
+ "ZPL-2.1",
+ "ICU"
]
diff --git a/deps/npm/node_modules/spdx/package.json b/deps/npm/node_modules/spdx/package.json
index 9c31ddb5076dff..d1601c60119e82 100644
--- a/deps/npm/node_modules/spdx/package.json
+++ b/deps/npm/node_modules/spdx/package.json
@@ -1,7 +1,7 @@
{
"name": "spdx",
"description": "SPDX License Expression Syntax parser",
- "version": "0.4.0",
+ "version": "0.4.1",
"author": {
"name": "Kyle E. Mitchell",
"email": "kyle@kemitchell.com",
@@ -47,11 +47,12 @@
"pretest": "npm run build",
"test": "jsmd README.md"
},
- "gitHead": "7186b8f92f0aa3c8f087e73b5f98bd1c776a4d3f",
- "_id": "spdx@0.4.0",
- "_shasum": "5a5cbff1a457b57b15204cafd3d0ea9ad9652ef8",
- "_from": "spdx@0.4.0",
- "_npmVersion": "1.4.28",
+ "gitHead": "e98233f7ebfa27ceec7d9f9bd77d7eb003ca3210",
+ "_id": "spdx@0.4.1",
+ "_shasum": "eb43a2d83483e7073d24184b5ca0d00f33e184ff",
+ "_from": "spdx@>=0.4.0 <0.5.0",
+ "_npmVersion": "2.11.0",
+ "_nodeVersion": "2.2.1",
"_npmUser": {
"name": "kemitchell",
"email": "kyle@kemitchell.com"
@@ -63,10 +64,10 @@
}
],
"dist": {
- "shasum": "5a5cbff1a457b57b15204cafd3d0ea9ad9652ef8",
- "tarball": "http://registry.npmjs.org/spdx/-/spdx-0.4.0.tgz"
+ "shasum": "eb43a2d83483e7073d24184b5ca0d00f33e184ff",
+ "tarball": "http://registry.npmjs.org/spdx/-/spdx-0.4.1.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/spdx/-/spdx-0.4.0.tgz",
+ "_resolved": "https://registry.npmjs.org/spdx/-/spdx-0.4.1.tgz",
"readme": "ERROR: No README data found!"
}
diff --git a/deps/npm/node_modules/spdx/source/ranges.json b/deps/npm/node_modules/spdx/source/ranges.json
index a3fc260e65f06a..1f3c52b3e194dd 100644
--- a/deps/npm/node_modules/spdx/source/ranges.json
+++ b/deps/npm/node_modules/spdx/source/ranges.json
@@ -6,6 +6,10 @@
"AFL-2.1",
"AFL-3.0"
],
+ [
+ "AGPL-1.0",
+ "AGPL-3.0"
+ ],
[
"Apache-1.0",
"Apache-1.1",
@@ -111,12 +115,7 @@
"LPPL-1.0",
"LPPL-1.1",
"LPPL-1.2",
- "LPPL-1.3a"
- ],
- [
- "LPPL-1.0",
- "LPPL-1.1",
- "LPPL-1.2",
+ "LPPL-1.3a",
"LPPL-1.3c"
],
[
@@ -156,7 +155,6 @@
"OLDAP-2.8"
],
[
- "OPL-1.0",
"OSL-1.0",
"OSL-1.1",
"OSL-2.0",
diff --git a/deps/npm/node_modules/spdx/source/spdx.js b/deps/npm/node_modules/spdx/source/spdx.js
index ab0a4f6b1d5881..5aece3d5437511 100644
--- a/deps/npm/node_modules/spdx/source/spdx.js
+++ b/deps/npm/node_modules/spdx/source/spdx.js
@@ -158,4 +158,4 @@ exports.exceptions = require('./exceptions.json');
exports.specificationVersion = '2.0';
// This module's semantic version
-exports.implementationVersion = '0.4.0';
+exports.implementationVersion = '0.4.1';
diff --git a/deps/npm/package.json b/deps/npm/package.json
index ac95741b43dc9b..f66c064c03bb70 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "2.11.2",
+ "version": "2.11.3",
"name": "npm",
"description": "a package manager for JavaScript",
"keywords": [
@@ -57,7 +57,7 @@
"hosted-git-info": "~2.1.4",
"inflight": "~1.0.4",
"inherits": "~2.0.1",
- "ini": "~1.3.3",
+ "ini": "~1.3.4",
"init-package-json": "~1.6.0",
"lockfile": "~1.0.1",
"lru-cache": "~2.6.4",
@@ -66,7 +66,7 @@
"node-gyp": "~2.0.1",
"nopt": "~3.0.2",
"normalize-git-url": "~1.0.1",
- "normalize-package-data": "~2.2.0",
+ "normalize-package-data": "~2.2.1",
"npm-cache-filename": "~1.0.1",
"npm-install-checks": "~1.0.5",
"npm-package-arg": "~4.0.1",
@@ -75,7 +75,7 @@
"npmlog": "~1.2.1",
"once": "~1.3.2",
"opener": "~1.4.1",
- "osenv": "~0.1.1",
+ "osenv": "~0.1.2",
"path-is-inside": "~1.0.0",
"read": "~1.0.6",
"read-installed": "~4.0.0",
@@ -84,12 +84,12 @@
"realize-package-specifier": "~3.0.1",
"request": "~2.57.0",
"retry": "~0.6.1",
- "rimraf": "~2.3.4",
+ "rimraf": "~2.4.0",
"semver": "~4.3.6",
"sha": "~1.3.0",
"slide": "~1.1.6",
"sorted-object": "~1.0.0",
- "spdx": "~0.4.0",
+ "spdx": "~0.4.1",
"strip-ansi": "~2.0.1",
"tar": "~2.1.1",
"text-table": "~0.2.0",
@@ -175,7 +175,7 @@
"deep-equal": "~1.0.0",
"marked": "~0.3.3",
"marked-man": "~0.1.4",
- "nock": "~2.3.0",
+ "nock": "~2.5.0",
"npm-registry-couchapp": "~2.6.7",
"npm-registry-mock": "~1.0.0",
"require-inject": "~1.2.0",
diff --git a/deps/npm/test/fixtures/config/userconfig-with-gc b/deps/npm/test/fixtures/config/userconfig-with-gc
index df741e0952ca43..7268fcb3c611f9 100644
--- a/deps/npm/test/fixtures/config/userconfig-with-gc
+++ b/deps/npm/test/fixtures/config/userconfig-with-gc
@@ -1,4 +1,4 @@
-globalconfig=/Users/rebecca/code/release/npm/test/fixtures/config/globalconfig
+globalconfig=/Users/ogd/Documents/projects/npm/npm/test/fixtures/config/globalconfig
email=i@izs.me
env-thing=asdf
init.author.name=Isaac Z. Schlueter
diff --git a/deps/npm/test/tap/version-lifecycle.js b/deps/npm/test/tap/version-lifecycle.js
index 4bd39338cae349..da0af10867f945 100644
--- a/deps/npm/test/tap/version-lifecycle.js
+++ b/deps/npm/test/tap/version-lifecycle.js
@@ -22,7 +22,8 @@ test('npm version with failing preversion lifecycle script', function (
preversion: './fail.sh'
}
}), 'utf8')
- fs.writeFileSync(path.resolve(pkg, 'fail.sh'), 'exit 50', {mode: 448})
+ fs.writeFileSync(path.resolve(pkg, 'fail.sh'), 'exit 50', 'utf8')
+ fs.chmodSync(path.resolve(pkg, 'fail.sh'), 448)
npm.load({cache: cache, registry: common.registry}, function () {
var version = require('../../lib/version')
version(['patch'], function (err) {
@@ -44,7 +45,8 @@ test('npm version with failing postversion lifecycle script', function
postversion: './fail.sh'
}
}), 'utf8')
- fs.writeFileSync(path.resolve(pkg, 'fail.sh'), 'exit 50', {mode: 448})
+ fs.writeFileSync(path.resolve(pkg, 'fail.sh'), 'exit 50', 'utf8')
+ fs.chmodSync(path.resolve(pkg, 'fail.sh'), 448)
npm.load({cache: cache, registry: common.registry}, function () {
var version = require('../../lib/version')
version(['patch'], function (err) {
diff --git a/doc/tc-meetings/2015-06-10.md b/doc/tc-meetings/2015-06-10.md
new file mode 100644
index 00000000000000..989541d1c88c90
--- /dev/null
+++ b/doc/tc-meetings/2015-06-10.md
@@ -0,0 +1,183 @@
+# Node Foundation TSC Meeting 2015-06-10
+
+## Links
+
+* **GitHub Issue**: https://github.com/nodejs/node/issues/53
+* **Original Minutes Google Doc**: https://docs.google.com/document/d/1cn7SKaKYUMYLBiQhE6HAAknnwPabKsYjpOuyQkVikW8
+
+## Agenda
+
+Extracted from **tsc-agenda** labelled issues and pull requests prior to meeting.
+
+### nodejs/io.js
+
+* Add working group state per Project Lifecycle. #1880
+* Chrome 43 released; time for V8 4.3! #1735
+* TSC needs to elect a board representative. #1697
+
+### joyent/node
+* Nominating new collaborators to this repository #25481
+* Node should not automatically change rlimits #8704
+* Re-purpose previous joyent/node TSC meeting as LTS working group
+* Releases for logjam - expect new openssl version soon (possibly should be discussed in LTS working group instead)
+
+## Minutes
+
+### Present
+
+* Shigeki Ohtsu (TSC)
+* Colin Ihrig (TSC)
+* Alexis Campailla (TSC)
+* Bert Belder (TSC)
+* Ben Noordhuis (TSC)
+* Julien Gilli (TSC)
+* Mikeal Rogers
+* Michael Dawson (TSC)
+* Domenic Denicola
+* Brian White (TSC)
+* Bradley Meck
+* Trevor Norris (TSC)
+
+### Quick review of the previous meeting
+
+* **Bert**: Discussed adding WG for project life cycle. Don’t remember what the idea was.
+* **Mikeal**: Need to merge the associated PR.
+* **Bert**: Discussed upgrading V8 to 4.3. Some contention, much in favor of doing it. Issue is V8 is changing API in 4.3 and 4.4 again.
+* **Trevor**: Biggest issue is nan 2.0 hadn’t come out yet. There would be a gap in time when no native module would work.
+* **Bert**: Resolution was that we would try to get nan to update asap. If 4.4 wasn’t done yet we would not upgrade to 4.3 yet.
+* **Bert**: Mikeal had proposed to split meeting in two different meetings: one technical, one non technical.
+
+### Standup
+
+* **Shigeki**: preparing for the next OpenSSL update.
+* **Michael**: working on triaging issues, made sure V8 beta/stable build properly on PPC. Internally setup some build to build io.js next on PPC, so that we can hook up build machines asap.
+* **Colin**: mostly just reviewed PRs and triaged issues.
+* **Brian**: mostly triaging issues, looked at some PRs.
+* **Julien**: triaged issues, reviewed PRs. Started documenting Node.js’ release process and CI platform. Also started to document breaking changes between v0.12 and the converged repo between io.js and Node.js.
+* **Alexis**: investigations on native addon WG.
+* **Bert**: not a lot of technical work. Working on libuv changes to make the multi isolate/workers stuff work. PR #396 in libuv.
+* **Ben**: reviewed PRs.
+* **Domenic**: some reviews and tried to gear up for 3.0.
+* **Trevor**: Lot of reviewing and landing of PRs, prototype for lower-level JS API. Worked on async listeners API.
+* **Bradley**: here for rlimits discussion on the agenda.
+* **Mikeal**: launch of the foundation, getting the PR ready and working on nodeconf that starts tomorrow.
+
+### Today’s agenda
+
+#### Add working group state per Project Lifecycle
+
+* **Mikeal**: pretty much resolved, we just need to close the PR.
+
+#### Chrome 43 released; time for V8 4.3
+
+* **Domenic**: not sure if there’s much progress on that. Haven’t seen news from nan.
+* **Bert**: remove tsc-agenda, someone should put back the tag when there’s news.
+
+#### TSC needs to elect a board representative.
+
+* **Mikeal**: thought that we had a resolution, and Bert and Rod would both be on the board for a short time.
+* **Bert**: see if that can stay that way in the long term. Any objection?
+* **Michael**: have we approached other people from the foundation to see if that’s possible?
+* **Bert**: haven’t reached out yet. Who is organizing these meetings?
+* **Mikeal**: Mike Dolan.
+* **Bert**: Will send an email to see if that’s feasible.
+* **Michael**: what about voting?
+* **Mikeal**: we would need to put down just one person who has voting rights.
+* **Michael**: having two present in meetings, only one who has the vote is fine by me.
+* **Bert**: I don’t expect to be any kind of contention, trademark is probably the only one I can think of now.
+* **Mikeal**: It seems that people don’t have a good idea of what will be decided during these meetings, so maybe we can just flip a coin for this short period of time, and then when we know more of what’s discussed in these meetings we can have a vote.
+* **Michael**: maybe have some sort of alternance between two people in the beginning?
+* **Bert**: I think it would still be good to have one person who will always be there.
+* **Bert**: proposed resolution: let’s both (Rod and I) be there and then we’ll reevaluate later.
+
+#### Nominating new collaborators to this repository
+
+See https://github.com/joyent/node/issues/25481.
+
+Main question was: should we add nominated collaborators who are not io.js collaborators too the “collaborators” team in the nodejs organization too?
+
+Decision was that it might be confusing at first, so onboarding of these collaborators will be done first in joyent/node only, but they will conceptually be Node.js collaborators (as in collaborators in the nodejs GitHub organization). Shortly after they will be added as io.js collaborators by people familiar with the onboarding process at io.js.
+
+#### Node should not automatically change rlimits
+
+* **Bradley**: summary is in node v0.10. Node respected soft ulimit for fds. Soft limit is recommended limit, second one called hard limit which is an enforced limit. By default, OSX has a very low soft limit, and that’s the reason why this patch landed. However when running programs, they usually don’t change rlimits, and we started seeing failures after the patch landed. Argument for the side for keeping the patch, you don’t hear people complaining about being out of file descriptors.
+* **Michael**: did patch change only for OSX?
+* **Bradley**: did for all platforms. Hard limit becomes soft, soft limit are erased.
+* **Michael**: fix means you don’t see errors?
+* **Bradley**: yes, but it has undesirable side effects. Traditionally when you limit resources, you set soft limits to what you want your process to be able to get. Node started to ignore those, so we started seeing things like fds leaks not being caught, etc.
+* **Ben**: why wouldn’t you set the hard limit to the soft limit?
+* **Bradley**: This patch completely erases your soft limit, can’t recover it. No option to use soft limits at this point. Cluster would want very high limit, workers would want lower limit. Using soft limit is usually how people do that. You can use hard limits, but once you do that you’re talking about absolute enforcement.
+* **Bert**: proposal is to revert the patch?
+* **Bradley**: couple options. Ideal option to me is to revert the patch. I would expect UNIX programs to leave my settings alone. I would at least expect an option to recover the soft limits. Having some way to pass settings via command line maybe?
+* **Bradley**: either command line flag or environment variable. Problem with command line anything that spawns with something like fork would ignore it.
+* **Bert**: actually happy that the patch landed. Just works solution seems better, I’ve seen so many problems in production. Two concerns: agree this is a bit weird that node changes limits of child processes. Would not be opposed to use an environment variable.
+* **Bradley**: argument will come from sysadmins, not people not familiar with EMFILE and rlimits. Usually you see the EMFILE error, you request to someone to bump this limit and the problem is solved.
+* **Trevor**: what if we added process.resetRlimits and when that process spawns it resets rlimits.
+* **Bradley**: need to pass that to child processes still.
+* **Trevor**: if using cluster, then that seems easy.
+* **Bert**: Don’t like having globals for that kind of stuff, related to multi isolates. Maybe add as an option to child_process.spawn?
+* **Trevor**: how would that help regarding multi isolates environments?
+* **Bert**: Yeah, not suggesting to be able to set different limits per isolate. Ben any opinion?
+* **Ben**: Resetting rlimits when we spawn new process would be fine. Don’t care about environment variable that would make node not touch rlimits.
+* **Domenic**: Does node change system wide rlimits?
+* **Bradley**: that depends on how the node process lifecycle.
+* **Domenic**: Is there any way to ignore rlimits while not changing system wide rlimits?
+* **Bradley**: it’s a per process setting. Want a way to keep limits to get warnings about file descriptors, and a way to recover limits in child processes. I can write a patch for that.
+* **Ben**: Keep in mind you’ll probably need to update libuv in some way. Forking takes places in libuv.
+* **Bert**: summary: node will restore rlimits on spawn.Other thing would be command line switch or environment variable.
+* **Ben**: How are you going to use that? Are you using sandbox?
+* **Bradley**: Not using sandbox. When I see EMFILE, I can set a warning that notifies me when things go crazy.
+
+##### Resolution
+
+* The current (rlimit-changing) behavior will be maintained.
+* Node/libuv should restore the ulimit for the child processes it spawns.
+* Support for leaving the ulimit untouched by setting an an environment variable will be added.
+* Bradley Meck is going to create patches to node and libuv for this.
+
+#### New OpenSSL version about to be released, with fixed for logjam
+
+* **Michael**: will need a v0.10 and v0.12 release when OpenSSL release comes out.
+
+#### Repurpose previous node.js TSC meeting as LTS WG meeting
+
+* **Julien**: timing might not work for anyone.
+* **Bert**: Rod pinged a bunch of people, haven’t seen a lot of response. Wyatt Preul is involved, you will probably want to reach out to him, Same for ofrobots.
+* **Michael**: want to make sure that everyone is ok with merging LTS meeting with joyent/node TSC meeting.
+* **Julien**: discussion ongoing here: https://github.com/nodejs/LTS/issues/6#issuecomment-109352447.
+
+### Discussion items not on the agenda
+
+#### 3.0 upgrade documentation
+
+* **Trevor**: haven’t seen any doc on how to upgrade to 3.0. Should be put notes about breaking changes there, or somewhere else?
+* **Domenic**: hard part is C++ side changes. Everything else should be handled by semver-major/minor labels.
+
+### Rebasing on top of the 'next' branch (not on the agenda)
+
+* **Trevor**: rebase of next on master is going to be fairly broken. Is there somebody who usually takes those merges?
+* **Ben**: Not sure I understood.
+* **Trevor**: Lots of fixes that went into 2.x will not merge cleanly in next. Some of the fixes are minor. Fix in zlib that uses kMaxLength.
+* **Ben**: what’s the question?
+* **Trevor**: wondering who’s responsible for the merge? Maybe I can help with that?
+* **Ben**: most of the time I do that. I usually create a PR and ask people to give a quick sign off on it.
+
+##### Action items
+
+* Trevor will document C++ side changes.
+
+#### Workers (multi-isolate) PR
+
+* **Bert**: decided to take a look at the multi isolates patch. I know that Ben tried to review it and went half-way through.
+* **Trevor**: tried twice now and haven’t managed to go all the way through.
+* **Bert**: proposed solution is to just make sure it doesn’t break anything major, put it behind a flag and review it in more details later.
+* **Trevor**: a lot of stylistic issues, and haven’t got any response.
+* **Ben**: petka mentioned he’s quite busy at the moment. Maybe someone could address these comments?
+* **Bert**: ping petka, maybe we can land it in small increments. Do we want it to be perfect before it lands?
+* **Ben**: not comfortable landing code that hasn’t been reviewed.
+* **Trevor**: nice thing is that there’s a lot of tests. Didn’t see anything invasive that would make things difficult later. One change that I don’t understand 100%. I would depend on someone else to give the OK.
+* **Bert**: interesting and valuable change, it needs work to get landed.
+
+## Next meeting
+
+Will be held on June 17th, 1pm PST.
diff --git a/lib/_tls_wrap.js b/lib/_tls_wrap.js
index fe404213c24077..8ccee2379d4309 100644
--- a/lib/_tls_wrap.js
+++ b/lib/_tls_wrap.js
@@ -209,6 +209,20 @@ function onocspresponse(resp) {
this.emit('OCSPResponse', resp);
}
+function initRead(tls, wrapped) {
+ // If we were destroyed already don't bother reading
+ if (!tls._handle)
+ return;
+
+ // Socket already has some buffered data - emulate receiving it
+ if (wrapped && wrapped._readableState && wrapped._readableState.length) {
+ var buf;
+ while ((buf = wrapped.read()) !== null)
+ tls._handle.receive(buf);
+ }
+
+ tls.read(0);
+}
/**
* Provides a wrap of socket stream to do encrypted communication.
@@ -257,7 +271,9 @@ function TLSSocket(socket, options) {
// starting the flow of the data
this.readable = true;
this.writable = true;
- this.read(0);
+
+ // Read on next tick so the caller has a chance to setup listeners
+ process.nextTick(initRead, this, socket);
}
util.inherits(TLSSocket, net.Socket);
exports.TLSSocket = TLSSocket;
@@ -416,13 +432,6 @@ TLSSocket.prototype._init = function(socket, wrap) {
if (options.handshakeTimeout > 0)
this.setTimeout(options.handshakeTimeout, this._handleTimeout);
- // Socket already has some buffered data - emulate receiving it
- if (socket && socket._readableState && socket._readableState.length) {
- var buf;
- while ((buf = socket.read()) !== null)
- ssl.receive(buf);
- }
-
if (socket instanceof net.Socket) {
this._parent = socket;
diff --git a/lib/module.js b/lib/module.js
index 31f2063231dedc..d9b4415ad8fe94 100644
--- a/lib/module.js
+++ b/lib/module.js
@@ -129,7 +129,7 @@ const noopDeprecateRequireDot = util.deprecate(function() {},
Module._findPath = function(request, paths) {
var exts = Object.keys(Module._extensions);
- if (request.charAt(0) === '/') {
+ if (path.isAbsolute(request)) {
paths = [''];
}
@@ -142,6 +142,8 @@ Module._findPath = function(request, paths) {
// For each path
for (var i = 0, PL = paths.length; i < PL; i++) {
+ // Don't search further if path doesn't exist
+ if (paths[i] && internalModuleStat(path._makeLong(paths[i])) < 1) continue;
var basePath = path.resolve(paths[i], request);
var filename;
diff --git a/src/async-wrap-inl.h b/src/async-wrap-inl.h
index bad634ddaf14b9..5841c58faf18d5 100644
--- a/src/async-wrap-inl.h
+++ b/src/async-wrap-inl.h
@@ -18,6 +18,11 @@ inline AsyncWrap::AsyncWrap(Environment* env,
ProviderType provider,
AsyncWrap* parent)
: BaseObject(env, object), bits_(static_cast(provider) << 1) {
+ // Only set wrapper class id if object will be Wrap'd.
+ if (object->InternalFieldCount() > 0)
+ // Shift provider value over to prevent id collision.
+ persistent().SetWrapperClassId(NODE_ASYNC_ID_OFFSET + provider);
+
// Check user controlled flag to see if the init callback should run.
if (!env->using_asyncwrap())
return;
diff --git a/src/async-wrap.cc b/src/async-wrap.cc
index 0492bbfd2ccbea..43a647b6d78758 100644
--- a/src/async-wrap.cc
+++ b/src/async-wrap.cc
@@ -6,6 +6,7 @@
#include "util-inl.h"
#include "v8.h"
+#include "v8-profiler.h"
using v8::Array;
using v8::Context;
@@ -13,15 +14,94 @@ using v8::Function;
using v8::FunctionCallbackInfo;
using v8::Handle;
using v8::HandleScope;
+using v8::HeapProfiler;
using v8::Integer;
using v8::Isolate;
using v8::Local;
using v8::Object;
+using v8::RetainedObjectInfo;
using v8::TryCatch;
using v8::Value;
namespace node {
+static const char* const provider_names[] = {
+#define V(PROVIDER) \
+ #PROVIDER,
+ NODE_ASYNC_PROVIDER_TYPES(V)
+#undef V
+};
+
+
+class RetainedAsyncInfo: public RetainedObjectInfo {
+ public:
+ explicit RetainedAsyncInfo(uint16_t class_id, AsyncWrap* wrap);
+
+ virtual void Dispose() override;
+ virtual bool IsEquivalent(RetainedObjectInfo* other) override;
+ virtual intptr_t GetHash() override;
+ virtual const char* GetLabel() override;
+ virtual intptr_t GetSizeInBytes() override;
+
+ private:
+ const char* label_;
+ const AsyncWrap* wrap_;
+ const int length_;
+};
+
+
+RetainedAsyncInfo::RetainedAsyncInfo(uint16_t class_id, AsyncWrap* wrap)
+ : label_(provider_names[class_id - NODE_ASYNC_ID_OFFSET]),
+ wrap_(wrap),
+ length_(wrap->self_size()) {
+}
+
+
+void RetainedAsyncInfo::Dispose() {
+ delete this;
+}
+
+
+bool RetainedAsyncInfo::IsEquivalent(RetainedObjectInfo* other) {
+ return label_ == other->GetLabel() &&
+ wrap_ == static_cast(other)->wrap_;
+}
+
+
+intptr_t RetainedAsyncInfo::GetHash() {
+ return reinterpret_cast(wrap_);
+}
+
+
+const char* RetainedAsyncInfo::GetLabel() {
+ return label_;
+}
+
+
+intptr_t RetainedAsyncInfo::GetSizeInBytes() {
+ return length_;
+}
+
+
+RetainedObjectInfo* WrapperInfo(uint16_t class_id, Handle wrapper) {
+ // No class_id should be the provider type of NONE.
+ CHECK_NE(NODE_ASYNC_ID_OFFSET, class_id);
+ CHECK(wrapper->IsObject());
+ CHECK(!wrapper.IsEmpty());
+
+ Local