diff --git a/deps/npm/.mailmap b/deps/npm/.mailmap index c9117dde31b9ec..cbcb3ba8bbfc2f 100644 --- a/deps/npm/.mailmap +++ b/deps/npm/.mailmap @@ -33,6 +33,7 @@ Nicolas Morel Olivier Melcher Ra'Shaun Stovall Rebecca Turner +Rebecca Turner Ryan Emery Sam Mikes Takaya Kobayashi diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS index a56ba0922ef852..065b4da02f4028 100644 --- a/deps/npm/AUTHORS +++ b/deps/npm/AUTHORS @@ -279,3 +279,12 @@ Antti Mattila laiso Matt Zorn Kyle Mitchell +Michael Hayes +Benjamin Coe +Jeremiah Senkpiel +Michael Klein +Simen Bekkhus +Victor +thefourtheye +Clay Carpenter +bangbang93 diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md index 56536255252b04..1ba42290f2a95b 100644 --- a/deps/npm/CHANGELOG.md +++ b/deps/npm/CHANGELOG.md @@ -1,3 +1,135 @@ +### v2.11.0 (2015-05-21): + +For the first time in a very long time, we've added new events to the life +cycle used by `npm run-script`. Since running `npm version (major|minor|patch)` +is typically the last thing many developers do before publishing their updated +packages, it makes sense to add life cycle hooks to run tests or otherwise +preflight the package before doing a full publish. Thanks, as always, to the +indefatigable [@watilde](https://github.com/watilde) for yet another great +usability improvement for npm! + +#### FEATURELETS + +* [`b07f7c7`](https://github.com/npm/npm/commit/b07f7c7c1e5021730b3c320f1b3a46e70f8a21ff) + [#7906](https://github.com/npm/npm/issues/7906) + Add new [`scripts`](https://github.com/npm/npm/blob/master/doc/misc/npm-scripts.md) to + allow you to run scripts before and after + the [`npm version`](https://github.com/npm/npm/blob/master/doc/cli/npm-version.md) + command has run. This makes it easy to, for instance, require that your + test suite passes before bumping the version by just adding `"preversion": + "npm test"` to the scripts section of your `package.json`. + ([@watilde](https://github.com/watilde)) +* [`8a46136`](https://github.com/npm/npm/commit/8a46136f42e416cbadb533bcf89d73d681ed421d) + [#8185](https://github.com/npm/npm/issues/8185) + When we get a "not found" error from the registry, we'll now check to see + if the package name you specified is invalid and if so, give you a better + error message. ([@thefourtheye](https://github.com/thefourtheye)) + +#### BUG FIXES + +* [`9bcf573`](https://github.com/npm/npm/commit/9bcf5730bd0316f210dafea898afe9103849cea9) + [#8324](https://github.com/npm/npm/pull/8324) On Windows, when you've configured a + custom `node-gyp`, run it with node itself instead of using the default open action (which + is almost never what you want). ([@bangbang93](https://github.com/bangbang93)) +* [`1da9b04`](https://github.com/npm/npm/commit/1da9b0411d3416c7fca17d08cbbcfca7ae86e92d) + [#7195](https://github.com/npm/npm/issues/7195) + [#7260](https://github.com/npm/npm/issues/7260) `npm-registry-client@6.4.0`: + (Re-)allow publication of existing mixed-case packages (part 1). + ([@smikes](https://github.com/smikes)) +* [`e926783`](https://github.com/npm/npm/commit/e9267830ab261c751f12723e84d2458ae9238646) + [#7195](https://github.com/npm/npm/issues/7195) + [#7260](https://github.com/npm/npm/issues/7260) + `normalize-package-data@2.2.0`: (Re-)allow publication of existing mixed-case + packages (part 2). ([@smikes](https://github.com/smikes)) + +#### DOCUMENTATION IMPROVEMENTS + +* [`f62ee05`](https://github.com/npm/npm/commit/f62ee05333b141539a8e851c620dd2e82ff06860) + [#8314](https://github.com/npm/npm/issues/8314) Update the README to warn + folks away from using the CLI's internal API. For the love of glob, just use a + child process to run the CLI! ([@claycarpenter](https://github.com/claycarpenter)) +* [`1093921`](https://github.com/npm/npm/commit/1093921c04db41ab46db24a170a634a4b2acd8d9) + [#8279](https://github.com/npm/npm/pull/8279) + Update the documentation to note that, yes, you can publish scoped packages to the + public registry now! ([@mantoni](https://github.com/mantoni)) +* [`f87cde5`](https://github.com/npm/npm/commit/f87cde5234a760d3e515ffdaacaed6f5b71dbf44) + [#8292](https://github.com/npm/npm/pull/8292) + Fix typo in an example and grammar in the description in + the [shrinkwrap documentation](https://github.com/npm/npm/blob/master/doc/cli/npm-shrinkwrap.md). + ([@vshih](https://github.com/vshih)) +* [`d3526ce`](https://github.com/npm/npm/commit/d3526ceb09a0c29fdb7d4124536ae09057d033e7) + Improve the formatting in + the [shrinkwrap documentation](https://github.com/npm/npm/blob/master/doc/cli/npm-shrinkwrap.md). + ([@othiym23](https://github.com/othiym23)) +* [`19fe6d2`](https://github.com/npm/npm/commit/19fe6d20883e28956ff916fe4dae42d73ee6195b) + [#8311](https://github.com/npm/npm/pull/8311) + Update [README.md](https://github.com/npm/npm#readme) to use syntax highlighting in + its code samples and bits of shell scripts. ([@SimenB](https://github.com/SimenB)) + +#### DEPENDENCY UPDATES! ALWAYS AND FOREVER! + +* [`fc52160`](https://github.com/npm/npm/commit/fc52160d0223226fffe4166f42fdfd3b899b3c1e) + [#4700](https://github.com/npm/npm/issues/4700) [#5044](https://github.com/npm/npm/issues/5044) + `init-package-json@1.6.0`: Make entering an invalid version while running `npm init` give + you an immediate error and prompt you to correct it. ([@watilde](https://github.com/watilde)) +* [`738853e`](https://github.com/npm/npm/commit/738853eb1f55636476a2a410c2c04732eec9d51e) + [#7763](https://github.com/npm/npm/issues/7763) `fs-write-stream-atomic@1.0.3`: Fix a bug + where errors would not propagate, making error messages unhelpful. + ([@iarna](https://github.com/iarna)) +* [`6d74a2d`](https://github.com/npm/npm/commit/6d74a2d2ac7f92750cf6a2cfafae1af23b569098) + `npm-package-arg@4.0.1`: Fix tests on windows ([@Bacra](https://github.com)) and with + more recent `hosted-git-info`. ([@iarna](https://github.com/iarna)) +* [`50f7178`](https://github.com/npm/npm/commit/50f717852fbf713ef6cbc4e0a9ab42657decbbbd) + `hosted-git-info@2.1.4`: Correct spelling in its documentation. + ([@iarna](https://github.com/iarna)) +* [`d7956ca`](https://github.com/npm/npm/commit/d7956ca17c057d5383ff0d3fc5cf6ac2940b034d) + `glob@5.0.7`: Fix a bug where unusual error conditions could make + further use of the module fail. ([@isaacs](https://github.com/isaacs)) +* [`44f7d74`](https://github.com/npm/npm/commit/44f7d74c5d3181d37da7ea7949c86b344153f8d9) + `tap@1.1.0`: Update to the most recent tap to get a whole host of bug + fixes and integration with [coveralls](https://coveralls.io/). + ([@isaacs](https://github.com/isaacs)) +* [`c21e8a8`](https://github.com/npm/npm/commit/c21e8a8d94bcf0ad79dc583ddc53f8366d4813b3) + `nock@2.2.0` ([@othiym23](https://github.com/othiym23)) + +#### LICENSE FILES FOR THE LICENSE GOD + +* Add missing ISC license file to package ([@kasicka](https://github.com/kasicka)): + * [`aa9908c`](https://github.com/npm/npm/commit/aa9908c20017729673b9d410b77f9a16b7aae8a4) `realize-package-specifier@3.0.1` + * [`23a3b1a`](https://github.com/npm/npm/commit/23a3b1a726b9176c70ce0ccf3cd9d25c54429bdf) `fs-vacuum@1.2.6` + * [`8e04bba`](https://github.com/npm/npm/commit/8e04bba830d4353d84751d21803cd127c96153a7) `dezalgo@1.0.2` + * [`50f7178`](https://github.com/npm/npm/commit/50f717852fbf713ef6cbc4e0a9ab42657decbbbd) `hosted-git-info@2.1.4` + * [`6a54917`](https://github.com/npm/npm/commit/6a54917fbd4df995495a95d4b548defd44b77c93) `write-file-atomic@1.1.2` + * [`971f92c`](https://github.com/npm/npm/commit/971f92c4a4e5514217d1e4db45d1ccf71a60ff19) `async-some@1.0.2` + * [`67b50b7`](https://github.com/npm/npm/commit/67b50b7667a42bb3340a660eb2e617e1a554d2d4) `normalize-git-url@1.0.1` + +#### SPDX LICENSE UPDATES + +* Switch license to + [BSD-2-Clause](http://spdx.org/licenses/BSD-2-Clause.html#licenseText) from + plain "BSD" ([@isaacs](https://github.com/isaacs)): + * [`efdb733`](https://github.com/npm/npm/commit/efdb73332eeedcad4c609796929070b62abb37ab) `npm-user-validate@0.1.2` + * [`e926783`](https://github.com/npm/npm/commit/e9267830ab261c751f12723e84d2458ae9238646) `normalize-package-data@2.2.0` +* Switch license to [ISC](http://spdx.org/licenses/ISC.html#licenseText) from + [BSD](http://spdx.org/licenses/BSD-2-Clause.html#licenseText) + ([@isaacs](https://github.com/isaacs)): + * [`c300956`](https://github.com/npm/npm/commit/c3009565a964f0ead4ac4ab234b1a458e2365f17) `block-stream@0.0.8` + * [`1de1253`](https://github.com/npm/npm/commit/1de125355765fecd31e682ed0ff9d2edbeac0bb0) `lockfile@1.0.1` + * [`0d5698a`](https://github.com/npm/npm/commit/0d5698ab132e376c7aec93ae357c274932116220) `osenv@0.1.1` + * [`2e84921`](https://github.com/npm/npm/commit/2e84921474e1ffb18de9fce4616e73171fa8046d) `abbrev@1.0.6` + * [`872fac9`](https://github.com/npm/npm/commit/872fac9d10c11607e4d0348c08a683b84e64d30b) `chmodr@0.1.1` + * [`01eb7f6`](https://github.com/npm/npm/commit/01eb7f60acba584346ad8aae846657899f3b6887) `chownr@0.0.2` + * [`294336f`](https://github.com/npm/npm/commit/294336f0f31c7b9fe31a50075ed750db6db134d1) `read@1.0.6` + * [`ebdf6a1`](https://github.com/npm/npm/commit/ebdf6a14d17962cdb7128402c53b452f91d44ca7) `graceful-fs@3.0.7` +* Switch license to [ISC](http://spdx.org/licenses/ISC.html#licenseText) from + [MIT](http://spdx.org/licenses/MIT.html#licenseText) + ([@isaacs](https://github.com/isaacs)): + * [`e5d237f`](https://github.com/npm/npm/commit/e5d237fc0f436dd2a89437ebf8a9632a2e35ccbe) `nopt@3.0.2` + * [`79fef14`](https://github.com/npm/npm/commit/79fef1421b78f044980f0d1bf0e97039b6992710) `rimraf@2.3.4` + * [`22527da`](https://github.com/npm/npm/commit/22527da4816e7c2746cdc0317c5fb4a85152d554) `minimatch@2.0.8` + * [`882ac87`](https://github.com/npm/npm/commit/882ac87a6c4123ca985d7ad4394ea5085e5b0ef5) `lru-cache@2.6.4` + * [`9d9d015`](https://github.com/npm/npm/commit/9d9d015a2e972f68664dda54fbb204db28b21ede) `npmlog@1.2.1` + ### v2.10.1 (2015-05-14): #### BUG FIXES & DOCUMENTATION TWEAKS diff --git a/deps/npm/Makefile b/deps/npm/Makefile index 365d80da081d61..d935edfefe6d9c 100644 --- a/deps/npm/Makefile +++ b/deps/npm/Makefile @@ -230,12 +230,7 @@ test: doc tag: npm tag npm@$(PUBLISHTAG) latest -authors: - @bash scripts/update-authors.sh &&\ - git add AUTHORS &&\ - git commit -m "update AUTHORS" || true - -publish: authors link doc +publish: link doc @git push origin :v$(shell npm -v) 2>&1 || true git clean -fd &&\ git push origin $(BRANCH) &&\ @@ -248,4 +243,4 @@ release: sandwich: @[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || (echo "make it yourself" && exit 13) -.PHONY: all latest install dev link doc clean uninstall test man doc-clean docclean release authors +.PHONY: all latest install dev link doc clean uninstall test man doc-clean docclean release diff --git a/deps/npm/README.md b/deps/npm/README.md index f696825009f45b..dcd06b50dbc566 100644 --- a/deps/npm/README.md +++ b/deps/npm/README.md @@ -40,17 +40,23 @@ There's a pretty robust install script at Here's an example using curl: - curl -L https://www.npmjs.com/install.sh | sh +```sh +curl -L https://www.npmjs.com/install.sh | sh +``` ### Slightly Fancier You can set any npm configuration params with that script: - npm_config_prefix=/some/path sh install.sh +```sh +npm_config_prefix=/some/path sh install.sh +``` Or, you can run it in uber-debuggery mode: - npm_debug=1 sh install.sh +```sh +npm_debug=1 sh install.sh +``` ### Even Fancier @@ -83,11 +89,14 @@ No. So sad to see you go. - sudo npm uninstall npm -g - +```sh +sudo npm uninstall npm -g +``` Or, if that fails, - sudo make uninstall +```sh +sudo make uninstall +``` ## More Severe Uninstalling @@ -101,13 +110,17 @@ remove them. To remove cruft left behind by npm 0.x, you can use the included `clean-old.sh` script file. You can run it conveniently like this: - npm explore npm -g -- sh scripts/clean-old.sh +```sh +npm explore npm -g -- sh scripts/clean-old.sh +``` npm uses two configuration files, one for per-user configs, and another for global (every-user) configs. You can view them by doing: - npm config get userconfig # defaults to ~/.npmrc - npm config get globalconfig # defaults to /usr/local/etc/npmrc +```sh +npm config get userconfig # defaults to ~/.npmrc +npm config get globalconfig # defaults to /usr/local/etc/npmrc +``` Uninstalling npm does not remove configuration files by default. You must remove them yourself manually if you want them gone. Note that @@ -116,26 +129,35 @@ you have chosen. ## Using npm Programmatically -If you would like to use npm programmatically, you can do that. -It's not very well documented, but it *is* rather simple. - -Most of the time, unless you actually want to do all the things that -npm does, you should try using one of npm's dependencies rather than -using npm itself, if possible. - -Eventually, npm will be just a thin cli wrapper around the modules -that it depends on, but for now, there are some things that you must -use npm itself to do. - - var npm = require("npm") - npm.load(myConfigObject, function (er) { - if (er) return handlError(er) - npm.commands.install(["some", "args"], function (er, data) { - if (er) return commandFailed(er) - // command succeeded, and data might have some info - }) - npm.registry.log.on("log", function (message) { .... }) - }) +Although npm can be used programmatically, its API is meant for use by the CLI +*only*, and no guarantees are made regarding its fitness for any other purpose. +If you want to use npm to reliably perform some task, the safest thing to do is +to invoke the desired `npm` command with appropriate arguments. + +The semantic version of npm refers to the CLI itself, rather than the +underlying API. _The internal API is not guaranteed to remain stable even when +npm's version indicates no breaking changes have been made according to +semver._ + +If you _still_ would like to use npm programmatically, it's _possible_. The API +isn't very well documented, but it _is_ rather simple. + +Eventually, npm will be just a thin CLI wrapper around the modules that it +depends on, but for now, there are some things that only the CLI can do. You +should try using one of npm's dependencies first, and only use the API if what +you're trying to do is only supported by npm itself. + +```javascript +var npm = require("npm") +npm.load(myConfigObject, function (er) { + if (er) return handlError(er) + npm.commands.install(["some", "args"], function (er, data) { + if (er) return commandFailed(er) + // command succeeded, and data might have some info + }) + npm.registry.log.on("log", function (message) { .... }) +}) +``` The `load` function takes an object hash of the command-line configs. The various `npm.commands.` functions take an **array** of diff --git a/deps/npm/bin/node-gyp-bin/node-gyp.cmd b/deps/npm/bin/node-gyp-bin/node-gyp.cmd index a05fd8caed61a7..83ea8f59247858 100755 --- a/deps/npm/bin/node-gyp-bin/node-gyp.cmd +++ b/deps/npm/bin/node-gyp-bin/node-gyp.cmd @@ -1,5 +1,5 @@ if not defined npm_config_node_gyp ( node "%~dp0\..\..\node_modules\node-gyp\bin\node-gyp.js" %* ) else ( - %npm_config_node_gyp% %* + node %npm_config_node_gyp% %* ) diff --git a/deps/npm/doc/cli/npm-shrinkwrap.md b/deps/npm/doc/cli/npm-shrinkwrap.md index d781a683e7664f..ca9cb257b9d351 100644 --- a/deps/npm/doc/cli/npm-shrinkwrap.md +++ b/deps/npm/doc/cli/npm-shrinkwrap.md @@ -13,14 +13,14 @@ used when your package is installed. The `package.json` file is still required if you want to use `npm install`. By default, `npm install` recursively installs the target's -dependencies (as specified in package.json), choosing the latest +dependencies (as specified in `package.json`), choosing the latest available version that satisfies the dependency's semver pattern. In some situations, particularly when shipping software where each change is tightly managed, it's desirable to fully specify each version of each dependency recursively so that subsequent builds and deploys do not inadvertently pick up newer versions of a dependency that satisfy the semver pattern. Specifying specific semver patterns in each -dependency's package.json would facilitate this, but that's not always +dependency's `package.json` would facilitate this, but that's not always possible or desirable, as when another author owns the npm package. It's also possible to check dependencies directly into source control, but that may be undesirable for other reasons. @@ -48,7 +48,7 @@ package B: and package C: { - "name": "C, + "name": "C", "version": "0.0.1" } @@ -78,7 +78,7 @@ In this case, A's author can run npm shrinkwrap -This generates npm-shrinkwrap.json, which will look something like this: +This generates `npm-shrinkwrap.json`, which will look something like this: { "name": "A", @@ -97,12 +97,12 @@ This generates npm-shrinkwrap.json, which will look something like this: The shrinkwrap command has locked down the dependencies based on what's currently installed in node_modules. When `npm install` -installs a package with a npm-shrinkwrap.json file in the package -root, the shrinkwrap file (rather than package.json files) completely +installs a package with an `npm-shrinkwrap.json` in the package +root, the shrinkwrap file (rather than `package.json` files) completely drives the installation of that package and all of its dependencies (recursively). So now the author publishes A@0.1.0, and subsequent installs of this package will use B@0.0.1 and C@0.0.1, regardless the -dependencies and versions listed in A's, B's, and C's package.json +dependencies and versions listed in A's, B's, and C's `package.json` files. @@ -110,7 +110,7 @@ files. Using a shrinkwrapped package is no different than using any other package: you can `npm install` it by hand, or add a dependency to your -package.json file and `npm install` it. +`package.json` file and `npm install` it. ### Building shrinkwrapped packages @@ -119,7 +119,7 @@ To shrinkwrap an existing package: 1. Run `npm install` in the package root to install the current versions of all dependencies. 2. Validate that the package works as expected with these versions. -3. Run `npm shrinkwrap`, add npm-shrinkwrap.json to git, and publish +3. Run `npm shrinkwrap`, add `npm-shrinkwrap.json` to git, and publish your package. To add or update a dependency in a shrinkwrapped package: @@ -127,13 +127,13 @@ To add or update a dependency in a shrinkwrapped package: 1. Run `npm install` in the package root to install the current versions of all dependencies. 2. Add or update dependencies. `npm install` each new or updated - package individually and then update package.json. Note that they + package individually and then update `package.json`. Note that they must be explicitly named in order to be installed: running `npm install` with no arguments will merely reproduce the existing shrinkwrap. 3. Validate that the package works as expected with the new dependencies. -4. Run `npm shrinkwrap`, commit the new npm-shrinkwrap.json, and +4. Run `npm shrinkwrap`, commit the new `npm-shrinkwrap.json`, and publish your package. You can use npm-outdated(1) to view dependencies with newer versions @@ -141,12 +141,12 @@ available. ### Other Notes -A shrinkwrap file must be consistent with the package's package.json +A shrinkwrap file must be consistent with the package's `package.json` file. `npm shrinkwrap` will fail if required dependencies are not already installed, since that would result in a shrinkwrap that wouldn't actually work. Similarly, the command will fail if there are -extraneous packages (not referenced by package.json), since that would -indicate that package.json is not correct. +extraneous packages (not referenced by `package.json`), since that would +indicate that `package.json` is not correct. Since `npm shrinkwrap` is intended to lock down your dependencies for production use, `devDependencies` will not be included unless you diff --git a/deps/npm/doc/cli/npm-version.md b/deps/npm/doc/cli/npm-version.md index 545bce6b6bfe27..63a5e95122951d 100644 --- a/deps/npm/doc/cli/npm-version.md +++ b/deps/npm/doc/cli/npm-version.md @@ -40,6 +40,14 @@ in your git config for this to work properly. For example: Enter passphrase: +If "preversion", "version", "postversion" in the "scripts" property of +the package.json, it will execute by running `npm version`. preversion +and version ware executed before bump the package version, postversion +was executed after bump the package version. For example to run `npm version` +after passed all test: + + "scripts": { "preversion": "npm test" } + ## CONFIGURATION ### git-tag-version @@ -52,6 +60,8 @@ Commit and tag the version change. ## SEE ALSO * npm-init(1) +* npm-run-script(1) +* npm-scripts(7) * package.json(5) * semver(7) * config(7) diff --git a/deps/npm/doc/misc/npm-faq.md b/deps/npm/doc/misc/npm-faq.md index 176effc4e42830..b9e837f76dfd9d 100644 --- a/deps/npm/doc/misc/npm-faq.md +++ b/deps/npm/doc/misc/npm-faq.md @@ -328,9 +328,9 @@ on Freenode IRC. ## Why no namespaces? npm has only one global namespace. If you want to namespace your own packages, -you may: simply use the `-` character to separate the names. npm is a mostly -anarchic system. There is not sufficient need to impose namespace rules on -everyone. +you may: simply use the `-` character to separate the names or use scoped +packages. npm is a mostly anarchic system. There is not sufficient need to +impose namespace rules on everyone. As of 2.0, npm supports scoped packages, which allow you to publish a group of related modules without worrying about name collisions. @@ -340,11 +340,11 @@ user named `npm` owns the scope `@npm`. Scoped packages are published inside a scope by naming them as if they were files under the scope directory, e.g., by setting `name` in `package.json` to `@npm/npm`. -Scoped packages can coexist with public npm packages in a private npm registry. -At present (2014-11-04) scoped packages may NOT be published to the public npm -registry. +Scoped packages are supported by the public npm registry. The npm client is +backwards-compatible with un-scoped registries, so it can be used to work with +scoped and un-scoped registries at the same time. -Unscoped packages can only depend on other unscoped packages. Scoped packages +Unscoped packages can only depend on other unscoped packages. Scoped packages can depend on packages from their own scope, a different scope, or the public registry (unscoped). diff --git a/deps/npm/doc/misc/npm-scripts.md b/deps/npm/doc/misc/npm-scripts.md index e1380d1ed7457b..1594d3c4132250 100644 --- a/deps/npm/doc/misc/npm-scripts.md +++ b/deps/npm/doc/misc/npm-scripts.md @@ -19,6 +19,10 @@ following scripts: Run BEFORE the package is uninstalled. * postuninstall: Run AFTER the package is uninstalled. +* preversion, version: + Run BEFORE bump the package version. +* postversion: + Run AFTER bump the package version. * pretest, test, posttest: Run by the `npm test` command. * prestop, stop, poststop: diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html index 86b948a6e0749a..731432d577c31b 100644 --- a/deps/npm/html/doc/README.html +++ b/deps/npm/html/doc/README.html @@ -32,13 +32,16 @@

Fancy Install (Unix)

There's a pretty robust install script at https://www.npmjs.com/install.sh. You can download that and run it.

Here's an example using curl:

-
curl -L https://www.npmjs.com/install.sh | sh
-

Slightly Fancier

+
curl -L https://www.npmjs.com/install.sh | sh
+
+

Slightly Fancier

You can set any npm configuration params with that script:

-
npm_config_prefix=/some/path sh install.sh
-

Or, you can run it in uber-debuggery mode:

-
npm_debug=1 sh install.sh
-

Even Fancier

+
npm_config_prefix=/some/path sh install.sh
+
+

Or, you can run it in uber-debuggery mode:

+
npm_debug=1 sh install.sh
+
+

Even Fancier

Get the code with git. Use make to build the docs and do other stuff. If you plan on hacking on npm, make link is your friend.

If you've got the npm source code, you can also semi-permanently set @@ -57,10 +60,12 @@

Installing on Cygwin

No.

Uninstalling

So sad to see you go.

-
sudo npm uninstall npm -g
-

Or, if that fails,

-
sudo make uninstall
-

More Severe Uninstalling

+
sudo npm uninstall npm -g
+
+

Or, if that fails,

+
sudo make uninstall
+
+

More Severe Uninstalling

Usually, the above instructions are sufficient. That will remove npm, but leave behind anything you've installed.

If you would like to remove all the packages that you have installed, @@ -68,25 +73,33 @@

Uninstalling

remove them.

To remove cruft left behind by npm 0.x, you can use the included clean-old.sh script file. You can run it conveniently like this:

-
npm explore npm -g -- sh scripts/clean-old.sh
-

npm uses two configuration files, one for per-user configs, and another +

npm explore npm -g -- sh scripts/clean-old.sh
+
+

npm uses two configuration files, one for per-user configs, and another for global (every-user) configs. You can view them by doing:

-
npm config get userconfig   # defaults to ~/.npmrc
+
npm config get userconfig   # defaults to ~/.npmrc
 npm config get globalconfig # defaults to /usr/local/etc/npmrc
-

Uninstalling npm does not remove configuration files by default. You +

+

Uninstalling npm does not remove configuration files by default. You must remove them yourself manually if you want them gone. Note that this means that future npm installs will not remember the settings that you have chosen.

Using npm Programmatically

-

If you would like to use npm programmatically, you can do that. -It's not very well documented, but it is rather simple.

-

Most of the time, unless you actually want to do all the things that -npm does, you should try using one of npm's dependencies rather than -using npm itself, if possible.

-

Eventually, npm will be just a thin cli wrapper around the modules -that it depends on, but for now, there are some things that you must -use npm itself to do.

-
var npm = require("npm")
+

Although npm can be used programmatically, its API is meant for use by the CLI +only, and no guarantees are made regarding its fitness for any other purpose. +If you want to use npm to reliably perform some task, the safest thing to do is +to invoke the desired npm command with appropriate arguments.

+

The semantic version of npm refers to the CLI itself, rather than the +underlying API. The internal API is not guaranteed to remain stable even when +npm's version indicates no breaking changes have been made according to +semver.

+

If you still would like to use npm programmatically, it's possible. The API +isn't very well documented, but it is rather simple.

+

Eventually, npm will be just a thin CLI wrapper around the modules that it +depends on, but for now, there are some things that only the CLI can do. You +should try using one of npm's dependencies first, and only use the API if what +you're trying to do is only supported by npm itself.

+
var npm = require("npm")
 npm.load(myConfigObject, function (er) {
   if (er) return handlError(er)
   npm.commands.install(["some", "args"], function (er, data) {
@@ -95,7 +108,8 @@ 

Using npm Programmatically

}) npm.registry.log.on("log", function (message) { .... }) }) -

The load function takes an object hash of the command-line configs. +

+

The load function takes an object hash of the command-line configs. The various npm.commands.<cmd> functions take an array of positional argument strings. The last argument to any npm.commands.<cmd> function is a callback. Some commands take other @@ -126,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.

@@ -169,5 +183,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-bin.html b/deps/npm/html/doc/api/npm-bin.html index 1a025d4a9cc06b..9d23ea4c65adcc 100644 --- a/deps/npm/html/doc/api/npm-bin.html +++ b/deps/npm/html/doc/api/npm-bin.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-bugs.html b/deps/npm/html/doc/api/npm-bugs.html index 227cf6c015ff76..a15b46c4beaa9f 100644 --- a/deps/npm/html/doc/api/npm-bugs.html +++ b/deps/npm/html/doc/api/npm-bugs.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-cache.html b/deps/npm/html/doc/api/npm-cache.html index 0c304cc229f66c..54ba30048e8b8d 100644 --- a/deps/npm/html/doc/api/npm-cache.html +++ b/deps/npm/html/doc/api/npm-cache.html @@ -42,5 +42,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-commands.html b/deps/npm/html/doc/api/npm-commands.html index a9745c99067c77..9ae84dff2dd531 100644 --- a/deps/npm/html/doc/api/npm-commands.html +++ b/deps/npm/html/doc/api/npm-commands.html @@ -36,5 +36,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-config.html b/deps/npm/html/doc/api/npm-config.html index 13cbad9483bde6..8ff2bedb854bac 100644 --- a/deps/npm/html/doc/api/npm-config.html +++ b/deps/npm/html/doc/api/npm-config.html @@ -57,5 +57,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-deprecate.html b/deps/npm/html/doc/api/npm-deprecate.html index fd37285557c574..f8378171dec3b1 100644 --- a/deps/npm/html/doc/api/npm-deprecate.html +++ b/deps/npm/html/doc/api/npm-deprecate.html @@ -47,5 +47,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-docs.html b/deps/npm/html/doc/api/npm-docs.html index 9a7f28bad10b4c..2edccfa4115610 100644 --- a/deps/npm/html/doc/api/npm-docs.html +++ b/deps/npm/html/doc/api/npm-docs.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-edit.html b/deps/npm/html/doc/api/npm-edit.html index 9dd67f66132551..9c1664daf328a1 100644 --- a/deps/npm/html/doc/api/npm-edit.html +++ b/deps/npm/html/doc/api/npm-edit.html @@ -36,5 +36,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-explore.html b/deps/npm/html/doc/api/npm-explore.html index 0fd2598320779d..8bf25f2333e4c4 100644 --- a/deps/npm/html/doc/api/npm-explore.html +++ b/deps/npm/html/doc/api/npm-explore.html @@ -31,5 +31,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-help-search.html b/deps/npm/html/doc/api/npm-help-search.html index 3d420df3d1f966..081cb44a224fe4 100644 --- a/deps/npm/html/doc/api/npm-help-search.html +++ b/deps/npm/html/doc/api/npm-help-search.html @@ -44,5 +44,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-init.html b/deps/npm/html/doc/api/npm-init.html index 2d876d14b7a036..3fe180adc39217 100644 --- a/deps/npm/html/doc/api/npm-init.html +++ b/deps/npm/html/doc/api/npm-init.html @@ -39,5 +39,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-install.html b/deps/npm/html/doc/api/npm-install.html index b2e8011b9f41c3..0b78aa7b8f830c 100644 --- a/deps/npm/html/doc/api/npm-install.html +++ b/deps/npm/html/doc/api/npm-install.html @@ -32,5 +32,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-link.html b/deps/npm/html/doc/api/npm-link.html index 355f06b24d3a29..7a2ed5f5425982 100644 --- a/deps/npm/html/doc/api/npm-link.html +++ b/deps/npm/html/doc/api/npm-link.html @@ -42,5 +42,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-load.html b/deps/npm/html/doc/api/npm-load.html index c830e8763c3d7b..111b5c24c06b8f 100644 --- a/deps/npm/html/doc/api/npm-load.html +++ b/deps/npm/html/doc/api/npm-load.html @@ -37,5 +37,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-ls.html b/deps/npm/html/doc/api/npm-ls.html index 069b357f255bbf..b6b9d3d0fc4702 100644 --- a/deps/npm/html/doc/api/npm-ls.html +++ b/deps/npm/html/doc/api/npm-ls.html @@ -63,5 +63,5 @@

global

       - + diff --git a/deps/npm/html/doc/api/npm-outdated.html b/deps/npm/html/doc/api/npm-outdated.html index 61bf7635e97795..28fe25faf1d1db 100644 --- a/deps/npm/html/doc/api/npm-outdated.html +++ b/deps/npm/html/doc/api/npm-outdated.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-owner.html b/deps/npm/html/doc/api/npm-owner.html index a62c188897fa30..d07ed485f96a84 100644 --- a/deps/npm/html/doc/api/npm-owner.html +++ b/deps/npm/html/doc/api/npm-owner.html @@ -47,5 +47,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-pack.html b/deps/npm/html/doc/api/npm-pack.html index 2383065fbc7ff8..f1f6d0b82e9653 100644 --- a/deps/npm/html/doc/api/npm-pack.html +++ b/deps/npm/html/doc/api/npm-pack.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-prefix.html b/deps/npm/html/doc/api/npm-prefix.html index 01cc6356ad0568..b2f2ce8a18d574 100644 --- a/deps/npm/html/doc/api/npm-prefix.html +++ b/deps/npm/html/doc/api/npm-prefix.html @@ -29,5 +29,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-prune.html b/deps/npm/html/doc/api/npm-prune.html index 26810c35cd1696..7a0b5014d014be 100644 --- a/deps/npm/html/doc/api/npm-prune.html +++ b/deps/npm/html/doc/api/npm-prune.html @@ -30,5 +30,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-publish.html b/deps/npm/html/doc/api/npm-publish.html index 8d2af0daa350c1..ac9aac8b13e06c 100644 --- a/deps/npm/html/doc/api/npm-publish.html +++ b/deps/npm/html/doc/api/npm-publish.html @@ -46,5 +46,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-rebuild.html b/deps/npm/html/doc/api/npm-rebuild.html index 9ab09d5b95c901..dccd76ef30868f 100644 --- a/deps/npm/html/doc/api/npm-rebuild.html +++ b/deps/npm/html/doc/api/npm-rebuild.html @@ -30,5 +30,5 @@

CONFIGURATION

       - + diff --git a/deps/npm/html/doc/api/npm-repo.html b/deps/npm/html/doc/api/npm-repo.html index 77fb30c74d1fe6..d785107e29aab5 100644 --- a/deps/npm/html/doc/api/npm-repo.html +++ b/deps/npm/html/doc/api/npm-repo.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-restart.html b/deps/npm/html/doc/api/npm-restart.html index 0cb6c9ce3134f8..99e5a50c1814d5 100644 --- a/deps/npm/html/doc/api/npm-restart.html +++ b/deps/npm/html/doc/api/npm-restart.html @@ -52,5 +52,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-root.html b/deps/npm/html/doc/api/npm-root.html index 9f8a355228b503..38995cf8669a21 100644 --- a/deps/npm/html/doc/api/npm-root.html +++ b/deps/npm/html/doc/api/npm-root.html @@ -29,5 +29,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-run-script.html b/deps/npm/html/doc/api/npm-run-script.html index 26f62e9f302e99..5a39182f09dbbe 100644 --- a/deps/npm/html/doc/api/npm-run-script.html +++ b/deps/npm/html/doc/api/npm-run-script.html @@ -41,5 +41,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-search.html b/deps/npm/html/doc/api/npm-search.html index 16fa84df9e0916..1dfef60f1f6758 100644 --- a/deps/npm/html/doc/api/npm-search.html +++ b/deps/npm/html/doc/api/npm-search.html @@ -53,5 +53,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-shrinkwrap.html b/deps/npm/html/doc/api/npm-shrinkwrap.html index 77715d7628843a..f790da12b51e7d 100644 --- a/deps/npm/html/doc/api/npm-shrinkwrap.html +++ b/deps/npm/html/doc/api/npm-shrinkwrap.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-start.html b/deps/npm/html/doc/api/npm-start.html index e39d4e20a1854a..567a21eba3c6ba 100644 --- a/deps/npm/html/doc/api/npm-start.html +++ b/deps/npm/html/doc/api/npm-start.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-stop.html b/deps/npm/html/doc/api/npm-stop.html index de977186006707..1d9fa9a6c1e5d7 100644 --- a/deps/npm/html/doc/api/npm-stop.html +++ b/deps/npm/html/doc/api/npm-stop.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-submodule.html b/deps/npm/html/doc/api/npm-submodule.html new file mode 100644 index 00000000000000..f4b5c85c6e092d --- /dev/null +++ b/deps/npm/html/doc/api/npm-submodule.html @@ -0,0 +1,45 @@ + + + npm-submodule + + + + + + +
+ +

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/doc/api/npm-tag.html b/deps/npm/html/doc/api/npm-tag.html index a7a8e47f105429..f5873c979664d4 100644 --- a/deps/npm/html/doc/api/npm-tag.html +++ b/deps/npm/html/doc/api/npm-tag.html @@ -36,5 +36,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-test.html b/deps/npm/html/doc/api/npm-test.html index 9f8a9d1095bff5..a00fa50ac60576 100644 --- a/deps/npm/html/doc/api/npm-test.html +++ b/deps/npm/html/doc/api/npm-test.html @@ -30,5 +30,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-uninstall.html b/deps/npm/html/doc/api/npm-uninstall.html index 30133eb34c28dd..ec0b0d625ba7c4 100644 --- a/deps/npm/html/doc/api/npm-uninstall.html +++ b/deps/npm/html/doc/api/npm-uninstall.html @@ -30,5 +30,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-unpublish.html b/deps/npm/html/doc/api/npm-unpublish.html index aa75a23e090703..de9545ccdaccfa 100644 --- a/deps/npm/html/doc/api/npm-unpublish.html +++ b/deps/npm/html/doc/api/npm-unpublish.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-update.html b/deps/npm/html/doc/api/npm-update.html index be507883943fa4..5fd779e477a9f0 100644 --- a/deps/npm/html/doc/api/npm-update.html +++ b/deps/npm/html/doc/api/npm-update.html @@ -33,5 +33,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-version.html b/deps/npm/html/doc/api/npm-version.html index a0fd511901dc7b..b26d133d2f3a11 100644 --- a/deps/npm/html/doc/api/npm-version.html +++ b/deps/npm/html/doc/api/npm-version.html @@ -32,5 +32,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-view.html b/deps/npm/html/doc/api/npm-view.html index 89c3b74180ebff..f85952abc36726 100644 --- a/deps/npm/html/doc/api/npm-view.html +++ b/deps/npm/html/doc/api/npm-view.html @@ -81,5 +81,5 @@

RETURN VALUE

       - + diff --git a/deps/npm/html/doc/api/npm-whoami.html b/deps/npm/html/doc/api/npm-whoami.html index 1d03071231eed1..276955316b6780 100644 --- a/deps/npm/html/doc/api/npm-whoami.html +++ b/deps/npm/html/doc/api/npm-whoami.html @@ -29,5 +29,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm.html b/deps/npm/html/doc/api/npm.html index 7b57fcd0c1b1fb..edf0a184964780 100644 --- a/deps/npm/html/doc/api/npm.html +++ b/deps/npm/html/doc/api/npm.html @@ -23,7 +23,7 @@

SYNOPSIS

npm.commands.install(["package"], cb) })

VERSION

-

2.10.1

+

2.11.0

DESCRIPTION

This is the API documentation for npm. To find documentation of the command line @@ -109,5 +109,5 @@

ABBREVS

       - + diff --git a/deps/npm/html/doc/cli/npm-access.html b/deps/npm/html/doc/cli/npm-access.html index e7a604bec74022..f9803499a57e39 100644 --- a/deps/npm/html/doc/cli/npm-access.html +++ b/deps/npm/html/doc/cli/npm-access.html @@ -75,5 +75,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-adduser.html b/deps/npm/html/doc/cli/npm-adduser.html index 1175859955c299..8ecceee1d850da 100644 --- a/deps/npm/html/doc/cli/npm-adduser.html +++ b/deps/npm/html/doc/cli/npm-adduser.html @@ -68,5 +68,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-bin.html b/deps/npm/html/doc/cli/npm-bin.html index d33a757d55b7fc..8ed1b845776735 100644 --- a/deps/npm/html/doc/cli/npm-bin.html +++ b/deps/npm/html/doc/cli/npm-bin.html @@ -35,5 +35,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-bugs.html b/deps/npm/html/doc/cli/npm-bugs.html index 217c9724fed4a1..c6220b2b7c18e6 100644 --- a/deps/npm/html/doc/cli/npm-bugs.html +++ b/deps/npm/html/doc/cli/npm-bugs.html @@ -54,5 +54,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-build.html b/deps/npm/html/doc/cli/npm-build.html index b7b72121c6aaca..625eef5bfcc47a 100644 --- a/deps/npm/html/doc/cli/npm-build.html +++ b/deps/npm/html/doc/cli/npm-build.html @@ -40,5 +40,5 @@

DESCRIPTION

       - + diff --git a/deps/npm/html/doc/cli/npm-bundle.html b/deps/npm/html/doc/cli/npm-bundle.html index 3343f79992ba61..a9ad57b93bcd99 100644 --- a/deps/npm/html/doc/cli/npm-bundle.html +++ b/deps/npm/html/doc/cli/npm-bundle.html @@ -31,5 +31,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-cache.html b/deps/npm/html/doc/cli/npm-cache.html index 991be9f641a0f5..5ce0595a6515d8 100644 --- a/deps/npm/html/doc/cli/npm-cache.html +++ b/deps/npm/html/doc/cli/npm-cache.html @@ -81,5 +81,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-completion.html b/deps/npm/html/doc/cli/npm-completion.html index 7e0fc62afc82da..87d5d86e43f4f6 100644 --- a/deps/npm/html/doc/cli/npm-completion.html +++ b/deps/npm/html/doc/cli/npm-completion.html @@ -42,5 +42,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-config.html b/deps/npm/html/doc/cli/npm-config.html index 378472312aad88..9ea4f0bf9ced92 100644 --- a/deps/npm/html/doc/cli/npm-config.html +++ b/deps/npm/html/doc/cli/npm-config.html @@ -66,5 +66,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-dedupe.html b/deps/npm/html/doc/cli/npm-dedupe.html index ce864af51c2512..6f3c3fafd30ea7 100644 --- a/deps/npm/html/doc/cli/npm-dedupe.html +++ b/deps/npm/html/doc/cli/npm-dedupe.html @@ -63,5 +63,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-deprecate.html b/deps/npm/html/doc/cli/npm-deprecate.html index 8a7ec9a2d64d92..b49af3fcb4517c 100644 --- a/deps/npm/html/doc/cli/npm-deprecate.html +++ b/deps/npm/html/doc/cli/npm-deprecate.html @@ -38,5 +38,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-dist-tag.html b/deps/npm/html/doc/cli/npm-dist-tag.html index 1211dfecf5bff4..4125c8ca2decfd 100644 --- a/deps/npm/html/doc/cli/npm-dist-tag.html +++ b/deps/npm/html/doc/cli/npm-dist-tag.html @@ -77,5 +77,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-docs.html b/deps/npm/html/doc/cli/npm-docs.html index be146f0cf763b1..d84cb85aa7bb35 100644 --- a/deps/npm/html/doc/cli/npm-docs.html +++ b/deps/npm/html/doc/cli/npm-docs.html @@ -56,5 +56,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-edit.html b/deps/npm/html/doc/cli/npm-edit.html index 6a903c4df26668..76f4945eeab069 100644 --- a/deps/npm/html/doc/cli/npm-edit.html +++ b/deps/npm/html/doc/cli/npm-edit.html @@ -49,5 +49,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-explore.html b/deps/npm/html/doc/cli/npm-explore.html index 0a85fc2a08af5e..705a1670ae8ea6 100644 --- a/deps/npm/html/doc/cli/npm-explore.html +++ b/deps/npm/html/doc/cli/npm-explore.html @@ -49,5 +49,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-help-search.html b/deps/npm/html/doc/cli/npm-help-search.html index afe18a73a59af9..1ae1aed911e041 100644 --- a/deps/npm/html/doc/cli/npm-help-search.html +++ b/deps/npm/html/doc/cli/npm-help-search.html @@ -46,5 +46,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-help.html b/deps/npm/html/doc/cli/npm-help.html index 9f9c1de6559513..a99fc5a76da631 100644 --- a/deps/npm/html/doc/cli/npm-help.html +++ b/deps/npm/html/doc/cli/npm-help.html @@ -52,5 +52,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-init.html b/deps/npm/html/doc/cli/npm-init.html index 4b98a7b72b1996..1d2af21e22c72a 100644 --- a/deps/npm/html/doc/cli/npm-init.html +++ b/deps/npm/html/doc/cli/npm-init.html @@ -48,5 +48,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-install.html b/deps/npm/html/doc/cli/npm-install.html index c475cc74601ef4..0803353951ec57 100644 --- a/deps/npm/html/doc/cli/npm-install.html +++ b/deps/npm/html/doc/cli/npm-install.html @@ -264,5 +264,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-link.html b/deps/npm/html/doc/cli/npm-link.html index 022aaf4108efa8..bf7f480f84f43b 100644 --- a/deps/npm/html/doc/cli/npm-link.html +++ b/deps/npm/html/doc/cli/npm-link.html @@ -72,5 +72,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/cli/npm-logout.html b/deps/npm/html/doc/cli/npm-logout.html index f9a4c095fbbce5..a97572b5597e75 100644 --- a/deps/npm/html/doc/cli/npm-logout.html +++ b/deps/npm/html/doc/cli/npm-logout.html @@ -55,5 +55,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-ls.html b/deps/npm/html/doc/cli/npm-ls.html index 0b9c8e91fa0eaf..514f78675fe528 100644 --- a/deps/npm/html/doc/cli/npm-ls.html +++ b/deps/npm/html/doc/cli/npm-ls.html @@ -22,7 +22,7 @@

SYNOPSIS

limit the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

-
npm@2.10.1 /path/to/npm
+
npm@2.11.0 /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 8b1a867e0e8119..8194b87e77dbf0 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 70e8aeccdc3f3d..82f71f7e8c3edc 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 fa118a73883eeb..fc0998b97c7e97 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 d01848a1c7b46b..a8c8e7777b6855 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 1fce2b556d1e3d..f277900cdddb13 100644 --- a/deps/npm/html/doc/cli/npm-prune.html +++ b/deps/npm/html/doc/cli/npm-prune.html @@ -39,5 +39,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-publish.html b/deps/npm/html/doc/cli/npm-publish.html index c840ff41f7168d..990b686b5a5005 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 f4c8435c36e64d..2b9a1bc00ca2d1 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 998986f9162541..9e9965a01cad8e 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 f291d5a7e13a77..d302bcedca056f 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 a67f89a1c24241..21dc832e0f95a2 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 5457c3fd9cdd47..ba6a3c69cfc53a 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 4d21c023b83cfa..db4c9f55e9179e 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 d402ba4fe6eb56..21e0399610dcef 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 78b744222b0092..97aa961a26b7af 100644 --- a/deps/npm/html/doc/cli/npm-shrinkwrap.html +++ b/deps/npm/html/doc/cli/npm-shrinkwrap.html @@ -18,14 +18,14 @@

SYNOPSIS

used when your package is installed. The package.json file is still required if you want to use npm install.

By default, npm install recursively installs the target's -dependencies (as specified in package.json), choosing the latest +dependencies (as specified in package.json), choosing the latest available version that satisfies the dependency's semver pattern. In some situations, particularly when shipping software where each change is tightly managed, it's desirable to fully specify each version of each dependency recursively so that subsequent builds and deploys do not inadvertently pick up newer versions of a dependency that satisfy the semver pattern. Specifying specific semver patterns in each -dependency's package.json would facilitate this, but that's not always +dependency's package.json would facilitate this, but that's not always possible or desirable, as when another author owns the npm package. It's also possible to check dependencies directly into source control, but that may be undesirable for other reasons.

@@ -47,7 +47,7 @@

SYNOPSIS

}

and package C:

{
-  "name": "C,
+  "name": "C",
   "version": "0.0.1"
 }
 

If these are the only versions of A, B, and C available in the @@ -69,7 +69,7 @@

SYNOPSIS

when B hasn't changed at all.

In this case, A's author can run

npm shrinkwrap
-

This generates npm-shrinkwrap.json, which will look something like this:

+

This generates npm-shrinkwrap.json, which will look something like this:

{
   "name": "A",
   "version": "0.1.0",
@@ -86,24 +86,24 @@ 

SYNOPSIS

}

The shrinkwrap command has locked down the dependencies based on what's currently installed in node_modules. When npm install -installs a package with a npm-shrinkwrap.json file in the package -root, the shrinkwrap file (rather than package.json files) completely +installs a package with an npm-shrinkwrap.json in the package +root, the shrinkwrap file (rather than package.json files) completely drives the installation of that package and all of its dependencies (recursively). So now the author publishes A@0.1.0, and subsequent installs of this package will use B@0.0.1 and C@0.0.1, regardless the -dependencies and versions listed in A's, B's, and C's package.json +dependencies and versions listed in A's, B's, and C's package.json files.

Using shrinkwrapped packages

Using a shrinkwrapped package is no different than using any other package: you can npm install it by hand, or add a dependency to your -package.json file and npm install it.

+package.json file and npm install it.

Building shrinkwrapped packages

To shrinkwrap an existing package:

  1. Run npm install in the package root to install the current versions of all dependencies.
  2. Validate that the package works as expected with these versions.
  3. -
  4. Run npm shrinkwrap, add npm-shrinkwrap.json to git, and publish +
  5. Run npm shrinkwrap, add npm-shrinkwrap.json to git, and publish your package.

To add or update a dependency in a shrinkwrapped package:

@@ -111,24 +111,24 @@

Building shrinkwrapped packages

  • Run npm install in the package root to install the current versions of all dependencies.
  • Add or update dependencies. npm install each new or updated -package individually and then update package.json. Note that they +package individually and then update package.json. Note that they must be explicitly named in order to be installed: running npm install with no arguments will merely reproduce the existing shrinkwrap.
  • Validate that the package works as expected with the new dependencies.
  • -
  • Run npm shrinkwrap, commit the new npm-shrinkwrap.json, and +
  • Run npm shrinkwrap, commit the new npm-shrinkwrap.json, and publish your package.
  • You can use npm-outdated(1) to view dependencies with newer versions available.

    Other Notes

    -

    A shrinkwrap file must be consistent with the package's package.json +

    A shrinkwrap file must be consistent with the package's package.json file. npm shrinkwrap will fail if required dependencies are not already installed, since that would result in a shrinkwrap that wouldn't actually work. Similarly, the command will fail if there are -extraneous packages (not referenced by package.json), since that would -indicate that package.json is not correct.

    +extraneous packages (not referenced by package.json), since that would +indicate that package.json is not correct.

    Since npm shrinkwrap is intended to lock down your dependencies for production use, devDependencies will not be included unless you explicitly set the --dev flag when you run npm shrinkwrap. If @@ -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 9a5099d485e336..3a3343ae09582d 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 9892b2521e1410..e95621582ef598 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 406bbc85a5e627..63f5acd0c62de1 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 71c0005bdc1d26..63beb4648e988d 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

    + + +
    + + + + + + + + + + + diff --git a/deps/npm/html/doc/cli/npm-tag.html b/deps/npm/html/doc/cli/npm-tag.html index f3f581c33ecc75..db9a50dbec435b 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 87bd2328455a17..e3e20b749dffb3 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 86a7aaee519e71..9c356a209e54f2 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 77276455550b92..d867666310dde2 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 7a090ee49c228e..80d46fba355d4f 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 36f2c1d75d383e..95acceaab731b7 100644 --- a/deps/npm/html/doc/cli/npm-version.html +++ b/deps/npm/html/doc/cli/npm-version.html @@ -39,6 +39,12 @@

    SYNOPSIS

    2048-bit RSA key, ID 6C481CF6, created 2010-08-31 Enter passphrase: +

    If "preversion", "version", "postversion" in the "scripts" property of +the package.json, it will execute by running npm version. preversion +and version ware executed before bump the package version, postversion +was executed after bump the package version. For example to run npm version +after passed all test:

    +
    "scripts": { "preversion": "npm test" }
     

    CONFIGURATION

    git-tag-version

      @@ -49,6 +55,8 @@

      git-tag-version

      SEE ALSO

      • npm-init(1)
      • +
      • npm-run-script(1)
      • +
      • npm-scripts(7)
      • package.json(5)
      • semver(7)
      • config(7)
      • @@ -65,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 bb3104f35aff9c..8d6327f4e3701c 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 6a84ce4879eff5..3a17bd69d5b134 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 fe8a3e85af6e6a..d1409bce747959 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.10.1

        +

        2.11.0

        DESCRIPTION

        npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency @@ -110,7 +110,7 @@

        CONTRIBUTIONS

        the issues list or ask on the mailing list.

        BUGS

        When you find issues, please report them:

        @@ -118,7 +118,7 @@

        BUGS

      • web: http://github.com/npm/npm/issues
      • email: -npm-@googlegroups.com
      • +npm-@googlegroups.com

      Be sure to include all of the output from the npm command that didn't work as expected. The npm-debug.log file is also helpful to provide.

      @@ -128,7 +128,7 @@

      AUTHOR

      Isaac Z. Schlueter :: isaacs :: @izs :: -i@izs.me

      +i@izs.me

      SEE ALSO

      • npm-help(1)
      • @@ -154,5 +154,5 @@

        SEE ALSO

               - + diff --git a/deps/npm/html/doc/files/npm-folders.html b/deps/npm/html/doc/files/npm-folders.html index 3eac6ce8e82fc9..7115ac16e6ba29 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 2ddeeddd507624..fbfc4fbbc61dea 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 c99da5c43a3bfc..35d1766479f9a2 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 d113aed73b147b..85ecce53862283 100644 --- a/deps/npm/html/doc/files/npmrc.html +++ b/deps/npm/html/doc/files/npmrc.html @@ -77,5 +77,5 @@

        SEE ALSO

               - + diff --git a/deps/npm/html/doc/files/package.json.html b/deps/npm/html/doc/files/package.json.html index e914991e01e5ea..1fc1055992360c 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 c62dd3509df605..40510cb89aaa6f 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 78646909c8c25f..304e361b26071b 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 086275a5b24ea2..12936425a5c853 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 a73ac2586a6203..11acb8b7d6acb1 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 7a395ce07a6f1c..905dce2ab8db91 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

        1. Get the author email with npm owner ls <pkgname>
        2. -
        3. Email the author, CC support@npmjs.com
        4. +
        5. Email the author, CC support@npmjs.com
        6. 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 3754a93a512f1c..7abe589cffbfea 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.

        @@ -244,19 +244,19 @@

        I get ECONNREFUSED a lot. What' on Freenode IRC.

        Why no namespaces?

        npm has only one global namespace. If you want to namespace your own packages, -you may: simply use the - character to separate the names. npm is a mostly -anarchic system. There is not sufficient need to impose namespace rules on -everyone.

        +you may: simply use the - character to separate the names or use scoped +packages. npm is a mostly anarchic system. There is not sufficient need to +impose namespace rules on everyone.

        As of 2.0, npm supports scoped packages, which allow you to publish a group of related modules without worrying about name collisions.

        Every npm user owns the scope associated with their username. For example, the user named npm owns the scope @npm. Scoped packages are published inside a scope by naming them as if they were files under the scope directory, e.g., by setting name in package.json to @npm/npm.

        -

        Scoped packages can coexist with public npm packages in a private npm registry. -At present (2014-11-04) scoped packages may NOT be published to the public npm -registry.

        -

        Unscoped packages can only depend on other unscoped packages. Scoped packages +

        Scoped packages are supported by the public npm registry. The npm client is +backwards-compatible with un-scoped registries, so it can be used to work with +scoped and un-scoped registries at the same time.

        +

        Unscoped packages can only depend on other unscoped packages. Scoped packages can depend on packages from their own scope, a different scope, or the public registry (unscoped).

        For the current documentation of scoped packages, see @@ -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 196fdae4877d3e..b6e379049e2b8a 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 9c87ab42dfdf69..2e8662581802f3 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 cee696187c40b7..6073eeada7c4f6 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 526459e30ba6e6..90d4ddea15eb19 100644 --- a/deps/npm/html/doc/misc/npm-scripts.html +++ b/deps/npm/html/doc/misc/npm-scripts.html @@ -27,6 +27,10 @@

        DESCRIPTION

        Run BEFORE the package is uninstalled.
      • postuninstall: Run AFTER the package is uninstalled.
      • +
      • preversion, version: +Run BEFORE bump the package version.
      • +
      • postversion: +Run AFTER bump the package version.
      • pretest, test, posttest: Run by the npm test command.
      • prestop, stop, poststop: @@ -203,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 21ce3c53b51b5e..1d7328b768b5ab 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 ab65a6dc3f610d..e09058a2c9eb5a 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 303ba9adc71bff..4c96624152bff3 100644 --- a/deps/npm/html/partial/doc/README.html +++ b/deps/npm/html/partial/doc/README.html @@ -21,13 +21,16 @@

        Fancy Install (Unix)

        There's a pretty robust install script at https://www.npmjs.com/install.sh. You can download that and run it.

        Here's an example using curl:

        -
        curl -L https://www.npmjs.com/install.sh | sh
        -

        Slightly Fancier

        +
        curl -L https://www.npmjs.com/install.sh | sh
        +
        +

        Slightly Fancier

        You can set any npm configuration params with that script:

        -
        npm_config_prefix=/some/path sh install.sh
        -

        Or, you can run it in uber-debuggery mode:

        -
        npm_debug=1 sh install.sh
        -

        Even Fancier

        +
        npm_config_prefix=/some/path sh install.sh
        +
        +

        Or, you can run it in uber-debuggery mode:

        +
        npm_debug=1 sh install.sh
        +
        +

        Even Fancier

        Get the code with git. Use make to build the docs and do other stuff. If you plan on hacking on npm, make link is your friend.

        If you've got the npm source code, you can also semi-permanently set @@ -46,10 +49,12 @@

        Installing on Cygwin

        No.

        Uninstalling

        So sad to see you go.

        -
        sudo npm uninstall npm -g
        -

        Or, if that fails,

        -
        sudo make uninstall
        -

        More Severe Uninstalling

        +
        sudo npm uninstall npm -g
        +
        +

        Or, if that fails,

        +
        sudo make uninstall
        +
        +

        More Severe Uninstalling

        Usually, the above instructions are sufficient. That will remove npm, but leave behind anything you've installed.

        If you would like to remove all the packages that you have installed, @@ -57,25 +62,33 @@

        Uninstalling

        remove them.

        To remove cruft left behind by npm 0.x, you can use the included clean-old.sh script file. You can run it conveniently like this:

        -
        npm explore npm -g -- sh scripts/clean-old.sh
        -

        npm uses two configuration files, one for per-user configs, and another +

        npm explore npm -g -- sh scripts/clean-old.sh
        +
        +

        npm uses two configuration files, one for per-user configs, and another for global (every-user) configs. You can view them by doing:

        -
        npm config get userconfig   # defaults to ~/.npmrc
        +
        npm config get userconfig   # defaults to ~/.npmrc
         npm config get globalconfig # defaults to /usr/local/etc/npmrc
        -

        Uninstalling npm does not remove configuration files by default. You +

        +

        Uninstalling npm does not remove configuration files by default. You must remove them yourself manually if you want them gone. Note that this means that future npm installs will not remember the settings that you have chosen.

        Using npm Programmatically

        -

        If you would like to use npm programmatically, you can do that. -It's not very well documented, but it is rather simple.

        -

        Most of the time, unless you actually want to do all the things that -npm does, you should try using one of npm's dependencies rather than -using npm itself, if possible.

        -

        Eventually, npm will be just a thin cli wrapper around the modules -that it depends on, but for now, there are some things that you must -use npm itself to do.

        -
        var npm = require("npm")
        +

        Although npm can be used programmatically, its API is meant for use by the CLI +only, and no guarantees are made regarding its fitness for any other purpose. +If you want to use npm to reliably perform some task, the safest thing to do is +to invoke the desired npm command with appropriate arguments.

        +

        The semantic version of npm refers to the CLI itself, rather than the +underlying API. The internal API is not guaranteed to remain stable even when +npm's version indicates no breaking changes have been made according to +semver.

        +

        If you still would like to use npm programmatically, it's possible. The API +isn't very well documented, but it is rather simple.

        +

        Eventually, npm will be just a thin CLI wrapper around the modules that it +depends on, but for now, there are some things that only the CLI can do. You +should try using one of npm's dependencies first, and only use the API if what +you're trying to do is only supported by npm itself.

        +
        var npm = require("npm")
         npm.load(myConfigObject, function (er) {
           if (er) return handlError(er)
           npm.commands.install(["some", "args"], function (er, data) {
        @@ -84,7 +97,8 @@ 

        Using npm Programmatically

        }) npm.registry.log.on("log", function (message) { .... }) }) -

        The load function takes an object hash of the command-line configs. +

        +

        The load function takes an object hash of the command-line configs. The various npm.commands.<cmd> functions take an array of positional argument strings. The last argument to any npm.commands.<cmd> function is a callback. Some commands take other @@ -115,7 +129,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.

        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 044a65624b2f44..2f2b671b1d1a4d 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) })

        VERSION

        -

        2.10.1

        +

        2.11.0

        DESCRIPTION

        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 448aae4d11bd41..be257c54454153 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 @@

        SYNOPSIS

        limit the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

        -
        npm@2.10.1 /path/to/npm
        +
        npm@2.11.0 /path/to/npm
         └─┬ init-package-json@0.0.4
           └── promzard@0.1.5
         

        It will print out extraneous, missing, and invalid packages.

        diff --git a/deps/npm/html/partial/doc/cli/npm-shrinkwrap.html b/deps/npm/html/partial/doc/cli/npm-shrinkwrap.html index 7857cf85ee8cd3..8ac97fc3eed892 100644 --- a/deps/npm/html/partial/doc/cli/npm-shrinkwrap.html +++ b/deps/npm/html/partial/doc/cli/npm-shrinkwrap.html @@ -7,14 +7,14 @@

        SYNOPSIS

        used when your package is installed. The package.json file is still required if you want to use npm install.

        By default, npm install recursively installs the target's -dependencies (as specified in package.json), choosing the latest +dependencies (as specified in package.json), choosing the latest available version that satisfies the dependency's semver pattern. In some situations, particularly when shipping software where each change is tightly managed, it's desirable to fully specify each version of each dependency recursively so that subsequent builds and deploys do not inadvertently pick up newer versions of a dependency that satisfy the semver pattern. Specifying specific semver patterns in each -dependency's package.json would facilitate this, but that's not always +dependency's package.json would facilitate this, but that's not always possible or desirable, as when another author owns the npm package. It's also possible to check dependencies directly into source control, but that may be undesirable for other reasons.

        @@ -36,7 +36,7 @@

        SYNOPSIS

        }

        and package C:

        {
        -  "name": "C,
        +  "name": "C",
           "version": "0.0.1"
         }
         

        If these are the only versions of A, B, and C available in the @@ -58,7 +58,7 @@

        SYNOPSIS

        when B hasn't changed at all.

        In this case, A's author can run

        npm shrinkwrap
        -

        This generates npm-shrinkwrap.json, which will look something like this:

        +

        This generates npm-shrinkwrap.json, which will look something like this:

        {
           "name": "A",
           "version": "0.1.0",
        @@ -75,24 +75,24 @@ 

        SYNOPSIS

        }

        The shrinkwrap command has locked down the dependencies based on what's currently installed in node_modules. When npm install -installs a package with a npm-shrinkwrap.json file in the package -root, the shrinkwrap file (rather than package.json files) completely +installs a package with an npm-shrinkwrap.json in the package +root, the shrinkwrap file (rather than package.json files) completely drives the installation of that package and all of its dependencies (recursively). So now the author publishes A@0.1.0, and subsequent installs of this package will use B@0.0.1 and C@0.0.1, regardless the -dependencies and versions listed in A's, B's, and C's package.json +dependencies and versions listed in A's, B's, and C's package.json files.

        Using shrinkwrapped packages

        Using a shrinkwrapped package is no different than using any other package: you can npm install it by hand, or add a dependency to your -package.json file and npm install it.

        +package.json file and npm install it.

        Building shrinkwrapped packages

        To shrinkwrap an existing package:

        1. Run npm install in the package root to install the current versions of all dependencies.
        2. Validate that the package works as expected with these versions.
        3. -
        4. Run npm shrinkwrap, add npm-shrinkwrap.json to git, and publish +
        5. Run npm shrinkwrap, add npm-shrinkwrap.json to git, and publish your package.

        To add or update a dependency in a shrinkwrapped package:

        @@ -100,24 +100,24 @@

        Building shrinkwrapped packages

      • Run npm install in the package root to install the current versions of all dependencies.
      • Add or update dependencies. npm install each new or updated -package individually and then update package.json. Note that they +package individually and then update package.json. Note that they must be explicitly named in order to be installed: running npm install with no arguments will merely reproduce the existing shrinkwrap.
      • Validate that the package works as expected with the new dependencies.
      • -
      • Run npm shrinkwrap, commit the new npm-shrinkwrap.json, and +
      • Run npm shrinkwrap, commit the new npm-shrinkwrap.json, and publish your package.
      • You can use npm-outdated(1) to view dependencies with newer versions available.

        Other Notes

        -

        A shrinkwrap file must be consistent with the package's package.json +

        A shrinkwrap file must be consistent with the package's package.json file. npm shrinkwrap will fail if required dependencies are not already installed, since that would result in a shrinkwrap that wouldn't actually work. Similarly, the command will fail if there are -extraneous packages (not referenced by package.json), since that would -indicate that package.json is not correct.

        +extraneous packages (not referenced by package.json), since that would +indicate that package.json is not correct.

        Since npm shrinkwrap is intended to lock down your dependencies for production use, devDependencies will not be included unless you explicitly set the --dev flag when you run npm shrinkwrap. If 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

        + diff --git a/deps/npm/html/partial/doc/cli/npm-version.html b/deps/npm/html/partial/doc/cli/npm-version.html index e446006b056762..515f19a6deaba1 100644 --- a/deps/npm/html/partial/doc/cli/npm-version.html +++ b/deps/npm/html/partial/doc/cli/npm-version.html @@ -28,6 +28,12 @@

        SYNOPSIS

        2048-bit RSA key, ID 6C481CF6, created 2010-08-31 Enter passphrase: +

        If "preversion", "version", "postversion" in the "scripts" property of +the package.json, it will execute by running npm version. preversion +and version ware executed before bump the package version, postversion +was executed after bump the package version. For example to run npm version +after passed all test:

        +
        "scripts": { "preversion": "npm test" }
         

        CONFIGURATION

        git-tag-version

          @@ -38,6 +44,8 @@

          git-tag-version

          SEE ALSO

          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 ed9e224c55a204..6d327a8a65ebae 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

            1. Get the author email with npm owner ls <pkgname>
            2. -
            3. Email the author, CC support@npmjs.com
            4. +
            5. Email the author, CC support@npmjs.com
            6. 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 5dedebd9d75464..04594586f79e0d 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.

            @@ -233,19 +233,19 @@

            I get ECONNREFUSED a lot. What' on Freenode IRC.

            Why no namespaces?

            npm has only one global namespace. If you want to namespace your own packages, -you may: simply use the - character to separate the names. npm is a mostly -anarchic system. There is not sufficient need to impose namespace rules on -everyone.

            +you may: simply use the - character to separate the names or use scoped +packages. npm is a mostly anarchic system. There is not sufficient need to +impose namespace rules on everyone.

            As of 2.0, npm supports scoped packages, which allow you to publish a group of related modules without worrying about name collisions.

            Every npm user owns the scope associated with their username. For example, the user named npm owns the scope @npm. Scoped packages are published inside a scope by naming them as if they were files under the scope directory, e.g., by setting name in package.json to @npm/npm.

            -

            Scoped packages can coexist with public npm packages in a private npm registry. -At present (2014-11-04) scoped packages may NOT be published to the public npm -registry.

            -

            Unscoped packages can only depend on other unscoped packages. Scoped packages +

            Scoped packages are supported by the public npm registry. The npm client is +backwards-compatible with un-scoped registries, so it can be used to work with +scoped and un-scoped registries at the same time.

            +

            Unscoped packages can only depend on other unscoped packages. Scoped packages can depend on packages from their own scope, a different scope, or the public registry (unscoped).

            For the current documentation of scoped packages, see diff --git a/deps/npm/html/partial/doc/misc/npm-scripts.html b/deps/npm/html/partial/doc/misc/npm-scripts.html index 8a152f3ef18bd4..f4ce3221a3cdef 100644 --- a/deps/npm/html/partial/doc/misc/npm-scripts.html +++ b/deps/npm/html/partial/doc/misc/npm-scripts.html @@ -16,6 +16,10 @@

            DESCRIPTION

            Run BEFORE the package is uninstalled.
          • postuninstall: Run AFTER the package is uninstalled.
          • +
          • preversion, version: +Run BEFORE bump the package version.
          • +
          • postversion: +Run AFTER bump the package version.
          • pretest, test, posttest: Run by the npm test command.
          • prestop, stop, poststop: diff --git a/deps/npm/lib/utils/error-handler.js b/deps/npm/lib/utils/error-handler.js index 1c80ab590ffbdd..6ffb2867e2780c 100644 --- a/deps/npm/lib/utils/error-handler.js +++ b/deps/npm/lib/utils/error-handler.js @@ -12,6 +12,7 @@ var cbCalled = false , rollbacks = npm.rollbacks , chain = require("slide").chain , writeStream = require("fs-write-stream-atomic") + , nameValidator = require("validate-npm-package-name") process.on("exit", function (code) { @@ -216,8 +217,21 @@ function errorHandler (er) { case "E404": var msg = [er.message] if (er.pkgid && er.pkgid !== "-") { - msg.push("", "'"+er.pkgid+"' is not in the npm registry." - ,"You should bug the author to publish it (or use the name yourself!)") + msg.push("", "'" + er.pkgid + "' is not in the npm registry.") + + var valResult = nameValidator(er.pkgid) + + if (valResult.validForNewPackages) { + msg.push("You should bug the author to publish it (or use the name yourself!)") + } else { + msg.push("Your package name is not valid, because", "") + + var errorsArray = (valResult.errors || []).concat(valResult.warnings || []) + errorsArray.forEach(function(item, idx) { + msg.push(" " + (idx + 1) + ". " + item) + }) + } + if (er.parent) { msg.push("It was specified as a dependency of '"+er.parent+"'") } diff --git a/deps/npm/lib/version.js b/deps/npm/lib/version.js index 294cfd620be12a..b42c90142893ae 100644 --- a/deps/npm/lib/version.js +++ b/deps/npm/lib/version.js @@ -11,6 +11,7 @@ var semver = require("semver") , npm = require("./npm.js") , git = require("./utils/git.js") , assert = require("assert") + , lifecycle = require("./utils/lifecycle.js") version.usage = "npm version [ | major | minor | patch | prerelease | preminor | premajor ]\n" + "\n(run in package dir)\n" @@ -26,11 +27,6 @@ function version (args, silent, cb_) { var packagePath = path.join(npm.localPrefix, "package.json") fs.readFile(packagePath, function (er, data) { - function cb (er) { - if (!er && !silent) console.log("v" + data.version) - cb_(er) - } - if (data) data = data.toString() try { data = JSON.parse(data) @@ -52,17 +48,30 @@ function version (args, silent, cb_) { if (data.version === newVersion) return cb_(new Error("Version not changed")) data.version = newVersion - checkGit(function (er, hasGit) { - if (er) return cb_(er) + chain([ + [lifecycle, data, "preversion"] + , [version_, data, silent] + , [lifecycle, data, "version"] + , [lifecycle, data, "postversion"] ] + , cb_) + }) +} + +function version_ (data, silent, cb_) { + function cb (er) { + if (!er && !silent) console.log("v" + data.version) + cb_(er) + } - write(data, "package.json", function (er) { - if (er) return cb_(er) + checkGit(function (er, hasGit) { + if (er) return cb(new Error(er)) - updateShrinkwrap(newVersion, function (er, hasShrinkwrap) { - if (er || !hasGit) return cb(er) + write(data, "package.json", function (er) { + if (er) return cb(new Error(er)) - commit(data.version, hasShrinkwrap, cb) - }) + updateShrinkwrap(data.version, function (er, hasShrinkwrap) { + if (er || !hasGit) return cb(er) + commit(data.version, hasShrinkwrap, cb) }) }) }) diff --git a/deps/npm/man/man1/npm-README.1 b/deps/npm/man/man1/npm-README.1 index 09ffc12b2fa5cc..c0aa54f86e02a6 100644 --- a/deps/npm/man/man1/npm-README.1 +++ b/deps/npm/man/man1/npm-README.1 @@ -133,16 +133,23 @@ this means that future npm installs will not remember the settings that you have chosen\. .SH Using npm Programmatically .P -If you would like to use npm programmatically, you can do that\. -It's not very well documented, but it \fIis\fR rather simple\. -.P -Most of the time, unless you actually want to do all the things that -npm does, you should try using one of npm's dependencies rather than -using npm itself, if possible\. -.P -Eventually, npm will be just a thin cli wrapper around the modules -that it depends on, but for now, there are some things that you must -use npm itself to do\. +Although npm can be used programmatically, its API is meant for use by the CLI +\fIonly\fR, and no guarantees are made regarding its fitness for any other purpose\. +If you want to use npm to reliably perform some task, the safest thing to do is +to invoke the desired \fBnpm\fR command with appropriate arguments\. +.P +The semantic version of npm refers to the CLI itself, rather than the +underlying API\. \fIThe internal API is not guaranteed to remain stable even when +npm's version indicates no breaking changes have been made according to +semver\.\fR +.P +If you \fIstill\fR would like to use npm programmatically, it's \fIpossible\fR\|\. The API +isn't very well documented, but it \fIis\fR rather simple\. +.P +Eventually, npm will be just a thin CLI wrapper around the modules that it +depends on, but for now, there are some things that only the CLI can do\. You +should try using one of npm's dependencies first, and only use the API if what +you're trying to do is only supported by npm itself\. .P .RS 2 .nf diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index 32f13d8ef5447c..8b6510cda40cde 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.10.1 /path/to/npm +npm@2.11.0 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 .fi diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1 index 98440e02472f8a..9124d2633b9bf4 100644 --- a/deps/npm/man/man1/npm-shrinkwrap.1 +++ b/deps/npm/man/man1/npm-shrinkwrap.1 @@ -16,14 +16,14 @@ used when your package is installed\. The \fBpackage\.json\fR file is still required if you want to use \fBnpm install\fR\|\. .P By default, \fBnpm install\fR recursively installs the target's -dependencies (as specified in package\.json), choosing the latest +dependencies (as specified in \fBpackage\.json\fR), choosing the latest available version that satisfies the dependency's semver pattern\. In some situations, particularly when shipping software where each change is tightly managed, it's desirable to fully specify each version of each dependency recursively so that subsequent builds and deploys do not inadvertently pick up newer versions of a dependency that satisfy the semver pattern\. Specifying specific semver patterns in each -dependency's package\.json would facilitate this, but that's not always +dependency's \fBpackage\.json\fR would facilitate this, but that's not always possible or desirable, as when another author owns the npm package\. It's also possible to check dependencies directly into source control, but that may be undesirable for other reasons\. @@ -61,7 +61,7 @@ and package C: .RS 2 .nf { - "name": "C, + "name": "C", "version": "0\.0\.1" } .fi @@ -105,7 +105,7 @@ npm shrinkwrap .fi .RE .P -This generates npm\-shrinkwrap\.json, which will look something like this: +This generates \fBnpm\-shrinkwrap\.json\fR, which will look something like this: .P .RS 2 .nf @@ -128,18 +128,18 @@ This generates npm\-shrinkwrap\.json, which will look something like this: .P The shrinkwrap command has locked down the dependencies based on what's currently installed in node_modules\. When \fBnpm install\fR -installs a package with a npm\-shrinkwrap\.json file in the package -root, the shrinkwrap file (rather than package\.json files) completely +installs a package with an \fBnpm\-shrinkwrap\.json\fR in the package +root, the shrinkwrap file (rather than \fBpackage\.json\fR files) completely drives the installation of that package and all of its dependencies (recursively)\. So now the author publishes A@0\.1\.0, and subsequent installs of this package will use B@0\.0\.1 and C@0\.0\.1, regardless the -dependencies and versions listed in A's, B's, and C's package\.json +dependencies and versions listed in A's, B's, and C's \fBpackage\.json\fR files\. .SS Using shrinkwrapped packages .P Using a shrinkwrapped package is no different than using any other package: you can \fBnpm install\fR it by hand, or add a dependency to your -package\.json file and \fBnpm install\fR it\. +\fBpackage\.json\fR file and \fBnpm install\fR it\. .SS Building shrinkwrapped packages .P To shrinkwrap an existing package: @@ -150,7 +150,7 @@ versions of all dependencies\. .IP 2. 3 Validate that the package works as expected with these versions\. .IP 3. 3 -Run \fBnpm shrinkwrap\fR, add npm\-shrinkwrap\.json to git, and publish +Run \fBnpm shrinkwrap\fR, add \fBnpm\-shrinkwrap\.json\fR to git, and publish your package\. .RE @@ -162,7 +162,7 @@ Run \fBnpm install\fR in the package root to install the current versions of all dependencies\. .IP 2. 3 Add or update dependencies\. \fBnpm install\fR each new or updated -package individually and then update package\.json\. Note that they +package individually and then update \fBpackage\.json\fR\|\. Note that they must be explicitly named in order to be installed: running \fBnpm install\fR with no arguments will merely reproduce the existing shrinkwrap\. @@ -170,7 +170,7 @@ shrinkwrap\. Validate that the package works as expected with the new dependencies\. .IP 4. 3 -Run \fBnpm shrinkwrap\fR, commit the new npm\-shrinkwrap\.json, and +Run \fBnpm shrinkwrap\fR, commit the new \fBnpm\-shrinkwrap\.json\fR, and publish your package\. .RE @@ -179,12 +179,12 @@ You can use npm help outdated to view dependencies with newer versions available\. .SS Other Notes .P -A shrinkwrap file must be consistent with the package's package\.json +A shrinkwrap file must be consistent with the package's \fBpackage\.json\fR file\. \fBnpm shrinkwrap\fR will fail if required dependencies are not already installed, since that would result in a shrinkwrap that wouldn't actually work\. Similarly, the command will fail if there are -extraneous packages (not referenced by package\.json), since that would -indicate that package\.json is not correct\. +extraneous packages (not referenced by \fBpackage\.json\fR), since that would +indicate that \fBpackage\.json\fR is not correct\. .P Since \fBnpm shrinkwrap\fR is intended to lock down your dependencies for production use, \fBdevDependencies\fR will not be included unless you 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-version.1 b/deps/npm/man/man1/npm-version.1 index 8fbfd4d07180a5..914adfffeb93ec 100644 --- a/deps/npm/man/man1/npm-version.1 +++ b/deps/npm/man/man1/npm-version.1 @@ -50,6 +50,18 @@ user: "isaacs (http://blog\.izs\.me/) " Enter passphrase: .fi .RE +.P +If "preversion", "version", "postversion" in the "scripts" property of +the package\.json, it will execute by running \fBnpm version\fR\|\. preversion +and version ware executed before bump the package version, postversion +was executed after bump the package version\. For example to run \fBnpm version\fR +after passed all test: +.P +.RS 2 +.nf +"scripts": { "preversion": "npm test" } +.fi +.RE .SH CONFIGURATION .SS git\-tag\-version .RS 0 @@ -66,6 +78,10 @@ Commit and tag the version change\. .IP \(bu 2 npm help init .IP \(bu 2 +npm help run\-script +.IP \(bu 2 +npm help 7 scripts +.IP \(bu 2 npm help 5 package\.json .IP \(bu 2 npm help 7 semver diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 9305fef29d9df1..27b0a033608bd2 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.10.1 +2.11.0 .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 7fd9d79b9c9b42..0c41d2ad533a2a 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.10.1 +2.11.0 .SH DESCRIPTION .P This is the API documentation for npm\. diff --git a/deps/npm/man/man7/npm-faq.7 b/deps/npm/man/man7/npm-faq.7 index 30391e7f2dbb22..6958109a28a5c9 100644 --- a/deps/npm/man/man7/npm-faq.7 +++ b/deps/npm/man/man7/npm-faq.7 @@ -351,9 +351,9 @@ on Freenode IRC\. .SH Why no namespaces? .P npm has only one global namespace\. If you want to namespace your own packages, -you may: simply use the \fB\-\fR character to separate the names\. npm is a mostly -anarchic system\. There is not sufficient need to impose namespace rules on -everyone\. +you may: simply use the \fB\-\fR character to separate the names or use scoped +packages\. npm is a mostly anarchic system\. There is not sufficient need to +impose namespace rules on everyone\. .P As of 2\.0, npm supports scoped packages, which allow you to publish a group of related modules without worrying about name collisions\. @@ -363,11 +363,11 @@ user named \fBnpm\fR owns the scope \fB@npm\fR\|\. Scoped packages are publishe scope by naming them as if they were files under the scope directory, e\.g\., by setting \fBname\fR in \fBpackage\.json\fR to \fB@npm/npm\fR\|\. .P -Scoped packages can coexist with public npm packages in a private npm registry\. -At present (2014\-11\-04) scoped packages may NOT be published to the public npm -registry\. +Scoped packages are supported by the public npm registry\. The npm client is +backwards\-compatible with un\-scoped registries, so it can be used to work with +scoped and un\-scoped registries at the same time\. .P -Unscoped packages can only depend on other unscoped packages\. Scoped packages +Unscoped packages can only depend on other unscoped packages\. Scoped packages can depend on packages from their own scope, a different scope, or the public registry (unscoped)\. .P diff --git a/deps/npm/man/man7/npm-scripts.7 b/deps/npm/man/man7/npm-scripts.7 index 46ab09ed4c1641..055b5bfd7d30a4 100644 --- a/deps/npm/man/man7/npm-scripts.7 +++ b/deps/npm/man/man7/npm-scripts.7 @@ -26,6 +26,12 @@ Run BEFORE the package is uninstalled\. postuninstall: Run AFTER the package is uninstalled\. .IP \(bu 2 +preversion, version: +Run BEFORE bump the package version\. +.IP \(bu 2 +postversion: +Run AFTER bump the package version\. +.IP \(bu 2 pretest, test, posttest: Run by the \fBnpm test\fR command\. .IP \(bu 2 diff --git a/deps/npm/node_modules/abbrev/LICENSE b/deps/npm/node_modules/abbrev/LICENSE index 05a4010949cac3..19129e315fe593 100644 --- a/deps/npm/node_modules/abbrev/LICENSE +++ b/deps/npm/node_modules/abbrev/LICENSE @@ -1,23 +1,15 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. +The ISC License -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: +Copyright (c) Isaac Z. Schlueter and Contributors -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -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. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/abbrev/package.json b/deps/npm/node_modules/abbrev/package.json index bac363a18886f6..c94731f442d3ce 100644 --- a/deps/npm/node_modules/abbrev/package.json +++ b/deps/npm/node_modules/abbrev/package.json @@ -1,6 +1,6 @@ { "name": "abbrev", - "version": "1.0.5", + "version": "1.0.6", "description": "Like ruby's abbrev module, but in js", "author": { "name": "Isaac Z. Schlueter", @@ -12,23 +12,26 @@ }, "repository": { "type": "git", - "url": "http://github.com/isaacs/abbrev-js" - }, - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" + "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" }, + "license": "ISC", + "gitHead": "648a6735d9c5a7a04885e3ada49eed4db36181c2", "bugs": { "url": "https://github.com/isaacs/abbrev-js/issues" }, - "homepage": "https://github.com/isaacs/abbrev-js", - "_id": "abbrev@1.0.5", - "_shasum": "5d8257bd9ebe435e698b2fa431afde4fe7b10b03", - "_from": "abbrev@latest", - "_npmVersion": "1.4.7", + "homepage": "https://github.com/isaacs/abbrev-js#readme", + "_id": "abbrev@1.0.6", + "_shasum": "b6d632b859b3fa2d6f7e4b195472461b9e32dc30", + "_from": "abbrev@1.0.6", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", - "email": "i@izs.me" + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "b6d632b859b3fa2d6f7e4b195472461b9e32dc30", + "tarball": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.6.tgz" }, "maintainers": [ { @@ -36,10 +39,6 @@ "email": "i@izs.me" } ], - "dist": { - "shasum": "5d8257bd9ebe435e698b2fa431afde4fe7b10b03", - "tarball": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz" - }, "directories": {}, - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz" + "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.6.tgz" } diff --git a/deps/npm/node_modules/async-some/LICENSE b/deps/npm/node_modules/async-some/LICENSE new file mode 100644 index 00000000000000..d21147bf1965eb --- /dev/null +++ b/deps/npm/node_modules/async-some/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2014-2015, Forrest L Norvell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/async-some/package.json b/deps/npm/node_modules/async-some/package.json index d32ae73fb2a51a..b7d5521e58dfba 100644 --- a/deps/npm/node_modules/async-some/package.json +++ b/deps/npm/node_modules/async-some/package.json @@ -1,6 +1,6 @@ { "name": "async-some", - "version": "1.0.1", + "version": "1.0.2", "description": "short-circuited, asynchronous version of Array.protototype.some", "main": "some.js", "scripts": { @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/othiym23/async-some.git" + "url": "git+https://github.com/othiym23/async-some.git" }, "keywords": [ "async", @@ -27,31 +27,15 @@ }, "homepage": "https://github.com/othiym23/async-some", "dependencies": { - "dezalgo": "^1.0.0" + "dezalgo": "^1.0.2" }, "devDependencies": { - "tap": "^0.4.11" - }, - "gitHead": "e73d6d1fbc03cca5a0d54f456f39bab294a4c7b7", - "_id": "async-some@1.0.1", - "_shasum": "8b54f08d46f0f9babc72ea9d646c245d23a4d9e5", - "_from": "async-some@>=1.0.1-0 <2.0.0-0", - "_npmVersion": "1.5.0-pre", - "_npmUser": { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - }, - "maintainers": [ - { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - } - ], - "dist": { - "shasum": "8b54f08d46f0f9babc72ea9d646c245d23a4d9e5", - "tarball": "http://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz", - "readme": "ERROR: No README data found!" + "tap": "^1.1.0" + }, + "readme": "# some\n\nShort-circuited async Array.prototype.some implementation.\n\nSerially evaluates a list of values from a JS array or arraylike\nagainst an asynchronous predicate, terminating on the first truthy\nvalue. If the predicate encounters an error, pass it to the completion\ncallback. Otherwise, pass the truthy value passed by the predicate, or\n`false` if no truthy value was passed.\n\nIs\n[Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony)-proof,\nbrowser-safe, and pretty efficient.\n\n## Usage\n\n```javascript\nvar some = require(\"async-some\");\nvar resolve = require(\"path\").resolve;\nvar stat = require(\"fs\").stat;\nvar readFileSync = require(\"fs\").readFileSync;\n\nsome([\"apple\", \"seaweed\", \"ham\", \"quince\"], porkDetector, function (error, match) {\n if (error) return console.error(error);\n\n if (match) return console.dir(JSON.parse(readFileSync(match)));\n\n console.error(\"time to buy more Sporkle™!\");\n});\n\nvar PREFIX = resolve(__dirname, \"../pork_store\");\nfunction porkDetector(value, cb) {\n var path = resolve(PREFIX, value + \".json\");\n stat(path, function (er, stat) {\n if (er) {\n if (er.code === \"ENOENT\") return cb(null, false);\n\n return cb(er);\n }\n\n cb(er, path);\n });\n}\n```\n\n### some(list, test, callback)\n\n* `list` {Object} An arraylike (either an Array or the arguments arraylike) to\n be checked.\n* `test` {Function} The predicate against which the elements of `list` will be\n tested. Takes two parameters:\n * `element` {any} The element of the list to be tested.\n * `callback` {Function} The continuation to be called once the test is\n complete. Takes (again) two values:\n * `error` {Error} Any errors that the predicate encountered.\n * `value` {any} A truthy value. A non-falsy result terminates checking the\n entire list.\n* `callback` {Function} The callback to invoke when either a value has been\n found or the entire input list has been processed with no result. Is invoked\n with the traditional two parameters:\n * `error` {Error} Errors that were encountered during the evaluation of some().\n * `match` {any} Value successfully matched by `test`, if any.\n", + "readmeFilename": "README.md", + "gitHead": "3a5086ad54739c48b2bbf073f23bcc95658199e3", + "_id": "async-some@1.0.2", + "_shasum": "4d8a81620d5958791b5b98f802d3207776e95509", + "_from": "async-some@>=1.0.2 <1.1.0" } diff --git a/deps/npm/node_modules/block-stream/LICENSE b/deps/npm/node_modules/block-stream/LICENSE new file mode 100644 index 00000000000000..19129e315fe593 --- /dev/null +++ b/deps/npm/node_modules/block-stream/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/block-stream/package.json b/deps/npm/node_modules/block-stream/package.json index ef011677285c4e..80227bb69ed8ab 100644 --- a/deps/npm/node_modules/block-stream/package.json +++ b/deps/npm/node_modules/block-stream/package.json @@ -6,7 +6,7 @@ }, "name": "block-stream", "description": "a stream of blocks", - "version": "0.0.7", + "version": "0.0.8", "repository": { "type": "git", "url": "git://github.com/isaacs/block-stream.git" @@ -24,12 +24,31 @@ "scripts": { "test": "tap test/" }, - "license": "BSD", - "readme": "# block-stream\n\nA stream of blocks.\n\nWrite data into it, and it'll output data in buffer blocks the size you\nspecify, padding with zeroes if necessary.\n\n```javascript\nvar block = new BlockStream(512)\nfs.createReadStream(\"some-file\").pipe(block)\nblock.pipe(fs.createWriteStream(\"block-file\"))\n```\n\nWhen `.end()` or `.flush()` is called, it'll pad the block with zeroes.\n", - "readmeFilename": "README.md", + "license": "ISC", + "gitHead": "b35520314f4763af0788d65a846bb43d9c0a8f02", "bugs": { "url": "https://github.com/isaacs/block-stream/issues" }, - "_id": "block-stream@0.0.7", - "_from": "block-stream@latest" + "homepage": "https://github.com/isaacs/block-stream#readme", + "_id": "block-stream@0.0.8", + "_shasum": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b", + "_from": "block-stream@0.0.8", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", + "_npmUser": { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b", + "tarball": "http://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz" } diff --git a/deps/npm/node_modules/chmodr/LICENSE b/deps/npm/node_modules/chmodr/LICENSE index 0c44ae716db8f3..19129e315fe593 100644 --- a/deps/npm/node_modules/chmodr/LICENSE +++ b/deps/npm/node_modules/chmodr/LICENSE @@ -1,27 +1,15 @@ -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. +The ISC License -The BSD License +Copyright (c) Isaac Z. Schlueter and Contributors -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/chmodr/package.json b/deps/npm/node_modules/chmodr/package.json index 67334aefba4651..e253434ef45432 100644 --- a/deps/npm/node_modules/chmodr/package.json +++ b/deps/npm/node_modules/chmodr/package.json @@ -6,7 +6,7 @@ }, "name": "chmodr", "description": "like `chmod -R`", - "version": "0.1.0", + "version": "0.1.1", "repository": { "type": "git", "url": "git://github.com/isaacs/chmodr.git" @@ -20,9 +20,31 @@ "scripts": { "test": "tap test/*.js" }, - "license": "BSD", - "readme": "Like `chmod -R`.\n\nTakes the same arguments as `fs.chmod()`\n", - "readmeFilename": "README.md", - "_id": "chmodr@0.1.0", - "_from": "chmodr@latest" + "license": "ISC", + "gitHead": "2f301476bc6fc93e47d2ba2e3ab0409f0d0c15ba", + "bugs": { + "url": "https://github.com/isaacs/chmodr/issues" + }, + "homepage": "https://github.com/isaacs/chmodr#readme", + "_id": "chmodr@0.1.1", + "_shasum": "115c8f9ec62be3ef019085782c9448e471560261", + "_from": "chmodr@0.1.1", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", + "_npmUser": { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "115c8f9ec62be3ef019085782c9448e471560261", + "tarball": "http://registry.npmjs.org/chmodr/-/chmodr-0.1.1.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.1.tgz" } diff --git a/deps/npm/node_modules/chownr/LICENSE b/deps/npm/node_modules/chownr/LICENSE new file mode 100644 index 00000000000000..19129e315fe593 --- /dev/null +++ b/deps/npm/node_modules/chownr/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/chownr/package.json b/deps/npm/node_modules/chownr/package.json index bb321f8ad56fd4..a551c869ec1a34 100644 --- a/deps/npm/node_modules/chownr/package.json +++ b/deps/npm/node_modules/chownr/package.json @@ -6,7 +6,7 @@ }, "name": "chownr", "description": "like `chown -R`", - "version": "0.0.1", + "version": "0.0.2", "repository": { "type": "git", "url": "git://github.com/isaacs/chownr.git" @@ -20,23 +20,31 @@ "scripts": { "test": "tap test/*.js" }, - "license": "BSD", + "license": "ISC", + "gitHead": "3cafeb70b2c343e893f710750406b3909ec537cb", + "bugs": { + "url": "https://github.com/isaacs/chownr/issues" + }, + "homepage": "https://github.com/isaacs/chownr#readme", + "_id": "chownr@0.0.2", + "_shasum": "2f9aebf746f90808ce00607b72ba73b41604c485", + "_from": "chownr@0.0.2", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", - "email": "i@izs.me" - }, - "_id": "chownr@0.0.1", - "dependencies": {}, - "optionalDependencies": {}, - "engines": { - "node": "*" + "email": "isaacs@npmjs.com" }, - "_engineSupported": true, - "_npmVersion": "1.1.23", - "_nodeVersion": "v0.7.10-pre", - "_defaultsLoaded": true, "dist": { - "shasum": "51d18189d9092d5f8afd623f3288bfd1c6bf1a62" + "shasum": "2f9aebf746f90808ce00607b72ba73b41604c485", + "tarball": "http://registry.npmjs.org/chownr/-/chownr-0.0.2.tgz" }, - "_from": "../chownr" + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/chownr/-/chownr-0.0.2.tgz" } diff --git a/deps/npm/node_modules/chownr/test/basic.js b/deps/npm/node_modules/chownr/test/basic.js new file mode 100644 index 00000000000000..9e4f6bde038454 --- /dev/null +++ b/deps/npm/node_modules/chownr/test/basic.js @@ -0,0 +1,84 @@ +if (!process.getuid || !process.getgid) { + throw new Error("Tests require getuid/getgid support") +} + +var curUid = +process.getuid() +, curGid = +process.getgid() +, chownr = require("../") +, test = require("tap").test +, mkdirp = require("mkdirp") +, rimraf = require("rimraf") +, fs = require("fs") + +// sniff the 'id' command for other groups that i can legally assign to +var exec = require("child_process").exec +, groups +, dirs = [] + +exec("id", function (code, output) { + if (code) throw new Error("failed to run 'id' command") + groups = output.trim().split("groups=")[1].split(",").map(function (s) { + return parseInt(s, 10) + }).filter(function (g) { + return g !== curGid + }) + + console.error([curUid, groups[0]], "uid, gid") + + rimraf("/tmp/chownr", function (er) { + if (er) throw er + var cnt = 5 + for (var i = 0; i < 5; i ++) { + mkdirp(getDir(), then) + } + function then (er) { + if (er) throw er + if (-- cnt === 0) { + runTest() + } + } + }) +}) + +function getDir () { + var dir = "/tmp/chownr" + + dir += "/" + Math.floor(Math.random() * Math.pow(16,4)).toString(16) + dirs.push(dir) + dir += "/" + Math.floor(Math.random() * Math.pow(16,4)).toString(16) + dirs.push(dir) + dir += "/" + Math.floor(Math.random() * Math.pow(16,4)).toString(16) + dirs.push(dir) + return dir +} + +function runTest () { + test("should complete successfully", function (t) { + console.error("calling chownr", curUid, groups[0], typeof curUid, typeof groups[0]) + chownr("/tmp/chownr", curUid, groups[0], function (er) { + t.ifError(er) + t.end() + }) + }) + + dirs.forEach(function (dir) { + test("verify "+dir, function (t) { + fs.stat(dir, function (er, st) { + if (er) { + t.ifError(er) + return t.end() + } + t.equal(st.uid, curUid, "uid should be " + curUid) + t.equal(st.gid, groups[0], "gid should be "+groups[0]) + t.end() + }) + }) + }) + + test("cleanup", function (t) { + rimraf("/tmp/chownr/", function (er) { + t.ifError(er) + t.end() + }) + }) +} diff --git a/deps/npm/node_modules/chownr/test/sync.js b/deps/npm/node_modules/chownr/test/sync.js new file mode 100644 index 00000000000000..2e26c56aafd294 --- /dev/null +++ b/deps/npm/node_modules/chownr/test/sync.js @@ -0,0 +1,79 @@ +if (!process.getuid || !process.getgid) { + throw new Error("Tests require getuid/getgid support") +} + +var curUid = +process.getuid() +, curGid = +process.getgid() +, chownr = require("../") +, test = require("tap").test +, mkdirp = require("mkdirp") +, rimraf = require("rimraf") +, fs = require("fs") + +// sniff the 'id' command for other groups that i can legally assign to +var exec = require("child_process").exec +, groups +, dirs = [] + +exec("id", function (code, output) { + if (code) throw new Error("failed to run 'id' command") + groups = output.trim().split("groups=")[1].split(",").map(function (s) { + return parseInt(s, 10) + }).filter(function (g) { + return g !== curGid + }) + + console.error([curUid, groups[0]], "uid, gid") + + rimraf("/tmp/chownr", function (er) { + if (er) throw er + var cnt = 5 + for (var i = 0; i < 5; i ++) { + mkdirp(getDir(), then) + } + function then (er) { + if (er) throw er + if (-- cnt === 0) { + runTest() + } + } + }) +}) + +function getDir () { + var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); + var dir = "/tmp/chownr/" + [x,y,z].join("/") + dirs.push(dir) + return dir +} + +function runTest () { + test("should complete successfully", function (t) { + console.error("calling chownr", curUid, groups[0], typeof curUid, typeof groups[0]) + chownr.sync("/tmp/chownr", curUid, groups[0]) + t.end() + }) + + dirs.forEach(function (dir) { + test("verify "+dir, function (t) { + fs.stat(dir, function (er, st) { + if (er) { + t.ifError(er) + return t.end() + } + t.equal(st.uid, curUid, "uid should be " + curUid) + t.equal(st.gid, groups[0], "gid should be "+groups[0]) + t.end() + }) + }) + }) + + test("cleanup", function (t) { + rimraf("/tmp/chownr/", function (er) { + t.ifError(er) + t.end() + }) + }) +} diff --git a/deps/npm/node_modules/dezalgo/LICENSE b/deps/npm/node_modules/dezalgo/LICENSE new file mode 100644 index 00000000000000..19129e315fe593 --- /dev/null +++ b/deps/npm/node_modules/dezalgo/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/package.json b/deps/npm/node_modules/dezalgo/node_modules/asap/package.json index 311f9fc0c7e09c..25ffeeb94954a9 100644 --- a/deps/npm/node_modules/dezalgo/node_modules/asap/package.json +++ b/deps/npm/node_modules/dezalgo/node_modules/asap/package.json @@ -14,8 +14,6 @@ } ], "main": "asap", - "readme": "\n# ASAP\n\nThis `asap` CommonJS package contains a single `asap` module that\nexports a single `asap` function that executes a function **as soon as\npossible**.\n\n```javascript\nasap(function () {\n // ...\n});\n```\n\nMore formally, ASAP provides a fast event queue that will execute tasks\nuntil it is empty before yielding to the JavaScript engine's underlying\nevent-loop. When the event queue becomes non-empty, ASAP schedules a\nflush event, preferring for that event to occur before the JavaScript\nengine has an opportunity to perform IO tasks or rendering, thus making\nthe first task and subsequent tasks semantically indistinguishable.\nASAP uses a variety of techniques to preserve this invariant on\ndifferent versions of browsers and NodeJS.\n\nBy design, ASAP can starve the event loop on the theory that, if there\nis enough work to be done synchronously, albeit in separate events, long\nenough to starve input or output, it is a strong indicator that the\nprogram needs to push back on scheduling more work.\n\nTake care. ASAP can sustain infinite recursive calls indefinitely\nwithout warning. This is behaviorally equivalent to an infinite loop.\nIt will not halt from a stack overflow, but it *will* chew through\nmemory (which is an oddity I cannot explain at this time). Just as with\ninfinite loops, you can monitor a Node process for this behavior with a\nheart-beat signal. As with infinite loops, a very small amount of\ncaution goes a long way to avoiding problems.\n\n```javascript\nfunction loop() {\n asap(loop);\n}\nloop();\n```\n\nASAP is distinct from `setImmediate` in that it does not suffer the\noverhead of returning a handle and being possible to cancel. For a\n`setImmediate` shim, consider [setImmediate][].\n\n[setImmediate]: https://github.com/noblejs/setimmediate\n\nIf a task throws an exception, it will not interrupt the flushing of\nhigh-priority tasks. The exception will be postponed to a later,\nlow-priority event to avoid slow-downs, when the underlying JavaScript\nengine will treat it as it does any unhandled exception.\n\n## Heritage\n\nASAP has been factored out of the [Q][] asynchronous promise library.\nIt originally had a naïve implementation in terms of `setTimeout`, but\n[Malte Ubl][NonBlocking] provided an insight that `postMessage` might be\nuseful for creating a high-priority, no-delay event dispatch hack.\nSince then, Internet Explorer proposed and implemented `setImmediate`.\nRobert Kratić began contributing to Q by measuring the performance of\nthe internal implementation of `asap`, paying particular attention to\nerror recovery. Domenic, Robert, and I collectively settled on the\ncurrent strategy of unrolling the high-priority event queue internally\nregardless of what strategy we used to dispatch the potentially\nlower-priority flush event. Domenic went on to make ASAP cooperate with\nNodeJS domains.\n\n[Q]: https://github.com/kriskowal/q\n[NonBlocking]: http://www.nonblocking.io/2011/06/windownexttick.html\n\nFor further reading, Nicholas Zakas provided a thorough article on [The\nCase for setImmediate][NCZ].\n\n[NCZ]: http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/\n\n## License\n\nCopyright 2009-2013 by Contributors\nMIT License (enclosed)\n\n", - "readmeFilename": "README.md", "_id": "asap@1.0.0", "dist": { "shasum": "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d", @@ -35,5 +33,6 @@ ], "directories": {}, "_shasum": "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d", - "_resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/dezalgo/package.json b/deps/npm/node_modules/dezalgo/package.json index 1f63e83a18a43b..656dd0c5f85887 100644 --- a/deps/npm/node_modules/dezalgo/package.json +++ b/deps/npm/node_modules/dezalgo/package.json @@ -1,6 +1,6 @@ { "name": "dezalgo", - "version": "1.0.1", + "version": "1.0.2", "description": "Contain async insanity so that the dark pony lord doesn't eat souls", "main": "dezalgo.js", "directories": { @@ -18,7 +18,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/npm/dezalgo" + "url": "git+https://github.com/npm/dezalgo.git" }, "keywords": [ "async", @@ -43,25 +43,29 @@ "url": "https://github.com/npm/dezalgo/issues" }, "homepage": "https://github.com/npm/dezalgo", - "gitHead": "0a5eee75c179611f8b67f663015d68bb517e57d2", - "_id": "dezalgo@1.0.1", - "_shasum": "12bde135060807900d5a7aebb607c2abb7c76937", - "_from": "dezalgo@latest", - "_npmVersion": "2.0.0", - "_nodeVersion": "0.10.31", + "gitHead": "fabfd09a9a4ad458d0c801a1dbfff2338b9bc001", + "_id": "dezalgo@1.0.2", + "_shasum": "2bc8b5a1683131764a98def7e4aa22105a688a5a", + "_from": "dezalgo@>=1.0.1 <1.1.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "2.0.2", "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + }, + "dist": { + "shasum": "2bc8b5a1683131764a98def7e4aa22105a688a5a", + "tarball": "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.2.tgz" }, "maintainers": [ { "name": "isaacs", - "email": "i@izs.me" + "email": "isaacs@npmjs.com" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" } ], - "dist": { - "shasum": "12bde135060807900d5a7aebb607c2abb7c76937", - "tarball": "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz" - }, - "_resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz" + "_resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.2.tgz" } diff --git a/deps/npm/node_modules/fs-vacuum/LICENSE b/deps/npm/node_modules/fs-vacuum/LICENSE new file mode 100644 index 00000000000000..d07fa9743a0f31 --- /dev/null +++ b/deps/npm/node_modules/fs-vacuum/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2015, Forrest L Norvell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/fs-vacuum/package.json b/deps/npm/node_modules/fs-vacuum/package.json index 559b7bf2bd3766..3b4935451812b4 100644 --- a/deps/npm/node_modules/fs-vacuum/package.json +++ b/deps/npm/node_modules/fs-vacuum/package.json @@ -1,6 +1,6 @@ { "name": "fs-vacuum", - "version": "1.2.5", + "version": "1.2.6", "description": "recursively remove empty directories -- to a point", "main": "vacuum.js", "scripts": { @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/npm/fs-vacuum.git" + "url": "git+https://github.com/npm/fs-vacuum.git" }, "keywords": [ "rm", @@ -34,10 +34,26 @@ "path-is-inside": "^1.0.1", "rimraf": "^2.2.8" }, - "readme": "# fs-vacuum\n\nRemove the empty branches of a directory tree, optionally up to (but not\nincluding) a specified base directory. Optionally nukes the leaf directory.\n\n## Usage\n\n```javascript\nvar logger = require(\"npmlog\");\nvar vacuum = require(\"fs-vacuum\");\n\nvar options = {\n base : \"/path/to/my/tree/root\",\n purge : true,\n log : logger.silly.bind(logger, \"myCleanup\")\n};\n\n/* Assuming there are no other files or directories in \"out\", \"to\", or \"my\",\n * the final path will just be \"/path/to/my/tree/root\".\n */\nvacuum(\"/path/to/my/tree/root/out/to/my/files\", function (error) {\n if (error) console.error(\"Unable to cleanly vacuum:\", error.message);\n});\n```\n# vacuum(directory, options, callback)\n\n* `directory` {String} Leaf node to remove. **Must be a directory, symlink, or file.**\n* `options` {Object}\n * `base` {String} No directories at or above this level of the filesystem will be removed.\n * `purge` {Boolean} If set, nuke the whole leaf directory, including its contents.\n * `log` {Function} A logging function that takes `npmlog`-compatible argument lists.\n* `callback` {Function} Function to call once vacuuming is complete.\n * `error` {Error} What went wrong along the way, if anything.\n", - "readmeFilename": "README.md", - "gitHead": "4911a38a65b6a6cb19fc980d18304e1cfca91fbf", - "_id": "fs-vacuum@1.2.5", - "_shasum": "a5cbaa844b4b3a7cff139f3cc90e7f7007e5fbb8", - "_from": "fs-vacuum@~1.2.5" + "gitHead": "04b5093ac6fbcc4135835fb1c4ed990dfed5a04c", + "_id": "fs-vacuum@1.2.6", + "_shasum": "860c5e4b3e3aa2a6a3cbb327c57534f3a3bff642", + "_from": "fs-vacuum@>=1.2.5 <1.3.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "2.0.2", + "_npmUser": { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + }, + "dist": { + "shasum": "860c5e4b3e3aa2a6a3cbb327c57534f3a3bff642", + "tarball": "http://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.6.tgz" + }, + "maintainers": [ + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.6.tgz" } diff --git a/deps/npm/node_modules/fs-write-stream-atomic/index.js b/deps/npm/node_modules/fs-write-stream-atomic/index.js index 42a9a8825ecb9a..d86b8c673f23ad 100644 --- a/deps/npm/node_modules/fs-write-stream-atomic/index.js +++ b/deps/npm/node_modules/fs-write-stream-atomic/index.js @@ -39,18 +39,18 @@ function cleanup (er) { }.bind(this)) } -function cleanupSync (er) { +function cleanupSync () { try { fs.unlinkSync(this.__atomicTmp) } finally { - return fs.WriteStream.prototype.emit.call(this, 'error', er) + return } } // When we *would* emit 'close' or 'finish', instead do our stuff WriteStream.prototype.emit = function (ev) { if (ev === 'error') - return cleanupSync(this) + cleanupSync.call(this) if (ev !== 'close' && ev !== 'finish') return fs.WriteStream.prototype.emit.apply(this, arguments) diff --git a/deps/npm/node_modules/fs-write-stream-atomic/package.json b/deps/npm/node_modules/fs-write-stream-atomic/package.json index 5cdd1a2e0d844b..c300228a5d3361 100644 --- a/deps/npm/node_modules/fs-write-stream-atomic/package.json +++ b/deps/npm/node_modules/fs-write-stream-atomic/package.json @@ -1,6 +1,6 @@ { "name": "fs-write-stream-atomic", - "version": "1.0.2", + "version": "1.0.3", "description": "Like `fs.createWriteStream(...)`, but atomic.", "main": "index.js", "directories": { @@ -29,25 +29,29 @@ "url": "https://github.com/npm/fs-write-stream-atomic/issues" }, "homepage": "https://github.com/npm/fs-write-stream-atomic", - "gitHead": "86b111ed1d5db84e8a9680986ef7917036b9c97b", - "_id": "fs-write-stream-atomic@1.0.2", - "_shasum": "fe0c6cec75256072b2fef8180d97e309fe3f5efb", - "_from": "fs-write-stream-atomic@>=1.0.2 <1.1.0", - "_npmVersion": "2.1.0", - "_nodeVersion": "0.10.31", + "gitHead": "78573c09271f3ec672740862dad80be3d75e1963", + "_id": "fs-write-stream-atomic@1.0.3", + "_shasum": "c8fe17f66d7d3f50e9aee59195c358e7710372cc", + "_from": "fs-write-stream-atomic@1.0.3", + "_npmVersion": "2.7.6", + "_nodeVersion": "1.6.2", "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" + "name": "iarna", + "email": "me@re-becca.org" + }, + "dist": { + "shasum": "c8fe17f66d7d3f50e9aee59195c358e7710372cc", + "tarball": "http://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.3.tgz" }, "maintainers": [ { "name": "isaacs", "email": "i@izs.me" + }, + { + "name": "iarna", + "email": "me@re-becca.org" } ], - "dist": { - "shasum": "fe0c6cec75256072b2fef8180d97e309fe3f5efb", - "tarball": "http://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.2.tgz" - }, - "_resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.2.tgz" + "_resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.3.tgz" } diff --git a/deps/npm/node_modules/fs-write-stream-atomic/test/toolong.js b/deps/npm/node_modules/fs-write-stream-atomic/test/toolong.js new file mode 100644 index 00000000000000..e5b2b05b8c3a04 --- /dev/null +++ b/deps/npm/node_modules/fs-write-stream-atomic/test/toolong.js @@ -0,0 +1,24 @@ +var path = require('path') +var test = require('tap').test +var writeStream = require('../index.js') + +function repeat(times, string) { + var output = '' + for (var ii = 0; ii < times; ++ii) { + output += string + } + return output +} + +var target = path.resolve(__dirname, repeat(1000,'test')) + +test('name too long', function (t) { + var stream = writeStream(target) + stream.on('error', function (er) { + t.is(er.code, 'ENAMETOOLONG', target.length + " character name results in ENAMETOOLONG") + }) + stream.on('close', function () { + t.end() + }) + stream.end() +}) \ No newline at end of file diff --git a/deps/npm/node_modules/glob/common.js b/deps/npm/node_modules/glob/common.js index 7bef9a27df8649..e36a631cab20c4 100644 --- a/deps/npm/node_modules/glob/common.js +++ b/deps/npm/node_modules/glob/common.js @@ -61,6 +61,7 @@ function setopts (self, pattern, options) { pattern = "**/" + pattern } + self.silent = !!options.silent self.pattern = pattern self.strict = options.strict !== false self.realpath = !!options.realpath diff --git a/deps/npm/node_modules/glob/glob.js b/deps/npm/node_modules/glob/glob.js index 1bfed19d2ef5eb..d8ac4eff622d5c 100644 --- a/deps/npm/node_modules/glob/glob.js +++ b/deps/npm/node_modules/glob/glob.js @@ -565,10 +565,17 @@ Glob.prototype._readdirError = function (f, er, cb) { default: // some unusual error. Treat as failure. this.cache[this._makeAbs(f)] = false - if (this.strict) return this.emit('error', er) - if (!this.silent) console.error('glob error', er) + if (this.strict) { + this.emit('error', er) + // If the error is handled, then we abort + // if not, we threw out of here + this.abort() + } + if (!this.silent) + console.error('glob error', er) break } + return cb() } diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json index d2276e1b2b1bc4..5a5af13b74b674 100644 --- a/deps/npm/node_modules/glob/package.json +++ b/deps/npm/node_modules/glob/package.json @@ -6,7 +6,7 @@ }, "name": "glob", "description": "a little globber", - "version": "5.0.6", + "version": "5.0.7", "repository": { "type": "git", "url": "git://github.com/isaacs/node-glob.git" @@ -43,23 +43,23 @@ "benchclean": "bash benchclean.sh" }, "license": "ISC", - "gitHead": "7a0d65d7ed11871be6b5a68dc6f15e3f4b3fb93d", + "gitHead": "cfd963c3c95e51864d69092e32479ddb73c3278e", "bugs": { "url": "https://github.com/isaacs/node-glob/issues" }, "homepage": "https://github.com/isaacs/node-glob#readme", - "_id": "glob@5.0.6", - "_shasum": "51f1377c8d5ba36015997655d22bd7d20246accd", + "_id": "glob@5.0.7", + "_shasum": "9748021208e3fd7c3bcc7167ddbd2f1f94676a43", "_from": "glob@>=5.0.6 <5.1.0", - "_npmVersion": "2.9.1", + "_npmVersion": "2.10.0", "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", "email": "isaacs@npmjs.com" }, "dist": { - "shasum": "51f1377c8d5ba36015997655d22bd7d20246accd", - "tarball": "http://registry.npmjs.org/glob/-/glob-5.0.6.tgz" + "shasum": "9748021208e3fd7c3bcc7167ddbd2f1f94676a43", + "tarball": "http://registry.npmjs.org/glob/-/glob-5.0.7.tgz" }, "maintainers": [ { @@ -68,5 +68,5 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.6.tgz" + "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.7.tgz" } diff --git a/deps/npm/node_modules/glob/sync.js b/deps/npm/node_modules/glob/sync.js index 92fe1101940f4e..78fada2c8b41c2 100644 --- a/deps/npm/node_modules/glob/sync.js +++ b/deps/npm/node_modules/glob/sync.js @@ -316,8 +316,10 @@ GlobSync.prototype._readdirError = function (f, er) { default: // some unusual error. Treat as failure. this.cache[this._makeAbs(f)] = false - if (this.strict) throw er - if (!this.silent) console.error('glob error', er) + if (this.strict) + throw er + if (!this.silent) + console.error('glob error', er) break } } diff --git a/deps/npm/node_modules/graceful-fs/LICENSE b/deps/npm/node_modules/graceful-fs/LICENSE index 0c44ae716db8f3..19129e315fe593 100644 --- a/deps/npm/node_modules/graceful-fs/LICENSE +++ b/deps/npm/node_modules/graceful-fs/LICENSE @@ -1,27 +1,15 @@ -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. +The ISC License -The BSD License +Copyright (c) Isaac Z. Schlueter and Contributors -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/graceful-fs/package.json b/deps/npm/node_modules/graceful-fs/package.json index a0194923a91afb..b55ea29e5301e5 100644 --- a/deps/npm/node_modules/graceful-fs/package.json +++ b/deps/npm/node_modules/graceful-fs/package.json @@ -6,7 +6,7 @@ }, "name": "graceful-fs", "description": "A drop-in replacement for fs, making various improvements.", - "version": "3.0.6", + "version": "3.0.7", "repository": { "type": "git", "url": "git://github.com/isaacs/node-graceful-fs.git" @@ -37,25 +37,29 @@ "EPERM", "EACCESS" ], - "license": "BSD", + "license": "ISC", "devDependencies": { "mkdirp": "^0.5.0", "rimraf": "^2.2.8", "tap": "^0.4.13" }, - "gitHead": "8c93aeee947014dafa113dcc8fa04d2e6a6e3e14", + "gitHead": "4aa1ba4a0a1ae59948dc3b14decb7c4a8ab62bce", "bugs": { "url": "https://github.com/isaacs/node-graceful-fs/issues" }, - "homepage": "https://github.com/isaacs/node-graceful-fs", - "_id": "graceful-fs@3.0.6", - "_shasum": "dce3a18351cb94cdc82e688b2e3dd2842d1b09bb", - "_from": "graceful-fs@>=3.0.6 <3.1.0", - "_npmVersion": "2.7.1", - "_nodeVersion": "1.4.2", + "homepage": "https://github.com/isaacs/node-graceful-fs#readme", + "_id": "graceful-fs@3.0.7", + "_shasum": "e935be4b3e57892d289dc3bef7be8c02779d2b54", + "_from": "graceful-fs@>=3.0.7 <3.1.0", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", - "email": "i@izs.me" + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "e935be4b3e57892d289dc3bef7be8c02779d2b54", + "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz" }, "maintainers": [ { @@ -63,10 +67,6 @@ "email": "i@izs.me" } ], - "dist": { - "shasum": "dce3a18351cb94cdc82e688b2e3dd2842d1b09bb", - "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.6.tgz" - }, - "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.6.tgz", + "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz", "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/hosted-git-info/LICENSE b/deps/npm/node_modules/hosted-git-info/LICENSE new file mode 100644 index 00000000000000..45055763dc838d --- /dev/null +++ b/deps/npm/node_modules/hosted-git-info/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/hosted-git-info/README.md b/deps/npm/node_modules/hosted-git-info/README.md index 55b5dbcbb5050b..1db47dd656d2df 100644 --- a/deps/npm/node_modules/hosted-git-info/README.md +++ b/deps/npm/node_modules/hosted-git-info/README.md @@ -37,7 +37,7 @@ And methods of: * info.file(path) Given the path of a file relative to the repository, returns a URL for -directly fetching it from the githost. If no comittish was set then +directly fetching it from the githost. If no committish was set then `master` will be used as the default. For example `hostedGitInfo.fromUrl("git@github.com:npm/hosted-git-info.git#v1.0.0").file("package.json")` diff --git a/deps/npm/node_modules/hosted-git-info/git-host-info.js b/deps/npm/node_modules/hosted-git-info/git-host-info.js index 354d9fc0d275ee..22343335ee58a3 100644 --- a/deps/npm/node_modules/hosted-git-info/git-host-info.js +++ b/deps/npm/node_modules/hosted-git-info/git-host-info.js @@ -7,9 +7,9 @@ var gitHosts = module.exports = { 'protocols': [ 'git', 'http', 'git+ssh', 'git+https', 'ssh', 'https' ], 'domain': 'github.com', 'treepath': 'tree', - 'filetemplate': 'https://{auth@}raw.githubusercontent.com/{user}/{project}/{comittish}/{path}', + 'filetemplate': 'https://{auth@}raw.githubusercontent.com/{user}/{project}/{committish}/{path}', 'bugstemplate': 'https://{domain}/{user}/{project}/issues', - 'gittemplate': 'git://{auth@}{domain}/{user}/{project}.git{#comittish}' + 'gittemplate': 'git://{auth@}{domain}/{user}/{project}.git{#committish}' }, bitbucket: { 'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ], @@ -20,35 +20,35 @@ var gitHosts = module.exports = { 'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ], 'domain': 'gitlab.com', 'treepath': 'tree', - 'docstemplate': 'https://{domain}/{user}/{project}{/tree/comittish}#README', + 'docstemplate': 'https://{domain}/{user}/{project}{/tree/committish}#README', 'bugstemplate': 'https://{domain}/{user}/{project}/issues' }, gist: { 'protocols': [ 'git', 'git+ssh', 'git+https', 'ssh', 'https' ], 'domain': 'gist.github.com', 'pathmatch': /^[/](?:([^/]+)[/])?([a-z0-9]+)(?:[.]git)?$/, - 'filetemplate': 'https://gist.githubusercontent.com/{user}/{project}/raw{/comittish}/{path}', + 'filetemplate': 'https://gist.githubusercontent.com/{user}/{project}/raw{/committish}/{path}', 'bugstemplate': 'https://{domain}/{project}', - 'gittemplate': 'git://{domain}/{project}.git{#comittish}', - 'sshtemplate': 'git@{domain}:/{project}.git{#comittish}', - 'sshurltemplate': 'git+ssh://git@{domain}/{project}.git{#comittish}', - 'browsetemplate': 'https://{domain}/{project}{/comittish}', - 'docstemplate': 'https://{domain}/{project}{/comittish}', - 'httpstemplate': 'git+https://{domain}/{project}.git{#comittish}', - 'shortcuttemplate': '{type}:{project}{#comittish}', - 'pathtemplate': '{project}{#comittish}' + 'gittemplate': 'git://{domain}/{project}.git{#committish}', + 'sshtemplate': 'git@{domain}:/{project}.git{#committish}', + 'sshurltemplate': 'git+ssh://git@{domain}/{project}.git{#committish}', + 'browsetemplate': 'https://{domain}/{project}{/committish}', + 'docstemplate': 'https://{domain}/{project}{/committish}', + 'httpstemplate': 'git+https://{domain}/{project}.git{#committish}', + 'shortcuttemplate': '{type}:{project}{#committish}', + 'pathtemplate': '{project}{#committish}' } } var gitHostDefaults = { - 'sshtemplate': 'git@{domain}:{user}/{project}.git{#comittish}', - 'sshurltemplate': 'git+ssh://git@{domain}/{user}/{project}.git{#comittish}', - 'browsetemplate': 'https://{domain}/{user}/{project}{/tree/comittish}', - 'docstemplate': 'https://{domain}/{user}/{project}{/tree/comittish}#readme', - 'httpstemplate': 'git+https://{auth@}{domain}/{user}/{project}.git{#comittish}', - 'filetemplate': 'https://{domain}/{user}/{project}/raw/{comittish}/{path}', - 'shortcuttemplate': '{type}:{user}/{project}{#comittish}', - 'pathtemplate': '{user}/{project}{#comittish}', + 'sshtemplate': 'git@{domain}:{user}/{project}.git{#committish}', + 'sshurltemplate': 'git+ssh://git@{domain}/{user}/{project}.git{#committish}', + 'browsetemplate': 'https://{domain}/{user}/{project}{/tree/committish}', + 'docstemplate': 'https://{domain}/{user}/{project}{/tree/committish}#readme', + 'httpstemplate': 'git+https://{auth@}{domain}/{user}/{project}.git{#committish}', + 'filetemplate': 'https://{domain}/{user}/{project}/raw/{committish}/{path}', + 'shortcuttemplate': '{type}:{user}/{project}{#committish}', + 'pathtemplate': '{user}/{project}{#committish}', 'pathmatch': /^[/]([^/]+)[/]([^/]+?)(?:[.]git)?$/ } diff --git a/deps/npm/node_modules/hosted-git-info/git-host.js b/deps/npm/node_modules/hosted-git-info/git-host.js index b69ad0f28a9057..ea31380a4e44f5 100644 --- a/deps/npm/node_modules/hosted-git-info/git-host.js +++ b/deps/npm/node_modules/hosted-git-info/git-host.js @@ -1,7 +1,7 @@ 'use strict' var gitHosts = require('./git-host-info.js') -var GitHost = module.exports = function (type, user, auth, project, comittish, defaultRepresentation) { +var GitHost = module.exports = function (type, user, auth, project, committish, defaultRepresentation) { var gitHostInfo = this gitHostInfo.type = type Object.keys(gitHosts[type]).forEach(function (key) { @@ -10,13 +10,13 @@ var GitHost = module.exports = function (type, user, auth, project, comittish, d gitHostInfo.user = user gitHostInfo.auth = auth gitHostInfo.project = project - gitHostInfo.comittish = comittish + gitHostInfo.committish = committish gitHostInfo.default = defaultRepresentation } GitHost.prototype = {} GitHost.prototype.hash = function () { - return this.comittish ? '#' + this.comittish : '' + return this.committish ? '#' + this.committish : '' } GitHost.prototype._fill = function (template, vars) { @@ -27,17 +27,17 @@ GitHost.prototype._fill = function (template, vars) { if (self[key] != null && vars[key] == null) vars[key] = self[key] }) var rawAuth = vars.auth - var rawComittish = vars.comittish + var rawComittish = vars.committish Object.keys(vars).forEach(function (key) { vars[key] = encodeURIComponent(vars[key]) }) vars['auth@'] = rawAuth ? rawAuth + '@' : '' - vars['#comittish'] = rawComittish ? '#' + rawComittish : '' - vars['/tree/comittish'] = vars.comittish - ? '/' + vars.treepath + '/' + vars.comittish + vars['#committish'] = rawComittish ? '#' + rawComittish : '' + vars['/tree/committish'] = vars.committish + ? '/' + vars.treepath + '/' + vars.committish : '' - vars['/comittish'] = vars.comittish ? '/' + vars.comittish : '' - vars.comittish = vars.comittish || 'master' + vars['/committish'] = vars.committish ? '/' + vars.committish : '' + vars.committish = vars.committish || 'master' var res = template Object.keys(vars).forEach(function (key) { res = res.replace(new RegExp('[{]' + key + '[}]', 'g'), vars[key]) diff --git a/deps/npm/node_modules/hosted-git-info/index.js b/deps/npm/node_modules/hosted-git-info/index.js index b8c6e10c6f000a..453ce87d38ba96 100644 --- a/deps/npm/node_modules/hosted-git-info/index.js +++ b/deps/npm/node_modules/hosted-git-info/index.js @@ -35,7 +35,7 @@ module.exports.fromUrl = function (giturl) { if (parsed.auth && authProtocols[parsed.protocol]) { auth = decodeURIComponent(parsed.auth) } - var comittish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null + var committish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null var user = null var project = null var defaultRepresentation = null @@ -53,7 +53,7 @@ module.exports.fromUrl = function (giturl) { if (matched[2] != null) project = decodeURIComponent(matched[2]) defaultRepresentation = protocolToRepresentation(parsed.protocol) } - return new GitHost(gitHostName, user, auth, project, comittish, defaultRepresentation) + return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation) }).filter(function (gitHostInfo) { return gitHostInfo }) if (matches.length !== 1) return return matches[0] diff --git a/deps/npm/node_modules/hosted-git-info/package.json b/deps/npm/node_modules/hosted-git-info/package.json index 81f477ee619966..8d34aca2d72223 100644 --- a/deps/npm/node_modules/hosted-git-info/package.json +++ b/deps/npm/node_modules/hosted-git-info/package.json @@ -1,6 +1,6 @@ { "name": "hosted-git-info", - "version": "2.1.2", + "version": "2.1.4", "description": "Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab", "main": "index.js", "repository": { @@ -30,10 +30,30 @@ "standard": "^3.3.2", "tap": "^0.4.13" }, - "readme": "# hosted-git-info\n\nThis will let you identify and transform various git hosts URLs between\nprotocols. It also can tell you what the URL is for the raw path for\nparticular file for direct access without git.\n\n## Usage\n\n```javascript\nvar hostedGitInfo = require(\"hosted-git-info\")\nvar info = hostedGitInfo.fromUrl(\"git@github.com:npm/hosted-git-info.git\")\n/* info looks like:\n{\n type: \"github\",\n domain: \"github.com\",\n user: \"npm\",\n project: \"hosted-git-info\"\n}\n*/\n```\n\nIf the URL can't be matched with a git host, `null` will be returned. We\ncan match git, ssh and https urls. Additionally, we can match ssh connect\nstrings (`git@github.com:npm/hosted-git-info`) and shortcuts (eg,\n`github:npm/hosted-git-info`). Github specifically, is detected in the case\nof a third, unprefixed, form: `npm/hosted-git-info`.\n\nIf it does match, the returned object has properties of:\n\n* info.type -- The short name of the service\n* info.domain -- The domain for git protocol use\n* info.user -- The name of the user/org on the git host\n* info.project -- The name of the project on the git host\n\nAnd methods of:\n\n* info.file(path)\n\nGiven the path of a file relative to the repository, returns a URL for\ndirectly fetching it from the githost. If no comittish was set then\n`master` will be used as the default.\n\nFor example `hostedGitInfo.fromUrl(\"git@github.com:npm/hosted-git-info.git#v1.0.0\").file(\"package.json\")`\nwould return `https://raw.githubusercontent.com/npm/hosted-git-info/v1.0.0/package.json`\n\n* info.shortcut()\n\neg, `github:npm/hosted-git-info`\n\n* info.browse()\n\neg, `https://github.com/npm/hosted-git-info/tree/v1.2.0`\n\n* info.bugs()\n\neg, `https://github.com/npm/hosted-git-info/issues`\n\n* info.docs()\n\neg, `https://github.com/npm/hosted-git-info/tree/v1.2.0#readme`\n\n* info.https()\n\neg, `git+https://github.com/npm/hosted-git-info.git`\n\n* info.sshurl()\n\neg, `git+ssh://git@github.com/npm/hosted-git-info.git`\n\n* info.ssh()\n\neg, `git@github.com:npm/hosted-git-info.git`\n\n* info.path()\n\neg, `npm/hosted-git-info`\n\n* info.getDefaultRepresentation()\n\nReturns the default output type. The default output type is based on the\nstring you passed in to be parsed\n\n* info.toString()\n\nUses the getDefaultRepresentation to call one of the other methods to get a URL for\nthis resource. As such `hostedGitInfo.fromUrl(url).toString()` will give\nyou a normalized version of the URL that still uses the same protocol.\n\nShortcuts will still be returned as shortcuts, but the special case github\nform of `org/project` will be normalized to `github:org/project`.\n\nSSH connect strings will be normalized into `git+ssh` URLs.\n\n\n## Supported hosts\n\nCurrently this supports Github, Bitbucket and Gitlab. Pull requests for\nadditional hosts welcome.\n\n", - "readmeFilename": "README.md", - "gitHead": "9f24fee147bb76595e234b7556ecc9d0448215fa", - "_id": "hosted-git-info@2.1.2", - "_shasum": "f947976852931851c33644bbce80d1e499795246", - "_from": "hosted-git-info@>=2.1.2 <2.2.0" + "gitHead": "9e1a36df8eb050a663713c79e56d89dadba2bd8d", + "_id": "hosted-git-info@2.1.4", + "_shasum": "d9e953b26988be88096c46e926494d9604c300f8", + "_from": "hosted-git-info@>=2.1.2 <2.2.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "2.0.2", + "_npmUser": { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + }, + "dist": { + "shasum": "d9e953b26988be88096c46e926494d9604c300f8", + "tarball": "http://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz" + }, + "maintainers": [ + { + "name": "iarna", + "email": "me@re-becca.org" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz" } diff --git a/deps/npm/node_modules/init-package-json/default-input.js b/deps/npm/node_modules/init-package-json/default-input.js index fc65f2e056e344..886291dcea6f3f 100644 --- a/deps/npm/node_modules/init-package-json/default-input.js +++ b/deps/npm/node_modules/init-package-json/default-input.js @@ -4,6 +4,7 @@ var path = require('path') var validateLicense = require('validate-npm-package-license') var validateName = require('validate-npm-package-name') var npa = require('npm-package-arg') +var semver = require('semver') // more popular packages should go here, maybe? function isTestPkg (p) { @@ -65,7 +66,15 @@ var version = package.version || config.get('init.version') || config.get('init-version') || '1.0.0' -exports.version = yes ? version : prompt('version', version) +exports.version = yes ? + version : + prompt('version', version, function (version) { + if (semver.valid(version)) return version + var er = new Error('Invalid version: "' + version + '"') + er.notValid = true + er.again = true + return er + }) if (!package.description) { exports.description = yes ? '' : prompt('description') diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json b/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json index 1407e97be584d7..1007cdde44352d 100644 --- a/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json +++ b/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json @@ -8,7 +8,7 @@ "description": "prompting wizardly", "version": "0.3.0", "repository": { - "url": "git://github.com/isaacs/promzard.git" + "url": "git://github.com/isaacs/promzard" }, "dependencies": { "read": "1" diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json b/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json index e3d291b602d25b..79b09062aef278 100644 --- a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json +++ b/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json @@ -31,7 +31,7 @@ "main": "spdx-correct.js", "repository": { "type": "git", - "url": "git+https://github.com/kemitchell/spdx-correct.git" + "url": "https://github.com/kemitchell/spdx-correct" }, "scripts": { "lint": "jshint spdx-correct.js test && jscs spdx-correct.js test", diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json b/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json index 4aaad362ad322d..4483ede9e361c4 100644 --- a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json +++ b/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json @@ -28,7 +28,7 @@ "main": "index.js", "repository": { "type": "git", - "url": "git+https://github.com/kemitchell/npm-valid-package-license.git" + "url": "https://github.com/kemitchell/npm-valid-package-license" }, "scripts": { "precommit": "npm run test", diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json index 4ac14cb67b614b..62d01c59d556f2 100644 --- a/deps/npm/node_modules/init-package-json/package.json +++ b/deps/npm/node_modules/init-package-json/package.json @@ -1,13 +1,13 @@ { "name": "init-package-json", - "version": "1.5.0", + "version": "1.6.0", "main": "init-package-json.js", "scripts": { "test": "tap test/*.js" }, "repository": { "type": "git", - "url": "git://github.com/isaacs/init-package-json.git" + "url": "git://github.com/isaacs/init-package-json" }, "author": { "name": "Isaac Z. Schlueter", @@ -41,14 +41,38 @@ "prompt", "start" ], - "readme": "# init-package-json\n\nA node module to get your node module started.\n\n[![Build Status](https://secure.travis-ci.org/npm/init-package-json.svg)](http://travis-ci.org/npm/init-package-json)\n\n## Usage\n\n```javascript\nvar init = require('init-package-json')\nvar path = require('path')\n\n// a path to a promzard module. In the event that this file is\n// not found, one will be provided for you.\nvar initFile = path.resolve(process.env.HOME, '.npm-init')\n\n// the dir where we're doin stuff.\nvar dir = process.cwd()\n\n// extra stuff that gets put into the PromZard module's context.\n// In npm, this is the resolved config object. Exposed as 'config'\n// Optional.\nvar configData = { some: 'extra stuff' }\n\n// Any existing stuff from the package.json file is also exposed in the\n// PromZard module as the `package` object. There will also be free\n// vars for:\n// * `filename` path to the package.json file\n// * `basename` the tip of the package dir\n// * `dirname` the parent of the package dir\n\ninit(dir, initFile, configData, function (er, data) {\n // the data's already been written to {dir}/package.json\n // now you can do stuff with it\n})\n```\n\nOr from the command line:\n\n```\n$ npm-init\n```\n\nSee [PromZard](https://github.com/isaacs/promzard) for details about\nwhat can go in the config file.\n", - "readmeFilename": "README.md", - "gitHead": "17721cb55112690da3dc41b21d58354e89836067", + "gitHead": "b747e9f71eb65b22bb9139e5252bf8efb23571e1", "bugs": { "url": "https://github.com/isaacs/init-package-json/issues" }, - "homepage": "https://github.com/isaacs/init-package-json#readme", - "_id": "init-package-json@1.5.0", - "_shasum": "85b701b81463593d61da8bb66b46e352f4f2e298", - "_from": "init-package-json@>=1.5.0 <1.6.0" + "homepage": "https://github.com/isaacs/init-package-json", + "_id": "init-package-json@1.6.0", + "_shasum": "8c4c2561abca1ad30d88f5594ddb4159211a36ff", + "_from": "init-package-json@1.6.0", + "_npmVersion": "2.7.6", + "_nodeVersion": "1.6.2", + "_npmUser": { + "name": "iarna", + "email": "me@re-becca.org" + }, + "dist": { + "shasum": "8c4c2561abca1ad30d88f5594ddb4159211a36ff", + "tarball": "http://registry.npmjs.org/init-package-json/-/init-package-json-1.6.0.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + }, + { + "name": "iarna", + "email": "me@re-becca.org" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.6.0.tgz" } diff --git a/deps/npm/node_modules/lockfile/LICENSE b/deps/npm/node_modules/lockfile/LICENSE index 0c44ae716db8f3..19129e315fe593 100644 --- a/deps/npm/node_modules/lockfile/LICENSE +++ b/deps/npm/node_modules/lockfile/LICENSE @@ -1,27 +1,15 @@ -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. +The ISC License -The BSD License +Copyright (c) Isaac Z. Schlueter and Contributors -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/lockfile/README.md b/deps/npm/node_modules/lockfile/README.md index b3adccef1a1642..3960194f068d61 100644 --- a/deps/npm/node_modules/lockfile/README.md +++ b/deps/npm/node_modules/lockfile/README.md @@ -51,13 +51,13 @@ Close and unlink the lockfile. Check if the lockfile is locked and not stale. -Returns boolean. +Callback is called with `cb(error, isLocked)`. -### lockFile.checkSync(path, [opts], cb) +### lockFile.checkSync(path, [opts]) Check if the lockfile is locked and not stale. -Callback is called with `cb(error, isLocked)`. +Returns boolean. ## Options diff --git a/deps/npm/node_modules/lockfile/package.json b/deps/npm/node_modules/lockfile/package.json index 27bd23777dcc61..cd18aa2ed520fe 100644 --- a/deps/npm/node_modules/lockfile/package.json +++ b/deps/npm/node_modules/lockfile/package.json @@ -1,6 +1,6 @@ { "name": "lockfile", - "version": "1.0.0", + "version": "1.0.1", "main": "lockfile.js", "directories": { "test": "test" @@ -15,7 +15,7 @@ }, "repository": { "type": "git", - "url": "git://github.com/isaacs/lockfile" + "url": "git://github.com/isaacs/lockfile.git" }, "keywords": [ "lockfile", @@ -29,20 +29,25 @@ "email": "i@izs.me", "url": "http://blog.izs.me/" }, - "license": "BSD", + "license": "ISC", "description": "A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.", - "gitHead": "9590c6f02521eb1bb154ddc3ca9a7e84ce770c45", + "gitHead": "9d338ed8e3e3a166955d051f6b5fb6bb1e563ca8", "bugs": { "url": "https://github.com/isaacs/lockfile/issues" }, - "homepage": "https://github.com/isaacs/lockfile", - "_id": "lockfile@1.0.0", - "_shasum": "b3a7609dda6012060083bacb0ab0ecbca58e9203", - "_from": "lockfile@1.0.0", - "_npmVersion": "1.4.23", + "homepage": "https://github.com/isaacs/lockfile#readme", + "_id": "lockfile@1.0.1", + "_shasum": "9d353ecfe3f54d150bb57f89d51746935a39c4f5", + "_from": "lockfile@>=1.0.0 <1.1.0", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", - "email": "i@izs.me" + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "9d353ecfe3f54d150bb57f89d51746935a39c4f5", + "tarball": "http://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz" }, "maintainers": [ { @@ -54,10 +59,5 @@ "email": "i@izs.me" } ], - "dist": { - "shasum": "b3a7609dda6012060083bacb0ab0ecbca58e9203", - "tarball": "http://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz" - }, - "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz" } diff --git a/deps/npm/node_modules/lru-cache/LICENSE b/deps/npm/node_modules/lru-cache/LICENSE index 05a4010949cac3..19129e315fe593 100644 --- a/deps/npm/node_modules/lru-cache/LICENSE +++ b/deps/npm/node_modules/lru-cache/LICENSE @@ -1,23 +1,15 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. +The ISC License -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: +Copyright (c) Isaac Z. Schlueter and Contributors -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -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. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/lru-cache/package.json b/deps/npm/node_modules/lru-cache/package.json index 1e8b1a754a6162..b22362cb9680c0 100644 --- a/deps/npm/node_modules/lru-cache/package.json +++ b/deps/npm/node_modules/lru-cache/package.json @@ -1,7 +1,7 @@ { "name": "lru-cache", "description": "A cache object that deletes the least-recently-used items.", - "version": "2.6.3", + "version": "2.6.4", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me" @@ -23,18 +23,15 @@ "tap": "^0.7.1", "weak": "" }, - "license": { - "type": "MIT", - "url": "http://github.com/isaacs/node-lru-cache/raw/master/LICENSE" - }, - "gitHead": "0654ce0b1f2d676a0cfc1f3001a097af9e7b0dfb", + "license": "ISC", + "gitHead": "aea58fc0a12714c6e1422963e7ebea66460ec39e", "bugs": { "url": "https://github.com/isaacs/node-lru-cache/issues" }, "homepage": "https://github.com/isaacs/node-lru-cache#readme", - "_id": "lru-cache@2.6.3", - "_shasum": "51ccd0b4fc0c843587d7a5709ce4d3b7629bedc5", - "_from": "lru-cache@>=2.6.3 <2.7.0", + "_id": "lru-cache@2.6.4", + "_shasum": "2675190ccd1b0701ec2f652a4d0d3d400d76c0dd", + "_from": "lru-cache@>=2.6.4 <2.7.0", "_npmVersion": "2.10.0", "_nodeVersion": "2.0.1", "_npmUser": { @@ -42,15 +39,20 @@ "email": "isaacs@npmjs.com" }, "dist": { - "shasum": "51ccd0b4fc0c843587d7a5709ce4d3b7629bedc5", - "tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz" + "shasum": "2675190ccd1b0701ec2f652a4d0d3d400d76c0dd", + "tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz" }, "maintainers": [ { "name": "isaacs", - "email": "i@izs.me" + "email": "isaacs@npmjs.com" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz" + "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/minimatch/LICENSE b/deps/npm/node_modules/minimatch/LICENSE index 05a4010949cac3..19129e315fe593 100644 --- a/deps/npm/node_modules/minimatch/LICENSE +++ b/deps/npm/node_modules/minimatch/LICENSE @@ -1,23 +1,15 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. +The ISC License -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: +Copyright (c) Isaac Z. Schlueter and Contributors -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -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. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/minimatch/package.json b/deps/npm/node_modules/minimatch/package.json index 0b23c287d512a5..2cacae2109e77e 100644 --- a/deps/npm/node_modules/minimatch/package.json +++ b/deps/npm/node_modules/minimatch/package.json @@ -6,7 +6,7 @@ }, "name": "minimatch", "description": "a glob matcher in javascript", - "version": "2.0.7", + "version": "2.0.8", "repository": { "type": "git", "url": "git://github.com/isaacs/minimatch.git" @@ -28,31 +28,28 @@ "standard": "^3.7.2", "tap": "" }, - "license": { - "type": "MIT", - "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE" - }, + "license": "ISC", "files": [ "minimatch.js", "browser.js" ], - "gitHead": "4bd6dc22c248c7ea07cc49d63181fe6f6aafae9c", + "gitHead": "0bc7d9c4b2bc816502184862b45bd090de3406a3", "bugs": { "url": "https://github.com/isaacs/minimatch/issues" }, - "homepage": "https://github.com/isaacs/minimatch", - "_id": "minimatch@2.0.7", - "_shasum": "d23652ab10e663e7d914602e920e21f9f66492be", - "_from": "minimatch@>=2.0.7 <2.1.0", - "_npmVersion": "2.7.6", - "_nodeVersion": "1.7.1", + "homepage": "https://github.com/isaacs/minimatch#readme", + "_id": "minimatch@2.0.8", + "_shasum": "0bc20f6bf3570a698ef0ddff902063c6cabda6bf", + "_from": "minimatch@>=2.0.8 <2.1.0", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", "email": "isaacs@npmjs.com" }, "dist": { - "shasum": "d23652ab10e663e7d914602e920e21f9f66492be", - "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-2.0.7.tgz" + "shasum": "0bc20f6bf3570a698ef0ddff902063c6cabda6bf", + "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz" }, "maintainers": [ { @@ -61,6 +58,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.7.tgz", + "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz", "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/node-gyp/addon.gypi b/deps/npm/node_modules/node-gyp/addon.gypi index 1fe142f70da367..0b81fab2027ff7 100644 --- a/deps/npm/node_modules/node-gyp/addon.gypi +++ b/deps/npm/node_modules/node-gyp/addon.gypi @@ -1,9 +1,7 @@ { 'target_defaults': { 'type': 'loadable_module', - 'win_delay_load_hook': 'true', 'product_prefix': '', - 'include_dirs': [ '<(node_root_dir)/src', '<(node_root_dir)/deps/uv/include', @@ -15,34 +13,11 @@ 'product_extension': 'node', 'defines': [ 'BUILDING_NODE_EXTENSION' ], }], - ['_type=="static_library"', { # set to `1` to *disable* the -T thin archive 'ld' flag. # older linkers don't support this flag. 'standalone_static_library': '<(standalone_static_library)' }], - - ['_win_delay_load_hook=="true"', { - # If the addon specifies `'win_delay_load_hook': 'true'` in its - # binding.gyp, link a delay-load hook into the DLL. This hook ensures - # that the addon will work regardless of whether the node/iojs binary - # is named node.exe, iojs.exe, or something else. - 'conditions': [ - [ 'OS=="win"', { - 'sources': [ - 'src/win_delay_load_hook.c', - ], - 'msvs_settings': { - 'VCLinkerTool': { - 'DelayLoadDLLs': [ 'iojs.exe', 'node.exe' ], - # Don't print a linker warning when no imports from either .exe - # are used. - 'AdditionalOptions': [ '/ignore:4199' ], - }, - }, - }], - ], - }], ], 'conditions': [ @@ -67,7 +42,7 @@ '-luuid.lib', '-lodbc32.lib', '-lDelayImp.lib', - '-l"<(node_root_dir)/$(ConfigurationName)/iojs.lib"' + '-l"<(node_root_dir)/$(ConfigurationName)/node.lib"' ], # warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent' # needs to have dll-interface to be used by clients of class 'node::ObjectWrap' diff --git a/deps/npm/node_modules/node-gyp/lib/build.js b/deps/npm/node_modules/node-gyp/lib/build.js index f9722aeaa58dd6..df24aaf4543707 100644 --- a/deps/npm/node_modules/node-gyp/lib/build.js +++ b/deps/npm/node_modules/node-gyp/lib/build.js @@ -173,7 +173,7 @@ function build (gyp, argv, callback) { } /** - * Copies the iojs.lib file for the current target architecture into the + * Copies the node.lib file for the current target architecture into the * current proper dev dir location. */ @@ -181,15 +181,15 @@ function build (gyp, argv, callback) { if (!win || !copyDevLib) return doBuild() var buildDir = path.resolve(nodeDir, buildType) - , archNodeLibPath = path.resolve(nodeDir, arch, 'iojs.lib') - , buildNodeLibPath = path.resolve(buildDir, 'iojs.lib') + , archNodeLibPath = path.resolve(nodeDir, arch, 'node.lib') + , buildNodeLibPath = path.resolve(buildDir, 'node.lib') mkdirp(buildDir, function (err, isNew) { if (err) return callback(err) log.verbose('"' + buildType + '" dir needed to be created?', isNew) var rs = fs.createReadStream(archNodeLibPath) , ws = fs.createWriteStream(buildNodeLibPath) - log.verbose('copying "iojs.lib" for ' + arch, buildNodeLibPath) + log.verbose('copying "node.lib" for ' + arch, buildNodeLibPath) rs.pipe(ws) rs.on('error', callback) ws.on('error', callback) diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js index f9176b3ab0b465..6f72e6a93d6cf8 100644 --- a/deps/npm/node_modules/node-gyp/lib/install.js +++ b/deps/npm/node_modules/node-gyp/lib/install.js @@ -39,7 +39,7 @@ function install (gyp, argv, callback) { } } - var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'https://iojs.org/dist' + var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'http://nodejs.org/dist' // Determine which node dev files version we are installing @@ -185,7 +185,7 @@ function install (gyp, argv, callback) { // now download the node tarball var tarPath = gyp.opts['tarball'] - var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/iojs-v' + version + '.tar.gz' + var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/node-v' + version + '.tar.gz' , badDownload = false , extractCount = 0 , gunzip = zlib.createGunzip() @@ -267,7 +267,7 @@ function install (gyp, argv, callback) { var async = 0 if (win) { - // need to download iojs.lib + // need to download node.lib async++ downloadNodeLib(deref) } @@ -343,36 +343,36 @@ function install (gyp, argv, callback) { } function downloadNodeLib (done) { - log.verbose('on Windows; need to download `iojs.lib`...') + log.verbose('on Windows; need to download `node.lib`...') var dir32 = path.resolve(devDir, 'ia32') , dir64 = path.resolve(devDir, 'x64') - , nodeLibPath32 = path.resolve(dir32, 'iojs.lib') - , nodeLibPath64 = path.resolve(dir64, 'iojs.lib') - , nodeLibUrl32 = distUrl + '/v' + version + '/win-x86/iojs.lib' - , nodeLibUrl64 = distUrl + '/v' + version + '/win-x64/iojs.lib' + , nodeLibPath32 = path.resolve(dir32, 'node.lib') + , nodeLibPath64 = path.resolve(dir64, 'node.lib') + , nodeLibUrl32 = distUrl + '/v' + version + '/node.lib' + , nodeLibUrl64 = distUrl + '/v' + version + '/x64/node.lib' - log.verbose('32-bit iojs.lib dir', dir32) - log.verbose('64-bit iojs.lib dir', dir64) - log.verbose('`iojs.lib` 32-bit url', nodeLibUrl32) - log.verbose('`iojs.lib` 64-bit url', nodeLibUrl64) + log.verbose('32-bit node.lib dir', dir32) + log.verbose('64-bit node.lib dir', dir64) + log.verbose('`node.lib` 32-bit url', nodeLibUrl32) + log.verbose('`node.lib` 64-bit url', nodeLibUrl64) var async = 2 mkdir(dir32, function (err) { if (err) return done(err) - log.verbose('streaming 32-bit iojs.lib to:', nodeLibPath32) + log.verbose('streaming 32-bit node.lib to:', nodeLibPath32) var req = download(nodeLibUrl32) if (!req) return req.on('error', done) req.on('response', function (res) { if (res.statusCode !== 200) { - done(new Error(res.statusCode + ' status code downloading 32-bit iojs.lib')) + done(new Error(res.statusCode + ' status code downloading 32-bit node.lib')) return } getContentSha(res, function (_, checksum) { - contentShasums['win-x86/iojs.lib'] = checksum - log.verbose('content checksum', 'win-x86/iojs.lib', checksum) + contentShasums['node.lib'] = checksum + log.verbose('content checksum', 'node.lib', checksum) }) var ws = fs.createWriteStream(nodeLibPath32) @@ -385,20 +385,20 @@ function install (gyp, argv, callback) { }) mkdir(dir64, function (err) { if (err) return done(err) - log.verbose('streaming 64-bit iojs.lib to:', nodeLibPath64) + log.verbose('streaming 64-bit node.lib to:', nodeLibPath64) var req = download(nodeLibUrl64) if (!req) return req.on('error', done) req.on('response', function (res) { if (res.statusCode !== 200) { - done(new Error(res.statusCode + ' status code downloading 64-bit iojs.lib')) + done(new Error(res.statusCode + ' status code downloading 64-bit node.lib')) return } getContentSha(res, function (_, checksum) { - contentShasums['win-x64/iojs.lib'] = checksum - log.verbose('content checksum', 'win-x64/iojs.lib', checksum) + contentShasums['x64/node.lib'] = checksum + log.verbose('content checksum', 'x64/node.lib', checksum) }) var ws = fs.createWriteStream(nodeLibPath64) diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.jshintrc b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.jshintrc new file mode 100644 index 00000000000000..182e34d07d7835 --- /dev/null +++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.jshintrc @@ -0,0 +1,4 @@ +{ + "asi": true, + "laxcomma": true +} diff --git a/deps/npm/node_modules/node-gyp/src/win_delay_load_hook.c b/deps/npm/node_modules/node-gyp/src/win_delay_load_hook.c deleted file mode 100644 index f397cfa195e448..00000000000000 --- a/deps/npm/node_modules/node-gyp/src/win_delay_load_hook.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * When this file is linked to a DLL, it sets up a delay-load hook that - * intervenes when the DLL is trying to load 'node.exe' or 'iojs.exe' - * dynamically. Instead of trying to locate the .exe file it'll just return - * a handle to the process image. - * - * This allows compiled addons to work when node.exe or iojs.exe is renamed. - */ - -#ifdef _MSC_VER - -#define WIN32_LEAN_AND_MEAN -#include - -#include -#include - -static FARPROC WINAPI load_exe_hook(unsigned int event, DelayLoadInfo* info) { - HMODULE m; - if (event != dliNotePreLoadLibrary) - return NULL; - - if (_stricmp(info->szDll, "iojs.exe") != 0 && - _stricmp(info->szDll, "node.exe") != 0) - return NULL; - - m = GetModuleHandle(NULL); - return (FARPROC) m; -} - -PfnDliHook __pfnDliNotifyHook2 = load_exe_hook; - -#endif diff --git a/deps/npm/node_modules/nopt/LICENSE b/deps/npm/node_modules/nopt/LICENSE index 05a4010949cac3..19129e315fe593 100644 --- a/deps/npm/node_modules/nopt/LICENSE +++ b/deps/npm/node_modules/nopt/LICENSE @@ -1,23 +1,15 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. +The ISC License -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: +Copyright (c) Isaac Z. Schlueter and Contributors -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -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. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/nopt/package.json b/deps/npm/node_modules/nopt/package.json index 874f1128c0ff4e..97c090b2f51699 100644 --- a/deps/npm/node_modules/nopt/package.json +++ b/deps/npm/node_modules/nopt/package.json @@ -1,6 +1,6 @@ { "name": "nopt", - "version": "3.0.1", + "version": "3.0.2", "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.", "author": { "name": "Isaac Z. Schlueter", @@ -13,29 +13,43 @@ }, "repository": { "type": "git", - "url": "http://github.com/isaacs/nopt" + "url": "git+ssh://git@github.com/isaacs/nopt.git" }, "bin": { "nopt": "./bin/nopt.js" }, - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/nopt/raw/master/LICENSE" - }, + "license": "ISC", "dependencies": { "abbrev": "1" }, "devDependencies": { "tap": "~0.4.8" }, - "readme": "If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require(\"nopt\")\n , Stream = require(\"stream\").Stream\n , path = require(\"path\")\n , knownOpts = { \"foo\" : [String, null]\n , \"bar\" : [Stream, Number]\n , \"baz\" : path\n , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n , \"flag\" : Boolean\n , \"pick\" : Boolean\n , \"many\" : [String, Array]\n }\n , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n , \"b7\" : [\"--bar\", \"7\"]\n , \"m\" : [\"--bloo\", \"medium\"]\n , \"p\" : [\"--pick\"]\n , \"f\" : [\"--flag\"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk -fp # unknown opts are ok.\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --blatzk=1000 -fp # but you need to use = if they have a value\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: [\"1\", \"null\", \"foo\"] }\n\n$ node my-program.js --many foo\n{ many: [\"foo\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the \"Stream\" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null. When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you. So they're sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n", - "readmeFilename": "README.md", - "gitHead": "4296f7aba7847c198fea2da594f9e1bec02817ec", + "gitHead": "a0ff8dcbb29ae9da68769c9f782bd4d70746b02d", "bugs": { "url": "https://github.com/isaacs/nopt/issues" }, - "homepage": "https://github.com/isaacs/nopt", - "_id": "nopt@3.0.1", - "_shasum": "bce5c42446a3291f47622a370abbf158fbbacbfd", - "_from": "nopt@latest" + "homepage": "https://github.com/isaacs/nopt#readme", + "_id": "nopt@3.0.2", + "_shasum": "a82a87f9d8c3df140fe78fb29657a7a774403b5e", + "_from": "nopt@>=3.0.2 <3.1.0", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", + "_npmUser": { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "a82a87f9d8c3df140fe78fb29657a7a774403b5e", + "tarball": "http://registry.npmjs.org/nopt/-/nopt-3.0.2.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.2.tgz", + "readme": "ERROR: No README data found!" } 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-git-url/LICENSE b/deps/npm/node_modules/normalize-git-url/LICENSE new file mode 100644 index 00000000000000..d21147bf1965eb --- /dev/null +++ b/deps/npm/node_modules/normalize-git-url/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2014-2015, Forrest L Norvell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/normalize-git-url/package.json b/deps/npm/node_modules/normalize-git-url/package.json index 1402b0e433930b..6008db6753671e 100644 --- a/deps/npm/node_modules/normalize-git-url/package.json +++ b/deps/npm/node_modules/normalize-git-url/package.json @@ -1,6 +1,6 @@ { "name": "normalize-git-url", - "version": "1.0.0", + "version": "1.0.1", "description": "Normalizes Git URLs. For npm, but you can use it too.", "main": "normalize-git-url.js", "directories": { @@ -8,14 +8,14 @@ }, "dependencies": {}, "devDependencies": { - "tap": "^0.4.13" + "tap": "^1.1.0" }, "scripts": { "test": "tap test/*.js" }, "repository": { "type": "git", - "url": "https://github.com/npm/normalize-git-url.git" + "url": "git+https://github.com/npm/normalize-git-url.git" }, "keywords": [ "git", @@ -35,8 +35,8 @@ "homepage": "https://github.com/npm/normalize-git-url", "readme": "# normalize-git-url\n\nYou have a bunch of Git URLs. You want to convert them to a canonical\nrepresentation, probably for use inside npm so that it doesn't end up creating\na bunch of superfluous cached origins. You use this package.\n\n## Usage\n\n```javascript\nvar ngu = require('normalize-git-url');\nvar normalized = ngu(\"git+ssh://git@github.com:organization/repo.git#hashbrowns\")\n// get back:\n// {\n// url : \"ssh://git@github.com/organization/repo.git\",\n// branch : \"hashbrowns\" // did u know hashbrowns are delicious?\n// }\n```\n\n## API\n\nThere's just the one function, and all it takes is a single parameter, a non-normalized Git URL.\n\n### normalizeGitUrl(url)\n\n* `url` {String} The Git URL (very loosely speaking) to be normalized.\n\nReturns an object with the following format:\n\n* `url` {String} The normalized URL.\n* `branch` {String} The treeish to be checked out once the repo at `url` is\n cloned. It doesn't have to be a branch, but it's a lot easier to intuit what\n the output is for with that name.\n\n## Limitations\n\nRight now this doesn't try to special-case GitHub too much -- it doesn't ensure\nthat `.git` is added to the end of URLs, it doesn't prefer `https:` over\n`http:` or `ssh:`, it doesn't deal with redirects, and it doesn't try to\nresolve symbolic names to treeish hashcodes. For now, it just tries to account\nfor minor differences in representation.\n", "readmeFilename": "README.md", - "gitHead": "e51f43718af66ffbced4ccfd9a6514470fc4c553", - "_id": "normalize-git-url@1.0.0", - "_shasum": "80e59471f0616b579893973e3f1b3684bedbad48", - "_from": "normalize-git-url@>=1.0.0 <1.1.0" + "gitHead": "d87bf42e845ed664e4a8bab3490052fb44c90433", + "_id": "normalize-git-url@1.0.1", + "_shasum": "1b561345d66e3a3bc5513a5ace85f155ca42613e", + "_from": "normalize-git-url@>=1.0.1 <1.1.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 e8f917d86aad62..d1b39831e4f719 100644 --- a/deps/npm/node_modules/normalize-package-data/lib/fixer.js +++ b/deps/npm/node_modules/normalize-package-data/lib/fixer.js @@ -193,7 +193,10 @@ var fixer = module.exports = { modifyPeople(data, parsePerson) } -, fixNameField: function(data, strict) { +, fixNameField: function(data, options) { + if (typeof options === "boolean") options = {strict: options} + else if (typeof options === "undefined") options = {} + var strict = options.strict if (!data.name && !strict) { data.name = "" return @@ -203,7 +206,7 @@ var fixer = module.exports = { } if (!strict) data.name = data.name.trim() - ensureValidName(data.name, strict) + ensureValidName(data.name, strict, options.allowLegacyCase) if (coreModuleNames.indexOf(data.name) !== -1) this.warn("conflictingName", data.name) } @@ -314,10 +317,10 @@ function isCorrectlyEncodedName(spec) { spec === encodeURIComponent(spec) } -function ensureValidName (name, strict) { +function ensureValidName (name, strict, allowLegacyCase) { if (name.charAt(0) === "." || !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) || - (strict && name !== name.toLowerCase()) || + (strict && (!allowLegacyCase) && name !== name.toLowerCase()) || name.toLowerCase() === "node_modules" || name.toLowerCase() === "favicon.ico") { throw new Error("Invalid name: " + JSON.stringify(name)) diff --git a/deps/npm/node_modules/normalize-package-data/lib/normalize.js b/deps/npm/node_modules/normalize-package-data/lib/normalize.js index c43a9263789e3b..7e68c69a944840 100644 --- a/deps/npm/node_modules/normalize-package-data/lib/normalize.js +++ b/deps/npm/node_modules/normalize-package-data/lib/normalize.js @@ -1,6 +1,8 @@ module.exports = normalize var fixer = require("./fixer") +normalize.fixer = fixer + var makeWarning = require("./make_warning") var fieldsToFix = ['name','version','description','repository','modules','scripts' diff --git a/deps/npm/node_modules/normalize-package-data/package.json b/deps/npm/node_modules/normalize-package-data/package.json index 5dbc3af3986d2b..e8ff579766f340 100644 --- a/deps/npm/node_modules/normalize-package-data/package.json +++ b/deps/npm/node_modules/normalize-package-data/package.json @@ -1,11 +1,12 @@ { "name": "normalize-package-data", - "version": "2.1.0", + "version": "2.2.0", "author": { "name": "Meryn Stol", "email": "merynstol@gmail.com" }, "description": "Normalizes data that can be found in package.json files.", + "license": "BSD-2-Clause", "repository": { "type": "git", "url": "git://github.com/npm/normalize-package-data.git" @@ -40,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": "a168f6153570465db33d96601576b612a63ed446", + "gitHead": "5b7630cb2a9c475bc93cc8a05854587f2dc9a26c", "bugs": { "url": "https://github.com/npm/normalize-package-data/issues" }, - "homepage": "https://github.com/npm/normalize-package-data#readme", - "_id": "normalize-package-data@2.1.0", - "_shasum": "31381afb0567a8ab0ae730230c8652ff8a0cdd11", - "_from": "normalize-package-data@>=2.1.0 <2.2.0" + "homepage": "https://github.com/npm/normalize-package-data", + "_id": "normalize-package-data@2.2.0", + "_shasum": "b4f65b40df659b04820f30a2688db5dabc9dfad9", + "_from": "normalize-package-data@2.2.0" } diff --git a/deps/npm/node_modules/normalize-package-data/test/mixedcase-names.js b/deps/npm/node_modules/normalize-package-data/test/mixedcase-names.js new file mode 100644 index 00000000000000..a62b69938db08e --- /dev/null +++ b/deps/npm/node_modules/normalize-package-data/test/mixedcase-names.js @@ -0,0 +1,32 @@ +var test = require('tap').test + +var normalize = require('../') +var fixer = normalize.fixer + +test('mixedcase', function (t) { + t.doesNotThrow(function () { + fixer.fixNameField({name: 'foo'}, true) + }) + + t.doesNotThrow(function () { + fixer.fixNameField({name: 'foo'}, false) + }) + + t.doesNotThrow(function () { + fixer.fixNameField({name: 'foo'}) + }) + + t.throws(function () { + fixer.fixNameField({name: 'Foo'}, true) + }, new Error('Invalid name: "Foo"'), 'should throw an error') + + t.throws(function () { + fixer.fixNameField({name: 'Foo'}, {strict: true}) + }, new Error('Invalid name: "Foo"'), 'should throw an error') + + t.doesNotThrow(function () { + fixer.fixNameField({name: 'Foo'}, {strict: true, allowLegacyCase: true}) + }) + + t.end() +}) diff --git a/deps/npm/node_modules/npm-package-arg/package.json b/deps/npm/node_modules/npm-package-arg/package.json index 5cf76757f8fa4d..0be06bb05265de 100644 --- a/deps/npm/node_modules/npm-package-arg/package.json +++ b/deps/npm/node_modules/npm-package-arg/package.json @@ -1,13 +1,13 @@ { "name": "npm-package-arg", - "version": "4.0.0", + "version": "4.0.1", "description": "Parse the things that can be arguments to `npm install`", "main": "npa.js", "directories": { "test": "test" }, "dependencies": { - "hosted-git-info": "^2.0.2", + "hosted-git-info": "^2.1.4", "semver": "4" }, "devDependencies": { @@ -18,7 +18,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/npm/npm-package-arg" + "url": "git+https://github.com/npm/npm-package-arg.git" }, "author": { "name": "Isaac Z. Schlueter", @@ -30,10 +30,10 @@ "url": "https://github.com/npm/npm-package-arg/issues" }, "homepage": "https://github.com/npm/npm-package-arg", - "gitHead": "25ac404d9f3b77b14be9b05a7dafd9cb99557fdc", "readme": "# npm-package-arg\n\nParse package name and specifier passed to commands like `npm install` or\n`npm cache add`. This just parses the text given-- it's worth noting that\n`npm` has further logic it applies by looking at your disk to figure out\nwhat ambiguous specifiers are. If you want that logic, please see\n[realize-package-specifier].\n\n[realize-package-specifier]: https://www.npmjs.org/package/realize-package-specifier\n\nArguments look like: `foo@1.2`, `@bar/foo@1.2`, `foo@user/foo`, `http://x.com/foo.tgz`,\n`git+https://github.com/user/foo`, `bitbucket:user/foo`, `foo.tar.gz` or `bar`\n\n## EXAMPLES\n\n```javascript\nvar assert = require(\"assert\")\nvar npa = require(\"npm-package-arg\")\n\n// Pass in the descriptor, and it'll return an object\nvar parsed = npa(\"@bar/foo@1.2\")\n\n// Returns an object like:\n{\n raw: '@bar/foo@1.2', // what was passed in\n name: \"@bar/foo\", // the name of the package\n scope: \"@bar\", // the private scope of the package, or null\n type: \"range\", // the type of specifier this is\n spec: \">=1.2.0 <1.3.0\" // the expanded specifier\n rawSpec: \"1.2\" // the specifier as passed in\n }\n\n// Parsing urls pointing at hosted git services produces a variation:\nvar parsed = npa(\"git+https://github.com/user/foo\")\n\n// Returns an object like:\n{\n raw: 'git+https://github.com/user/foo',\n scope: null,\n name: null,\n rawSpec: 'git+https://github.com/user/foo',\n spec: 'user/foo',\n type: 'hosted',\n hosted: {\n type: 'github',\n ssh: 'git@github.com:user/foo.git',\n sshurl: 'git+ssh://git@github.com/user/foo.git',\n https: 'https://github.com/user/foo.git',\n directUrl: 'https://raw.githubusercontent.com/user/foo/master/package.json'\n }\n}\n\n// Completely unreasonable invalid garbage throws an error\n// Make sure you wrap this in a try/catch if you have not\n// already sanitized the inputs!\nassert.throws(function() {\n npa(\"this is not \\0 a valid package name or url\")\n})\n```\n\n## USING\n\n`var npa = require('npm-package-arg')`\n\n* var result = npa(*arg*)\n\nParses *arg* and returns a result object detailing what *arg* is.\n\n*arg* -- a package descriptor, like: `foo@1.2`, or `foo@user/foo`, or\n`http://x.com/foo.tgz`, or `git+https://github.com/user/foo`\n\n## RESULT OBJECT\n\nThe objects that are returned by npm-package-arg contain the following\nkeys:\n\n* `name` - If known, the `name` field expected in the resulting pkg.\n* `type` - One of the following strings:\n * `git` - A git repo\n * `hosted` - A hosted project, from github, bitbucket or gitlab. Originally\n either a full url pointing at one of these services or a shorthand like\n `user/project` or `github:user/project` for github or `bitbucket:user/project`\n for bitbucket.\n * `tag` - A tagged version, like `\"foo@latest\"`\n * `version` - A specific version number, like `\"foo@1.2.3\"`\n * `range` - A version range, like `\"foo@2.x\"`\n * `local` - A local file or folder path\n * `remote` - An http url (presumably to a tgz)\n* `spec` - The \"thing\". URL, the range, git repo, etc.\n* `hosted` - If type=hosted this will be an object with the following keys:\n * `type` - github, bitbucket or gitlab\n * `ssh` - The ssh path for this git repo\n * `sshUrl` - The ssh URL for this git repo\n * `httpsUrl` - The HTTPS URL for this git repo\n * `directUrl` - The URL for the package.json in this git repo\n* `raw` - The original un-modified string that was provided.\n* `rawSpec` - The part after the `name@...`, as it was originally\n provided.\n* `scope` - If a name is something like `@org/module` then the `scope`\n field will be set to `org`. If it doesn't have a scoped name, then\n scope is `null`.\n", "readmeFilename": "README.md", - "_id": "npm-package-arg@4.0.0", - "_shasum": "04766dc98dbc19f6d627a5817075f4ce13d64a5d", - "_from": "npm-package-arg@>=4.0.0 <5.0.0" + "gitHead": "794c9981033bb16bd4a88c7ba45c109107439172", + "_id": "npm-package-arg@4.0.1", + "_shasum": "bfbea17cd2b9fdc4fca2f02796794173dbf1877c", + "_from": "npm-package-arg@>=4.0.0 <4.1.0" } diff --git a/deps/npm/node_modules/npm-package-arg/test/basic.js b/deps/npm/node_modules/npm-package-arg/test/basic.js index 4991ffcd3ee172..a3d58c88c50380 100644 --- a/deps/npm/node_modules/npm-package-arg/test/basic.js +++ b/deps/npm/node_modules/npm-package-arg/test/basic.js @@ -95,7 +95,7 @@ require("tap").test("basic", function (t) { "/path/to/foo": { name: null, type: "local", - spec: "/path/to/foo", + spec: path.resolve(__dirname, "/path/to/foo"), raw: "/path/to/foo" }, diff --git a/deps/npm/node_modules/npm-package-arg/test/bitbucket.js b/deps/npm/node_modules/npm-package-arg/test/bitbucket.js index 83f99fc1be36a1..1dff34ffa8afb9 100644 --- a/deps/npm/node_modules/npm-package-arg/test/bitbucket.js +++ b/deps/npm/node_modules/npm-package-arg/test/bitbucket.js @@ -57,7 +57,7 @@ require("tap").test("basic", function (t) { name: null, type: "hosted", hosted: { type: "bitbucket" }, - spec: "https://bitbucket.org/user/foo.git", + spec: "git+https://bitbucket.org/user/foo.git", raw: "https://bitbucket.org/user/foo.git" }, diff --git a/deps/npm/node_modules/npm-package-arg/test/github.js b/deps/npm/node_modules/npm-package-arg/test/github.js index a51cd08866eefb..a2c146002b76c2 100644 --- a/deps/npm/node_modules/npm-package-arg/test/github.js +++ b/deps/npm/node_modules/npm-package-arg/test/github.js @@ -73,7 +73,7 @@ require("tap").test("basic", function (t) { name: null, type: "hosted", hosted: { type: "github" }, - spec: "https://github.com/user/foo.git", + spec: "git+https://github.com/user/foo.git", raw: "https://github.com/user/foo.git" }, diff --git a/deps/npm/node_modules/npm-package-arg/test/gitlab.js b/deps/npm/node_modules/npm-package-arg/test/gitlab.js index 94c95481481c49..c9a8ef9f25b80e 100644 --- a/deps/npm/node_modules/npm-package-arg/test/gitlab.js +++ b/deps/npm/node_modules/npm-package-arg/test/gitlab.js @@ -57,7 +57,7 @@ require("tap").test("basic", function (t) { name: null, type: "hosted", hosted: { type: "gitlab" }, - spec: "https://gitlab.com/user/foo.git", + spec: "git+https://gitlab.com/user/foo.git", raw: "https://gitlab.com/user/foo.git" }, diff --git a/deps/npm/node_modules/npm-registry-client/lib/publish.js b/deps/npm/node_modules/npm-registry-client/lib/publish.js index f6f37ab47a679f..13e61debfd4acb 100644 --- a/deps/npm/node_modules/npm-registry-client/lib/publish.js +++ b/deps/npm/node_modules/npm-registry-client/lib/publish.js @@ -5,7 +5,7 @@ var semver = require('semver') var crypto = require('crypto') var Stream = require('stream').Stream var assert = require('assert') -var fixer = require('normalize-package-data/lib/fixer.js') +var fixer = require('normalize-package-data').fixer var concat = require('concat-stream') function escaped (name) { @@ -38,7 +38,7 @@ function publish (uri, params, cb) { 'must pass package metadata to publish' ) try { - fixer.fixNameField(metadata, true) + fixer.fixNameField(metadata, {strict: true, allowLegacyCase: true}) } catch (er) { return cb(er) } diff --git a/deps/npm/node_modules/npm-registry-client/lib/star.js b/deps/npm/node_modules/npm-registry-client/lib/star.js index 426b40cec8bf54..5c9224eaa21a72 100644 --- a/deps/npm/node_modules/npm-registry-client/lib/star.js +++ b/deps/npm/node_modules/npm-registry-client/lib/star.js @@ -7,7 +7,7 @@ function star (uri, params, cb) { assert(params && typeof params === 'object', 'must pass params to star') assert(typeof cb === 'function', 'must pass callback to star') - var starred = params.starred ? true : false + var starred = !!params.starred var auth = params.auth assert(auth && typeof auth === 'object', 'must pass auth to star') diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json index ee70702359198d..0364d54ba46af6 100644 --- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json +++ b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json @@ -22,13 +22,33 @@ "browserify" ], "license": "MIT", - "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.", - "readmeFilename": "README.md", + "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0", "bugs": { "url": "https://github.com/rvagg/string_decoder/issues" }, "_id": "string_decoder@0.10.31", "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", + "_from": "string_decoder@>=0.10.0 <0.11.0", + "_npmVersion": "1.4.23", + "_npmUser": { + "name": "rvagg", + "email": "rod@vagg.org" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + }, + { + "name": "rvagg", + "email": "rod@vagg.org" + } + ], + "dist": { + "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", + "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "directories": {}, "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "_from": "string_decoder@>=0.10.0 <0.11.0" + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npm-registry-client/package.json b/deps/npm/node_modules/npm-registry-client/package.json index 31a644ccb5e2d4..23eacd5f97b4c8 100644 --- a/deps/npm/node_modules/npm-registry-client/package.json +++ b/deps/npm/node_modules/npm-registry-client/package.json @@ -6,7 +6,7 @@ }, "name": "npm-registry-client", "description": "Client for the npm registry", - "version": "6.3.3", + "version": "6.4.0", "repository": { "url": "git://github.com/isaacs/npm-registry-client.git" }, @@ -41,12 +41,12 @@ "license": "ISC", "readme": "# npm-registry-client\n\nThe code that npm uses to talk to the registry.\n\nIt handles all the caching and HTTP calls.\n\n## Usage\n\n```javascript\nvar RegClient = require('npm-registry-client')\nvar client = new RegClient(config)\nvar uri = \"https://registry.npmjs.org/npm\"\nvar params = {timeout: 1000}\n\nclient.get(uri, params, function (error, data, raw, res) {\n // error is an error if there was a problem.\n // data is the parsed data object\n // raw is the json string\n // res is the response from couch\n})\n```\n\n# Registry URLs\n\nThe registry calls take either a full URL pointing to a resource in the\nregistry, or a base URL for the registry as a whole (including the registry\npath – but be sure to terminate the path with `/`). `http` and `https` URLs are\nthe only ones supported.\n\n## Using the client\n\nEvery call to the client follows the same pattern:\n\n* `uri` {String} The *fully-qualified* URI of the registry API method being\n invoked.\n* `params` {Object} Per-request parameters.\n* `callback` {Function} Callback to be invoked when the call is complete.\n\n### Credentials\n\nMany requests to the registry can by authenticated, and require credentials\nfor authorization. These credentials always look the same:\n\n* `username` {String}\n* `password` {String}\n* `email` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n**or**\n\n* `token` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n## API\n\n### client.access(uri, params, cb)\n\n* `uri` {String} Registry URL for the package's access API endpoint.\n Looks like `/-/package//access`.\n* `params` {Object} Object containing per-request properties.\n * `access` {String} New access level for the package. Can be either\n `public` or `restricted`. Registry will raise an error if trying\n to change the access level of an unscoped package.\n * `auth` {Credentials}\n\nSet the access level for scoped packages. For now, there are only two\naccess levels: \"public\" and \"restricted\".\n\n### client.adduser(uri, params, cb)\n\n* `uri` {String} Base registry URL.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nAdd a user account to the registry, or verify the credentials.\n\n### client.deprecate(uri, params, cb)\n\n* `uri` {String} Full registry URI for the deprecated package.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Semver version range.\n * `message` {String} The message to use as a deprecation warning.\n * `auth` {Credentials}\n* `cb` {Function}\n\nDeprecate a version of a package in the registry.\n\n### client.distTags.fetch(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `auth` {Credentials}\n* `cb` {Function}\n\nFetch all of the `dist-tags` for the named package.\n\n### client.distTags.add(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `version` {String} Exact version to be mapped to the `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nAdd (or replace) a single dist-tag onto the named package.\n\n### client.distTags.set(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSet all of the `dist-tags` for the named package at once, creating any\n`dist-tags` that do not already exit. Any `dist-tags` not included in the\n`distTags` map will be removed.\n\n### client.distTags.update(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nUpdate the values of multiple `dist-tags`, creating any `dist-tags` that do\nnot already exist. Any pre-existing `dist-tags` not included in the `distTags`\nmap will be left alone.\n\n### client.distTags.rm(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a single `dist-tag` from the named package.\n\n### client.get(uri, params, cb)\n\n* `uri` {String} The complete registry URI to fetch\n* `params` {Object} Object containing per-request properties.\n * `timeout` {Number} Duration before the request times out. Optional\n (default: never).\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `staleOk` {Boolean} If there's cached data available, then return that to\n the callback quickly, and update the cache the background. Optional\n (default: false).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetches data from the registry via a GET request, saving it in the cache folder\nwith the ETag or the \"Last Modified\" timestamp.\n\n### client.publish(uri, params, cb)\n\n* `uri` {String} The registry URI for the package to publish.\n* `params` {Object} Object containing per-request properties.\n * `metadata` {Object} Package metadata.\n * `access` {String} Access for the package. Can be `public` or `restricted` (no default).\n * `body` {Stream} Stream of the package body / tarball.\n * `auth` {Credentials}\n* `cb` {Function}\n\nPublish a package to the registry.\n\nNote that this does not create the tarball from a folder.\n\n### client.star(uri, params, cb)\n\n* `uri` {String} The complete registry URI for the package to star.\n* `params` {Object} Object containing per-request properties.\n * `starred` {Boolean} True to star the package, false to unstar it. Optional\n (default: false).\n * `auth` {Credentials}\n* `cb` {Function}\n\nStar or unstar a package.\n\nNote that the user does not have to be the package owner to star or unstar a\npackage, though other writes do require that the user be the package owner.\n\n### client.stars(uri, params, cb)\n\n* `uri` {String} The base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `username` {String} Name of user to fetch starred packages for. Optional\n (default: user in `auth`).\n * `auth` {Credentials} Optional (required if `username` is omitted).\n* `cb` {Function}\n\nView your own or another user's starred packages.\n\n### client.tag(uri, params, cb)\n\n* `uri` {String} The complete registry URI to tag\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Version to tag.\n * `tag` {String} Tag name to apply.\n * `auth` {Credentials}\n* `cb` {Function}\n\nMark a version in the `dist-tags` hash, so that `pkg@tag` will fetch the\nspecified version.\n\n### client.unpublish(uri, params, cb)\n\n* `uri` {String} The complete registry URI of the package to unpublish.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} version to unpublish. Optional – omit to unpublish all\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a version of a package (or all versions) from the registry. When the\nlast version us unpublished, the entire document is removed from the database.\n\n### client.whoami(uri, params, cb)\n\n* `uri` {String} The base registry for the URI.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSimple call to see who the registry thinks you are. Especially useful with\ntoken-based auth.\n\n\n## PLUMBING\n\nThe below are primarily intended for use by the rest of the API, or by the npm\ncaching logic directly.\n\n### client.request(uri, params, cb)\n\n* `uri` {String} URI pointing to the resource to request.\n* `params` {Object} Object containing per-request properties.\n * `method` {String} HTTP method. Optional (default: \"GET\").\n * `body` {Stream | Buffer | String | Object} The request body. Objects\n that are not Buffers or Streams are encoded as JSON. Optional – body\n only used for write operations.\n * `etag` {String} The cached ETag. Optional.\n * `lastModified` {String} The cached Last-Modified timestamp. Optional.\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nMake a generic request to the registry. All the other methods are wrappers\naround `client.request`.\n\n### client.fetch(uri, params, cb)\n\n* `uri` {String} The complete registry URI to upload to\n* `params` {Object} Object containing per-request properties.\n * `headers` {Stream} HTTP headers to be included with the request. Optional.\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetch a package from a URL, with auth set appropriately if included. Used to\ncache remote tarballs as well as request package tarballs from the registry.\n\n# Configuration\n\nThe client uses its own configuration, which is just passed in as a simple\nnested object. The following are the supported values (with their defaults, if\nany):\n\n* `proxy.http` {URL} The URL to proxy HTTP requests through.\n* `proxy.https` {URL} The URL to proxy HTTPS requests through. Defaults to be\n the same as `proxy.http` if unset.\n* `proxy.localAddress` {IP} The local address to use on multi-homed systems.\n* `ssl.ca` {String} Certificate signing authority certificates to trust.\n* `ssl.certificate` {String} Client certificate (PEM encoded). Enable access\n to servers that require client certificates.\n* `ssl.key` {String} Private key (PEM encoded) for client certificate.\n* `ssl.strict` {Boolean} Whether or not to be strict with SSL certificates.\n Default = `true`\n* `retry.count` {Number} Number of times to retry on GET failures. Default = 2.\n* `retry.factor` {Number} `factor` setting for `node-retry`. Default = 10.\n* `retry.minTimeout` {Number} `minTimeout` setting for `node-retry`.\n Default = 10000 (10 seconds)\n* `retry.maxTimeout` {Number} `maxTimeout` setting for `node-retry`.\n Default = 60000 (60 seconds)\n* `userAgent` {String} User agent header to send. Default =\n `\"node/{process.version}\"`\n* `log` {Object} The logger to use. Defaults to `require(\"npmlog\")` if\n that works, otherwise logs are disabled.\n* `defaultTag` {String} The default tag to use when publishing new packages.\n Default = `\"latest\"`\n* `couchToken` {Object} A token for use with\n [couch-login](https://npmjs.org/package/couch-login).\n* `sessionToken` {string} A random identifier for this set of client requests.\n Default = 8 random hexadecimal bytes.\n", "readmeFilename": "README.md", - "gitHead": "bd0ab6fb27f614fca299bc9426dcfbea2fc83adc", + "gitHead": "a8d3193832487fb2e6b5015e30d15fe1b15f48e2", "bugs": { "url": "https://github.com/isaacs/npm-registry-client/issues" }, - "homepage": "https://github.com/isaacs/npm-registry-client#readme", - "_id": "npm-registry-client@6.3.3", - "_shasum": "fe9cc45b3b8404dfa888b99d7aff3964f3470fb0", - "_from": "npm-registry-client@6.3.3" + "homepage": "https://github.com/isaacs/npm-registry-client", + "_id": "npm-registry-client@6.4.0", + "_shasum": "4da1adfd1b63c9a7b9a6626eb10e36665c29b5f4", + "_from": "npm-registry-client@6.4.0" } diff --git a/deps/npm/node_modules/npm-registry-client/test/publish-mixcase-name.js b/deps/npm/node_modules/npm-registry-client/test/publish-mixcase-name.js new file mode 100644 index 00000000000000..f2cc1d66813086 --- /dev/null +++ b/deps/npm/node_modules/npm-registry-client/test/publish-mixcase-name.js @@ -0,0 +1,91 @@ +var tap = require('tap') +var fs = require('fs') + +var server = require('./lib/server.js') +var common = require('./lib/common.js') + +var auth = { + username: 'username', + password: '%1234@asdf%', + email: 'i@izs.me', + alwaysAuth: true +} + +var client = common.freshClient() + +tap.test('publish mixcase name', function (t) { + // not really a tarball, but doesn't matter + var bodyPath = require.resolve('../package.json') + var tarball = fs.createReadStream(bodyPath) + var pd = fs.readFileSync(bodyPath, 'base64') + var pkg = require('../package.json') + var lastTime = null + + // change to mixed case name + pkg.name = 'npm-Registry-Client' + + server.expect('/npm-Registry-Client', function (req, res) { + t.equal(req.method, 'PUT') + var b = '' + req.setEncoding('utf8') + req.on('data', function (d) { + b += d + }) + + req.on('end', function () { + var o = lastTime = JSON.parse(b) + t.equal(o._id, 'npm-Registry-Client') + t.equal(o['dist-tags'].latest, pkg.version) + t.has(o.versions[pkg.version], pkg) + t.same(o.maintainers, [ { name: 'username', email: 'i@izs.me' } ]) + var att = o._attachments[ pkg.name + '-' + pkg.version + '.tgz' ] + t.same(att.data, pd) + res.statusCode = 409 + res.json({reason: 'must supply latest _rev to update existing package'}) + }) + }) + + server.expect('/npm-Registry-Client?write=true', function (req, res) { + t.equal(req.method, 'GET') + t.ok(lastTime) + for (var i in lastTime.versions) { + var v = lastTime.versions[i] + delete lastTime.versions[i] + lastTime.versions['0.0.2'] = v + lastTime['dist-tags'] = { latest: '0.0.2' } + } + lastTime._rev = 'asdf' + res.json(lastTime) + }) + + server.expect('/npm-Registry-Client', function (req, res) { + t.equal(req.method, 'PUT') + t.ok(lastTime) + + var b = '' + req.setEncoding('utf8') + req.on('data', function (d) { + b += d + }) + + req.on('end', function () { + var o = JSON.parse(b) + t.equal(o._rev, 'asdf') + t.deepEqual(o.versions['0.0.2'], o.versions[pkg.version]) + res.statusCode = 201 + res.json({created: true}) + }) + }) + + var params = { + metadata: pkg, + access: 'public', + body: tarball, + auth: auth + } + client.publish('http://localhost:1337/', params, function (er, data) { + if (er) throw er + t.deepEqual(data, { created: true }) + t.end() + }) +}) diff --git a/deps/npm/node_modules/npm-registry-client/test/publish-new-mixcase-name.js b/deps/npm/node_modules/npm-registry-client/test/publish-new-mixcase-name.js new file mode 100644 index 00000000000000..5b0e47655c20e6 --- /dev/null +++ b/deps/npm/node_modules/npm-registry-client/test/publish-new-mixcase-name.js @@ -0,0 +1,72 @@ +var test = require('tap').test +var crypto = require('crypto') +var fs = require('fs') + +var server = require('./lib/server.js') +var common = require('./lib/common.js') +var client = common.freshClient() + +var URI = 'http://localhost:1337/' +var USERNAME = 'username' +var PASSWORD = '%1234@asdf%' +var EMAIL = 'i@izs.me' +var METADATA = require('../package.json') +var ACCESS = 'public' +// not really a tarball, but doesn't matter +var BODY_PATH = require.resolve('../package.json') +var BODY = fs.createReadStream(BODY_PATH) +var AUTH = { + username: USERNAME, + password: PASSWORD, + email: EMAIL +} +var PARAMS = { + metadata: METADATA, + access: ACCESS, + body: BODY, + auth: AUTH +} + +test('publish-new-mixcase-name', function (t) { + var pd = fs.readFileSync(BODY_PATH, 'base64') + + // change to mixed-case name + METADATA.name = 'npm-Registry-Client' + + server.expect('/npm-Registry-Client', function (req, res) { + t.equal(req.method, 'PUT') + var b = '' + req.setEncoding('utf8') + req.on('data', function (d) { + b += d + }) + + req.on('end', function () { + var o = JSON.parse(b) + t.equal(o._id, 'npm-Registry-Client') + t.equal(o['dist-tags'].latest, METADATA.version) + t.equal(o.access, ACCESS) + t.has(o.versions[METADATA.version], METADATA) + t.same(o.maintainers, [{ name: 'username', email: 'i@izs.me' }]) + t.same(o.maintainers, o.versions[METADATA.version].maintainers) + + var att = o._attachments[METADATA.name + '-' + METADATA.version + '.tgz'] + t.same(att.data, pd) + + var hash = crypto.createHash('sha1').update(pd, 'base64').digest('hex') + t.equal(o.versions[METADATA.version].dist.shasum, hash) + + res.statusCode = 403 + res.json({error: 'Name must be lower-case'}) + }) + }) + + client.publish(URI, PARAMS, function (er, data, json, res) { + t.assert(er instanceof Error) // expect error + + // TODO: need a test that ensures useful error message + // t.similar(data.error, /must be lower-case/) + + t.end() + }) +}) diff --git a/deps/npm/node_modules/npm-registry-client/test/request.js b/deps/npm/node_modules/npm-registry-client/test/request.js index b3086b4729f6b9..68af9bcca2baf9 100644 --- a/deps/npm/node_modules/npm-registry-client/test/request.js +++ b/deps/npm/node_modules/npm-registry-client/test/request.js @@ -81,7 +81,7 @@ test('request call contract', function (t) { }) test('run request through its paces', function (t) { - t.plan(28) + t.plan(29) server.expect('/request-defaults', function (req, res) { t.equal(req.method, 'GET', 'uses GET by default') diff --git a/deps/npm/node_modules/npm-user-validate/package.json b/deps/npm/node_modules/npm-user-validate/package.json index cf4440364be0da..8a27d7cfe1ad49 100644 --- a/deps/npm/node_modules/npm-user-validate/package.json +++ b/deps/npm/node_modules/npm-user-validate/package.json @@ -1,6 +1,6 @@ { "name": "npm-user-validate", - "version": "0.1.1", + "version": "0.1.2", "description": "User validations for npm", "main": "npm-user-validate.js", "devDependencies": { @@ -22,20 +22,24 @@ "name": "Robert Kowalski", "email": "rok@kowalski.gd" }, - "license": "BSD", - "gitHead": "64c9bd4ded742c41afdb3a8414fbbfdbfdcdf6b7", + "license": "BSD-2-Clause", + "gitHead": "e5b280babff5b73fe74b496461bcf424a51881e1", "bugs": { "url": "https://github.com/npm/npm-user-validate/issues" }, - "homepage": "https://github.com/npm/npm-user-validate", - "_id": "npm-user-validate@0.1.1", - "_shasum": "ea7774636c3c8fe6d01e174bd9f2ee0e22eeed57", + "homepage": "https://github.com/npm/npm-user-validate#readme", + "_id": "npm-user-validate@0.1.2", + "_shasum": "d585da0b47c9f41a9e6ca684b6fd84ba41ebe87d", "_from": "npm-user-validate@>=0.1.1 <0.2.0", - "_npmVersion": "2.1.3", - "_nodeVersion": "0.10.31", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", - "email": "i@izs.me" + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "d585da0b47c9f41a9e6ca684b6fd84ba41ebe87d", + "tarball": "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz" }, "maintainers": [ { @@ -47,10 +51,6 @@ "email": "i@izs.me" } ], - "dist": { - "shasum": "ea7774636c3c8fe6d01e174bd9f2ee0e22eeed57", - "tarball": "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.1.tgz" - }, "directories": {}, - "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.1.tgz" + "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz" } diff --git a/deps/npm/node_modules/npmlog/LICENSE b/deps/npm/node_modules/npmlog/LICENSE index 0c44ae716db8f3..19129e315fe593 100644 --- a/deps/npm/node_modules/npmlog/LICENSE +++ b/deps/npm/node_modules/npmlog/LICENSE @@ -1,27 +1,15 @@ -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. +The ISC License -The BSD License +Copyright (c) Isaac Z. Schlueter and Contributors -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/npmlog/log.js b/deps/npm/node_modules/npmlog/log.js index 067f6ff10d6d53..8bf6422b6cf44d 100644 --- a/deps/npm/node_modules/npmlog/log.js +++ b/deps/npm/node_modules/npmlog/log.js @@ -32,12 +32,12 @@ log.progressEnabled = false var gaugeTheme = undefined log.enableUnicode = function () { - gaugeTheme = gauge.unicode + gaugeTheme = Gauge.unicode log.gauge.setTheme(gaugeTheme) } log.disableUnicode = function () { - gaugeTheme = gauge.ascii + gaugeTheme = Gauge.ascii log.gauge.setTheme(gaugeTheme) } diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json index e22f637b83f7f4..ea3c1da0d490b2 100644 --- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "repository": { "type": "git", - "url": "git://github.com/visionmedia/node-delegates" + "url": "git://github.com/visionmedia/node-delegates.git" }, "description": "delegate methods and accessors to another property", "keywords": [ @@ -43,5 +43,6 @@ "tarball": "http://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz" + "_resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/core-util-is/package.json b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/core-util-is/package.json index 2155d11c62568b..b67333380c265e 100644 --- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/core-util-is/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/core-util-is/package.json @@ -5,7 +5,7 @@ "main": "lib/util.js", "repository": { "type": "git", - "url": "git://github.com/isaacs/core-util-is" + "url": "git://github.com/isaacs/core-util-is.git" }, "keywords": [ "util", @@ -29,25 +29,9 @@ }, "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n", "readmeFilename": "README.md", - "homepage": "https://github.com/isaacs/core-util-is", + "homepage": "https://github.com/isaacs/core-util-is#readme", "_id": "core-util-is@1.0.1", - "dist": { - "shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538", - "tarball": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" - }, - "_from": "core-util-is@>=1.0.0 <1.1.0", - "_npmVersion": "1.3.23", - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "directories": {}, "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538", - "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" + "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", + "_from": "core-util-is@>=1.0.0 <1.1.0" } diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/isarray/package.json b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/isarray/package.json index 19228ab6fdcaaf..fb1eb3786d8168 100644 --- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/isarray/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/isarray/package.json @@ -26,28 +26,13 @@ "url": "http://juliangruber.com" }, "license": "MIT", - "_id": "isarray@0.0.1", - "dist": { - "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "tarball": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "_from": "isarray@0.0.1", - "_npmVersion": "1.2.18", - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "directories": {}, - "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber <julian@juliangruber.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", + "readmeFilename": "README.md", "bugs": { "url": "https://github.com/juliangruber/isarray/issues" }, - "readme": "ERROR: No README data found!" + "_id": "isarray@0.0.1", + "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", + "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "_from": "isarray@0.0.1" } diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/string_decoder/package.json b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/string_decoder/package.json index 0364d54ba46af6..ee70702359198d 100644 --- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/string_decoder/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/string_decoder/package.json @@ -22,33 +22,13 @@ "browserify" ], "license": "MIT", - "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0", + "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.", + "readmeFilename": "README.md", "bugs": { "url": "https://github.com/rvagg/string_decoder/issues" }, "_id": "string_decoder@0.10.31", "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", - "_from": "string_decoder@>=0.10.0 <0.11.0", - "_npmVersion": "1.4.23", - "_npmUser": { - "name": "rvagg", - "email": "rod@vagg.org" - }, - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - } - ], - "dist": { - "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", - "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "directories": {}, "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "readme": "ERROR: No README data found!" + "_from": "string_decoder@>=0.10.0 <0.11.0" } diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/package.json b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/package.json index 749db2fe542bdc..fca88328c90762 100644 --- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/package.json @@ -17,7 +17,7 @@ }, "repository": { "type": "git", - "url": "git://github.com/isaacs/readable-stream" + "url": "git://github.com/isaacs/readable-stream.git" }, "keywords": [ "readable", diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json index 6c981da1c9662d..759100666932a3 100644 --- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/iarna/are-we-there-yet.git" + "url": "git+https://github.com/iarna/are-we-there-yet.git" }, "author": { "name": "Rebecca Turner", @@ -46,5 +46,6 @@ "tarball": "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz" + "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/README.md~ b/deps/npm/node_modules/npmlog/node_modules/gauge/README.md~ deleted file mode 100644 index eec841b6ca9e37..00000000000000 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/README.md~ +++ /dev/null @@ -1,153 +0,0 @@ -gauge -===== - -A nearly stateless terminal based horizontal guage / progress bar. - -```javascript -var Gauge = require("gauge") - -var gauge = new Gauge() - -gauge.show("test", 0.20) - -gauge.pulse("this") - -gauge.hide() -``` - -![](example.png) - - -### `var gauge = new Gauge([options], [ansiStream])` - -* **options** – *(optional)* An option object. (See [below] for details.) -* **ansiStream** – *(optional)* A stream that's been blessed by the [ansi] - module to include various commands for controlling the cursor in a terminal. - -[ansi]: https://www.npmjs.com/package/ansi -[below]: #theme-objects - -Constructs a new gauge. Gauges are drawn on a single line, and are not drawn -if the current terminal isn't a tty. - -The **options** object can have the following properties, all of which are -optional: - -* maxUpdateFrequency: defaults to 50 msec, the gauge will not be drawn more - than once in this period of time. This applies to `show` and `pulse` - calls, but if you `hide` and then `show` the gauge it will draw it - regardless of time since last draw. -* theme: defaults to Gauge.unicode` if the terminal supports - unicode according to [has-unicode], otherwise it defaults to `Gauge.ascii`. - Details on the [theme object](#theme-objects) are documented elsewhere. -* template: see [documentation elsewhere](#template-objects) for - defaults and details. - -[has-unicode]: https://www.npmjs.com/package/has-unicode - -If **ansiStream** isn't passed in, then one will be constructed from stderr -with `ansi(process.stderr)`. - -### `gauge.show([name, [completed]])` - -* **name** – *(optional)* The name of the current thing contributing to progress. Defaults to the last value used, or "". -* **completed** – *(optional)* The portion completed as a value between 0 and 1. Defaults to the last value used, or 0. - -If `process.stdout.isTTY` is false then this does nothing. If completed is 0 -and `gauge.pulse` has never been called, then similarly nothing will be printed. - -If `maxUpdateFrequency` msec haven't passed since the last call to `show` or -`pulse` then similarly, nothing will be printed. (Actually, the update is -deferred until `maxUpdateFrequency` msec have passed and if nothing else has -happened, the gauge update will happen.) - -### `gauge.hide()` - -Removes the gauge from the terminal. - -### `gauge.pulse([name])` - -* **name** – *(optional)* The specific thing that triggered this pulse - -Spins the spinner in the gauge to show output. If **name** is included then -it will be combined with the last name passed to `gauge.show` using the -subsection property of the theme (typically a right facing arrow). - -### `gauge.disable()` - -Hides the gauge and ignores further calls to `show` or `pulse`. - -### `gauge.enable()` - -Shows the gauge and resumes updating when `show` or `pulse` is called. - -### Theme Objects - -There are two theme objects available as a part of the module, `Gauge.unicode` and `Gauge.ascii`. -Theme objects have the follow properties: - -| Property | Unicode | ASCII | -| ---------- | ------- | ----- | -| startgroup | ╢ | \| | -| endgroup | ╟ | \| | -| complete | █ | # | -| incomplete | ░ | - | -| spinner | ▀▐▄▌ | -\\\|/ | -| subsection | → | -> | - -*startgroup*, *endgroup* and *subsection* can be as many characters as you want. - -*complete* and *incomplete* should be a single character width each. - -*spinner* is a list of characters to use in turn when displaying an activity -spinner. The Gauge will spin as many characters as you give here. - -### Template Objects - -A template is an array of objects and strings that, after being evaluated, -will be turned into the gauge line. The default template is: - -```javascript -[ - {type: "name", separated: true, maxLength: 25, minWidth: 25, align: "left"}, - {type: "spinner", separated: true}, - {type: "startgroup"}, - {type: "completionbar"}, - {type: "endgroup"} -] -``` - -The various template elements can either be **plain strings**, in which case they will -be be included verbatum in the output. - -If the template element is an object, it can have the following keys: - -* *type* can be: - * `name` – The most recent name passed to `show`; if this is in response to a - `pulse` then the name passed to `pulse` will be appended along with the - subsection property from the theme. - * `spinner` – If you've ever called `pulse` this will be one of the characters - from the spinner property of the theme. - * `startgroup` – The `startgroup` property from the theme. - * `completionbar` – This progress bar itself - * `endgroup` – The `endgroup` property from the theme. -* *separated* – If true, the element will be separated with spaces from things on - either side (and margins count as space, so it won't be indented), but only - if its included. -* *maxLength* – The maximum length for this element. If its value is longer it - will be truncated. -* *minLength* – The minimum length for this element. If its value is shorter it - will be padded according to the *align* value. -* *align* – (Default: left) Possible values "left", "right" and "center". Works - as you'd expect from word processors. -* *length* – Provides a single value for both *minLength* and *maxLength*. If both - *length* and *minLength or *maxLength* are specifed then the latter take precedence. - -### Tracking Completion - -If you have more than one thing going on that you want to track completion -of, you may find the related [are-we-there-yet] helpful. It's `change` -event can be wired up to the `show` method to get a more traditional -progress bar interface. - -[are-we-there-yet]: https://www.npmjs.com/package/are-we-there-yet diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md~ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md~ deleted file mode 100644 index e712b7000c28b1..00000000000000 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md~ +++ /dev/null @@ -1,4 +0,0 @@ -has-unicode -=========== - -Try to guess if your terminal supports unicode diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json index 7126e012595cb8..fd552a9e4096ee 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/iarna/has-unicode" + "url": "git+https://github.com/iarna/has-unicode.git" }, "keywords": [ "unicode", @@ -48,5 +48,6 @@ "tarball": "http://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json index e46c18bd5af149..dfb815b75772c1 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json @@ -39,7 +39,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/lodash/lodash" + "url": "git+https://github.com/lodash/lodash.git" }, "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json index 1b1019b81d2260..de5156da130dc2 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json @@ -45,7 +45,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/lodash/lodash" + "url": "git+https://github.com/lodash/lodash.git" }, "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json index 65ead27b02ab53..ffe797253ae925 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json @@ -39,7 +39,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/lodash/lodash" + "url": "git+https://github.com/lodash/lodash.git" }, "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json index 6813157b2a14e8..6f028c0cc622d8 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json @@ -45,7 +45,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/lodash/lodash" + "url": "git+https://github.com/lodash/lodash.git" }, "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" @@ -93,5 +93,6 @@ "tarball": "http://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz" + "_resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md index bb634f538f3271..641b4d6f007ad4 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md @@ -1,4 +1,4 @@ -# lodash.padleft v3.1.0 +# lodash.padleft v3.1.1 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.padLeft` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var padLeft = require('lodash.padleft'); ``` -See the [documentation](https://lodash.com/docs#padLeft) or [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash.padleft) for more details. +See the [documentation](https://lodash.com/docs#padLeft) or [package source](https://github.com/lodash/lodash/blob/3.1.1-npm-packages/lodash.padleft) for more details. diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js index 69638d322d9be9..2abb69a6c06558 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js @@ -1,8 +1,8 @@ /** - * lodash 3.1.0 (Custom Build) + * lodash 3.1.1 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation - * Based on Underscore.js 1.8.2 + * Based on Underscore.js 1.8.3 * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ @@ -19,7 +19,7 @@ var baseToString = require('lodash._basetostring'), function createPadDir(fromRight) { return function(string, length, chars) { string = baseToString(string); - return string && ((fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string)); + return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string); }; } diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json index 2fb935633e3502..55b0c256f9d1bc 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json @@ -1,6 +1,6 @@ { "name": "lodash.padleft", - "version": "3.1.0", + "version": "3.1.1", "description": "The modern build of lodash’s `_.padLeft` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", @@ -45,7 +45,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/lodash/lodash" + "url": "git+https://github.com/lodash/lodash.git" }, "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" @@ -57,11 +57,11 @@ "bugs": { "url": "https://github.com/lodash/lodash/issues" }, - "_id": "lodash.padleft@3.1.0", - "_shasum": "ac94eeeb3ec4df6394b893c6f4f7faa5cb96a5c1", + "_id": "lodash.padleft@3.1.1", + "_shasum": "150151f1e0245edba15d50af2d71f1d5cff46530", "_from": "lodash.padleft@>=3.0.0 <4.0.0", - "_npmVersion": "2.7.3", - "_nodeVersion": "0.12.0", + "_npmVersion": "2.9.0", + "_nodeVersion": "0.12.2", "_npmUser": { "name": "jdalton", "email": "john.david.dalton@gmail.com" @@ -89,9 +89,10 @@ } ], "dist": { - "shasum": "ac94eeeb3ec4df6394b893c6f4f7faa5cb96a5c1", - "tarball": "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.0.tgz" + "shasum": "150151f1e0245edba15d50af2d71f1d5cff46530", + "tarball": "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.0.tgz" + "_resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md index e1a742aebab24b..bcd6e5742fe126 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md @@ -1,4 +1,4 @@ -# lodash.padright v3.1.0 +# lodash.padright v3.1.1 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.padRight` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. @@ -17,4 +17,4 @@ In Node.js/io.js: var padRight = require('lodash.padright'); ``` -See the [documentation](https://lodash.com/docs#padRight) or [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash.padright) for more details. +See the [documentation](https://lodash.com/docs#padRight) or [package source](https://github.com/lodash/lodash/blob/3.1.1-npm-packages/lodash.padright) for more details. diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js index 252e0a1315a80d..6de81c4bbedc1c 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js @@ -1,8 +1,8 @@ /** - * lodash 3.1.0 (Custom Build) + * lodash 3.1.1 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation - * Based on Underscore.js 1.8.2 + * Based on Underscore.js 1.8.3 * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ @@ -19,7 +19,7 @@ var baseToString = require('lodash._basetostring'), function createPadDir(fromRight) { return function(string, length, chars) { string = baseToString(string); - return string && ((fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string)); + return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string); }; } diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json index 014e6de6884547..2a40f94bfc3bfd 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json @@ -1,6 +1,6 @@ { "name": "lodash.padright", - "version": "3.1.0", + "version": "3.1.1", "description": "The modern build of lodash’s `_.padRight` as a module.", "homepage": "https://lodash.com/", "icon": "https://lodash.com/icon.svg", @@ -45,7 +45,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/lodash/lodash" + "url": "git+https://github.com/lodash/lodash.git" }, "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" @@ -57,11 +57,11 @@ "bugs": { "url": "https://github.com/lodash/lodash/issues" }, - "_id": "lodash.padright@3.1.0", - "_shasum": "155aa4ed10f4103829031a14516dcb5f3f6c777f", + "_id": "lodash.padright@3.1.1", + "_shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0", "_from": "lodash.padright@>=3.0.0 <4.0.0", - "_npmVersion": "2.7.3", - "_nodeVersion": "0.12.0", + "_npmVersion": "2.9.0", + "_nodeVersion": "0.12.2", "_npmUser": { "name": "jdalton", "email": "john.david.dalton@gmail.com" @@ -89,9 +89,10 @@ } ], "dist": { - "shasum": "155aa4ed10f4103829031a14516dcb5f3f6c777f", - "tarball": "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.0.tgz" + "shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0", + "tarball": "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.0.tgz" + "_resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/package.json index 8e2f33196a55a4..227173e6401edd 100644 --- a/deps/npm/node_modules/npmlog/node_modules/gauge/package.json +++ b/deps/npm/node_modules/npmlog/node_modules/gauge/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/iarna/gauge" + "url": "git+https://github.com/iarna/gauge.git" }, "keywords": [ "progressbar", @@ -55,5 +55,6 @@ "tarball": "http://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz" + "_resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/npmlog/package.json b/deps/npm/node_modules/npmlog/package.json index da9bcd6c4d8bb1..1613546d9f195c 100644 --- a/deps/npm/node_modules/npmlog/package.json +++ b/deps/npm/node_modules/npmlog/package.json @@ -6,7 +6,7 @@ }, "name": "npmlog", "description": "logger for npm", - "version": "1.2.0", + "version": "1.2.1", "repository": { "type": "git", "url": "git://github.com/isaacs/npmlog.git" @@ -23,20 +23,24 @@ "devDependencies": { "tap": "" }, - "license": "BSD", - "gitHead": "1fe2892a8b9dacb775d4fb365315865f421f4ca9", + "license": "ISC", + "gitHead": "4e1a73a567036064ded425a7d48c863d53550b4f", "bugs": { "url": "https://github.com/isaacs/npmlog/issues" }, - "homepage": "https://github.com/isaacs/npmlog", - "_id": "npmlog@1.2.0", - "_shasum": "b512f18ae8696a0192ada78ba00c06dbbd91bafb", - "_from": "npmlog@>=1.2.0 <1.3.0", - "_npmVersion": "2.6.0", - "_nodeVersion": "1.1.0", + "homepage": "https://github.com/isaacs/npmlog#readme", + "_id": "npmlog@1.2.1", + "_shasum": "28e7be619609b53f7ad1dd300a10d64d716268b6", + "_from": "npmlog@>=1.2.1 <1.3.0", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "28e7be619609b53f7ad1dd300a10d64d716268b6", + "tarball": "http://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz" }, "maintainers": [ { @@ -48,10 +52,7 @@ "email": "me@re-becca.org" } ], - "dist": { - "shasum": "b512f18ae8696a0192ada78ba00c06dbbd91bafb", - "tarball": "http://registry.npmjs.org/npmlog/-/npmlog-1.2.0.tgz" - }, "directories": {}, - "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.0.tgz" + "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/deps/npm/node_modules/osenv/.npmignore b/deps/npm/node_modules/osenv/.npmignore new file mode 100644 index 00000000000000..8c23deeb34b05e --- /dev/null +++ b/deps/npm/node_modules/osenv/.npmignore @@ -0,0 +1,13 @@ +*.swp +.*.swp + +.DS_Store +*~ +.project +.settings +npm-debug.log +coverage.html +.idea +lib-cov + +node_modules diff --git a/deps/npm/node_modules/osenv/LICENSE b/deps/npm/node_modules/osenv/LICENSE index 0c44ae716db8f3..19129e315fe593 100644 --- a/deps/npm/node_modules/osenv/LICENSE +++ b/deps/npm/node_modules/osenv/LICENSE @@ -1,27 +1,15 @@ -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. +The ISC License -The BSD License +Copyright (c) Isaac Z. Schlueter and Contributors -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/osenv/package.json b/deps/npm/node_modules/osenv/package.json index b66ce8df24cef7..7f83dc0c0cbf47 100644 --- a/deps/npm/node_modules/osenv/package.json +++ b/deps/npm/node_modules/osenv/package.json @@ -1,6 +1,6 @@ { "name": "osenv", - "version": "0.1.0", + "version": "0.1.1", "main": "osenv.js", "directories": { "test": "test" @@ -14,7 +14,7 @@ }, "repository": { "type": "git", - "url": "git://github.com/isaacs/osenv" + "url": "git+https://github.com/npm/osenv.git" }, "keywords": [ "environment", @@ -30,15 +30,43 @@ "email": "i@izs.me", "url": "http://blog.izs.me/" }, - "license": "BSD", + "license": "ISC", "description": "Look up environment settings specific to different operating systems", - "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": "769ada6737026254372e3013b702c450a9b781e9", "bugs": { - "url": "https://github.com/isaacs/osenv/issues" + "url": "https://github.com/npm/osenv/issues" }, - "homepage": "https://github.com/isaacs/osenv", - "_id": "osenv@0.1.0", - "_shasum": "61668121eec584955030b9f470b1d2309504bfcb", - "_from": "osenv@~0.1.0" + "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" } diff --git a/deps/npm/node_modules/read/LICENSE b/deps/npm/node_modules/read/LICENSE new file mode 100644 index 00000000000000..19129e315fe593 --- /dev/null +++ b/deps/npm/node_modules/read/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/read/node_modules/mute-stream/LICENSE b/deps/npm/node_modules/read/node_modules/mute-stream/LICENSE index 0c44ae716db8f3..19129e315fe593 100644 --- a/deps/npm/node_modules/read/node_modules/mute-stream/LICENSE +++ b/deps/npm/node_modules/read/node_modules/mute-stream/LICENSE @@ -1,27 +1,15 @@ -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. +The ISC License -The BSD License +Copyright (c) Isaac Z. Schlueter and Contributors -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/read/node_modules/mute-stream/package.json b/deps/npm/node_modules/read/node_modules/mute-stream/package.json index 5e699801fc706d..9cdb30284561ec 100644 --- a/deps/npm/node_modules/read/node_modules/mute-stream/package.json +++ b/deps/npm/node_modules/read/node_modules/mute-stream/package.json @@ -1,6 +1,6 @@ { "name": "mute-stream", - "version": "0.0.4", + "version": "0.0.5", "main": "mute.js", "directories": { "test": "test" @@ -13,7 +13,7 @@ }, "repository": { "type": "git", - "url": "git://github.com/isaacs/mute-stream" + "url": "git://github.com/isaacs/mute-stream.git" }, "keywords": [ "mute", @@ -25,13 +25,31 @@ "email": "i@izs.me", "url": "http://blog.izs.me/" }, - "license": "BSD", + "license": "ISC", "description": "Bytes go in, but they don't come out (when muted).", - "readme": "# mute-stream\n\nBytes go in, but they don't come out (when muted).\n\nThis is a basic pass-through stream, but when muted, the bytes are\nsilently dropped, rather than being passed through.\n\n## Usage\n\n```javascript\nvar MuteStream = require('mute-stream')\n\nvar ms = new MuteStream(options)\n\nms.pipe(process.stdout)\nms.write('foo') // writes 'foo' to stdout\nms.mute()\nms.write('bar') // does not write 'bar'\nms.unmute()\nms.write('baz') // writes 'baz' to stdout\n\n// can also be used to mute incoming data\nvar ms = new MuteStream\ninput.pipe(ms)\n\nms.on('data', function (c) {\n console.log('data: ' + c)\n})\n\ninput.emit('data', 'foo') // logs 'foo'\nms.mute()\ninput.emit('data', 'bar') // does not log 'bar'\nms.unmute()\ninput.emit('data', 'baz') // logs 'baz'\n```\n\n## Options\n\nAll options are optional.\n\n* `replace` Set to a string to replace each character with the\n specified string when muted. (So you can show `****` instead of the\n password, for example.)\n\n* `prompt` If you are using a replacement char, and also using a\n prompt with a readline stream (as for a `Password: *****` input),\n then specify what the prompt is so that backspace will work\n properly. Otherwise, pressing backspace will overwrite the prompt\n with the replacement character, which is weird.\n\n## ms.mute()\n\nSet `muted` to `true`. Turns `.write()` into a no-op.\n\n## ms.unmute()\n\nSet `muted` to `false`\n\n## ms.isTTY\n\nTrue if the pipe destination is a TTY, or if the incoming pipe source is\na TTY.\n\n## Other stream methods...\n\nThe other standard readable and writable stream methods are all\navailable. The MuteStream object acts as a facade to its pipe source\nand destination.\n", - "readmeFilename": "README.md", + "gitHead": "17d9854a315f56088d039534f87b740e470a9af0", "bugs": { "url": "https://github.com/isaacs/mute-stream/issues" }, - "_id": "mute-stream@0.0.4", - "_from": "mute-stream@~0.0.4" + "homepage": "https://github.com/isaacs/mute-stream#readme", + "_id": "mute-stream@0.0.5", + "_shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0", + "_from": "mute-stream@>=0.0.4 <0.1.0", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", + "_npmUser": { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0", + "tarball": "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "_resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" } diff --git a/deps/npm/node_modules/read/package.json b/deps/npm/node_modules/read/package.json index c5be57230bdb6d..b424aa3c0cc908 100644 --- a/deps/npm/node_modules/read/package.json +++ b/deps/npm/node_modules/read/package.json @@ -1,6 +1,6 @@ { "name": "read", - "version": "1.0.5", + "version": "1.0.6", "main": "lib/read.js", "dependencies": { "mute-stream": "~0.0.4" @@ -21,15 +21,34 @@ "type": "git", "url": "git://github.com/isaacs/read.git" }, - "license": "BSD", + "license": "ISC", "scripts": { "test": "tap test/*.js" }, - "readme": "## read\n\nFor reading user input from stdin.\n\nSimilar to the `readline` builtin's `question()` method, but with a\nfew more features.\n\n## USAGE\n\n```javascript\nvar read = require(\"read\")\nread(options, callback)\n```\n\nThe callback gets called with either the user input, or the default\nspecified, or an error, as `callback(error, result, isDefault)`\nnode style.\n\n## OPTIONS\n\nEvery option is optional.\n\n* `prompt` What to write to stdout before reading input.\n* `silent` Don't echo the output as the user types it.\n* `replace` Replace silenced characters with the supplied character value.\n* `timeout` Number of ms to wait for user input before giving up.\n* `default` The default value if the user enters nothing.\n* `edit` Allow the user to edit the default value.\n* `terminal` Treat the output as a TTY, whether it is or not.\n* `input` Readable stream to get input data from. (default `process.stdin`)\n* `output` Writeable stream to write prompts to. (default: `process.stdout`)\n\nIf silent is true, and the input is a TTY, then read will set raw\nmode, and read character by character.\n\n## COMPATIBILITY\n\nThis module works sort of with node 0.6. It does not work with node\nversions less than 0.6. It is best on node 0.8.\n\nOn node version 0.6, it will remove all listeners on the input\nstream's `data` and `keypress` events, because the readline module did\nnot fully clean up after itself in that version of node, and did not\nmake it possible to clean up after it in a way that has no potential\nfor side effects.\n\nAdditionally, some of the readline options (like `terminal`) will not\nfunction in versions of node before 0.8, because they were not\nimplemented in the builtin readline module.\n\n## CONTRIBUTING\n\nPatches welcome.\n", - "readmeFilename": "README.md", + "gitHead": "2f5101c8e41332a033e5aa4e27e33fd6e09598e2", "bugs": { "url": "https://github.com/isaacs/read/issues" }, - "_id": "read@1.0.5", - "_from": "read@latest" + "homepage": "https://github.com/isaacs/read#readme", + "_id": "read@1.0.6", + "_shasum": "09873c14ecc114d063fad43b8ca5a33d304721c8", + "_from": "read@1.0.6", + "_npmVersion": "2.10.0", + "_nodeVersion": "2.0.1", + "_npmUser": { + "name": "isaacs", + "email": "isaacs@npmjs.com" + }, + "dist": { + "shasum": "09873c14ecc114d063fad43b8ca5a33d304721c8", + "tarball": "http://registry.npmjs.org/read/-/read-1.0.6.tgz" + }, + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/read/-/read-1.0.6.tgz" } diff --git a/deps/npm/node_modules/realize-package-specifier/LICENSE b/deps/npm/node_modules/realize-package-specifier/LICENSE new file mode 100644 index 00000000000000..45055763dc838d --- /dev/null +++ b/deps/npm/node_modules/realize-package-specifier/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/realize-package-specifier/package.json b/deps/npm/node_modules/realize-package-specifier/package.json index 6716b19145a8e4..b14b24beffe366 100644 --- a/deps/npm/node_modules/realize-package-specifier/package.json +++ b/deps/npm/node_modules/realize-package-specifier/package.json @@ -1,6 +1,6 @@ { "name": "realize-package-specifier", - "version": "3.0.0", + "version": "3.0.1", "description": "Like npm-package-arg, but more so, producing full file paths and differentiating local tar and directory sources.", "main": "index.js", "scripts": { @@ -9,7 +9,7 @@ "license": "ISC", "repository": { "type": "git", - "url": "https://github.com/npm/realize-package-specifier.git" + "url": "git+https://github.com/npm/realize-package-specifier.git" }, "author": { "name": "Rebecca Turner", @@ -25,13 +25,33 @@ "require-inject": "^1.1.0", "tap": "^0.4.12" }, - "readme": "realize-package-specifier\n-------------------------\n\nParse a package specifier, peeking at the disk to differentiate between\nlocal tarballs, directories and named modules. This implements the logic\nused by `npm install` and `npm cache` to determine where to get packages\nfrom.\n\n```javascript\nvar realizePackageSpecifier = require(\"realize-package-specifier\")\nrealizePackageSpecifier(\"foo.tar.gz\", \".\", function (err, package) {\n …\n})\n```\n\n## Using\n\n* realizePackageSpecifier(*spec*, [*where*,] *callback*)\n\nParses *spec* using `npm-package-arg` and then uses stat to check to see if\nit refers to a local tarball or package directory. Stats are done relative\nto *where*. If it does then the local module is loaded. If it doesn't then\ntarget is left as a remote package specifier. Package directories are\nrecognized by the presence of a package.json in them.\n\n*spec* -- a package specifier, like: `foo@1.2`, or `foo@user/foo`, or\n`http://x.com/foo.tgz`, or `git+https://github.com/user/foo`\n\n*where* (optional, default: .) -- The directory in which we should look for\nlocal tarballs or package directories.\n\n*callback* function(*err*, *result*) -- Called once we've determined what\nkind of specifier this is. The *result* object will be very like the one\nreturned by `npm-package-arg` except with three differences: 1) There's a\nnew type of `directory`. 2) The `local` type only refers to tarballs. 2)\nFor all `local` and `directory` type results spec will contain the full path of\nthe local package.\n\n## Result Object\n\nThe full definition of the result object is:\n\n* `name` - If known, the `name` field expected in the resulting pkg.\n* `type` - One of the following strings:\n * `git` - A git repo\n * `hosted` - A hosted project, from github, bitbucket or gitlab. Originally\n either a full url pointing at one of these services or a shorthand like\n `user/project` or `github:user/project` for github or `bitbucket:user/project`\n for bitbucket.\n * `tag` - A tagged version, like `\"foo@latest\"`\n * `version` - A specific version number, like `\"foo@1.2.3\"`\n * `range` - A version range, like `\"foo@2.x\"`\n * `local` - A local file path\n * `directory` - A local package directory\n * `remote` - An http url (presumably to a tgz)\n* `spec` - The \"thing\". URL, the range, git repo, etc.\n* `hosted` - If type=hosted this will be an object with the following keys:\n * `type` - github, bitbucket or gitlab\n * `ssh` - The ssh path for this git repo\n * `sshurl` - The ssh URL for this git repo\n * `https` - The HTTPS URL for this git repo\n * `directUrl` - The URL for the package.json in this git repo\n* `raw` - The original un-modified string that was provided.\n* `rawSpec` - The part after the `name@...`, as it was originally\n provided.\n* `scope` - If a name is something like `@org/module` then the `scope`\n field will be set to `org`. If it doesn't have a scoped name, then\n scope is `null`.\n\n", - "readmeFilename": "README.md", - "gitHead": "2a465b11a70b288d0fb56312dcb45ba8de45b320", + "gitHead": "4f50130fa6b5e80954a90ea12bab382f53d890b1", "bugs": { "url": "https://github.com/npm/realize-package-specifier/issues" }, - "_id": "realize-package-specifier@3.0.0", - "_shasum": "38224d63f546d4972f0a68cb6e91f6cf73ac67fa", - "_from": "realize-package-specifier@>=3.0.0 <4.0.0" + "_id": "realize-package-specifier@3.0.1", + "_shasum": "fde32e926448e38f99334d95b7b08d51e3a98d9f", + "_from": "realize-package-specifier@>=3.0.0 <3.1.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "2.0.2", + "_npmUser": { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + }, + "dist": { + "shasum": "fde32e926448e38f99334d95b7b08d51e3a98d9f", + "tarball": "http://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz" + }, + "maintainers": [ + { + "name": "iarna", + "email": "me@re-becca.org" + }, + { + "name": "othiym23", + "email": "ogd@aoaioxxysz.net" + } + ], + "directories": {}, + "_resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz" } 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/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/LICENSE b/deps/npm/node_modules/rimraf/LICENSE index 05a4010949cac3..19129e315fe593 100644 --- a/deps/npm/node_modules/rimraf/LICENSE +++ b/deps/npm/node_modules/rimraf/LICENSE @@ -1,23 +1,15 @@ -Copyright 2009, 2010, 2011 Isaac Z. Schlueter. -All rights reserved. +The ISC License -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: +Copyright (c) Isaac Z. Schlueter and Contributors -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -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. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/rimraf/package.json b/deps/npm/node_modules/rimraf/package.json index 7b28e7302ac026..aabb562a7a53d4 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.3", + "version": "2.3.4", "main": "rimraf.js", "description": "A deep deletion module for node (like `rm -rf`)", "author": { @@ -8,10 +8,7 @@ "email": "i@izs.me", "url": "http://blog.izs.me/" }, - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/rimraf/raw/master/LICENSE" - }, + "license": "ISC", "repository": { "type": "git", "url": "git://github.com/isaacs/rimraf.git" @@ -31,23 +28,23 @@ "LICENSE", "README.md" ], - "gitHead": "ad4efe8102a72c77bf2b13165ecc2229a9a68955", + "gitHead": "2a6cc45bbbdd8da5fd703d8af62843565f7dea57", "bugs": { "url": "https://github.com/isaacs/rimraf/issues" }, - "homepage": "https://github.com/isaacs/rimraf", - "_id": "rimraf@2.3.3", - "_shasum": "d0073d8b3010611e8f3ad377b08e9a3c18b98f06", - "_from": "rimraf@>=2.3.3 <2.4.0", - "_npmVersion": "2.7.6", - "_nodeVersion": "1.7.1", + "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", + "_nodeVersion": "2.0.1", "_npmUser": { "name": "isaacs", "email": "isaacs@npmjs.com" }, "dist": { - "shasum": "d0073d8b3010611e8f3ad377b08e9a3c18b98f06", - "tarball": "http://registry.npmjs.org/rimraf/-/rimraf-2.3.3.tgz" + "shasum": "82d9bc1b2fcf31e205ac7b28138a025d08e9159a", + "tarball": "http://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz" }, "maintainers": [ { @@ -56,5 +53,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.3.tgz" + "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.4.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 8d420d25165ca3..7f684e4b593842 100644 --- a/deps/npm/node_modules/rimraf/rimraf.js +++ b/deps/npm/node_modules/rimraf/rimraf.js @@ -258,6 +258,7 @@ function rimrafSync (p, options) { assert(p, 'rimraf: missing path') assert.equal(typeof p, 'string', 'rimraf: path should be a string') assert(options, 'rimraf: missing options') + assert.equal(typeof options, 'object', 'rimraf: options should be object') var results diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/.npmignore b/deps/npm/node_modules/validate-npm-package-name/.npmignore similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/.npmignore rename to deps/npm/node_modules/validate-npm-package-name/.npmignore diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/README.md b/deps/npm/node_modules/validate-npm-package-name/README.md similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/README.md rename to deps/npm/node_modules/validate-npm-package-name/README.md diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/index.js b/deps/npm/node_modules/validate-npm-package-name/index.js similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/index.js rename to deps/npm/node_modules/validate-npm-package-name/index.js diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml rename to deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/History.md b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/History.md similarity index 78% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/History.md rename to deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/History.md index 0eb45c420775eb..e9837a5068ae0e 100644 --- a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/History.md +++ b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/History.md @@ -1,10 +1,10 @@ -0.0.7 / 2014-09-01 +0.0.7 / 2014-09-01 ================== * update .repository -0.0.6 / 2014-09-01 +0.0.6 / 2014-09-01 ================== * add travis @@ -22,17 +22,17 @@ * add timers -0.0.3 / 2014-02-22 +0.0.3 / 2014-02-22 ================== * add buffer -0.0.2 / 2014-02-11 +0.0.2 / 2014-02-11 ================== * add assert -0.0.1 / 2014-02-11 +0.0.1 / 2014-02-11 ================== * add main diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md rename to deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json rename to deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/package.json b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/package.json similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/package.json rename to deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/package.json diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/package.json b/deps/npm/node_modules/validate-npm-package-name/package.json similarity index 96% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/package.json rename to deps/npm/node_modules/validate-npm-package-name/package.json index 65a4587c664529..a809d7ac5679e9 100644 --- a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/package.json +++ b/deps/npm/node_modules/validate-npm-package-name/package.json @@ -36,7 +36,7 @@ "gitHead": "acef1219c13a0cf4cf6b8706d65f606d82a7d472", "_id": "validate-npm-package-name@2.2.0", "_shasum": "4cb6ff120bd7afb0b5681406cfaea8df2d763477", - "_from": "validate-npm-package-name@>=2.0.1 <3.0.0", + "_from": "validate-npm-package-name@2.2.0", "_npmVersion": "2.7.6", "_nodeVersion": "1.6.2", "_npmUser": { diff --git a/deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/test/index.js b/deps/npm/node_modules/validate-npm-package-name/test/index.js similarity index 100% rename from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/test/index.js rename to deps/npm/node_modules/validate-npm-package-name/test/index.js diff --git a/deps/npm/node_modules/write-file-atomic/LICENSE b/deps/npm/node_modules/write-file-atomic/LICENSE new file mode 100644 index 00000000000000..af4588069db82d --- /dev/null +++ b/deps/npm/node_modules/write-file-atomic/LICENSE @@ -0,0 +1,5 @@ +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/write-file-atomic/package.json b/deps/npm/node_modules/write-file-atomic/package.json index 1fa0f6cc8448dd..27f6694b7c0521 100644 --- a/deps/npm/node_modules/write-file-atomic/package.json +++ b/deps/npm/node_modules/write-file-atomic/package.json @@ -1,6 +1,6 @@ { "name": "write-file-atomic", - "version": "1.1.0", + "version": "1.1.2", "description": "Write files in an atomic fashion w/configurable ownership", "main": "index.js", "scripts": { @@ -32,25 +32,26 @@ "require-inject": "^1.1.0", "tap": "^0.4.12" }, - "gitHead": "28e4df86547c6728eab0b51bca6f00cf44ef392c", - "_id": "write-file-atomic@1.1.0", - "_shasum": "e114cfb8f82188353f98217c5945451c9b4dc060", - "_from": "write-file-atomic@>=1.1.0 <2.0.0", - "_npmVersion": "1.4.28", + "gitHead": "b721f8a71223bcf162f1ee4ff4677f31de1c061f", + "_id": "write-file-atomic@1.1.2", + "_shasum": "ff3d61f1c2f5bb71e8ebe491a7157bf7d60435a4", + "_from": "write-file-atomic@>=1.1.2 <1.2.0", + "_npmVersion": "2.7.6", + "_nodeVersion": "1.6.2", "_npmUser": { "name": "iarna", "email": "me@re-becca.org" }, + "dist": { + "shasum": "ff3d61f1c2f5bb71e8ebe491a7157bf7d60435a4", + "tarball": "http://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.2.tgz" + }, "maintainers": [ { "name": "iarna", "email": "me@re-becca.org" } ], - "dist": { - "shasum": "e114cfb8f82188353f98217c5945451c9b4dc060", - "tarball": "http://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.0.tgz" - }, "directories": {}, - "_resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.0.tgz" + "_resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.2.tgz" } diff --git a/deps/npm/package.json b/deps/npm/package.json index 2082ed8fbc7410..870a691b24792b 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "2.10.1", + "version": "2.11.0", "name": "npm", "description": "a package manager for JavaScript", "keywords": [ @@ -30,61 +30,61 @@ "main": "./lib/npm.js", "bin": "./bin/npm-cli.js", "dependencies": { - "abbrev": "~1.0.5", + "abbrev": "~1.0.6", "ansi": "~0.3.0", "ansi-regex": "~1.1.1", "ansicolors": "~0.3.2", "ansistyles": "~0.1.3", "archy": "~1.0.0", - "async-some": "~1.0.1", - "block-stream": "0.0.7", + "async-some": "~1.0.2", + "block-stream": "0.0.8", "char-spinner": "~1.0.1", - "chmodr": "~0.1.0", - "chownr": "0", + "chmodr": "~0.1.1", + "chownr": "0.0.2", "cmd-shim": "~2.0.1", "columnify": "~1.5.1", "config-chain": "~1.1.8", - "dezalgo": "~1.0.1", + "dezalgo": "~1.0.2", "editor": "~1.0.0", - "fs-vacuum": "~1.2.5", - "fs-write-stream-atomic": "~1.0.2", + "fs-vacuum": "~1.2.6", + "fs-write-stream-atomic": "~1.0.3", "fstream": "~1.0.6", "fstream-npm": "~1.0.2", "github-url-from-git": "~1.4.0", "github-url-from-username-repo": "~1.0.2", - "glob": "~5.0.6", - "graceful-fs": "~3.0.6", - "hosted-git-info": "~2.1.2", + "glob": "~5.0.7", + "graceful-fs": "~3.0.7", + "hosted-git-info": "~2.1.4", "inflight": "~1.0.4", "inherits": "~2.0.1", "ini": "~1.3.3", - "init-package-json": "~1.5.0", - "lockfile": "~1.0.0", - "lru-cache": "~2.6.3", - "minimatch": "~2.0.7", + "init-package-json": "~1.6.0", + "lockfile": "~1.0.1", + "lru-cache": "~2.6.4", + "minimatch": "~2.0.8", "mkdirp": "~0.5.1", "node-gyp": "~1.0.3", - "nopt": "~3.0.1", - "normalize-git-url": "~1.0.0", - "normalize-package-data": "~2.1.0", + "nopt": "~3.0.2", + "normalize-git-url": "~1.0.1", + "normalize-package-data": "~2.2.0", "npm-cache-filename": "~1.0.1", "npm-install-checks": "~1.0.5", - "npm-package-arg": "~4.0.0", - "npm-registry-client": "~6.3.3", - "npm-user-validate": "~0.1.1", - "npmlog": "~1.2.0", + "npm-package-arg": "~4.0.1", + "npm-registry-client": "~6.4.0", + "npm-user-validate": "~0.1.2", + "npmlog": "~1.2.1", "once": "~1.3.2", "opener": "~1.4.1", - "osenv": "~0.1.0", + "osenv": "~0.1.1", "path-is-inside": "~1.0.0", - "read": "~1.0.4", + "read": "~1.0.6", "read-installed": "~4.0.0", "read-package-json": "~2.0.0", "readable-stream": "~1.0.33", - "realize-package-specifier": "~3.0.0", + "realize-package-specifier": "~3.0.1", "request": "~2.55.0", "retry": "~0.6.1", - "rimraf": "~2.3.3", + "rimraf": "~2.3.4", "semver": "~4.3.4", "sha": "~1.3.0", "slide": "~1.1.6", @@ -95,9 +95,10 @@ "text-table": "~0.2.0", "uid-number": "0.0.6", "umask": "~1.1.0", + "validate-npm-package-name": "2.2.0", "which": "~1.1.1", "wrappy": "~1.0.1", - "write-file-atomic": "~1.1.0" + "write-file-atomic": "~1.1.2" }, "bundleDependencies": [ "abbrev", @@ -165,6 +166,7 @@ "text-table", "uid-number", "umask", + "validate-npm-package-name", "which", "wrappy", "write-file-atomic" @@ -173,18 +175,19 @@ "deep-equal": "~1.0.0", "marked": "~0.3.3", "marked-man": "~0.1.4", - "nock": "~2.0.1", + "nock": "~2.2.0", "npm-registry-couchapp": "~2.6.7", "npm-registry-mock": "~1.0.0", "require-inject": "~1.2.0", "sprintf-js": "~1.0.2", - "tap": "~1.0.4" + "tap": "~1.1.0" }, "scripts": { "test-legacy": "node ./test/run.js", "test": "tap --timeout 240 test/tap/*.js", "tap": "tap --timeout 240 test/tap/*.js", "test-all": "npm run test-legacy && npm test", + "preversion": "cd .. && bash scripts/update-authors.sh && git add AUTHORS && git commit -m \"update AUTHORS\" || true", "prepublish": "node bin/npm-cli.js prune --prefix=. --no-global && rimraf test/*/*/node_modules && make -j4 doc", "dumpconf": "env | grep npm | sort | uniq" }, diff --git a/deps/npm/scripts/update-authors.sh b/deps/npm/scripts/update-authors.sh index 326d21cc8c827f..75a6e549b16dd5 100755 --- a/deps/npm/scripts/update-authors.sh +++ b/deps/npm/scripts/update-authors.sh @@ -1,18 +1,9 @@ #!/bin/sh -git log --reverse --format='%aN <%aE>' | perl -we ' - +git log --reverse --format='%aN <%aE>' | perl -wnE ' BEGIN { - %seen = (), @authors = (); -} - -while (<>) { - next if $seen{$_}; - $seen{$_} = push @authors, $_; + say "# Authors sorted by whether or not they\x27re me"; } -END { - print "# Authors sorted by whether or not they'\''re me\n"; - print @authors; -} +print $seen{$_} = $_ unless $seen{$_} ' > AUTHORS diff --git a/deps/npm/test/fixtures/config/userconfig-with-gc b/deps/npm/test/fixtures/config/userconfig-with-gc index 824d492bce2730..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/npm-release/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/ignore-scripts.js b/deps/npm/test/tap/ignore-scripts.js index a446579cdfd0b7..8c0d350198a29a 100644 --- a/deps/npm/test/tap/ignore-scripts.js +++ b/deps/npm/test/tap/ignore-scripts.js @@ -37,7 +37,10 @@ var json = { poststart: 'exit 123', prerestart: 'exit 123', restart: 'exit 123', - postrestart: 'exit 123' + postrestart: 'exit 123', + preversion: 'exit 123', + version: 'exit 123', + postversion: 'exit 123' } } @@ -69,7 +72,8 @@ var scripts = [ 'pretest', 'test', 'posttest', 'prestop', 'stop', 'poststop', 'prestart', 'start', 'poststart', - 'prerestart', 'restart', 'postrestart' + 'prerestart', 'restart', 'postrestart', + 'preversion', 'version', 'postversion' ] scripts.forEach(function (script) { diff --git a/deps/npm/test/tap/scripts-whitespace-windows.js b/deps/npm/test/tap/scripts-whitespace-windows.js index d24a24d4d8a8da..f23f0625716fbb 100644 --- a/deps/npm/test/tap/scripts-whitespace-windows.js +++ b/deps/npm/test/tap/scripts-whitespace-windows.js @@ -72,7 +72,6 @@ test('setup', function (t) { }, function (err, code, stdout, stderr) { t.ifErr(err, 'npm i ' + dep + ' finished without error') t.equal(code, 0, 'npm i ' + dep + ' exited ok') - console.log('stderr', stderr) t.notOk(stderr, 'no output stderr') t.end() }) @@ -81,8 +80,7 @@ test('setup', function (t) { test('test', function (t) { common.npm(['run', 'foo'], EXEC_OPTS, function (err, code, stdout, stderr) { stderr = stderr.trim() - if (stderr) - console.error(stderr) + if (stderr) console.error(stderr) t.ifErr(err, 'npm run finished without error') t.equal(code, 0, 'npm run exited ok') t.notOk(stderr, 'no output stderr: ' + stderr) diff --git a/deps/npm/test/tap/version-no-git.js b/deps/npm/test/tap/version-no-git.js index e5a5d23467e8fd..0acd0ab6a56a04 100644 --- a/deps/npm/test/tap/version-no-git.js +++ b/deps/npm/test/tap/version-no-git.js @@ -24,7 +24,7 @@ test("npm version in a git repo without the git binary", function(t) { }) version(["patch"], function(err) { - if (err) return t.fail("Error performing version patch") + if (! t.error(err)) return t.end() var p = path.resolve(pkg, "package") var testPkg = require(p) t.equal("0.0.1", testPkg.version, "\"" + testPkg.version+"\" === \"0.0.1\"") diff --git a/deps/npm/test/tap/view.js b/deps/npm/test/tap/view.js index 5d371d63081eb3..dcfd2810115d3a 100644 --- a/deps/npm/test/tap/view.js +++ b/deps/npm/test/tap/view.js @@ -250,6 +250,63 @@ test("npm view ", function (t) { }) }) +test("npm view with invalid package name", function (t) { + var invalidName = "InvalidPackage" + obj = {} + obj["/" + invalidName] = [404, {"error": "not found"}] + + mr({port : common.port, mocks: {"get": obj}}, function (er, s) { + common.npm([ + "view" + , invalidName + , "--registry=" + common.registry + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, "view command finished successfully") + t.equal(code, 1, "exit not ok") + + t.similar(stderr, new RegExp("is not in the npm registry"), + "Package should NOT be found") + + t.dissimilar(stderr, new RegExp("use the name yourself!"), + "Suggestion should not be there") + + t.similar(stderr, new RegExp("name can no longer contain capital letters"), + "Suggestion about Capital letter should be there") + + s.close() + t.end() + }) + }) +}) + + +test("npm view with valid but non existent package name", function (t) { + mr({port : common.port, mocks: { + "get": { + "/valid-but-non-existent-package" : [404, {"error": "not found"}] + } + }}, function (er, s) { + common.npm([ + "view" + , "valid-but-non-existent-package" + , "--registry=" + common.registry + ], {}, function (err, code, stdout, stderr) { + t.ifError(err, "view command finished successfully") + t.equal(code, 1, "exit not ok") + + t.similar(stderr, + new RegExp("'valid-but-non-existent-package' is not in the npm registry\."), + "Package should NOT be found") + + t.similar(stderr, new RegExp("use the name yourself!"), + "Suggestion should be there") + + s.close() + t.end() + }) + }) +}) + test("cleanup", function (t) { process.chdir(osenv.tmpdir()) rimraf.sync(t1dir)