From: isaacs Date: Fri, 12 Jul 2013 15:55:57 +0000 (-0700) Subject: npm: Upgrade to 1.3.3 X-Git-Tag: v0.10.14~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff8a4058bfac4f360992cfe7adf04f910282cedc;p=platform%2Fupstream%2Fnodejs.git npm: Upgrade to 1.3.3 --- diff --git a/deps/npm/Makefile b/deps/npm/Makefile index 61251fb..01228c1 100644 --- a/deps/npm/Makefile +++ b/deps/npm/Makefile @@ -1,31 +1,57 @@ +# vim: set softtabstop=2 shiftwidth=2: SHELL = bash markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md +html_docdeps = html/dochead.html \ + html/docfoot.html \ + html/docfoot-script.html \ + scripts/doc-build.sh \ + package.json + cli_mandocs = $(shell find doc/cli -name '*.md' \ |sed 's|.md|.1|g' \ |sed 's|doc/cli/|man/man1/|g' ) \ - man/man1/README.1 \ - man/man1/index.1 + man/man1/npm-README.1 api_mandocs = $(shell find doc/api -name '*.md' \ |sed 's|.md|.3|g' \ |sed 's|doc/api/|man/man3/|g' ) +files_mandocs = $(shell find doc/files -name '*.md' \ + |sed 's|.md|.5|g' \ + |sed 's|doc/files/|man/man5/|g' ) \ + man/man5/npm-json.5 \ + man/man5/npm-global.5 + +misc_mandocs = $(shell find doc/misc -name '*.md' \ + |sed 's|.md|.7|g' \ + |sed 's|doc/misc/|man/man7/|g' ) \ + man/man7/index.7 + cli_htmldocs = $(shell find doc/cli -name '*.md' \ - |grep -v 'index.md' \ |sed 's|.md|.html|g' \ - |sed 's|doc/cli/|html/doc/|g' ) \ - html/doc/README.html \ - html/doc/index.html + |sed 's|doc/cli/|html/doc/cli/|g' ) \ + html/doc/README.html api_htmldocs = $(shell find doc/api -name '*.md' \ |sed 's|.md|.html|g' \ - |sed 's|doc/api/|html/api/|g' ) + |sed 's|doc/api/|html/doc/api/|g' ) + +files_htmldocs = $(shell find doc/files -name '*.md' \ + |sed 's|.md|.html|g' \ + |sed 's|doc/files/|html/doc/files/|g' ) \ + html/doc/files/npm-json.html \ + html/doc/files/npm-global.html -mandocs = $(api_mandocs) $(cli_mandocs) +misc_htmldocs = $(shell find doc/misc -name '*.md' \ + |sed 's|.md|.html|g' \ + |sed 's|doc/misc/|html/doc/misc/|g' ) \ + html/doc/index.html -htmldocs = $(api_htmldocs) $(cli_htmldocs) +mandocs = $(api_mandocs) $(cli_mandocs) $(files_mandocs) $(misc_mandocs) + +htmldocs = $(api_htmldocs) $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs) all: doc @@ -58,17 +84,14 @@ doc-clean: rm -rf \ node_modules/ronn \ node_modules/.bin/ronn \ - .building_ronn \ - doc/cli/index.md \ - doc/api/index.md \ - $(api_mandocs) \ - $(cli_mandocs) \ - $(api_htmldocs) \ - $(cli_htmldocs) \ - &>/dev/null || true + .building_ronn \ + html/doc \ + html/api \ + man/man* # use `npm install ronn` for this to work. -man/man1/README.1: README.md scripts/doc-build.sh package.json +man/man1/npm-README.1: README.md scripts/doc-build.sh package.json + @[ -d man/man1 ] || mkdir -p man/man1 scripts/doc-build.sh $< $@ man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json @@ -79,17 +102,54 @@ man/man3/%.3: doc/api/%.md scripts/doc-build.sh package.json @[ -d man/man3 ] || mkdir -p man/man3 scripts/doc-build.sh $< $@ -html/doc/README.html: README.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json +man/man5/npm-json.5: man/man5/package.json.5 + cp $< $@ + +man/man5/npm-global.5: man/man5/npm-folders.5 + cp $< $@ + +man/man5/%.5: doc/files/%.md scripts/doc-build.sh package.json + @[ -d man/man5 ] || mkdir -p man/man5 scripts/doc-build.sh $< $@ -html/doc/%.html: doc/cli/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json +doc/misc/npm-index.md: scripts/index-build.js package.json + node scripts/index-build.js > $@ + +html/doc/index.html: doc/misc/npm-index.md $(html_docdeps) + @[ -d html/doc ] || mkdir -p html/doc scripts/doc-build.sh $< $@ -html/api/%.html: doc/api/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json +man/man7/%.7: doc/misc/%.md scripts/doc-build.sh package.json + @[ -d man/man7 ] || mkdir -p man/man7 scripts/doc-build.sh $< $@ -doc/cli/index.md: $(markdowns) scripts/index-build.js scripts/doc-build.sh package.json - node scripts/index-build.js > $@ +html/doc/README.html: README.md $(html_docdeps) + @[ -d html/doc ] || mkdir -p html/doc + scripts/doc-build.sh $< $@ + +html/doc/cli/%.html: doc/cli/%.md $(html_docdeps) + @[ -d html/doc/cli ] || mkdir -p html/doc/cli + scripts/doc-build.sh $< $@ + +html/doc/api/%.html: doc/api/%.md $(html_docdeps) + @[ -d html/doc/api ] || mkdir -p html/doc/api + scripts/doc-build.sh $< $@ + +html/doc/files/npm-json.html: html/doc/files/package.json.html + cp $< $@ +html/doc/files/npm-global.html: html/doc/files/npm-folders.html + cp $< $@ + +html/doc/files/%.html: doc/files/%.md $(html_docdeps) + @[ -d html/doc/files ] || mkdir -p html/doc/files + scripts/doc-build.sh $< $@ + +html/doc/misc/%.html: doc/misc/%.md $(html_docdeps) + @[ -d html/doc/misc ] || mkdir -p html/doc/misc + scripts/doc-build.sh $< $@ + + + node_modules/.bin/ronn: node cli.js install ronn @@ -114,18 +174,36 @@ publish: link doc docpublish: doc-publish doc-publish: doc + # legacy urls + for f in $$(find html/doc/{cli,files,misc}/ -name '*.html'); do \ + j=$$(basename $$f | sed 's|^npm-||g'); \ + if ! [ -f html/doc/$$j ] && [ $$j != README.html ] && [ $$j != index.html ]; then \ + perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/doc/$$j; \ + fi; \ + done + mkdir -p html/api + for f in $$(find html/doc/api/ -name '*.html'); do \ + j=$$(basename $$f | sed 's|^npm-||g'); \ + perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/api/$$j; \ + done rsync -vazu --stats --no-implied-dirs --delete \ - html/doc/ \ - node@npmjs.org:/home/node/npm-www/doc - rsync -vazu --stats --no-implied-dirs --delete \ - html/api/ \ - node@npmjs.org:/home/node/npm-www/api + html/doc/* \ + node@npmjs.org:/home/node/npm-www/doc rsync -vazu --stats --no-implied-dirs --delete \ - html/static/webfonts/ \ - node@npmjs.org:/home/node/npm-www/static/webfonts + html/static/webfonts/ \ + node@npmjs.org:/home/node/npm-www/static/webfonts rsync -vazu --stats --no-implied-dirs --delete \ - html/static/style.css \ - node@npmjs.org:/home/node/npm-www/static/ + html/static/style.css \ + node@npmjs.org:/home/node/npm-www/static/ + #cleanup + rm -rf html/api + for f in html/doc/*.html; do \ + case $$f in \ + html/doc/README.html) continue ;; \ + html/doc/index.html) continue ;; \ + *) rm $$f ;; \ + esac; \ + done zip-publish: release scp release/* node@nodejs.org:dist/npm/ diff --git a/deps/npm/doc/api/bin.md b/deps/npm/doc/api/npm-bin.md similarity index 100% rename from deps/npm/doc/api/bin.md rename to deps/npm/doc/api/npm-bin.md diff --git a/deps/npm/doc/api/bugs.md b/deps/npm/doc/api/npm-bugs.md similarity index 100% rename from deps/npm/doc/api/bugs.md rename to deps/npm/doc/api/npm-bugs.md diff --git a/deps/npm/doc/api/commands.md b/deps/npm/doc/api/npm-commands.md similarity index 97% rename from deps/npm/doc/api/commands.md rename to deps/npm/doc/api/npm-commands.md index eb75456..36dcfd8 100644 --- a/deps/npm/doc/api/commands.md +++ b/deps/npm/doc/api/npm-commands.md @@ -19,4 +19,4 @@ usage, or `man 3 npm-` for programmatic usage. ## SEE ALSO -* npm-index(1) +* npm-index(7) diff --git a/deps/npm/doc/api/config.md b/deps/npm/doc/api/npm-config.md similarity index 100% rename from deps/npm/doc/api/config.md rename to deps/npm/doc/api/npm-config.md diff --git a/deps/npm/doc/api/deprecate.md b/deps/npm/doc/api/npm-deprecate.md similarity index 97% rename from deps/npm/doc/api/deprecate.md rename to deps/npm/doc/api/npm-deprecate.md index 0608d38..200fb9c 100644 --- a/deps/npm/doc/api/deprecate.md +++ b/deps/npm/doc/api/npm-deprecate.md @@ -31,4 +31,4 @@ To un-deprecate a package, specify an empty string (`""`) for the `message` argu * npm-publish(3) * npm-unpublish(3) -* npm-registry(1) +* npm-registry(7) diff --git a/deps/npm/doc/api/docs.md b/deps/npm/doc/api/npm-docs.md similarity index 100% rename from deps/npm/doc/api/docs.md rename to deps/npm/doc/api/npm-docs.md diff --git a/deps/npm/doc/api/edit.md b/deps/npm/doc/api/npm-edit.md similarity index 100% rename from deps/npm/doc/api/edit.md rename to deps/npm/doc/api/npm-edit.md diff --git a/deps/npm/doc/api/explore.md b/deps/npm/doc/api/npm-explore.md similarity index 100% rename from deps/npm/doc/api/explore.md rename to deps/npm/doc/api/npm-explore.md diff --git a/deps/npm/doc/api/help-search.md b/deps/npm/doc/api/npm-help-search.md similarity index 100% rename from deps/npm/doc/api/help-search.md rename to deps/npm/doc/api/npm-help-search.md diff --git a/deps/npm/doc/api/init.md b/deps/npm/doc/api/npm-init.md similarity index 98% rename from deps/npm/doc/api/init.md rename to deps/npm/doc/api/npm-init.md index 5afc11b..9b75bf7 100644 --- a/deps/npm/doc/api/init.md +++ b/deps/npm/doc/api/npm-init.md @@ -26,4 +26,4 @@ then go ahead and use this programmatically. ## SEE ALSO -npm-json(1) +package.json(5) diff --git a/deps/npm/doc/api/install.md b/deps/npm/doc/api/npm-install.md similarity index 100% rename from deps/npm/doc/api/install.md rename to deps/npm/doc/api/npm-install.md diff --git a/deps/npm/doc/api/link.md b/deps/npm/doc/api/npm-link.md similarity index 100% rename from deps/npm/doc/api/link.md rename to deps/npm/doc/api/npm-link.md diff --git a/deps/npm/doc/api/load.md b/deps/npm/doc/api/npm-load.md similarity index 100% rename from deps/npm/doc/api/load.md rename to deps/npm/doc/api/npm-load.md diff --git a/deps/npm/doc/api/ls.md b/deps/npm/doc/api/npm-ls.md similarity index 100% rename from deps/npm/doc/api/ls.md rename to deps/npm/doc/api/npm-ls.md diff --git a/deps/npm/doc/api/outdated.md b/deps/npm/doc/api/npm-outdated.md similarity index 100% rename from deps/npm/doc/api/outdated.md rename to deps/npm/doc/api/npm-outdated.md diff --git a/deps/npm/doc/api/owner.md b/deps/npm/doc/api/npm-owner.md similarity index 98% rename from deps/npm/doc/api/owner.md rename to deps/npm/doc/api/npm-owner.md index de203c0..71fcccf 100644 --- a/deps/npm/doc/api/owner.md +++ b/deps/npm/doc/api/npm-owner.md @@ -28,4 +28,4 @@ that is not implemented at this time. ## SEE ALSO * npm-publish(3) -* npm-registry(1) +* npm-registry(7) diff --git a/deps/npm/doc/api/pack.md b/deps/npm/doc/api/npm-pack.md similarity index 100% rename from deps/npm/doc/api/pack.md rename to deps/npm/doc/api/npm-pack.md diff --git a/deps/npm/doc/api/prefix.md b/deps/npm/doc/api/npm-prefix.md similarity index 100% rename from deps/npm/doc/api/prefix.md rename to deps/npm/doc/api/npm-prefix.md diff --git a/deps/npm/doc/api/prune.md b/deps/npm/doc/api/npm-prune.md similarity index 100% rename from deps/npm/doc/api/prune.md rename to deps/npm/doc/api/npm-prune.md diff --git a/deps/npm/doc/api/publish.md b/deps/npm/doc/api/npm-publish.md similarity index 97% rename from deps/npm/doc/api/publish.md rename to deps/npm/doc/api/npm-publish.md index a743303..6871daf 100644 --- a/deps/npm/doc/api/publish.md +++ b/deps/npm/doc/api/npm-publish.md @@ -25,6 +25,6 @@ the registry. Overwrites when the "force" environment variable is set. ## SEE ALSO -* npm-registry(1) +* npm-registry(7) * npm-adduser(1) * npm-owner(3) diff --git a/deps/npm/doc/api/rebuild.md b/deps/npm/doc/api/npm-rebuild.md similarity index 100% rename from deps/npm/doc/api/rebuild.md rename to deps/npm/doc/api/npm-rebuild.md diff --git a/deps/npm/doc/api/restart.md b/deps/npm/doc/api/npm-restart.md similarity index 100% rename from deps/npm/doc/api/restart.md rename to deps/npm/doc/api/npm-restart.md diff --git a/deps/npm/doc/api/root.md b/deps/npm/doc/api/npm-root.md similarity index 100% rename from deps/npm/doc/api/root.md rename to deps/npm/doc/api/npm-root.md diff --git a/deps/npm/doc/api/run-script.md b/deps/npm/doc/api/npm-run-script.md similarity index 97% rename from deps/npm/doc/api/run-script.md rename to deps/npm/doc/api/npm-run-script.md index f15900e..91ad953 100644 --- a/deps/npm/doc/api/run-script.md +++ b/deps/npm/doc/api/npm-run-script.md @@ -20,7 +20,7 @@ assumed to be the command to run. All other elements are ignored. ## SEE ALSO -* npm-scripts(1) +* npm-scripts(7) * npm-test(3) * npm-start(3) * npm-restart(3) diff --git a/deps/npm/doc/api/search.md b/deps/npm/doc/api/npm-search.md similarity index 100% rename from deps/npm/doc/api/search.md rename to deps/npm/doc/api/npm-search.md diff --git a/deps/npm/doc/api/shrinkwrap.md b/deps/npm/doc/api/npm-shrinkwrap.md similarity index 100% rename from deps/npm/doc/api/shrinkwrap.md rename to deps/npm/doc/api/npm-shrinkwrap.md diff --git a/deps/npm/doc/api/start.md b/deps/npm/doc/api/npm-start.md similarity index 100% rename from deps/npm/doc/api/start.md rename to deps/npm/doc/api/npm-start.md diff --git a/deps/npm/doc/api/stop.md b/deps/npm/doc/api/npm-stop.md similarity index 100% rename from deps/npm/doc/api/stop.md rename to deps/npm/doc/api/npm-stop.md diff --git a/deps/npm/doc/api/submodule.md b/deps/npm/doc/api/npm-submodule.md similarity index 100% rename from deps/npm/doc/api/submodule.md rename to deps/npm/doc/api/npm-submodule.md diff --git a/deps/npm/doc/api/tag.md b/deps/npm/doc/api/npm-tag.md similarity index 100% rename from deps/npm/doc/api/tag.md rename to deps/npm/doc/api/npm-tag.md diff --git a/deps/npm/doc/api/test.md b/deps/npm/doc/api/npm-test.md similarity index 100% rename from deps/npm/doc/api/test.md rename to deps/npm/doc/api/npm-test.md diff --git a/deps/npm/doc/api/uninstall.md b/deps/npm/doc/api/npm-uninstall.md similarity index 100% rename from deps/npm/doc/api/uninstall.md rename to deps/npm/doc/api/npm-uninstall.md diff --git a/deps/npm/doc/api/unpublish.md b/deps/npm/doc/api/npm-unpublish.md similarity index 100% rename from deps/npm/doc/api/unpublish.md rename to deps/npm/doc/api/npm-unpublish.md diff --git a/deps/npm/doc/api/update.md b/deps/npm/doc/api/npm-update.md similarity index 100% rename from deps/npm/doc/api/update.md rename to deps/npm/doc/api/npm-update.md diff --git a/deps/npm/doc/api/version.md b/deps/npm/doc/api/npm-version.md similarity index 100% rename from deps/npm/doc/api/version.md rename to deps/npm/doc/api/npm-version.md diff --git a/deps/npm/doc/api/view.md b/deps/npm/doc/api/npm-view.md similarity index 100% rename from deps/npm/doc/api/view.md rename to deps/npm/doc/api/npm-view.md diff --git a/deps/npm/doc/api/whoami.md b/deps/npm/doc/api/npm-whoami.md similarity index 100% rename from deps/npm/doc/api/whoami.md rename to deps/npm/doc/api/npm-whoami.md diff --git a/deps/npm/doc/api/npm.md b/deps/npm/doc/api/npm.md index 8c7a816..e099320 100644 --- a/deps/npm/doc/api/npm.md +++ b/deps/npm/doc/api/npm.md @@ -30,11 +30,11 @@ If you provide `configObject` as an object hash of top-level configs, they override the values stored in the various config locations. In the npm command line client, this set of configs is parsed from the command line options. Additional configuration -params are loaded from two configuration files. See `npm-config(1)` -for more information. +params are loaded from two configuration files. See `npm-config(1)`, +`npm-config(7)`, and `npmrc(5)` for more information. After that, each of the functions are accessible in the -commands object: `npm.commands.`. See `npm-index(1)` for a list of +commands object: `npm.commands.`. See `npm-index(7)` for a list of all possible commands. All commands on the command object take an **array** of positional argument diff --git a/deps/npm/doc/cli/changelog.md b/deps/npm/doc/cli/changelog.md deleted file mode 100644 index 64feeac..0000000 --- a/deps/npm/doc/cli/changelog.md +++ /dev/null @@ -1,80 +0,0 @@ -npm-changelog(1) -- Changes -=========================== - -## HISTORY - -### 1.1.3, 1.1.4 - -* Update request to support HTTPS-over-HTTP proxy tunneling -* Throw on undefined envs in config settings -* Update which to 1.0.5 -* Fix windows UNC busyloop in findPrefix -* Bundle nested bundleDependencies properly -* Alias adduser to add-user -* Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny) -* ignore logfd/outfd streams in makeEnv() (Rod Vagg) -* shrinkwrap: Behave properly with url-installed deps -* install: Support --save with url install targets -* Support installing naked tars or single-file modules from urls etc. -* init: Don't add engines section -* Don't run make clean on rebuild -* Added missing unicode replacement (atomizer) - -### 1.1.2 - -Dave Pacheco (2): - add "npm shrinkwrap" - -Martin Cooper (1): - Fix #1753 Make a copy of the cached objects we'll modify. - -Tim Oxley (1): - correctly remove readme from default npm view command. - -Tyler Green (1): - fix #2187 set terminal columns to Infinity if 0 - -isaacs (19): - update minimatch - update request - Experimental: single-file modules - Fix #2172 Don't remove global mans uninstalling local pkgs - Add --versions flag to show the version of node as well - Support --json flag for ls output - update request to 2.9.151 - -### 1.1 -* Replace system tar dependency with a JS tar -* Continue to refine - -### 1.0 -* Greatly simplified folder structure -* Install locally (bundle by default) -* Drastic rearchitecture - -### 0.3 -* More correct permission/uid handling when running as root -* Require node 0.4.0 -* Reduce featureset -* Packages without "main" modules don't export modules -* Remove support for invalid JSON (since node doesn't support it) - -### 0.2 -* First allegedly "stable" release -* Most functionality implemented -* Used shim files and `name@version` symlinks -* Feature explosion -* Kind of a mess - -### 0.1 -* push to beta, and announce -* Solaris and Cygwin support - -### 0.0 -* Lots of sketches and false starts; abandoned a few times -* Core functionality established - -## SEE ALSO - -* npm(1) -* npm-faq(1) diff --git a/deps/npm/doc/cli/global.md b/deps/npm/doc/cli/global.md deleted file mode 100644 index 2035861..0000000 --- a/deps/npm/doc/cli/global.md +++ /dev/null @@ -1,209 +0,0 @@ -npm-folders(1) -- Folder Structures Used by npm -=============================================== - -## DESCRIPTION - -npm puts various things on your computer. That's its job. - -This document will tell you what it puts where. - -### tl;dr - -* Local install (default): puts stuff in `./node_modules` of the current - package root. -* Global install (with `-g`): puts stuff in /usr/local or wherever node - is installed. -* Install it **locally** if you're going to `require()` it. -* Install it **globally** if you're going to run it on the command line. -* If you need both, then install it in both places, or use `npm link`. - -### prefix Configuration - -The `prefix` config defaults to the location where node is installed. -On most systems, this is `/usr/local`, and most of the time is the same -as node's `process.installPrefix`. - -On windows, this is the exact location of the node.exe binary. On Unix -systems, it's one level up, since node is typically installed at -`{prefix}/bin/node` rather than `{prefix}/node.exe`. - -When the `global` flag is set, npm installs things into this prefix. -When it is not set, it uses the root of the current package, or the -current working directory if not in a package already. - -### Node Modules - -Packages are dropped into the `node_modules` folder under the `prefix`. -When installing locally, this means that you can -`require("packagename")` to load its main module, or -`require("packagename/lib/path/to/sub/module")` to load other modules. - -Global installs on Unix systems go to `{prefix}/lib/node_modules`. -Global installs on Windows go to `{prefix}/node_modules` (that is, no -`lib` folder.) - -If you wish to `require()` a package, then install it locally. - -### Executables - -When in global mode, executables are linked into `{prefix}/bin` on Unix, -or directly into `{prefix}` on Windows. - -When in local mode, executables are linked into -`./node_modules/.bin` so that they can be made available to scripts run -through npm. (For example, so that a test runner will be in the path -when you run `npm test`.) - -### Man Pages - -When in global mode, man pages are linked into `{prefix}/share/man`. - -When in local mode, man pages are not installed. - -Man pages are not installed on Windows systems. - -### Cache - -See `npm-cache(1)`. Cache files are stored in `~/.npm` on Posix, or -`~/npm-cache` on Windows. - -This is controlled by the `cache` configuration param. - -### Temp Files - -Temporary files are stored by default in the folder specified by the -`tmp` config, which defaults to the TMPDIR, TMP, or TEMP environment -variables, or `/tmp` on Unix and `c:\windows\temp` on Windows. - -Temp files are given a unique folder under this root for each run of the -program, and are deleted upon successful exit. - -## More Information - -When installing locally, npm first tries to find an appropriate -`prefix` folder. This is so that `npm install foo@1.2.3` will install -to the sensible root of your package, even if you happen to have `cd`ed -into some other folder. - -Starting at the $PWD, npm will walk up the folder tree checking for a -folder that contains either a `package.json` file, or a `node_modules` -folder. If such a thing is found, then that is treated as the effective -"current directory" for the purpose of running npm commands. (This -behavior is inspired by and similar to git's .git-folder seeking -logic when running git commands in a working dir.) - -If no package root is found, then the current folder is used. - -When you run `npm install foo@1.2.3`, then the package is loaded into -the cache, and then unpacked into `./node_modules/foo`. Then, any of -foo's dependencies are similarly unpacked into -`./node_modules/foo/node_modules/...`. - -Any bin files are symlinked to `./node_modules/.bin/`, so that they may -be found by npm scripts when necessary. - -### Global Installation - -If the `global` configuration is set to true, then npm will -install packages "globally". - -For global installation, packages are installed roughly the same way, -but using the folders described above. - -### Cycles, Conflicts, and Folder Parsimony - -Cycles are handled using the property of node's module system that it -walks up the directories looking for `node_modules` folders. So, at every -stage, if a package is already installed in an ancestor `node_modules` -folder, then it is not installed at the current location. - -Consider the case above, where `foo -> bar -> baz`. Imagine if, in -addition to that, baz depended on bar, so you'd have: -`foo -> bar -> baz -> bar -> baz ...`. However, since the folder -structure is: `foo/node_modules/bar/node_modules/baz`, there's no need to -put another copy of bar into `.../baz/node_modules`, since when it calls -require("bar"), it will get the copy that is installed in -`foo/node_modules/bar`. - -This shortcut is only used if the exact same -version would be installed in multiple nested `node_modules` folders. It -is still possible to have `a/node_modules/b/node_modules/a` if the two -"a" packages are different versions. However, without repeating the -exact same package multiple times, an infinite regress will always be -prevented. - -Another optimization can be made by installing dependencies at the -highest level possible, below the localized "target" folder. - -#### Example - -Consider this dependency graph: - - foo - +-- blerg@1.2.5 - +-- bar@1.2.3 - | +-- blerg@1.x (latest=1.3.7) - | +-- baz@2.x - | | `-- quux@3.x - | | `-- bar@1.2.3 (cycle) - | `-- asdf@* - `-- baz@1.2.3 - `-- quux@3.x - `-- bar - -In this case, we might expect a folder structure like this: - - foo - +-- node_modules - +-- blerg (1.2.5) <---[A] - +-- bar (1.2.3) <---[B] - | +-- node_modules - | | `-- baz (2.0.2) <---[C] - | | `-- node_modules - | | `-- quux (3.2.0) - | `-- asdf (2.3.4) - `-- baz (1.2.3) <---[D] - `-- node_modules - `-- quux (3.2.0) <---[E] - -Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are -installed in foo's `node_modules` folder. - -Even though the latest copy of blerg is 1.3.7, foo has a specific -dependency on version 1.2.5. So, that gets installed at [A]. Since the -parent installation of blerg satisfie's bar's dependency on blerg@1.x, -it does not install another copy under [B]. - -Bar [B] also has dependencies on baz and asdf, so those are installed in -bar's `node_modules` folder. Because it depends on `baz@2.x`, it cannot -re-use the `baz@1.2.3` installed in the parent `node_modules` folder [D], -and must install its own copy [C]. - -Underneath bar, the `baz->quux->bar` dependency creates a cycle. -However, because `bar` is already in `quux`'s ancestry [B], it does not -unpack another copy of bar into that folder. - -Underneath `foo->baz` [D], quux's [E] folder tree is empty, because its -dependency on bar is satisfied by the parent folder copy installed at [B]. - -For a graphical breakdown of what is installed where, use `npm ls`. - -### Publishing - -Upon publishing, npm will look in the `node_modules` folder. If any of -the items there are not in the `bundledDependencies` array, then they will -not be included in the package tarball. - -This allows a package maintainer to install all of their dependencies -(and dev dependencies) locally, but only re-publish those items that -cannot be found elsewhere. See `npm-json(1)` for more information. - -## SEE ALSO - -* npm-faq(1) -* npm-json(1) -* npm-install(1) -* npm-pack(1) -* npm-cache(1) -* npm-config(1) -* npm-publish(1) diff --git a/deps/npm/doc/cli/index.md b/deps/npm/doc/cli/index.md deleted file mode 100644 index 903812d..0000000 --- a/deps/npm/doc/cli/index.md +++ /dev/null @@ -1,393 +0,0 @@ -npm-index(1) -- Index of all npm documentation -============================================== - -## npm-README(1) - - node package manager - -# Command Line Documentation -## npm-adduser(1) - - Add a registry user account - -## npm-bin(1) - - Display npm bin folder - -## npm-bugs(1) - - Bugs for a package in a web browser maybe - -## npm-build(1) - - Build a package - -## npm-bundle(1) - - REMOVED - -## npm-cache(1) - - Manipulates packages cache - -## npm-changelog(1) - - Changes - -## npm-coding-style(1) - - npm's "funny" coding style - -## npm-completion(1) - - Tab Completion for npm - -## npm-config(1) - - Manage the npm configuration file - -## npm-dedupe(1) - - Reduce duplication - -## npm-deprecate(1) - - Deprecate a version of a package - -## npm-developers(1) - - Developer Guide - -## npm-disputes(1) - - Handling Module Name Disputes - -## npm-docs(1) - - Docs for a package in a web browser maybe - -## npm-edit(1) - - Edit an installed package - -## npm-explore(1) - - Browse an installed package - -## npm-faq(1) - - Frequently Asked Questions - -## npm-folders(1) - - Folder Structures Used by npm - -## npm-global(1) - - Folder Structures Used by npm - -## npm-help-search(1) - - Search npm help documentation - -## npm-help(1) - - Get help on npm - -## npm-init(1) - - Interactively create a package.json file - -## npm-install(1) - - Install a package - -## npm-json(1) - - Specifics of npm's package.json handling - -## npm-link(1) - - Symlink a package folder - -## npm-ls(1) - - List installed packages - -## npm-npm(1) - - node package manager - -## npm-outdated(1) - - Check for outdated packages - -## npm-owner(1) - - Manage package owners - -## npm-pack(1) - - Create a tarball from a package - -## npm-prefix(1) - - Display prefix - -## npm-prune(1) - - Remove extraneous packages - -## npm-publish(1) - - Publish a package - -## npm-rebuild(1) - - Rebuild a package - -## npm-registry(1) - - The JavaScript Package Registry - -## npm-removing-npm(1) - - Cleaning the Slate - -## npm-restart(1) - - Start a package - -## npm-rm(1) - - Remove a package - -## npm-root(1) - - Display npm root - -## npm-run-script(1) - - Run arbitrary package scripts - -## npm-scripts(1) - - How npm handles the "scripts" field - -## npm-search(1) - - Search for packages - -## npm-semver(1) - - The semantic versioner for npm - -## npm-shrinkwrap(1) - - Lock down dependency versions - -## npm-star(1) - - Mark your favorite packages - -## npm-stars(1) - - View packages marked as favorites - -## npm-start(1) - - Start a package - -## npm-stop(1) - - Stop a package - -## npm-submodule(1) - - Add a package as a git submodule - -## npm-tag(1) - - Tag a published version - -## npm-test(1) - - Test a package - -## npm-uninstall(1) - - Remove a package - -## npm-unpublish(1) - - Remove a package from the registry - -## npm-update(1) - - Update a package - -## npm-version(1) - - Bump a package version - -## npm-view(1) - - View registry info - -## npm-whoami(1) - - Display npm username - -# API Documentation -## npm-bin(3) - - Display npm bin folder - -## npm-bugs(3) - - Bugs for a package in a web browser maybe - -## npm-commands(3) - - npm commands - -## npm-config(3) - - Manage the npm configuration files - -## npm-deprecate(3) - - Deprecate a version of a package - -## npm-docs(3) - - Docs for a package in a web browser maybe - -## npm-edit(3) - - Edit an installed package - -## npm-explore(3) - - Browse an installed package - -## npm-help-search(3) - - Search the help pages - -## npm-init(3) - - Interactively create a package.json file - -## npm-install(3) - - install a package programmatically - -## npm-link(3) - - Symlink a package folder - -## npm-load(3) - - Load config settings - -## npm-ls(3) - - List installed packages - -## npm-npm(3) - - node package manager - -## npm-outdated(3) - - Check for outdated packages - -## npm-owner(3) - - Manage package owners - -## npm-pack(3) - - Create a tarball from a package - -## npm-prefix(3) - - Display prefix - -## npm-prune(3) - - Remove extraneous packages - -## npm-publish(3) - - Publish a package - -## npm-rebuild(3) - - Rebuild a package - -## npm-restart(3) - - Start a package - -## npm-root(3) - - Display npm root - -## npm-run-script(3) - - Run arbitrary package scripts - -## npm-search(3) - - Search for packages - -## npm-shrinkwrap(3) - - programmatically generate package shrinkwrap file - -## npm-start(3) - - Start a package - -## npm-stop(3) - - Stop a package - -## npm-submodule(3) - - Add a package as a git submodule - -## npm-tag(3) - - Tag a published version - -## npm-test(3) - - Test a package - -## npm-uninstall(3) - - uninstall a package programmatically - -## npm-unpublish(3) - - Remove a package from the registry - -## npm-update(3) - - Update a package - -## npm-version(3) - - Bump a package version - -## npm-view(3) - - View registry info - -## npm-whoami(3) - - Display npm username - diff --git a/deps/npm/doc/cli/adduser.md b/deps/npm/doc/cli/npm-adduser.md similarity index 94% rename from deps/npm/doc/cli/adduser.md rename to deps/npm/doc/cli/npm-adduser.md index 51aa6f6..ee5c3bd 100644 --- a/deps/npm/doc/cli/adduser.md +++ b/deps/npm/doc/cli/npm-adduser.md @@ -30,7 +30,9 @@ The base URL of the npm package registry. ## SEE ALSO -* npm-registry(1) +* npm-registry(7) * npm-config(1) +* npm-config(7) +* npmrc(5) * npm-owner(1) * npm-whoami(1) diff --git a/deps/npm/doc/cli/bin.md b/deps/npm/doc/cli/npm-bin.md similarity index 83% rename from deps/npm/doc/cli/bin.md rename to deps/npm/doc/cli/npm-bin.md index 2c2e7c4..49d209d 100644 --- a/deps/npm/doc/cli/bin.md +++ b/deps/npm/doc/cli/npm-bin.md @@ -13,5 +13,7 @@ Print the folder where npm will install executables. * npm-prefix(1) * npm-root(1) -* npm-folders(1) +* npm-folders(7) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/bugs.md b/deps/npm/doc/cli/npm-bugs.md similarity index 91% rename from deps/npm/doc/cli/bugs.md rename to deps/npm/doc/cli/npm-bugs.md index 45ee84b..2a7dae9 100644 --- a/deps/npm/doc/cli/bugs.md +++ b/deps/npm/doc/cli/npm-bugs.md @@ -33,6 +33,8 @@ The base URL of the npm package registry. * npm-docs(1) * npm-view(1) * npm-publish(1) -* npm-registry(1) +* npm-registry(7) * npm-config(1) -* npm-json(1) +* npm-config(7) +* npmrc(5) +* package.json(5) diff --git a/deps/npm/doc/cli/build.md b/deps/npm/doc/cli/npm-build.md similarity index 91% rename from deps/npm/doc/cli/build.md rename to deps/npm/doc/cli/npm-build.md index 978f4a6..53813c1 100644 --- a/deps/npm/doc/cli/build.md +++ b/deps/npm/doc/cli/npm-build.md @@ -18,5 +18,5 @@ It should generally not be called directly. * npm-install(1) * npm-link(1) -* npm-scripts(1) -* npm-json(1) +* npm-scripts(7) +* package.json(5) diff --git a/deps/npm/doc/cli/bundle.md b/deps/npm/doc/cli/npm-bundle.md similarity index 100% rename from deps/npm/doc/cli/bundle.md rename to deps/npm/doc/cli/npm-bundle.md diff --git a/deps/npm/doc/cli/cache.md b/deps/npm/doc/cli/npm-cache.md similarity index 97% rename from deps/npm/doc/cli/cache.md rename to deps/npm/doc/cli/npm-cache.md index 1fa128a..195c4aa 100644 --- a/deps/npm/doc/cli/cache.md +++ b/deps/npm/doc/cli/npm-cache.md @@ -63,8 +63,10 @@ The root cache folder. ## SEE ALSO -* npm-folders(1) +* npm-folders(7) * npm-config(1) +* npm-config(7) +* npmrc(5) * npm-install(1) * npm-publish(1) * npm-pack(1) diff --git a/deps/npm/doc/cli/completion.md b/deps/npm/doc/cli/npm-completion.md similarity index 95% rename from deps/npm/doc/cli/completion.md rename to deps/npm/doc/cli/npm-completion.md index 48bc50f..bec0f60 100644 --- a/deps/npm/doc/cli/completion.md +++ b/deps/npm/doc/cli/npm-completion.md @@ -24,6 +24,6 @@ completions based on the arguments. ## SEE ALSO -* npm-developers(1) -* npm-faq(1) +* npm-developers(7) +* npm-faq(7) * npm(1) diff --git a/deps/npm/doc/cli/npm-config.md b/deps/npm/doc/cli/npm-config.md new file mode 100644 index 0000000..119840e --- /dev/null +++ b/deps/npm/doc/cli/npm-config.md @@ -0,0 +1,70 @@ +npm-config(1) -- Manage the npm configuration files +=================================================== + +## SYNOPSIS + + npm config set [--global] + npm config get + npm config delete + npm config list + npm config edit + npm get + npm set [--global] + +## DESCRIPTION + +npm gets its config settings from the command line, environment +variables, `npmrc` files, and in some cases, the `package.json` file. + +See npmrc(5) for more information about the npmrc files. + +See `npm-config(7)` for a more thorough discussion of the mechanisms +involved. + +The `npm config` command can be used to update and edit the contents +of the user and global npmrc files. + +## Sub-commands + +Config supports the following sub-commands: + +### set + + npm config set key value + +Sets the config key to the value. + +If value is omitted, then it sets it to "true". + +### get + + npm config get key + +Echo the config value to stdout. + +### list + + npm config list + +Show all the config settings. + +### delete + + npm config delete key + +Deletes the key from all configuration files. + +### edit + + npm config edit + +Opens the config file in an editor. Use the `--global` flag to edit the +global config. + +## SEE ALSO + +* npm-folders(5) +* npm-config(7) +* package.json(5) +* npmrc(5) +* npm(1) diff --git a/deps/npm/doc/cli/dedupe.md b/deps/npm/doc/cli/npm-dedupe.md similarity index 100% rename from deps/npm/doc/cli/dedupe.md rename to deps/npm/doc/cli/npm-dedupe.md diff --git a/deps/npm/doc/cli/deprecate.md b/deps/npm/doc/cli/npm-deprecate.md similarity index 97% rename from deps/npm/doc/cli/deprecate.md rename to deps/npm/doc/cli/npm-deprecate.md index c45245f..e625793 100644 --- a/deps/npm/doc/cli/deprecate.md +++ b/deps/npm/doc/cli/npm-deprecate.md @@ -23,4 +23,4 @@ To un-deprecate a package, specify an empty string (`""`) for the `message` argu ## SEE ALSO * npm-publish(1) -* npm-registry(1) +* npm-registry(7) diff --git a/deps/npm/doc/cli/docs.md b/deps/npm/doc/cli/npm-docs.md similarity index 91% rename from deps/npm/doc/cli/docs.md rename to deps/npm/doc/cli/npm-docs.md index 28fa491..cc39e82 100644 --- a/deps/npm/doc/cli/docs.md +++ b/deps/npm/doc/cli/npm-docs.md @@ -33,6 +33,8 @@ The base URL of the npm package registry. * npm-view(1) * npm-publish(1) -* npm-registry(1) +* npm-registry(7) * npm-config(1) -* npm-json(1) +* npm-config(7) +* npmrc(5) +* package.json(5) diff --git a/deps/npm/doc/cli/edit.md b/deps/npm/doc/cli/npm-edit.md similarity index 87% rename from deps/npm/doc/cli/edit.md rename to deps/npm/doc/cli/npm-edit.md index 9eaccfc..d833bc0 100644 --- a/deps/npm/doc/cli/edit.md +++ b/deps/npm/doc/cli/npm-edit.md @@ -8,7 +8,7 @@ npm-edit(1) -- Edit an installed package ## DESCRIPTION Opens the package folder in the default editor (or whatever you've -configured as the npm `editor` config -- see `npm-config(1)`.) +configured as the npm `editor` config -- see `npm-config(7)`.) After it has been edited, the package is rebuilt so as to pick up any changes in compiled packages. @@ -29,7 +29,9 @@ The command to run for `npm edit` or `npm config edit`. ## SEE ALSO -* npm-folders(1) +* npm-folders(7) * npm-explore(1) * npm-install(1) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/explore.md b/deps/npm/doc/cli/npm-explore.md similarity index 98% rename from deps/npm/doc/cli/explore.md rename to deps/npm/doc/cli/npm-explore.md index 00701b3..51846f5 100644 --- a/deps/npm/doc/cli/explore.md +++ b/deps/npm/doc/cli/npm-explore.md @@ -33,7 +33,7 @@ The shell to run for the `npm explore` command. ## SEE ALSO * npm-submodule(1) -* npm-folders(1) +* npm-folders(7) * npm-edit(1) * npm-rebuild(1) * npm-build(1) diff --git a/deps/npm/doc/cli/help-search.md b/deps/npm/doc/cli/npm-help-search.md similarity index 98% rename from deps/npm/doc/cli/help-search.md rename to deps/npm/doc/cli/npm-help-search.md index 9c16901..7bf7401 100644 --- a/deps/npm/doc/cli/help-search.md +++ b/deps/npm/doc/cli/npm-help-search.md @@ -31,5 +31,5 @@ If false, then help-search will just list out the help topics found. ## SEE ALSO * npm(1) -* npm-faq(1) +* npm-faq(7) * npm-help(1) diff --git a/deps/npm/doc/cli/help.md b/deps/npm/doc/cli/npm-help.md similarity index 89% rename from deps/npm/doc/cli/help.md rename to deps/npm/doc/cli/npm-help.md index b51b0f1..7a7eadf 100644 --- a/deps/npm/doc/cli/help.md +++ b/deps/npm/doc/cli/npm-help.md @@ -30,9 +30,11 @@ Set to `"browser"` to view html help content in the default web browser. * npm(1) * README -* npm-faq(1) -* npm-folders(1) +* npm-faq(7) +* npm-folders(7) * npm-config(1) -* npm-json(1) +* npm-config(7) +* npmrc(5) +* package.json(5) * npm-help-search(1) -* npm-index(1) +* npm-index(7) diff --git a/deps/npm/doc/cli/init.md b/deps/npm/doc/cli/npm-init.md similarity index 97% rename from deps/npm/doc/cli/init.md rename to deps/npm/doc/cli/npm-init.md index d036f92..bd63a88 100644 --- a/deps/npm/doc/cli/init.md +++ b/deps/npm/doc/cli/npm-init.md @@ -21,5 +21,5 @@ without a really good reason to do so. ## SEE ALSO * -* npm-json(1) +* package.json(5) * npm-version(1) diff --git a/deps/npm/doc/cli/install.md b/deps/npm/doc/cli/npm-install.md similarity index 95% rename from deps/npm/doc/cli/install.md rename to deps/npm/doc/cli/npm-install.md index 44885f3..f460f2c 100644 --- a/deps/npm/doc/cli/install.md +++ b/deps/npm/doc/cli/npm-install.md @@ -70,7 +70,7 @@ after packing it up into a tarball (b). * `npm install [--save|--save-dev|--save-optional]`: Do a `@` install, where `` is the "tag" config. (See - `npm-config(1)`.) + `npm-config(7)`.) In most cases, this will install the latest version of the module published on npm. @@ -121,7 +121,7 @@ after packing it up into a tarball (b). * `npm install @`: Install a version of the package matching the specified version range. This - will follow the same rules for resolving dependencies described in `npm-json(1)`. + will follow the same rules for resolving dependencies described in `package.json(5)`. Note that most version ranges must be put in quotes so that your shell will treat it as a single argument. @@ -160,7 +160,7 @@ local copy exists on disk. npm install sax --force The `--global` argument will cause npm to install the package globally -rather than locally. See `npm-folders(1)`. +rather than locally. See `npm-folders(7)`. The `--link` argument will cause npm to link global installs into the local space in some cases. @@ -174,7 +174,7 @@ shrinkwrap file and use the package.json instead. The `--nodedir=/path/to/node/source` argument will allow npm to find the node source code so that npm can compile native modules. -See `npm-config(1)`. Many of the configuration params have some +See `npm-config(7)`. Many of the configuration params have some effect on installation, since that's most of what npm does. ## ALGORITHM @@ -202,7 +202,7 @@ this algorithm produces: That is, the dependency from B to C is satisfied by the fact that A already caused C to be installed at a higher level. -See npm-folders(1) for a more detailed description of the specific +See npm-folders(7) for a more detailed description of the specific folder structures that npm creates. ### Limitations of npm's Install Algorithm @@ -228,15 +228,17 @@ affects a real use-case, it will be investigated. ## SEE ALSO -* npm-folders(1) +* npm-folders(7) * npm-update(1) * npm-link(1) * npm-rebuild(1) -* npm-scripts(1) +* npm-scripts(7) * npm-build(1) * npm-config(1) -* npm-registry(1) -* npm-folders(1) +* npm-config(7) +* npmrc(5) +* npm-registry(7) +* npm-folders(7) * npm-tag(1) * npm-rm(1) * npm-shrinkwrap(1) diff --git a/deps/npm/doc/cli/link.md b/deps/npm/doc/cli/npm-link.md similarity index 94% rename from deps/npm/doc/cli/link.md rename to deps/npm/doc/cli/npm-link.md index 4e4ef79..65476d5 100644 --- a/deps/npm/doc/cli/link.md +++ b/deps/npm/doc/cli/npm-link.md @@ -52,9 +52,11 @@ installation target into your project's `node_modules` folder. ## SEE ALSO -* npm-developers(1) -* npm-faq(1) -* npm-json(1) +* npm-developers(7) +* npm-faq(7) +* package.json(5) * npm-install(1) -* npm-folders(1) +* npm-folders(7) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/ls.md b/deps/npm/doc/cli/npm-ls.md similarity index 97% rename from deps/npm/doc/cli/ls.md rename to deps/npm/doc/cli/npm-ls.md index 9b69b85..7f1fda6 100644 --- a/deps/npm/doc/cli/ls.md +++ b/deps/npm/doc/cli/npm-ls.md @@ -64,7 +64,9 @@ project. ## SEE ALSO * npm-config(1) -* npm-folders(1) +* npm-config(7) +* npmrc(5) +* npm-folders(7) * npm-install(1) * npm-link(1) * npm-prune(1) diff --git a/deps/npm/doc/cli/outdated.md b/deps/npm/doc/cli/npm-outdated.md similarity index 89% rename from deps/npm/doc/cli/outdated.md rename to deps/npm/doc/cli/npm-outdated.md index 78df4a8..b82b666 100644 --- a/deps/npm/doc/cli/outdated.md +++ b/deps/npm/doc/cli/npm-outdated.md @@ -13,5 +13,5 @@ packages are currently outdated. ## SEE ALSO * npm-update(1) -* npm-registry(1) -* npm-folders(1) +* npm-registry(7) +* npm-folders(7) diff --git a/deps/npm/doc/cli/owner.md b/deps/npm/doc/cli/npm-owner.md similarity index 96% rename from deps/npm/doc/cli/owner.md rename to deps/npm/doc/cli/npm-owner.md index 902e083..b400f76 100644 --- a/deps/npm/doc/cli/owner.md +++ b/deps/npm/doc/cli/npm-owner.md @@ -28,6 +28,6 @@ that is not implemented at this time. ## SEE ALSO * npm-publish(1) -* npm-registry(1) +* npm-registry(7) * npm-adduser(1) -* npm-disputes(1) +* npm-disputes(7) diff --git a/deps/npm/doc/cli/pack.md b/deps/npm/doc/cli/npm-pack.md similarity index 96% rename from deps/npm/doc/cli/pack.md rename to deps/npm/doc/cli/npm-pack.md index 98d8c81..42bc156 100644 --- a/deps/npm/doc/cli/pack.md +++ b/deps/npm/doc/cli/npm-pack.md @@ -23,3 +23,5 @@ If no arguments are supplied, then npm packs the current package folder. * npm-cache(1) * npm-publish(1) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/prefix.md b/deps/npm/doc/cli/npm-prefix.md similarity index 82% rename from deps/npm/doc/cli/prefix.md rename to deps/npm/doc/cli/npm-prefix.md index f6247ca..8d88737 100644 --- a/deps/npm/doc/cli/prefix.md +++ b/deps/npm/doc/cli/npm-prefix.md @@ -13,5 +13,7 @@ Print the prefix to standard out. * npm-root(1) * npm-bin(1) -* npm-folders(1) +* npm-folders(7) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/prune.md b/deps/npm/doc/cli/npm-prune.md similarity index 96% rename from deps/npm/doc/cli/prune.md rename to deps/npm/doc/cli/npm-prune.md index 8c4b957..292bacc 100644 --- a/deps/npm/doc/cli/prune.md +++ b/deps/npm/doc/cli/npm-prune.md @@ -17,5 +17,5 @@ package's dependencies list. ## SEE ALSO * npm-rm(1) -* npm-folders(1) +* npm-folders(7) * npm-list(1) diff --git a/deps/npm/doc/cli/publish.md b/deps/npm/doc/cli/npm-publish.md similarity index 97% rename from deps/npm/doc/cli/publish.md rename to deps/npm/doc/cli/npm-publish.md index 621932f..d849c28 100644 --- a/deps/npm/doc/cli/publish.md +++ b/deps/npm/doc/cli/npm-publish.md @@ -23,7 +23,7 @@ the registry. Overwrites when the "--force" flag is set. ## SEE ALSO -* npm-registry(1) +* npm-registry(7) * npm-adduser(1) * npm-owner(1) * npm-deprecate(1) diff --git a/deps/npm/doc/cli/rebuild.md b/deps/npm/doc/cli/npm-rebuild.md similarity index 100% rename from deps/npm/doc/cli/rebuild.md rename to deps/npm/doc/cli/npm-rebuild.md diff --git a/deps/npm/doc/cli/restart.md b/deps/npm/doc/cli/npm-restart.md similarity index 96% rename from deps/npm/doc/cli/restart.md rename to deps/npm/doc/cli/npm-restart.md index 6139dbe..4661d6b 100644 --- a/deps/npm/doc/cli/restart.md +++ b/deps/npm/doc/cli/npm-restart.md @@ -16,7 +16,7 @@ If no version is specified, then it restarts the "active" version. ## SEE ALSO * npm-run-script(1) -* npm-scripts(1) +* npm-scripts(7) * npm-test(1) * npm-start(1) * npm-stop(1) diff --git a/deps/npm/doc/cli/rm.md b/deps/npm/doc/cli/npm-rm.md similarity index 86% rename from deps/npm/doc/cli/rm.md rename to deps/npm/doc/cli/npm-rm.md index f7f743f..7839d9d 100644 --- a/deps/npm/doc/cli/rm.md +++ b/deps/npm/doc/cli/npm-rm.md @@ -15,5 +15,7 @@ on its behalf. * npm-prune(1) * npm-install(1) -* npm-folders(1) +* npm-folders(7) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/root.md b/deps/npm/doc/cli/npm-root.md similarity index 83% rename from deps/npm/doc/cli/root.md rename to deps/npm/doc/cli/npm-root.md index 3e41995..3467331 100644 --- a/deps/npm/doc/cli/root.md +++ b/deps/npm/doc/cli/npm-root.md @@ -13,5 +13,7 @@ Print the effective `node_modules` folder to standard out. * npm-prefix(1) * npm-bin(1) -* npm-folders(1) +* npm-folders(7) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/run-script.md b/deps/npm/doc/cli/npm-run-script.md similarity index 95% rename from deps/npm/doc/cli/run-script.md rename to deps/npm/doc/cli/npm-run-script.md index 41ef5e7..6c3c2b7 100644 --- a/deps/npm/doc/cli/run-script.md +++ b/deps/npm/doc/cli/npm-run-script.md @@ -14,7 +14,7 @@ called directly, as well. ## SEE ALSO -* npm-scripts(1) +* npm-scripts(7) * npm-test(1) * npm-start(1) * npm-restart(1) diff --git a/deps/npm/doc/cli/search.md b/deps/npm/doc/cli/npm-search.md similarity index 90% rename from deps/npm/doc/cli/search.md rename to deps/npm/doc/cli/npm-search.md index e9e408c..ae71959 100644 --- a/deps/npm/doc/cli/search.md +++ b/deps/npm/doc/cli/npm-search.md @@ -15,6 +15,8 @@ expression characters must be escaped or quoted in most shells.) ## SEE ALSO -* npm-registry(1) +* npm-registry(7) * npm-config(1) +* npm-config(7) +* npmrc(5) * npm-view(1) diff --git a/deps/npm/doc/cli/shrinkwrap.md b/deps/npm/doc/cli/npm-shrinkwrap.md similarity index 99% rename from deps/npm/doc/cli/shrinkwrap.md rename to deps/npm/doc/cli/npm-shrinkwrap.md index f0b83d5..0ecf644 100644 --- a/deps/npm/doc/cli/shrinkwrap.md +++ b/deps/npm/doc/cli/npm-shrinkwrap.md @@ -181,5 +181,5 @@ contents rather than versions. ## SEE ALSO * npm-install(1) -* npm-json(1) +* package.json(5) * npm-list(1) diff --git a/deps/npm/doc/cli/star.md b/deps/npm/doc/cli/npm-star.md similarity index 100% rename from deps/npm/doc/cli/star.md rename to deps/npm/doc/cli/npm-star.md diff --git a/deps/npm/doc/cli/stars.md b/deps/npm/doc/cli/npm-stars.md similarity index 100% rename from deps/npm/doc/cli/stars.md rename to deps/npm/doc/cli/npm-stars.md diff --git a/deps/npm/doc/cli/start.md b/deps/npm/doc/cli/npm-start.md similarity index 93% rename from deps/npm/doc/cli/start.md rename to deps/npm/doc/cli/npm-start.md index cc897bb..01347d2 100644 --- a/deps/npm/doc/cli/start.md +++ b/deps/npm/doc/cli/npm-start.md @@ -12,7 +12,7 @@ This runs a package's "start" script, if one was provided. ## SEE ALSO * npm-run-script(1) -* npm-scripts(1) +* npm-scripts(7) * npm-test(1) * npm-restart(1) * npm-stop(1) diff --git a/deps/npm/doc/cli/stop.md b/deps/npm/doc/cli/npm-stop.md similarity index 93% rename from deps/npm/doc/cli/stop.md rename to deps/npm/doc/cli/npm-stop.md index 1ab3e99..bda5cc8 100644 --- a/deps/npm/doc/cli/stop.md +++ b/deps/npm/doc/cli/npm-stop.md @@ -12,7 +12,7 @@ This runs a package's "stop" script, if one was provided. ## SEE ALSO * npm-run-script(1) -* npm-scripts(1) +* npm-scripts(7) * npm-test(1) * npm-start(1) * npm-restart(1) diff --git a/deps/npm/doc/cli/submodule.md b/deps/npm/doc/cli/npm-submodule.md similarity index 98% rename from deps/npm/doc/cli/submodule.md rename to deps/npm/doc/cli/npm-submodule.md index 13ab1ed..7f0fbfc 100644 --- a/deps/npm/doc/cli/submodule.md +++ b/deps/npm/doc/cli/npm-submodule.md @@ -24,5 +24,5 @@ dependencies into the submodule folder. ## SEE ALSO -* npm-json(1) +* package.json(5) * git help submodule diff --git a/deps/npm/doc/cli/tag.md b/deps/npm/doc/cli/npm-tag.md similarity index 86% rename from deps/npm/doc/cli/tag.md rename to deps/npm/doc/cli/npm-tag.md index 2f1ca43..597c42f 100644 --- a/deps/npm/doc/cli/tag.md +++ b/deps/npm/doc/cli/npm-tag.md @@ -13,5 +13,7 @@ Tags the specified version of the package with the specified tag, or the ## SEE ALSO * npm-publish(1) -* npm-registry(1) +* npm-registry(7) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/test.md b/deps/npm/doc/cli/npm-test.md similarity index 95% rename from deps/npm/doc/cli/test.md rename to deps/npm/doc/cli/npm-test.md index bc634ef..159914c 100644 --- a/deps/npm/doc/cli/test.md +++ b/deps/npm/doc/cli/npm-test.md @@ -15,7 +15,7 @@ true. ## SEE ALSO * npm-run-script(1) -* npm-scripts(1) +* npm-scripts(7) * npm-start(1) * npm-restart(1) * npm-stop(1) diff --git a/deps/npm/doc/cli/uninstall.md b/deps/npm/doc/cli/npm-uninstall.md similarity index 86% rename from deps/npm/doc/cli/uninstall.md rename to deps/npm/doc/cli/npm-uninstall.md index f7f743f..7839d9d 100644 --- a/deps/npm/doc/cli/uninstall.md +++ b/deps/npm/doc/cli/npm-uninstall.md @@ -15,5 +15,7 @@ on its behalf. * npm-prune(1) * npm-install(1) -* npm-folders(1) +* npm-folders(7) * npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/unpublish.md b/deps/npm/doc/cli/npm-unpublish.md similarity index 97% rename from deps/npm/doc/cli/unpublish.md rename to deps/npm/doc/cli/npm-unpublish.md index 0f4446c..f749ab7 100644 --- a/deps/npm/doc/cli/unpublish.md +++ b/deps/npm/doc/cli/npm-unpublish.md @@ -27,6 +27,6 @@ the root package entry is removed from the registry entirely. * npm-deprecate(1) * npm-publish(1) -* npm-registry(1) +* npm-registry(7) * npm-adduser(1) * npm-owner(1) diff --git a/deps/npm/doc/cli/update.md b/deps/npm/doc/cli/npm-update.md similarity index 93% rename from deps/npm/doc/cli/update.md rename to deps/npm/doc/cli/npm-update.md index 302e2ef..9ebdda7 100644 --- a/deps/npm/doc/cli/update.md +++ b/deps/npm/doc/cli/npm-update.md @@ -19,6 +19,6 @@ If no package name is specified, all packages in the specified location (global * npm-install(1) * npm-outdated(1) -* npm-registry(1) -* npm-folders(1) +* npm-registry(7) +* npm-folders(7) * npm-list(1) diff --git a/deps/npm/doc/cli/version.md b/deps/npm/doc/cli/npm-version.md similarity index 97% rename from deps/npm/doc/cli/version.md rename to deps/npm/doc/cli/npm-version.md index 74d938d..1cacd8d 100644 --- a/deps/npm/doc/cli/version.md +++ b/deps/npm/doc/cli/npm-version.md @@ -41,5 +41,5 @@ in your git config for this to work properly. For example: ## SEE ALSO * npm-init(1) -* npm-json(1) -* npm-semver(1) +* package.json(5) +* npm-semver(7) diff --git a/deps/npm/doc/cli/view.md b/deps/npm/doc/cli/npm-view.md similarity index 95% rename from deps/npm/doc/cli/view.md rename to deps/npm/doc/cli/npm-view.md index 07836a5..5f25afa 100644 --- a/deps/npm/doc/cli/view.md +++ b/deps/npm/doc/cli/npm-view.md @@ -55,7 +55,7 @@ can do this: "Person" fields are shown as a string if they would be shown as an object. So, for example, this will show the list of npm contributors in -the shortened string format. (See `npm-json(1)` for more on this.) +the shortened string format. (See `package.json(5)` for more on this.) npm view npm contributors @@ -82,6 +82,8 @@ the field name. ## SEE ALSO * npm-search(1) -* npm-registry(1) +* npm-registry(7) * npm-config(1) +* npm-config(7) +* npmrc(5) * npm-docs(1) diff --git a/deps/npm/doc/cli/whoami.md b/deps/npm/doc/cli/npm-whoami.md similarity index 88% rename from deps/npm/doc/cli/whoami.md rename to deps/npm/doc/cli/npm-whoami.md index 7c39b16..3ff8837 100644 --- a/deps/npm/doc/cli/whoami.md +++ b/deps/npm/doc/cli/npm-whoami.md @@ -12,4 +12,6 @@ Print the `username` config to standard output. ## SEE ALSO * npm-config(1) +* npm-config(7) +* npmrc(5) * npm-adduser(1) diff --git a/deps/npm/doc/cli/npm.md b/deps/npm/doc/cli/npm.md index a325fdf..5c935af 100644 --- a/deps/npm/doc/cli/npm.md +++ b/deps/npm/doc/cli/npm.md @@ -33,7 +33,7 @@ Use `npm ls` to show everything you've installed. ## DIRECTORIES -See `npm-folders(1)` to learn about where npm puts stuff. +See `npm-folders(7)` to learn about where npm puts stuff. In particular, npm has two modes of operation: @@ -54,7 +54,7 @@ If you're using npm to develop and publish your code, check out the following help topics: * json: - Make a package.json file. See `npm-json(1)`. + Make a package.json file. See `package.json(5)`. * link: For linking your current working code into Node's path, so that you don't have to reinstall every time you make a change. Use @@ -95,14 +95,14 @@ npm is extremely configurable. It reads its configuration options from npm's default configuration options are defined in lib/utils/config-defs.js. These must not be changed. -See `npm-config(1)` for much much more information. +See `npm-config(7)` for much much more information. ## CONTRIBUTIONS Patches welcome! * code: - Read through `npm-coding-style(1)` if you plan to submit code. + Read through `npm-coding-style(7)` if you plan to submit code. You don't have to agree with it, but you do have to follow it. * docs: If you find an error in the documentation, edit the appropriate markdown @@ -146,10 +146,12 @@ See npm-changelog(1) ## SEE ALSO * npm-help(1) -* npm-faq(1) +* npm-faq(7) * README -* npm-json(1) +* package.json(5) * npm-install(1) * npm-config(1) -* npm-index(1) +* npm-config(7) +* npmrc(5) +* npm-index(7) * npm(3) diff --git a/deps/npm/doc/cli/folders.md b/deps/npm/doc/files/npm-folders.md similarity index 97% rename from deps/npm/doc/cli/folders.md rename to deps/npm/doc/files/npm-folders.md index 04fc13c..1b1485d 100644 --- a/deps/npm/doc/cli/folders.md +++ b/deps/npm/doc/files/npm-folders.md @@ -1,4 +1,4 @@ -npm-folders(1) -- Folder Structures Used by npm +npm-folders(5) -- Folder Structures Used by npm =============================================== ## DESCRIPTION @@ -196,14 +196,16 @@ not be included in the package tarball. This allows a package maintainer to install all of their dependencies (and dev dependencies) locally, but only re-publish those items that -cannot be found elsewhere. See `npm-json(1)` for more information. +cannot be found elsewhere. See `package.json(5)` for more information. ## SEE ALSO -* npm-faq(1) -* npm-json(1) +* npm-faq(7) +* package.json(5) * npm-install(1) * npm-pack(1) * npm-cache(1) * npm-config(1) +* npmrc(5) +* npm-config(7) * npm-publish(1) diff --git a/deps/npm/doc/files/npmrc.md b/deps/npm/doc/files/npmrc.md new file mode 100644 index 0000000..e65f722 --- /dev/null +++ b/deps/npm/doc/files/npmrc.md @@ -0,0 +1,59 @@ +npmrc(5) -- The npm config files +================================ + +## DESCRIPTION + +npm gets its config settings from the command line, environment +variables, and `npmrc` files. + +The `npm config` command can be used to update and edit the contents +of the user and global npmrc files. + +For a list of available configuration options, see npm-config(7). + +## FILES + +The three relevant files are: + +* per-user config file (~/.npmrc) +* global config file ($PREFIX/npmrc) +* npm builtin config file (/path/to/npm/npmrc) + +All npm config files are an ini-formatted list of `key = value` +parameters. Environment variables can be replaced using +`${VARIABLE_NAME}`. For example: + + prefix = ${HOME}/.npm-packages + +Each of these files is loaded, and config options are resolved in +priority order. For example, a setting in the userconfig file would +override the setting in the globalconfig file. + +### Per-user config file + +`$HOME/.npmrc` (or the `userconfig` param, if set in the environment +or on the command line) + +### Global config file + +`$PREFIX/etc/npmrc` (or the `globalconfig` param, if set above): +This file is an ini-file formatted list of `key = value` parameters. +Environment variables can be replaced as above. + +### Built-in config file + +`path/to/npm/itself/npmrc` + +This is an unchangeable "builtin" configuration file that npm keeps +consistent across updates. Set fields in here using the `./configure` +script that comes with npm. This is primarily for distribution +maintainers to override default configs in a standard and consistent +manner. + +## SEE ALSO + +* npm-folders(5) +* npm-config(1) +* npm-config(7) +* package.json(5) +* npm(1) diff --git a/deps/npm/doc/cli/json.md b/deps/npm/doc/files/package.json.md similarity index 97% rename from deps/npm/doc/cli/json.md rename to deps/npm/doc/files/package.json.md index 403f7f8..8155a3e 100644 --- a/deps/npm/doc/cli/json.md +++ b/deps/npm/doc/files/package.json.md @@ -1,5 +1,5 @@ -npm-json(1) -- Specifics of npm's package.json handling -======================================================= +package.json(5) -- Specifics of npm's package.json handling +=========================================================== ## DESCRIPTION @@ -7,7 +7,7 @@ This document is all you need to know about what's required in your package.json file. It must be actual JSON, not just a JavaScript object literal. A lot of the behavior described in this document is affected by the config -settings described in `npm-config(1)`. +settings described in `npm-config(7)`. ## DEFAULT VALUES @@ -315,7 +315,7 @@ The "scripts" member is an object hash of script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point. -See `npm-scripts(1)` to find out more about writing package scripts. +See `npm-scripts(7)` to find out more about writing package scripts. ## config @@ -330,7 +330,7 @@ and then had a "start" command that then referenced the `npm_package_config_port` environment variable, then the user could override that by doing `npm config set foo:port 8001`. -See `npm-config(1)` and `npm-scripts(1)` for more on package +See `npm-config(7)` and `npm-scripts(7)` for more on package configs. ## dependencies @@ -439,7 +439,7 @@ In this case, it's best to list these additional items in a These things will be installed whenever the `--dev` configuration flag is set. This flag is set automatically when doing `npm link` or when doing `npm install` from the root of a package, and can be managed like any other npm -configuration param. See `npm-config(1)` for more on the topic. +configuration param. See `npm-config(7)` for more on the topic. ## bundledDependencies @@ -571,17 +571,18 @@ the global public registry by default. Any config values can be overridden, but of course only "tag" and "registry" probably matter for the purposes of publishing. -See `npm-config(1)` to see the list of config options that can be +See `npm-config(7)` to see the list of config options that can be overridden. ## SEE ALSO -* npm-semver(1) +* npm-semver(7) * npm-init(1) * npm-version(1) * npm-config(1) +* npm-config(7) * npm-help(1) -* npm-faq(1) +* npm-faq(7) * npm-install(1) * npm-publish(1) * npm-rm(1) diff --git a/deps/npm/doc/cli/coding-style.md b/deps/npm/doc/misc/npm-coding-style.md similarity index 97% rename from deps/npm/doc/cli/coding-style.md rename to deps/npm/doc/misc/npm-coding-style.md index 1aa3e80..e9333d0 100644 --- a/deps/npm/doc/cli/coding-style.md +++ b/deps/npm/doc/misc/npm-coding-style.md @@ -1,4 +1,4 @@ -npm-coding-style(1) -- npm's "funny" coding style +npm-coding-style(7) -- npm's "funny" coding style ================================================= ## DESCRIPTION @@ -141,7 +141,7 @@ logging the same object over and over again is not helpful. Logs should report what's happening so that it's easier to track down where a fault occurs. -Use appropriate log levels. See `npm-config(1)` and search for +Use appropriate log levels. See `npm-config(7)` and search for "loglevel". ## Case, naming, etc. @@ -176,6 +176,6 @@ Boolean objects are verboten. ## SEE ALSO -* npm-developers(1) -* npm-faq(1) +* npm-developers(7) +* npm-faq(7) * npm(1) diff --git a/deps/npm/doc/cli/config.md b/deps/npm/doc/misc/npm-config.md similarity index 86% rename from deps/npm/doc/cli/config.md rename to deps/npm/doc/misc/npm-config.md index 54133be..d622f07 100644 --- a/deps/npm/doc/cli/config.md +++ b/deps/npm/doc/misc/npm-config.md @@ -1,15 +1,5 @@ -npm-config(1) -- Manage the npm configuration file -================================================== - -## SYNOPSIS - - npm config set [--global] - npm config get - npm config delete - npm config list - npm config edit - npm get - npm set [--global] +npm-config(7) -- More than you probably want to know about npm configuration +============================================================================ ## DESCRIPTION @@ -17,87 +7,36 @@ npm gets its configuration values from 6 sources, in this priority: ### Command Line Flags -Putting `--foo bar` on the command line sets the -`foo` configuration parameter to `"bar"`. A `--` argument tells the cli -parser to stop reading flags. A `--flag` parameter that is at the *end* of -the command will be given the value of `true`. +Putting `--foo bar` on the command line sets the `foo` configuration +parameter to `"bar"`. A `--` argument tells the cli parser to stop +reading flags. A `--flag` parameter that is at the *end* of the +command will be given the value of `true`. ### Environment Variables -Any environment variables that start with `npm_config_` will be interpreted -as a configuration parameter. For example, putting `npm_config_foo=bar` in -your environment will set the `foo` configuration parameter to `bar`. Any -environment configurations that are not given a value will be given the value -of `true`. Config values are case-insensitive, so `NPM_CONFIG_FOO=bar` will -work the same. - -### Per-user config file - -`$HOME/.npmrc` (or the `userconfig` param, if set above) - -This file is an ini-file formatted list of `key = value` parameters. -Environment variables can be replaced using `${VARIABLE_NAME}`. For example: - - prefix = ${HOME}/.npm-packages - -### Global config file +Any environment variables that start with `npm_config_` will be +interpreted as a configuration parameter. For example, putting +`npm_config_foo=bar` in your environment will set the `foo` +configuration parameter to `bar`. Any environment configurations that +are not given a value will be given the value of `true`. Config +values are case-insensitive, so `NPM_CONFIG_FOO=bar` will work the +same. -`$PREFIX/etc/npmrc` (or the `globalconfig` param, if set above): -This file is an ini-file formatted list of `key = value` parameters. -Environment variables can be replaced as above. +### npmrc Files -### Built-in config file +The three relevant files are: -`path/to/npm/itself/npmrc` +* per-user config file (~/.npmrc) +* global config file ($PREFIX/npmrc) +* npm builtin config file (/path/to/npm/npmrc) -This is an unchangeable "builtin" -configuration file that npm keeps consistent across updates. Set -fields in here using the `./configure` script that comes with npm. -This is primarily for distribution maintainers to override default -configs in a standard and consistent manner. +See npmrc(5) for more details. ### Default Configs A set of configuration parameters that are internal to npm, and are defaults if nothing else is specified. -## Sub-commands - -Config supports the following sub-commands: - -### set - - npm config set key value - -Sets the config key to the value. - -If value is omitted, then it sets it to "true". - -### get - - npm config get key - -Echo the config value to stdout. - -### list - - npm config list - -Show all the config settings. - -### delete - - npm config delete key - -Deletes the key from all configuration files. - -### edit - - npm config edit - -Opens the config file in an editor. Use the `--global` flag to edit the -global config. - ## Shorthands and Other CLI Niceties The following shorthands are parsed on the command-line: @@ -144,10 +83,10 @@ example: ## Per-Package Config Settings -When running scripts (see `npm-scripts(1)`) -the package.json "config" keys are overwritten in the environment if -there is a config param of `[@]:`. For example, if -the package.json has this: +When running scripts (see `npm-scripts(7)`) the package.json "config" +keys are overwritten in the environment if there is a config param of +`[@]:`. For example, if the package.json has +this: { "name" : "foo" , "config" : { "port" : "8080" } @@ -161,6 +100,8 @@ then the user could change the behavior by doing: npm config set foo:port 80 +See package.json(5) for more information. + ## Config Settings ### always-auth @@ -371,7 +312,7 @@ the git binary. Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See -`npm-folders(1)` for more on the differences in behavior. +`npm-folders(7)` for more on the differences in behavior. * packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory. @@ -584,7 +525,7 @@ standard output. ### prefix -* Default: see npm-folders(1) +* Default: see npm-folders(7) * Type: path The location to install global items. If set on the command line, then @@ -878,5 +819,9 @@ then answer "no" to any prompt. ## SEE ALSO -* npm-folders(1) +* npm-config(1) +* npm-config(7) +* npmrc(5) +* npm-scripts(7) +* npm-folders(5) * npm(1) diff --git a/deps/npm/doc/cli/developers.md b/deps/npm/doc/misc/npm-developers.md similarity index 96% rename from deps/npm/doc/cli/developers.md rename to deps/npm/doc/misc/npm-developers.md index d1ffd5a..5e53301 100644 --- a/deps/npm/doc/cli/developers.md +++ b/deps/npm/doc/misc/npm-developers.md @@ -1,4 +1,4 @@ -npm-developers(1) -- Developer Guide +npm-developers(7) -- Developer Guide ==================================== ## DESCRIPTION @@ -49,7 +49,7 @@ an argument to `git checkout`. The default is `master`. You need to have a `package.json` file in the root of your project to do much of anything with npm. That is basically the whole interface. -See `npm-json(1)` for details about what goes in that file. At the very +See `package.json(5)` for details about what goes in that file. At the very least, you need: * name: @@ -78,7 +78,7 @@ least, you need: If you have a special compilation or installation script, then you should put it in the `scripts` hash. You should definitely have at least a basic smoke-test command as the "scripts.test" field. - See npm-scripts(1). + See npm-scripts(7). * main: If you have a single module that serves as the entry point to your @@ -197,11 +197,11 @@ Tell the world how easy it is to install your program! ## SEE ALSO -* npm-faq(1) +* npm-faq(7) * npm(1) * npm-init(1) -* npm-json(1) -* npm-scripts(1) +* package.json(5) +* npm-scripts(7) * npm-publish(1) * npm-adduser(1) -* npm-registry(1) +* npm-registry(7) diff --git a/deps/npm/doc/cli/disputes.md b/deps/npm/doc/misc/npm-disputes.md similarity index 98% rename from deps/npm/doc/cli/disputes.md rename to deps/npm/doc/misc/npm-disputes.md index 52d2a2e..6e9f4bf 100644 --- a/deps/npm/doc/cli/disputes.md +++ b/deps/npm/doc/misc/npm-disputes.md @@ -1,4 +1,4 @@ -npm-disputes(1) -- Handling Module Name Disputes +npm-disputes(7) -- Handling Module Name Disputes ================================================ ## SYNOPSIS @@ -94,5 +94,5 @@ If you see bad behavior like this, please report it right away. ## SEE ALSO -* npm-registry(1) +* npm-registry(7) * npm-owner(1) diff --git a/deps/npm/doc/cli/faq.md b/deps/npm/doc/misc/npm-faq.md similarity index 97% rename from deps/npm/doc/cli/faq.md rename to deps/npm/doc/misc/npm-faq.md index e00fec6..32493d3 100644 --- a/deps/npm/doc/cli/faq.md +++ b/deps/npm/doc/misc/npm-faq.md @@ -1,4 +1,4 @@ -npm-faq(1) -- Frequently Asked Questions +npm-faq(7) -- Frequently Asked Questions ======================================== ## Where can I find these docs in HTML? @@ -22,7 +22,7 @@ do what it says and post a bug with all the information it asks for. ## Where does npm put stuff? -See `npm-folders(1)` +See `npm-folders(5)` tl;dr: @@ -58,7 +58,7 @@ problems than it solves. It is much harder to avoid dependency conflicts without nesting dependencies. This is fundamental to the way that npm works, and has -proven to be an extremely successful approach. See `npm-folders(1)` for +proven to be an extremely successful approach. See `npm-folders(5)` for more details. If you want a package to be installed in one place, and have all your @@ -280,12 +280,12 @@ Windows: ## How can I use npm for development? -See `npm-developers(1)` and `npm-json(1)`. +See `npm-developers(7)` and `package.json(5)`. You'll most likely want to `npm link` your development folder. That's awesomely handy. -To set up your own private registry, check out `npm-registry(1)`. +To set up your own private registry, check out `npm-registry(7)`. ## Can I list a url as a dependency? @@ -299,7 +299,7 @@ See `npm-link(1)` ## The package registry website. What is that exactly? -See `npm-registry(1)`. +See `npm-registry(7)`. ## I forgot my password, and can't publish. How do I reset it? @@ -346,7 +346,10 @@ npm is not capable of hatred. It loves everyone, especially you. ## SEE ALSO * npm(1) -* npm-developers(1) -* npm-json(1) +* npm-developers(7) +* package.json(5) * npm-config(1) -* npm-folders(1) +* npm-config(7) +* npmrc(5) +* npm-config(7) +* npm-folders(5) diff --git a/deps/npm/doc/misc/npm-index.md b/deps/npm/doc/misc/npm-index.md new file mode 100644 index 0000000..e6eba28 --- /dev/null +++ b/deps/npm/doc/misc/npm-index.md @@ -0,0 +1,403 @@ +npm-index(7) -- Index of all npm documentation +============================================== + +## README(1) + +node package manager + +# Command Line Documentation + +## npm(1) + +node package manager + +## npm-adduser(1) + +Add a registry user account + +## npm-bin(1) + +Display npm bin folder + +## npm-bugs(1) + +Bugs for a package in a web browser maybe + +## npm-build(1) + +Build a package + +## npm-bundle(1) + +REMOVED + +## npm-cache(1) + +Manipulates packages cache + +## npm-completion(1) + +Tab Completion for npm + +## npm-config(1) + +Manage the npm configuration files + +## npm-dedupe(1) + +Reduce duplication + +## npm-deprecate(1) + +Deprecate a version of a package + +## npm-docs(1) + +Docs for a package in a web browser maybe + +## npm-edit(1) + +Edit an installed package + +## npm-explore(1) + +Browse an installed package + +## npm-help-search(1) + +Search npm help documentation + +## npm-help(1) + +Get help on npm + +## npm-init(1) + +Interactively create a package.json file + +## npm-install(1) + +Install a package + +## npm-link(1) + +Symlink a package folder + +## npm-ls(1) + +List installed packages + +## npm-outdated(1) + +Check for outdated packages + +## npm-owner(1) + +Manage package owners + +## npm-pack(1) + +Create a tarball from a package + +## npm-prefix(1) + +Display prefix + +## npm-prune(1) + +Remove extraneous packages + +## npm-publish(1) + +Publish a package + +## npm-rebuild(1) + +Rebuild a package + +## npm-restart(1) + +Start a package + +## npm-rm(1) + +Remove a package + +## npm-root(1) + +Display npm root + +## npm-run-script(1) + +Run arbitrary package scripts + +## npm-search(1) + +Search for packages + +## npm-shrinkwrap(1) + +Lock down dependency versions + +## npm-star(1) + +Mark your favorite packages + +## npm-stars(1) + +View packages marked as favorites + +## npm-start(1) + +Start a package + +## npm-stop(1) + +Stop a package + +## npm-submodule(1) + +Add a package as a git submodule + +## npm-tag(1) + +Tag a published version + +## npm-test(1) + +Test a package + +## npm-uninstall(1) + +Remove a package + +## npm-unpublish(1) + +Remove a package from the registry + +## npm-update(1) + +Update a package + +## npm-version(1) + +Bump a package version + +## npm-view(1) + +View registry info + +## npm-whoami(1) + +Display npm username + +# API Documentation + +## npm(3) + +node package manager + +## npm-bin(3) + +Display npm bin folder + +## npm-bugs(3) + +Bugs for a package in a web browser maybe + +## npm-commands(3) + +npm commands + +## npm-config(3) + +Manage the npm configuration files + +## npm-deprecate(3) + +Deprecate a version of a package + +## npm-docs(3) + +Docs for a package in a web browser maybe + +## npm-edit(3) + +Edit an installed package + +## npm-explore(3) + +Browse an installed package + +## npm-help-search(3) + +Search the help pages + +## npm-init(3) + +Interactively create a package.json file + +## npm-install(3) + +install a package programmatically + +## npm-link(3) + +Symlink a package folder + +## npm-load(3) + +Load config settings + +## npm-ls(3) + +List installed packages + +## npm-outdated(3) + +Check for outdated packages + +## npm-owner(3) + +Manage package owners + +## npm-pack(3) + +Create a tarball from a package + +## npm-prefix(3) + +Display prefix + +## npm-prune(3) + +Remove extraneous packages + +## npm-publish(3) + +Publish a package + +## npm-rebuild(3) + +Rebuild a package + +## npm-restart(3) + +Start a package + +## npm-root(3) + +Display npm root + +## npm-run-script(3) + +Run arbitrary package scripts + +## npm-search(3) + +Search for packages + +## npm-shrinkwrap(3) + +programmatically generate package shrinkwrap file + +## npm-start(3) + +Start a package + +## npm-stop(3) + +Stop a package + +## npm-submodule(3) + +Add a package as a git submodule + +## npm-tag(3) + +Tag a published version + +## npm-test(3) + +Test a package + +## npm-uninstall(3) + +uninstall a package programmatically + +## npm-unpublish(3) + +Remove a package from the registry + +## npm-update(3) + +Update a package + +## npm-version(3) + +Bump a package version + +## npm-view(3) + +View registry info + +## npm-whoami(3) + +Display npm username + +# Files + +## npm-folders(5) + +Folder Structures Used by npm + +## npmrc(5) + +The npm config files + +## package.json(5) + +Specifics of npm's package.json handling + +# Misc + +## npm-coding-style(7) + +npm's "funny" coding style + +## npm-config(7) + +More than you probably want to know about npm configuration + +## npm-developers(7) + +Developer Guide + +## npm-disputes(7) + +Handling Module Name Disputes + +## npm-faq(7) + +Frequently Asked Questions + +## npm-index(7) + +Index of all npm documentation + +## npm-registry(7) + +The JavaScript Package Registry + +## npm-scripts(7) + +How npm handles the "scripts" field + +## removing-npm(7) + +Cleaning the Slate + +## semver(7) + +The semantic versioner for npm + diff --git a/deps/npm/doc/cli/registry.md b/deps/npm/doc/misc/npm-registry.md similarity index 91% rename from deps/npm/doc/cli/registry.md rename to deps/npm/doc/misc/npm-registry.md index 9173def..0081984 100644 --- a/deps/npm/doc/cli/registry.md +++ b/deps/npm/doc/misc/npm-registry.md @@ -1,4 +1,4 @@ -npm-registry(1) -- The JavaScript Package Registry +npm-registry(7) -- The JavaScript Package Registry ================================================== ## DESCRIPTION @@ -19,7 +19,8 @@ are CouchDB users, stored in the database. The registry URL is supplied by the `registry` config parameter. See -`npm-config(1)` for more on managing npm's configuration. +`npm-config(1)`, `npmrc(5)`, and `npm-config(7)` for more on managing +npm's configuration. ## Can I run my own private registry? @@ -42,7 +43,7 @@ published at all, or `"publishConfig":{"registry":"http://my-internal-registry.local"}` to force it to be published only to your internal registry. -See `npm-json(1)` for more info on what goes in the package.json file. +See `package.json(5)` for more info on what goes in the package.json file. ## Will you replicate from my registry into the public one? @@ -87,5 +88,7 @@ Yes, head over to ## SEE ALSO * npm-config(1) -* npm-developers(1) -* npm-disputes(1) +* npm-config(7) +* npmrc(5) +* npm-developers(7) +* npm-disputes(7) diff --git a/deps/npm/doc/cli/scripts.md b/deps/npm/doc/misc/npm-scripts.md similarity index 71% rename from deps/npm/doc/cli/scripts.md rename to deps/npm/doc/misc/npm-scripts.md index 0eba5f7..b3f4769 100644 --- a/deps/npm/doc/cli/scripts.md +++ b/deps/npm/doc/misc/npm-scripts.md @@ -1,4 +1,4 @@ -npm-scripts(1) -- How npm handles the "scripts" field +npm-scripts(7) -- How npm handles the "scripts" field ===================================================== ## DESCRIPTION @@ -96,49 +96,50 @@ npm will default some script values based on package contents. ## USER -If npm was invoked with root privileges, then it will change the uid to -the user account or uid specified by the `user` config, which defaults -to `nobody`. Set the `unsafe-perm` flag to run scripts with root -privileges. +If npm was invoked with root privileges, then it will change the uid +to the user account or uid specified by the `user` config, which +defaults to `nobody`. Set the `unsafe-perm` flag to run scripts with +root privileges. ## ENVIRONMENT -Package scripts run in an environment where many pieces of information are -made available regarding the setup of npm and the current state of the -process. +Package scripts run in an environment where many pieces of information +are made available regarding the setup of npm and the current state of +the process. ### path -If you depend on modules that define executable scripts, like test suites, -then those executables will be added to the `PATH` for executing the scripts. -So, if your package.json has this: +If you depend on modules that define executable scripts, like test +suites, then those executables will be added to the `PATH` for +executing the scripts. So, if your package.json has this: { "name" : "foo" , "dependencies" : { "bar" : "0.1.x" } , "scripts": { "start" : "bar ./test" } } -then you could run `npm start` to execute the `bar` script, which is exported -into the `node_modules/.bin` directory on `npm install`. +then you could run `npm start` to execute the `bar` script, which is +exported into the `node_modules/.bin` directory on `npm install`. ### package.json vars -The package.json fields are tacked onto the `npm_package_` prefix. So, for -instance, if you had `{"name":"foo", "version":"1.2.5"}` in your package.json -file, then your package scripts would have the `npm_package_name` environment -variable set to "foo", and the `npm_package_version` set to "1.2.5" +The package.json fields are tacked onto the `npm_package_` prefix. So, +for instance, if you had `{"name":"foo", "version":"1.2.5"}` in your +package.json file, then your package scripts would have the +`npm_package_name` environment variable set to "foo", and the +`npm_package_version` set to "1.2.5" ### configuration -Configuration parameters are put in the environment with the `npm_config_` -prefix. For instance, you can view the effective `root` config by checking the -`npm_config_root` environment variable. +Configuration parameters are put in the environment with the +`npm_config_` prefix. For instance, you can view the effective `root` +config by checking the `npm_config_root` environment variable. ### Special: package.json "config" hash The package.json "config" keys are overwritten in the environment if -there is a config param of `[@]:`. For example, if -the package.json has this: +there is a config param of `[@]:`. For example, +if the package.json has this: { "name" : "foo" , "config" : { "port" : "8080" } @@ -154,15 +155,14 @@ then the user could change the behavior by doing: ### current lifecycle event -Lastly, the `npm_lifecycle_event` environment variable is set to whichever -stage of the cycle is being executed. So, you could have a single script used -for different parts of the process which switches based on what's currently -happening. - +Lastly, the `npm_lifecycle_event` environment variable is set to +whichever stage of the cycle is being executed. So, you could have a +single script used for different parts of the process which switches +based on what's currently happening. Objects are flattened following this format, so if you had -`{"scripts":{"install":"foo.js"}}` in your package.json, then you'd see this -in the script: +`{"scripts":{"install":"foo.js"}}` in your package.json, then you'd +see this in the script: process.env.npm_package_scripts_install === "foo.js" @@ -177,13 +177,15 @@ For example, if your package.json contains this: } } -then the `scripts/install.js` will be called for the install, post-install, -stages of the lifecycle, and the `scripts/uninstall.js` would be -called when the package is uninstalled. Since `scripts/install.js` is running -for three different phases, it would be wise in this case to look at the -`npm_lifecycle_event` environment variable. +then the `scripts/install.js` will be called for the install, +post-install, stages of the lifecycle, and the `scripts/uninstall.js` +would be called when the package is uninstalled. Since +`scripts/install.js` is running for three different phases, it would +be wise in this case to look at the `npm_lifecycle_event` environment +variable. -If you want to run a make command, you can do so. This works just fine: +If you want to run a make command, you can do so. This works just +fine: { "scripts" : { "preinstall" : "./configure" @@ -199,43 +201,45 @@ Scripts are run by passing the line as a script argument to `sh`. If the script exits with a code other than 0, then this will abort the process. -Note that these script files don't have to be nodejs or even javascript -programs. They just have to be some kind of executable file. +Note that these script files don't have to be nodejs or even +javascript programs. They just have to be some kind of executable +file. ## HOOK SCRIPTS -If you want to run a specific script at a specific lifecycle event for ALL -packages, then you can use a hook script. +If you want to run a specific script at a specific lifecycle event for +ALL packages, then you can use a hook script. -Place an executable file at `node_modules/.hooks/{eventname}`, and it'll get -run for all packages when they are going through that point in the package -lifecycle for any packages installed in that root. +Place an executable file at `node_modules/.hooks/{eventname}`, and +it'll get run for all packages when they are going through that point +in the package lifecycle for any packages installed in that root. -Hook scripts are run exactly the same way as package.json scripts. That is, -they are in a separate child process, with the env described above. +Hook scripts are run exactly the same way as package.json scripts. +That is, they are in a separate child process, with the env described +above. ## BEST PRACTICES * Don't exit with a non-zero error code unless you *really* mean it. - Except for uninstall scripts, this will cause the npm action - to fail, and potentially be rolled back. If the failure is minor or + Except for uninstall scripts, this will cause the npm action to + fail, and potentially be rolled back. If the failure is minor or only will prevent some optional features, then it's better to just print a warning and exit successfully. * Try not to use scripts to do what npm can do for you. Read through - `npm-json(1)` to see all the things that you can specify and enable - by simply describing your package appropriately. In general, this will - lead to a more robust and consistent state. + `package.json(5)` to see all the things that you can specify and enable + by simply describing your package appropriately. In general, this + will lead to a more robust and consistent state. * Inspect the env to determine where to put things. For instance, if - the `npm_config_binroot` environ is set to `/home/user/bin`, then don't - try to install executables into `/usr/local/bin`. The user probably - set it up that way for a reason. -* Don't prefix your script commands with "sudo". If root permissions are - required for some reason, then it'll fail with that error, and the user - will sudo the npm command in question. + the `npm_config_binroot` environ is set to `/home/user/bin`, then + don't try to install executables into `/usr/local/bin`. The user + probably set it up that way for a reason. +* Don't prefix your script commands with "sudo". If root permissions + are required for some reason, then it'll fail with that error, and + the user will sudo the npm command in question. ## SEE ALSO * npm-run-script(1) -* npm-json(1) -* npm-developers(1) +* package.json(5) +* npm-developers(7) * npm-install(1) diff --git a/deps/npm/doc/cli/removing-npm.md b/deps/npm/doc/misc/removing-npm.md similarity index 100% rename from deps/npm/doc/cli/removing-npm.md rename to deps/npm/doc/misc/removing-npm.md diff --git a/deps/npm/doc/cli/semver.md b/deps/npm/doc/misc/semver.md similarity index 52% rename from deps/npm/doc/cli/semver.md rename to deps/npm/doc/misc/semver.md index 493dd7a..b8e1939 100644 --- a/deps/npm/doc/cli/semver.md +++ b/deps/npm/doc/misc/semver.md @@ -1,13 +1,7 @@ -npm-semver(1) -- The semantic versioner for npm -=============================================== +semver(7) -- The semantic versioner for npm +=========================================== -## SYNOPSIS - -The npm semantic versioning utility. - -## DESCRIPTION - -As a node module: +## Usage $ npm install semver @@ -20,14 +14,14 @@ As a node module: As a command-line utility: - $ npm install semver -g $ semver -h - Usage: semver -v [-r ] - Test if version(s) satisfy the supplied range(s), - and sort them. + Usage: semver [ [...]] [-r | -i | -d ] + Test if version(s) satisfy the supplied range(s), and sort them. - Multiple versions or ranges may be supplied. + Multiple versions or ranges may be supplied, unless increment + or decrement options are specified. In that case, only a single + version may be used, and it is incremented by the specified level Program exits successfully if any valid version satisfies all supplied ranges, and prints all satisfying versions. @@ -40,62 +34,53 @@ As a command-line utility: ## Versions -A version is the following things, in this order: - -* a number (Major) -* a period -* a number (minor) -* a period -* a number (patch) -* OPTIONAL: a hyphen, followed by a number (build) -* OPTIONAL: a collection of pretty much any non-whitespace characters - (tag) +A "version" is described by the v2.0.0 specification found at +. A leading `"="` or `"v"` character is stripped off and ignored. -## Comparisons - -The ordering of versions is done using the following algorithm, given -two versions and asked to find the greater of the two: - -* If the majors are numerically different, then take the one - with a bigger major number. `2.3.4 > 1.3.4` -* If the minors are numerically different, then take the one - with the bigger minor number. `2.3.4 > 2.2.4` -* If the patches are numerically different, then take the one with the - bigger patch number. `2.3.4 > 2.3.3` -* If only one of them has a build number, then take the one with the - build number. `2.3.4-0 > 2.3.4` -* If they both have build numbers, and the build numbers are numerically - different, then take the one with the bigger build number. - `2.3.4-10 > 2.3.4-9` -* If only one of them has a tag, then take the one without the tag. - `2.3.4 > 2.3.4-beta` -* If they both have tags, then take the one with the lexicographically - larger tag. `2.3.4-beta > 2.3.4-alpha` -* At this point, they're equal. - ## Ranges The following range styles are supported: +* `1.2.3` A specific version. When nothing else will do. Note that + build metadata is still ignored, so `1.2.3+build2012` will satisfy + this range. * `>1.2.3` Greater than a specific version. -* `<1.2.3` Less than +* `<1.2.3` Less than a specific version. If there is no prerelease + tag on the version range, then no prerelease version will be allowed + either, even though these are technically "less than". +* `>=1.2.3` Greater than or equal to. Note that prerelease versions + are NOT equal to their "normal" equivalents, so `1.2.3-beta` will + not satisfy this range, but `2.3.0-beta` will. +* `<=1.2.3` Less than or equal to. In this case, prerelease versions + ARE allowed, so `1.2.3-beta` would satisfy. * `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` -* `~1.2.3` := `>=1.2.3 <1.3.0` -* `~1.2` := `>=1.2.0 <1.3.0` -* `~1` := `>=1.0.0 <2.0.0` -* `1.2.x` := `>=1.2.0 <1.3.0` -* `1.x` := `>=1.0.0 <2.0.0` +* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` "Reasonably close to 1.2.3". When + using tilde operators, prerelease versions are supported as well, + but a prerelease of the next significant digit will NOT be + satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`. +* `~1.2` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2" +* `1.2.x` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2" +* `~1` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1" +* `1.x` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1" + Ranges can be joined with either a space (which implies "and") or a `||` (which implies "or"). ## Functions +All methods and classes take a final `loose` boolean argument that, if +true, will be more forgiving about not-quite-valid semver strings. +The resulting output will always be 100% strict, of course. + +Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse. + * valid(v): Return the parsed version, or null if it's not valid. * inc(v, release): Return the version incremented by the release type - (major, minor, patch, or build), or null if it's not valid. + (major, minor, patch, or prerelease), or null if it's not valid. ### Comparison @@ -124,7 +109,3 @@ Ranges can be joined with either a space (which implies "and") or a range. * maxSatisfying(versions, range): Return the highest version in the list that satisfies the range, or null if none of them do. - -## SEE ALSO - -* npm-json(1) diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html index edaf737..9d666ed 100644 --- a/deps/npm/html/doc/README.html +++ b/deps/npm/html/doc/README.html @@ -6,7 +6,7 @@
-

npm

node package manager

+

npm

node package manager

SYNOPSIS

@@ -238,9 +238,9 @@ will no doubt tell you to put the output in a gist or email.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/api/bin.html b/deps/npm/html/doc/api/npm-bin.html similarity index 83% rename from deps/npm/html/api/bin.html rename to deps/npm/html/doc/api/npm-bin.html index 2fcdeb8..d382f6c 100644 --- a/deps/npm/html/api/bin.html +++ b/deps/npm/html/doc/api/npm-bin.html @@ -1,12 +1,12 @@ - bin + npm-bin - +
-

bin

Display npm bin folder

+

npm-bin

Display npm bin folder

SYNOPSIS

@@ -19,7 +19,7 @@

This function should not be used programmatically. Instead, just refer to the npm.bin member.

- + - diff --git a/deps/npm/html/api/bugs.html b/deps/npm/html/doc/api/npm-bugs.html similarity index 85% rename from deps/npm/html/api/bugs.html rename to deps/npm/html/doc/api/npm-bugs.html index 1b95fd2..0c7baa4 100644 --- a/deps/npm/html/api/bugs.html +++ b/deps/npm/html/doc/api/npm-bugs.html @@ -1,12 +1,12 @@ - bugs + npm-bugs - +
-

bugs

Bugs for a package in a web browser maybe

+

npm-bugs

Bugs for a package in a web browser maybe

SYNOPSIS

@@ -25,7 +25,7 @@ optional version number.

This command will launch a browser, so this command may not be the most friendly for programmatic use.

- + - diff --git a/deps/npm/html/api/commands.html b/deps/npm/html/doc/api/npm-commands.html similarity index 83% rename from deps/npm/html/api/commands.html rename to deps/npm/html/doc/api/npm-commands.html index 6d9631a..f064439 100644 --- a/deps/npm/html/api/commands.html +++ b/deps/npm/html/doc/api/npm-commands.html @@ -1,12 +1,12 @@ - commands + npm-commands - +
-

commands

npm commands

+

npm-commands

npm commands

SYNOPSIS

@@ -26,9 +26,9 @@ usage, or man 3 npm-<command> for programmatic usage.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/api/config.html b/deps/npm/html/doc/api/npm-config.html similarity index 90% rename from deps/npm/html/api/config.html rename to deps/npm/html/doc/api/npm-config.html index 8afad76..ba89c10 100644 --- a/deps/npm/html/api/config.html +++ b/deps/npm/html/doc/api/npm-config.html @@ -1,12 +1,12 @@ - config + npm-config - +
-

config

Manage the npm configuration files

+

npm-config

Manage the npm configuration files

SYNOPSIS

@@ -33,7 +33,7 @@ functions instead.

- + - diff --git a/deps/npm/html/api/deprecate.html b/deps/npm/html/doc/api/npm-deprecate.html similarity index 79% rename from deps/npm/html/api/deprecate.html rename to deps/npm/html/doc/api/npm-deprecate.html index 36f2961..710b131 100644 --- a/deps/npm/html/api/deprecate.html +++ b/deps/npm/html/doc/api/npm-deprecate.html @@ -1,12 +1,12 @@ - deprecate + npm-deprecate - +
-

deprecate

Deprecate a version of a package

+

npm-deprecate

Deprecate a version of a package

SYNOPSIS

@@ -30,9 +30,9 @@ install the package.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/api/docs.html b/deps/npm/html/doc/api/npm-docs.html similarity index 85% rename from deps/npm/html/api/docs.html rename to deps/npm/html/doc/api/npm-docs.html index 32e0b91..dc4066f 100644 --- a/deps/npm/html/api/docs.html +++ b/deps/npm/html/doc/api/npm-docs.html @@ -1,12 +1,12 @@ - docs + npm-docs - +
-

docs

Docs for a package in a web browser maybe

+

npm-docs

Docs for a package in a web browser maybe

SYNOPSIS

@@ -25,7 +25,7 @@ optional version number.

This command will launch a browser, so this command may not be the most friendly for programmatic use.

- + - diff --git a/deps/npm/html/api/edit.html b/deps/npm/html/doc/api/npm-edit.html similarity index 88% rename from deps/npm/html/api/edit.html rename to deps/npm/html/doc/api/npm-edit.html index fbe7c70..4cebcaf 100644 --- a/deps/npm/html/api/edit.html +++ b/deps/npm/html/doc/api/npm-edit.html @@ -1,12 +1,12 @@ - edit + npm-edit - +
-

edit

Edit an installed package

+

npm-edit

Edit an installed package

SYNOPSIS

@@ -30,7 +30,7 @@ to open. The package can optionally have a version number attached.

Since this command opens an editor in a new process, be careful about where and how this is used.

- + - diff --git a/deps/npm/html/api/explore.html b/deps/npm/html/doc/api/npm-explore.html similarity index 86% rename from deps/npm/html/api/explore.html rename to deps/npm/html/doc/api/npm-explore.html index 757b88c..2490a16 100644 --- a/deps/npm/html/api/explore.html +++ b/deps/npm/html/doc/api/npm-explore.html @@ -1,12 +1,12 @@ - explore + npm-explore - +
-

explore

Browse an installed package

+

npm-explore

Browse an installed package

SYNOPSIS

@@ -24,7 +24,7 @@ sure to use npm rebuild <pkg> if you make any changes.

The first element in the 'args' parameter must be a package name. After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.

- + - diff --git a/deps/npm/html/api/help-search.html b/deps/npm/html/doc/api/npm-help-search.html similarity index 87% rename from deps/npm/html/api/help-search.html rename to deps/npm/html/doc/api/npm-help-search.html index a13a8f1..23b538b 100644 --- a/deps/npm/html/api/help-search.html +++ b/deps/npm/html/doc/api/npm-help-search.html @@ -1,12 +1,12 @@ - help-search + npm-help-search - +
-

help-search

Search the help pages

+

npm-help-search

Search the help pages

SYNOPSIS

@@ -32,7 +32,7 @@ Name of the file that matched

The silent parameter is not neccessary not used, but it may in the future.

- + - diff --git a/deps/npm/html/api/init.html b/deps/npm/html/doc/api/npm-init.html similarity index 85% rename from deps/npm/html/api/init.html rename to deps/npm/html/doc/api/npm-init.html index f7c1f87..5351ae6 100644 --- a/deps/npm/html/api/init.html +++ b/deps/npm/html/doc/api/npm-init.html @@ -1,12 +1,12 @@ - init + npm-init - +
-

npm init(3)

Interactively create a package.json file

+

npm init

Interactively create a package.json file

SYNOPSIS

@@ -33,9 +33,9 @@ then go ahead and use this programmatically.

SEE ALSO

-

json(1)

+

package.json(5)

- + - diff --git a/deps/npm/html/api/install.html b/deps/npm/html/doc/api/npm-install.html similarity index 85% rename from deps/npm/html/api/install.html rename to deps/npm/html/doc/api/npm-install.html index 88243df..3dd99b0 100644 --- a/deps/npm/html/api/install.html +++ b/deps/npm/html/doc/api/npm-install.html @@ -1,12 +1,12 @@ - install + npm-install - +
-

install

install a package programmatically

+

npm-install

install a package programmatically

SYNOPSIS

@@ -25,7 +25,7 @@ the name of a package to be installed.

Finally, 'callback' is a function that will be called when all packages have been installed or when an error has been encountered.

- + - diff --git a/deps/npm/html/api/link.html b/deps/npm/html/doc/api/npm-link.html similarity index 89% rename from deps/npm/html/api/link.html rename to deps/npm/html/doc/api/npm-link.html index 92758ca..1927bbb 100644 --- a/deps/npm/html/api/link.html +++ b/deps/npm/html/doc/api/npm-link.html @@ -1,12 +1,12 @@ - link + npm-link - +
-

link

Symlink a package folder

+

npm-link

Symlink a package folder

SYNOPSIS

@@ -39,7 +39,7 @@ npm.commands.link('redis', cb) # link-install the package

Now, any changes to the redis package will be reflected in the package in the current working directory

- + - diff --git a/deps/npm/html/api/load.html b/deps/npm/html/doc/api/npm-load.html similarity index 87% rename from deps/npm/html/api/load.html rename to deps/npm/html/doc/api/npm-load.html index 8e943e0..0304848 100644 --- a/deps/npm/html/api/load.html +++ b/deps/npm/html/doc/api/npm-load.html @@ -1,12 +1,12 @@ - load + npm-load - +
-

load

Load config settings

+

npm-load

Load config settings

SYNOPSIS

@@ -32,7 +32,7 @@ config object.

For a list of all the available command-line configs, see npm help config

- + - diff --git a/deps/npm/html/api/ls.html b/deps/npm/html/doc/api/npm-ls.html similarity index 92% rename from deps/npm/html/api/ls.html rename to deps/npm/html/doc/api/npm-ls.html index c54a856..29edbd5 100644 --- a/deps/npm/html/api/ls.html +++ b/deps/npm/html/doc/api/npm-ls.html @@ -1,12 +1,12 @@ - ls + npm-ls - +
-

ls

List installed packages

+

npm-ls

List installed packages

SYNOPSIS

@@ -59,7 +59,7 @@ project.

This means that if a submodule a same dependency as a parent module, then the dependency will only be output once.

- + - diff --git a/deps/npm/html/api/outdated.html b/deps/npm/html/doc/api/npm-outdated.html similarity index 82% rename from deps/npm/html/api/outdated.html rename to deps/npm/html/doc/api/npm-outdated.html index 5412769..b4b0b5e 100644 --- a/deps/npm/html/api/outdated.html +++ b/deps/npm/html/doc/api/npm-outdated.html @@ -1,12 +1,12 @@ - outdated + npm-outdated - +
-

outdated

Check for outdated packages

+

npm-outdated

Check for outdated packages

SYNOPSIS

@@ -19,7 +19,7 @@ currently outdated.

If the 'packages' parameter is left out, npm will check all packages.

- + - diff --git a/deps/npm/html/api/owner.html b/deps/npm/html/doc/api/npm-owner.html similarity index 83% rename from deps/npm/html/api/owner.html rename to deps/npm/html/doc/api/npm-owner.html index 3410fec..329c999 100644 --- a/deps/npm/html/api/owner.html +++ b/deps/npm/html/doc/api/npm-owner.html @@ -1,12 +1,12 @@ - owner + npm-owner - +
-

owner

Manage package owners

+

npm-owner

Manage package owners

SYNOPSIS

@@ -32,9 +32,9 @@ that is not implemented at this time.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/api/pack.html b/deps/npm/html/doc/api/npm-pack.html similarity index 86% rename from deps/npm/html/api/pack.html rename to deps/npm/html/doc/api/npm-pack.html index 3f9ebed..9865de5 100644 --- a/deps/npm/html/api/pack.html +++ b/deps/npm/html/doc/api/npm-pack.html @@ -1,12 +1,12 @@ - pack + npm-pack - +
-

pack

Create a tarball from a package

+

npm-pack

Create a tarball from a package

SYNOPSIS

@@ -25,7 +25,7 @@ overwritten the second time.

If no arguments are supplied, then npm packs the current package folder.

- + - diff --git a/deps/npm/html/api/prefix.html b/deps/npm/html/doc/api/npm-prefix.html similarity index 83% rename from deps/npm/html/api/prefix.html rename to deps/npm/html/doc/api/npm-prefix.html index df8f14d..70f023d 100644 --- a/deps/npm/html/api/prefix.html +++ b/deps/npm/html/doc/api/npm-prefix.html @@ -1,12 +1,12 @@ - prefix + npm-prefix - +
-

prefix

Display prefix

+

npm-prefix

Display prefix

SYNOPSIS

@@ -21,7 +21,7 @@

This function is not useful programmatically

- + - diff --git a/deps/npm/html/api/prune.html b/deps/npm/html/doc/api/npm-prune.html similarity index 84% rename from deps/npm/html/api/prune.html rename to deps/npm/html/doc/api/npm-prune.html index b24b7b0..0deaa39 100644 --- a/deps/npm/html/api/prune.html +++ b/deps/npm/html/doc/api/npm-prune.html @@ -1,12 +1,12 @@ - prune + npm-prune - +
-

prune

Remove extraneous packages

+

npm-prune

Remove extraneous packages

SYNOPSIS

@@ -23,7 +23,7 @@

Extraneous packages are packages that are not listed on the parent package's dependencies list.

- + - diff --git a/deps/npm/html/api/publish.html b/deps/npm/html/doc/api/npm-publish.html similarity index 79% rename from deps/npm/html/api/publish.html rename to deps/npm/html/doc/api/npm-publish.html index 6f3d9db..d6738cb 100644 --- a/deps/npm/html/api/publish.html +++ b/deps/npm/html/doc/api/npm-publish.html @@ -1,12 +1,12 @@ - publish + npm-publish - +
-

publish

Publish a package

+

npm-publish

Publish a package

SYNOPSIS

@@ -30,9 +30,9 @@ the registry. Overwrites when the "force" environment variable is set

SEE ALSO

- +
- + - diff --git a/deps/npm/html/api/rebuild.html b/deps/npm/html/doc/api/npm-rebuild.html similarity index 85% rename from deps/npm/html/api/rebuild.html rename to deps/npm/html/doc/api/npm-rebuild.html index da4929e..f7049b7 100644 --- a/deps/npm/html/api/rebuild.html +++ b/deps/npm/html/doc/api/npm-rebuild.html @@ -1,12 +1,12 @@ - rebuild + npm-rebuild - +
-

rebuild

Rebuild a package

+

npm-rebuild

Rebuild a package

SYNOPSIS

@@ -22,7 +22,7 @@ the new binary. If no 'packages' parameter is specify, every package wil

See npm help build

- + - diff --git a/deps/npm/html/api/restart.html b/deps/npm/html/doc/api/npm-restart.html similarity index 79% rename from deps/npm/html/api/restart.html rename to deps/npm/html/doc/api/npm-restart.html index fae57f3..8f9bea9 100644 --- a/deps/npm/html/api/restart.html +++ b/deps/npm/html/doc/api/npm-restart.html @@ -1,12 +1,12 @@ - restart + npm-restart - +
-

restart

Start a package

+

npm-restart

Start a package

SYNOPSIS

@@ -25,9 +25,9 @@ in the packages parameter.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/api/root.html b/deps/npm/html/doc/api/npm-root.html similarity index 84% rename from deps/npm/html/api/root.html rename to deps/npm/html/doc/api/npm-root.html index 6c8100a..4162011 100644 --- a/deps/npm/html/api/root.html +++ b/deps/npm/html/doc/api/npm-root.html @@ -1,12 +1,12 @@ - root + npm-root - +
-

root

Display npm root

+

npm-root

Display npm root

SYNOPSIS

@@ -21,7 +21,7 @@

This function is not useful programmatically.

- + - diff --git a/deps/npm/html/api/run-script.html b/deps/npm/html/doc/api/npm-run-script.html similarity index 73% rename from deps/npm/html/api/run-script.html rename to deps/npm/html/doc/api/npm-run-script.html index 91d27ae..b774624 100644 --- a/deps/npm/html/api/run-script.html +++ b/deps/npm/html/doc/api/npm-run-script.html @@ -1,12 +1,12 @@ - run-script + npm-run-script - +
-

run-script

Run arbitrary package scripts

+

npm-run-script

Run arbitrary package scripts

SYNOPSIS

@@ -27,9 +27,9 @@ assumed to be the command to run. All other elements are ignored.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/api/search.html b/deps/npm/html/doc/api/npm-search.html similarity index 90% rename from deps/npm/html/api/search.html rename to deps/npm/html/doc/api/npm-search.html index ffb4b54..ebda466 100644 --- a/deps/npm/html/api/search.html +++ b/deps/npm/html/doc/api/npm-search.html @@ -1,12 +1,12 @@ - search + npm-search - +
-

search

Search for packages

+

npm-search

Search for packages

SYNOPSIS

@@ -32,7 +32,7 @@ excluded term (the "searchexclude" config). The search is case insensi and doesn't try to read your mind (it doesn't do any verb tense matching or the like).

- + - diff --git a/deps/npm/html/api/shrinkwrap.html b/deps/npm/html/doc/api/npm-shrinkwrap.html similarity index 84% rename from deps/npm/html/api/shrinkwrap.html rename to deps/npm/html/doc/api/npm-shrinkwrap.html index b17aa0a..5100bb9 100644 --- a/deps/npm/html/api/shrinkwrap.html +++ b/deps/npm/html/doc/api/npm-shrinkwrap.html @@ -1,12 +1,12 @@ - shrinkwrap + npm-shrinkwrap - +
-

shrinkwrap

programmatically generate package shrinkwrap file

+

npm-shrinkwrap

programmatically generate package shrinkwrap file

SYNOPSIS

@@ -26,7 +26,7 @@ but the shrinkwrap file will still be written.

Finally, 'callback' is a function that will be called when the shrinkwrap has been saved.

- + - diff --git a/deps/npm/html/api/start.html b/deps/npm/html/doc/api/npm-start.html similarity index 83% rename from deps/npm/html/api/start.html rename to deps/npm/html/doc/api/npm-start.html index 474758d..9971516 100644 --- a/deps/npm/html/api/start.html +++ b/deps/npm/html/doc/api/npm-start.html @@ -1,12 +1,12 @@ - start + npm-start - +
-

start

Start a package

+

npm-start

Start a package

SYNOPSIS

@@ -19,7 +19,7 @@

npm can run tests on multiple packages. Just specify multiple packages in the packages parameter.

- + - diff --git a/deps/npm/html/api/stop.html b/deps/npm/html/doc/api/npm-stop.html similarity index 84% rename from deps/npm/html/api/stop.html rename to deps/npm/html/doc/api/npm-stop.html index 806f4b5..677de42 100644 --- a/deps/npm/html/api/stop.html +++ b/deps/npm/html/doc/api/npm-stop.html @@ -1,12 +1,12 @@ - stop + npm-stop - +
-

stop

Stop a package

+

npm-stop

Stop a package

SYNOPSIS

@@ -19,7 +19,7 @@

npm can run stop on multiple packages. Just specify multiple packages in the packages parameter.

- + - diff --git a/deps/npm/html/api/submodule.html b/deps/npm/html/doc/api/npm-submodule.html similarity index 87% rename from deps/npm/html/api/submodule.html rename to deps/npm/html/doc/api/npm-submodule.html index 07cb0c8..3b23c5f 100644 --- a/deps/npm/html/api/submodule.html +++ b/deps/npm/html/doc/api/npm-submodule.html @@ -1,12 +1,12 @@ - submodule + npm-submodule - +
-

submodule

Add a package as a git submodule

+

npm-submodule

Add a package as a git submodule

SYNOPSIS

@@ -33,7 +33,7 @@ dependencies into the submodule folder.

  • npm help json
  • git help submodule
- + - diff --git a/deps/npm/html/api/tag.html b/deps/npm/html/doc/api/npm-tag.html similarity index 88% rename from deps/npm/html/api/tag.html rename to deps/npm/html/doc/api/npm-tag.html index b5d185e..0eaee2b 100644 --- a/deps/npm/html/api/tag.html +++ b/deps/npm/html/doc/api/npm-tag.html @@ -1,12 +1,12 @@ - tag + npm-tag - +
-

tag

Tag a published version

+

npm-tag

Tag a published version

SYNOPSIS

@@ -29,7 +29,7 @@ parameter is missing or falsey (empty), the default froom the config will be used. For more information about how to set this config, check man 3 npm-config for programmatic usage or man npm-config for cli usage.

- + - diff --git a/deps/npm/html/api/test.html b/deps/npm/html/doc/api/npm-test.html similarity index 85% rename from deps/npm/html/api/test.html rename to deps/npm/html/doc/api/npm-test.html index 0048f13..68c64bb 100644 --- a/deps/npm/html/api/test.html +++ b/deps/npm/html/doc/api/npm-test.html @@ -1,12 +1,12 @@ - test + npm-test - +
-

test

Test a package

+

npm-test

Test a package

SYNOPSIS

@@ -22,7 +22,7 @@ true.

npm can run tests on multiple packages. Just specify multiple packages in the packages parameter.

- + - diff --git a/deps/npm/html/api/uninstall.html b/deps/npm/html/doc/api/npm-uninstall.html similarity index 83% rename from deps/npm/html/api/uninstall.html rename to deps/npm/html/doc/api/npm-uninstall.html index d1714bb..67d7ae7 100644 --- a/deps/npm/html/api/uninstall.html +++ b/deps/npm/html/doc/api/npm-uninstall.html @@ -1,12 +1,12 @@ - uninstall + npm-uninstall - +
-

uninstall

uninstall a package programmatically

+

npm-uninstall

uninstall a package programmatically

SYNOPSIS

@@ -22,7 +22,7 @@ the name of a package to be uninstalled.

Finally, 'callback' is a function that will be called when all packages have been uninstalled or when an error has been encountered.

- + - diff --git a/deps/npm/html/api/unpublish.html b/deps/npm/html/doc/api/npm-unpublish.html similarity index 84% rename from deps/npm/html/api/unpublish.html rename to deps/npm/html/doc/api/npm-unpublish.html index a2be62e..195fc98 100644 --- a/deps/npm/html/api/unpublish.html +++ b/deps/npm/html/doc/api/npm-unpublish.html @@ -1,12 +1,12 @@ - unpublish + npm-unpublish - +
-

unpublish

Remove a package from the registry

+

npm-unpublish

Remove a package from the registry

SYNOPSIS

@@ -26,7 +26,7 @@ is what is meant.

If no version is specified, or if all versions are removed then the root package entry is removed from the registry entirely.

- + - diff --git a/deps/npm/html/api/update.html b/deps/npm/html/doc/api/npm-update.html similarity index 83% rename from deps/npm/html/api/update.html rename to deps/npm/html/doc/api/npm-update.html index 610e779..f6f8a92 100644 --- a/deps/npm/html/api/update.html +++ b/deps/npm/html/doc/api/npm-update.html @@ -1,12 +1,12 @@ - update + npm-update - +
-

update

Update a package

+

npm-update

Update a package

SYNOPSIS

@@ -18,7 +18,7 @@

The 'packages' argument is an array of packages to update. The 'callback' parameter will be called when done or when an error occurs.

- + - diff --git a/deps/npm/html/api/version.html b/deps/npm/html/doc/api/npm-version.html similarity index 85% rename from deps/npm/html/api/version.html rename to deps/npm/html/doc/api/npm-version.html index c4a4dcb..33f66a4 100644 --- a/deps/npm/html/api/version.html +++ b/deps/npm/html/doc/api/npm-version.html @@ -1,12 +1,12 @@ - version + npm-version - +
-

version

Bump a package version

+

npm-version

Bump a package version

SYNOPSIS

@@ -24,7 +24,7 @@ fail if the repo is not clean.

parameter. The difference, however, is this function will fail if it does not have exactly one element. The only element should be a version number.

- + - diff --git a/deps/npm/html/api/view.html b/deps/npm/html/doc/api/npm-view.html similarity index 95% rename from deps/npm/html/api/view.html rename to deps/npm/html/doc/api/npm-view.html index 667cf39..aef457f 100644 --- a/deps/npm/html/api/view.html +++ b/deps/npm/html/doc/api/npm-view.html @@ -1,12 +1,12 @@ - view + npm-view - +
-

view

View registry info

+

npm-view

View registry info

SYNOPSIS

@@ -99,7 +99,7 @@ the field name.

corresponding to the list of fields selected.

- + - diff --git a/deps/npm/html/api/whoami.html b/deps/npm/html/doc/api/npm-whoami.html similarity index 83% rename from deps/npm/html/api/whoami.html rename to deps/npm/html/doc/api/npm-whoami.html index 445fe40..50fcfe9 100644 --- a/deps/npm/html/api/whoami.html +++ b/deps/npm/html/doc/api/npm-whoami.html @@ -1,12 +1,12 @@ - whoami + npm-whoami - +
-

whoami

Display npm username

+

npm-whoami

Display npm username

SYNOPSIS

@@ -21,7 +21,7 @@

This function is not useful programmatically

- + - diff --git a/deps/npm/html/api/npm.html b/deps/npm/html/doc/api/npm.html similarity index 91% rename from deps/npm/html/api/npm.html rename to deps/npm/html/doc/api/npm.html index 2ec22fe..5c0aa6c 100644 --- a/deps/npm/html/api/npm.html +++ b/deps/npm/html/doc/api/npm.html @@ -2,7 +2,7 @@ npm - +
@@ -24,24 +24,24 @@ npm.load([configObject,] function (er, npm) {

VERSION

-

1.3.2

+

1.3.3

DESCRIPTION

This is the API documentation for npm. To find documentation of the command line -client, see npm(1).

+client, see npm(1).

Prior to using npm's commands, npm.load() must be called. If you provide configObject as an object hash of top-level configs, they override the values stored in the various config locations. In the npm command line client, this set of configs is parsed from the command line options. Additional configuration -params are loaded from two configuration files. See config(1) -for more information.

+params are loaded from two configuration files. See npm-config(1), +npm-config(7), and npmrc(5) for more information.

After that, each of the functions are accessible in the -commands object: npm.commands.<cmd>. See index(1) for a list of +commands object: npm.commands.<cmd>. See npm-index(7) for a list of all possible commands.

All commands on the command object take an array of positional argument @@ -92,7 +92,7 @@ method names. Use the npm.deref method to find the real name.

var cmd = npm.deref("unp") // cmd === "unpublish"
- + - diff --git a/deps/npm/html/doc/changelog.html b/deps/npm/html/doc/changelog.html deleted file mode 100644 index 9be4c8d..0000000 --- a/deps/npm/html/doc/changelog.html +++ /dev/null @@ -1,100 +0,0 @@ - - - changelog - - - - -
-

changelog

Changes

- -

HISTORY

- -

1.1.3, 1.1.4

- -
  • Update request to support HTTPS-over-HTTP proxy tunneling
  • Throw on undefined envs in config settings
  • Update which to 1.0.5
  • Fix windows UNC busyloop in findPrefix
  • Bundle nested bundleDependencies properly
  • Alias adduser to add-user
  • Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny)
  • ignore logfd/outfd streams in makeEnv() (Rod Vagg)
  • shrinkwrap: Behave properly with url-installed deps
  • install: Support --save with url install targets
  • Support installing naked tars or single-file modules from urls etc.
  • init: Don't add engines section
  • Don't run make clean on rebuild
  • Added missing unicode replacement (atomizer)
- -

1.1.2

- -

Dave Pacheco (2): - add "npm shrinkwrap"

- -

Martin Cooper (1): - Fix #1753 Make a copy of the cached objects we'll modify.

- -

Tim Oxley (1): - correctly remove readme from default npm view command.

- -

Tyler Green (1): - fix #2187 set terminal columns to Infinity if 0

- -

isaacs (19): - update minimatch - update request - Experimental: single-file modules - Fix #2172 Don't remove global mans uninstalling local pkgs - Add --versions flag to show the version of node as well - Support --json flag for ls output - update request to 2.9.151

- -

1.1

- -
  • Replace system tar dependency with a JS tar
  • Continue to refine
- -

1.0

- -
  • Greatly simplified folder structure
  • Install locally (bundle by default)
  • Drastic rearchitecture
- -

0.3

- -
  • More correct permission/uid handling when running as root
  • Require node 0.4.0
  • Reduce featureset
  • Packages without "main" modules don't export modules
  • Remove support for invalid JSON (since node doesn't support it)
- -

0.2

- -
  • First allegedly "stable" release
  • Most functionality implemented
  • Used shim files and name@version symlinks
  • Feature explosion
  • Kind of a mess
- -

0.1

- -
  • push to beta, and announce
  • Solaris and Cygwin support
- -

0.0

- -
  • Lots of sketches and false starts; abandoned a few times
  • Core functionality established
- -

SEE ALSO

- - -
- - - diff --git a/deps/npm/html/doc/adduser.html b/deps/npm/html/doc/cli/npm-adduser.html similarity index 73% rename from deps/npm/html/doc/adduser.html rename to deps/npm/html/doc/cli/npm-adduser.html index 83a6af4..bc30e26 100644 --- a/deps/npm/html/doc/adduser.html +++ b/deps/npm/html/doc/cli/npm-adduser.html @@ -1,12 +1,12 @@ - adduser + npm-adduser - +
-

adduser

Add a registry user account

+

npm-adduser

Add a registry user account

SYNOPSIS

@@ -37,9 +37,9 @@ authorize on a new machine.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/bin.html b/deps/npm/html/doc/cli/npm-bin.html similarity index 63% rename from deps/npm/html/doc/bin.html rename to deps/npm/html/doc/cli/npm-bin.html index 5e02f5f..90fc9b2 100644 --- a/deps/npm/html/doc/bin.html +++ b/deps/npm/html/doc/cli/npm-bin.html @@ -1,12 +1,12 @@ - bin + npm-bin - +
-

bin

Display npm bin folder

+

npm-bin

Display npm bin folder

SYNOPSIS

@@ -18,9 +18,9 @@

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/bugs.html b/deps/npm/html/doc/cli/npm-bugs.html similarity index 69% rename from deps/npm/html/doc/bugs.html rename to deps/npm/html/doc/cli/npm-bugs.html index effc9ea..e4fa6c2 100644 --- a/deps/npm/html/doc/bugs.html +++ b/deps/npm/html/doc/cli/npm-bugs.html @@ -1,12 +1,12 @@ - bugs + npm-bugs - +
-

bugs

Bugs for a package in a web browser maybe

+

npm-bugs

Bugs for a package in a web browser maybe

SYNOPSIS

@@ -34,9 +34,9 @@ config param.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/build.html b/deps/npm/html/doc/cli/npm-build.html similarity index 72% rename from deps/npm/html/doc/build.html rename to deps/npm/html/doc/cli/npm-build.html index ca5bbe8..3b5f63a 100644 --- a/deps/npm/html/doc/build.html +++ b/deps/npm/html/doc/cli/npm-build.html @@ -1,12 +1,12 @@ - build + npm-build - +
-

build

Build a package

+

npm-build

Build a package

SYNOPSIS

@@ -23,9 +23,9 @@ A folder containing a package.json file in its root.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/bundle.html b/deps/npm/html/doc/cli/npm-bundle.html similarity index 80% rename from deps/npm/html/doc/bundle.html rename to deps/npm/html/doc/cli/npm-bundle.html index 92b6273..8a6e66e 100644 --- a/deps/npm/html/doc/bundle.html +++ b/deps/npm/html/doc/cli/npm-bundle.html @@ -1,12 +1,12 @@ - bundle + npm-bundle - +
-

bundle

REMOVED

+

npm-bundle

REMOVED

DESCRIPTION

@@ -18,9 +18,9 @@ install packages into the local space.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/cache.html b/deps/npm/html/doc/cli/npm-cache.html similarity index 81% rename from deps/npm/html/doc/cache.html rename to deps/npm/html/doc/cli/npm-cache.html index fb9da2d..d3565d0 100644 --- a/deps/npm/html/doc/cache.html +++ b/deps/npm/html/doc/cli/npm-cache.html @@ -1,12 +1,12 @@ - cache + npm-cache - +
-

cache

Manipulates packages cache

+

npm-cache

Manipulates packages cache

SYNOPSIS

@@ -64,9 +64,9 @@ they do not make an HTTP request to the registry.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/completion.html b/deps/npm/html/doc/cli/npm-completion.html similarity index 78% rename from deps/npm/html/doc/completion.html rename to deps/npm/html/doc/cli/npm-completion.html index 4d67aed..b411f2d 100644 --- a/deps/npm/html/doc/completion.html +++ b/deps/npm/html/doc/cli/npm-completion.html @@ -1,12 +1,12 @@ - completion + npm-completion - +
-

completion

Tab Completion for npm

+

npm-completion

Tab Completion for npm

SYNOPSIS

@@ -31,9 +31,9 @@ completions based on the arguments.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/cli/npm-config.html b/deps/npm/html/doc/cli/npm-config.html new file mode 100644 index 0000000..c2b0d3e --- /dev/null +++ b/deps/npm/html/doc/cli/npm-config.html @@ -0,0 +1,106 @@ + + + npm-config + + + + +
+

npm-config

Manage the npm configuration files

+ +

SYNOPSIS

+ +
npm config set <key> <value> [--global]
+npm config get <key>
+npm config delete <key>
+npm config list
+npm config edit
+npm get <key>
+npm set <key> <value> [--global]
+ +

DESCRIPTION

+ +

npm gets its config settings from the command line, environment +variables, npmrc files, and in some cases, the package.json file.

+ +

See npmrc(5) for more information about the npmrc files.

+ +

See npm-config(7) for a more thorough discussion of the mechanisms +involved.

+ +

The npm config command can be used to update and edit the contents +of the user and global npmrc files.

+ +

Sub-commands

+ +

Config supports the following sub-commands:

+ +

set

+ +
npm config set key value
+ +

Sets the config key to the value.

+ +

If value is omitted, then it sets it to "true".

+ +

get

+ +
npm config get key
+ +

Echo the config value to stdout.

+ +

list

+ +
npm config list
+ +

Show all the config settings.

+ +

delete

+ +
npm config delete key
+ +

Deletes the key from all configuration files.

+ +

edit

+ +
npm config edit
+ +

Opens the config file in an editor. Use the --global flag to edit the +global config.

+ +

SEE ALSO

+ + +
+ + diff --git a/deps/npm/html/doc/dedupe.html b/deps/npm/html/doc/cli/npm-dedupe.html similarity index 80% rename from deps/npm/html/doc/dedupe.html rename to deps/npm/html/doc/cli/npm-dedupe.html index b4701ee..6d541ba 100644 --- a/deps/npm/html/doc/dedupe.html +++ b/deps/npm/html/doc/cli/npm-dedupe.html @@ -1,12 +1,12 @@ - dedupe + npm-dedupe - +
-

dedupe

Reduce duplication

+

npm-dedupe

Reduce duplication

SYNOPSIS

@@ -26,7 +26,7 @@ be more effectively shared by multiple dependent packages.

`-- d <-- depends on c@~1.0.9 `-- c@1.0.10 -

In this case, dedupe(1) will transform the tree to:

+

In this case, npm-dedupe(1) will transform the tree to:

a
 +-- b
@@ -55,9 +55,9 @@ registry.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/deprecate.html b/deps/npm/html/doc/cli/npm-deprecate.html similarity index 80% rename from deps/npm/html/doc/deprecate.html rename to deps/npm/html/doc/cli/npm-deprecate.html index c08556b..0c446c9 100644 --- a/deps/npm/html/doc/deprecate.html +++ b/deps/npm/html/doc/cli/npm-deprecate.html @@ -1,12 +1,12 @@ - deprecate + npm-deprecate - +
-

deprecate

Deprecate a version of a package

+

npm-deprecate

Deprecate a version of a package

SYNOPSIS

@@ -29,9 +29,9 @@ something like this:

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/docs.html b/deps/npm/html/doc/cli/npm-docs.html similarity index 71% rename from deps/npm/html/doc/docs.html rename to deps/npm/html/doc/cli/npm-docs.html index cea370e..cbb6272 100644 --- a/deps/npm/html/doc/docs.html +++ b/deps/npm/html/doc/cli/npm-docs.html @@ -1,12 +1,12 @@ - docs + npm-docs - +
-

docs

Docs for a package in a web browser maybe

+

npm-docs

Docs for a package in a web browser maybe

SYNOPSIS

@@ -35,9 +35,9 @@ config param.

SEE ALSO

- +
- + - diff --git a/deps/npm/html/doc/edit.html b/deps/npm/html/doc/cli/npm-edit.html similarity index 73% rename from deps/npm/html/doc/edit.html rename to deps/npm/html/doc/cli/npm-edit.html index b4ee35d..dcaef08 100644 --- a/deps/npm/html/doc/edit.html +++ b/deps/npm/html/doc/cli/npm-edit.html @@ -1,12 +1,12 @@ - edit + npm-edit - +
-

edit

Edit an installed package

+

npm-edit

Edit an installed package

SYNOPSIS

@@ -15,7 +15,7 @@

DESCRIPTION

Opens the package folder in the default editor (or whatever you've -configured as the npm editor config -- see config(1).)

+configured as the npm editor config -- see npm-config(7).)

After it has been edited, the package is rebuilt so as to pick up any changes in compiled packages.

@@ -35,9 +35,9 @@ or "notepad" on Windows.
  • Type: path
  • SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/explore.html b/deps/npm/html/doc/cli/npm-explore.html similarity index 74% rename from deps/npm/html/doc/explore.html rename to deps/npm/html/doc/cli/npm-explore.html index f6ba253..2afa766 100644 --- a/deps/npm/html/doc/explore.html +++ b/deps/npm/html/doc/cli/npm-explore.html @@ -1,12 +1,12 @@ - explore + npm-explore - +
    -

    explore

    Browse an installed package

    +

    npm-explore

    Browse an installed package

    SYNOPSIS

    @@ -38,9 +38,9 @@ Windows
  • Type: path
  • SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/help-search.html b/deps/npm/html/doc/cli/npm-help-search.html similarity index 80% rename from deps/npm/html/doc/help-search.html rename to deps/npm/html/doc/cli/npm-help-search.html index c97088e..18cebe5 100644 --- a/deps/npm/html/doc/help-search.html +++ b/deps/npm/html/doc/cli/npm-help-search.html @@ -1,12 +1,12 @@ - help-search + npm-help-search - +
    -

    help-search

    Search npm help documentation

    +

    npm-help-search

    Search npm help documentation

    SYNOPSIS

    @@ -36,9 +36,9 @@ where the terms were found in the documentation.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/help.html b/deps/npm/html/doc/cli/npm-help.html similarity index 68% rename from deps/npm/html/doc/help.html rename to deps/npm/html/doc/cli/npm-help.html index 9fed221..7e9dfc6 100644 --- a/deps/npm/html/doc/help.html +++ b/deps/npm/html/doc/cli/npm-help.html @@ -1,12 +1,12 @@ - help + npm-help - + - + - diff --git a/deps/npm/html/doc/init.html b/deps/npm/html/doc/cli/npm-init.html similarity index 81% rename from deps/npm/html/doc/init.html rename to deps/npm/html/doc/cli/npm-init.html index b0b39a0..d44912f 100644 --- a/deps/npm/html/doc/init.html +++ b/deps/npm/html/doc/cli/npm-init.html @@ -1,12 +1,12 @@ - init + npm-init - +
    -

    init

    Interactively create a package.json file

    +

    npm-init

    Interactively create a package.json file

    SYNOPSIS

    @@ -27,9 +27,9 @@ without a really good reason to do so.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/install.html b/deps/npm/html/doc/cli/npm-install.html similarity index 84% rename from deps/npm/html/doc/install.html rename to deps/npm/html/doc/cli/npm-install.html index 846033a..eddb937 100644 --- a/deps/npm/html/doc/install.html +++ b/deps/npm/html/doc/cli/npm-install.html @@ -1,12 +1,12 @@ - install + npm-install - +
    -

    install

    Install a package

    +

    npm-install

    Install a package

    SYNOPSIS

    @@ -24,7 +24,7 @@ npm install <name>@<version range>

    This command installs a package, and any packages that it depends on. If the package has a shrinkwrap file, the installation of dependencies will be driven -by that. See shrinkwrap(1).

    +by that. See npm-shrinkwrap(1).

    A package is:

    @@ -41,7 +41,7 @@ directory) as a global package.

  • npm install <folder>< to link a dev directory into your npm root, you can do this more easily by using npm link.

    Example:

      npm install ./package.tgz
  • npm install <tarball url>:

    Fetch the tarball url, and then install it. In order to distinguish between this and other options, the argument must start with "http://" or "https://"

    Example:

      npm install https://github.com/indexzero/forever/tarball/v0.5.6
  • npm install <name> [--save|--save-dev|--save-optional]:

    Do a <name>@<tag> install, where <tag> is the "tag" config. (See -config(1).)

    In most cases, this will install the latest version +npm-config(7).)

    In most cases, this will install the latest version of the module published on npm.

    Example:

    npm install sax

    npm install takes 3 exclusive, optional flags which save or update the package version in your main package.json:

    • --save: Package will appear in your dependencies.

    • --save-dev: Package will appear in your devDependencies.

    • --save-optional: Package will appear in your optionalDependencies.

      Examples:

      npm install sax --save npm install node-tap --save-dev @@ -51,7 +51,7 @@ fetch the package by name if it is not valid.

  • npm If the tag does not exist in the registry data for that package, then this will fail.

    Example:

      npm install sax@latest
  • npm install <name>@<version>:

    Install the specified version of the package. This will fail if the version has not been published to the registry.

    Example:

      npm install sax@0.1.1
  • npm install <name>@<version range>:

    Install a version of the package matching the specified version range. This -will follow the same rules for resolving dependencies described in json(1).

    Note that most version ranges must be put in quotes so that your shell will +will follow the same rules for resolving dependencies described in package.json(5).

    Note that most version ranges must be put in quotes so that your shell will treat it as a single argument.

    Example:

    npm install sax@">=0.1.0 <0.2.0"

  • npm install <git remote url>:

    Install a package by cloning a git remote url. The format of the git url is:

    <protocol>://[<user>@]<hostname><separator><path>[#<commit-ish>]

    <protocol> is one of git, git+ssh, git+http, or git+https. If no <commit-ish> is specified, then master is @@ -72,7 +72,7 @@ local copy exists on disk.

    npm install sax --force

    The --global argument will cause npm to install the package globally -rather than locally. See folders(1).

    +rather than locally. See npm-folders(7).

    The --link argument will cause npm to link global installs into the local space in some cases.

    @@ -86,7 +86,7 @@ shrinkwrap file and use the package.json instead.

    The --nodedir=/path/to/node/source argument will allow npm to find the node source code so that npm can compile native modules.

    -

    See config(1). Many of the configuration params have some +

    See npm-config(7). Many of the configuration params have some effect on installation, since that's most of what npm does.

    ALGORITHM

    @@ -114,7 +114,7 @@ this algorithm produces:

    That is, the dependency from B to C is satisfied by the fact that A already caused C to be installed at a higher level.

    -

    See folders(1) for a more detailed description of the specific +

    See npm-folders(7) for a more detailed description of the specific folder structures that npm creates.

    Limitations of npm's Install Algorithm

    @@ -140,9 +140,9 @@ affects a real use-case, it will be investigated.

    SEE ALSO

    - +
  • - + - diff --git a/deps/npm/html/doc/link.html b/deps/npm/html/doc/cli/npm-link.html similarity index 79% rename from deps/npm/html/doc/link.html rename to deps/npm/html/doc/cli/npm-link.html index 7f23dc4..acf1fbd 100644 --- a/deps/npm/html/doc/link.html +++ b/deps/npm/html/doc/cli/npm-link.html @@ -1,12 +1,12 @@ - link + npm-link - +
    -

    link

    Symlink a package folder

    +

    npm-link

    Symlink a package folder

    SYNOPSIS

    @@ -59,9 +59,9 @@ installation target into your project's node_modules folder.

    SEE ALSO - +
    - + - diff --git a/deps/npm/html/doc/ls.html b/deps/npm/html/doc/cli/npm-ls.html similarity index 76% rename from deps/npm/html/doc/ls.html rename to deps/npm/html/doc/cli/npm-ls.html index 7e6443d..112a74f 100644 --- a/deps/npm/html/doc/ls.html +++ b/deps/npm/html/doc/cli/npm-ls.html @@ -1,12 +1,12 @@ - ls + npm-ls - +
    -

    ls

    List installed packages

    +

    npm-ls

    List installed packages

    SYNOPSIS

    @@ -25,7 +25,7 @@ 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@1.3.2 /path/to/npm
    +
    npm@1.3.3 /path/to/npm
     └─┬ init-package-json@0.0.4
       └── promzard@0.1.5
    @@ -66,9 +66,9 @@ project.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/outdated.html b/deps/npm/html/doc/cli/npm-outdated.html similarity index 71% rename from deps/npm/html/doc/outdated.html rename to deps/npm/html/doc/cli/npm-outdated.html index 2653001..e4361be 100644 --- a/deps/npm/html/doc/outdated.html +++ b/deps/npm/html/doc/cli/npm-outdated.html @@ -1,12 +1,12 @@ - outdated + npm-outdated - +
    -

    outdated

    Check for outdated packages

    +

    npm-outdated

    Check for outdated packages

    SYNOPSIS

    @@ -19,9 +19,9 @@ packages are currently outdated.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/owner.html b/deps/npm/html/doc/cli/npm-owner.html similarity index 77% rename from deps/npm/html/doc/owner.html rename to deps/npm/html/doc/cli/npm-owner.html index 3b49e54..a90a1d8 100644 --- a/deps/npm/html/doc/owner.html +++ b/deps/npm/html/doc/cli/npm-owner.html @@ -1,12 +1,12 @@ - owner + npm-owner - +
    -

    owner

    Manage package owners

    +

    npm-owner

    Manage package owners

    SYNOPSIS

    @@ -32,9 +32,9 @@ that is not implemented at this time.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/pack.html b/deps/npm/html/doc/cli/npm-pack.html similarity index 73% rename from deps/npm/html/doc/pack.html rename to deps/npm/html/doc/cli/npm-pack.html index 63e077b..a58def5 100644 --- a/deps/npm/html/doc/pack.html +++ b/deps/npm/html/doc/cli/npm-pack.html @@ -1,12 +1,12 @@ - pack + npm-pack - +
    -

    pack

    Create a tarball from a package

    +

    npm-pack

    Create a tarball from a package

    SYNOPSIS

    @@ -27,9 +27,9 @@ overwritten the second time.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/prefix.html b/deps/npm/html/doc/cli/npm-prefix.html similarity index 63% rename from deps/npm/html/doc/prefix.html rename to deps/npm/html/doc/cli/npm-prefix.html index 30a531c..b803d5b 100644 --- a/deps/npm/html/doc/prefix.html +++ b/deps/npm/html/doc/cli/npm-prefix.html @@ -1,12 +1,12 @@ - prefix + npm-prefix - + - + - diff --git a/deps/npm/html/doc/prune.html b/deps/npm/html/doc/cli/npm-prune.html similarity index 75% rename from deps/npm/html/doc/prune.html rename to deps/npm/html/doc/cli/npm-prune.html index 9fa4c6a..7cdab95 100644 --- a/deps/npm/html/doc/prune.html +++ b/deps/npm/html/doc/cli/npm-prune.html @@ -1,12 +1,12 @@ - prune + npm-prune - +
    -

    prune

    Remove extraneous packages

    +

    npm-prune

    Remove extraneous packages

    SYNOPSIS

    @@ -23,9 +23,9 @@ package's dependencies list.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/publish.html b/deps/npm/html/doc/cli/npm-publish.html similarity index 73% rename from deps/npm/html/doc/publish.html rename to deps/npm/html/doc/cli/npm-publish.html index 2c392de..506c950 100644 --- a/deps/npm/html/doc/publish.html +++ b/deps/npm/html/doc/cli/npm-publish.html @@ -1,12 +1,12 @@ - publish + npm-publish - +
    -

    publish

    Publish a package

    +

    npm-publish

    Publish a package

    SYNOPSIS

    @@ -27,9 +27,9 @@ the registry. Overwrites when the "--force" flag is set.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/rebuild.html b/deps/npm/html/doc/cli/npm-rebuild.html similarity index 77% rename from deps/npm/html/doc/rebuild.html rename to deps/npm/html/doc/cli/npm-rebuild.html index ddae0c7..21fe9ed 100644 --- a/deps/npm/html/doc/rebuild.html +++ b/deps/npm/html/doc/cli/npm-rebuild.html @@ -1,12 +1,12 @@ - rebuild + npm-rebuild - +
    -

    rebuild

    Rebuild a package

    +

    npm-rebuild

    Rebuild a package

    SYNOPSIS

    @@ -23,9 +23,9 @@ the new binary.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/restart.html b/deps/npm/html/doc/cli/npm-restart.html similarity index 70% rename from deps/npm/html/doc/restart.html rename to deps/npm/html/doc/cli/npm-restart.html index 9387434..533b70b 100644 --- a/deps/npm/html/doc/restart.html +++ b/deps/npm/html/doc/cli/npm-restart.html @@ -1,12 +1,12 @@ - restart + npm-restart - +
    -

    restart

    Start a package

    +

    npm-restart

    Start a package

    SYNOPSIS

    @@ -22,9 +22,9 @@ the "start" script.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/rm.html b/deps/npm/html/doc/cli/npm-rm.html similarity index 65% rename from deps/npm/html/doc/rm.html rename to deps/npm/html/doc/cli/npm-rm.html index bfbb35d..273be4d 100644 --- a/deps/npm/html/doc/rm.html +++ b/deps/npm/html/doc/cli/npm-rm.html @@ -1,12 +1,12 @@ - rm + npm-rm - +
    -

    rm

    Remove a package

    +

    npm-rm

    Remove a package

    SYNOPSIS

    @@ -20,9 +20,9 @@ on its behalf.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/root.html b/deps/npm/html/doc/cli/npm-root.html similarity index 64% rename from deps/npm/html/doc/root.html rename to deps/npm/html/doc/cli/npm-root.html index a3aeb3f..45ad588 100644 --- a/deps/npm/html/doc/root.html +++ b/deps/npm/html/doc/cli/npm-root.html @@ -1,12 +1,12 @@ - root + npm-root - +
    -

    root

    Display npm root

    +

    npm-root

    Display npm root

    SYNOPSIS

    @@ -18,9 +18,9 @@

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/run-script.html b/deps/npm/html/doc/cli/npm-run-script.html similarity index 67% rename from deps/npm/html/doc/run-script.html rename to deps/npm/html/doc/cli/npm-run-script.html index 33c8c2f..d2c7ad6 100644 --- a/deps/npm/html/doc/run-script.html +++ b/deps/npm/html/doc/cli/npm-run-script.html @@ -1,12 +1,12 @@ - run-script + npm-run-script - +
    -

    run-script

    Run arbitrary package scripts

    +

    npm-run-script

    Run arbitrary package scripts

    SYNOPSIS

    @@ -21,9 +21,9 @@ called directly, as well.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/search.html b/deps/npm/html/doc/cli/npm-search.html similarity index 70% rename from deps/npm/html/doc/search.html rename to deps/npm/html/doc/cli/npm-search.html index 4f0a55e..aecbe7d 100644 --- a/deps/npm/html/doc/search.html +++ b/deps/npm/html/doc/cli/npm-search.html @@ -1,12 +1,12 @@ - search + npm-search - +
    -

    search

    Search for packages

    +

    npm-search

    Search for packages

    SYNOPSIS

    @@ -22,9 +22,9 @@ expression characters must be escaped or quoted in most shells.)

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/shrinkwrap.html b/deps/npm/html/doc/cli/npm-shrinkwrap.html similarity index 93% rename from deps/npm/html/doc/shrinkwrap.html rename to deps/npm/html/doc/cli/npm-shrinkwrap.html index aacd3bc..f126a34 100644 --- a/deps/npm/html/doc/shrinkwrap.html +++ b/deps/npm/html/doc/cli/npm-shrinkwrap.html @@ -1,12 +1,12 @@ - shrinkwrap + npm-shrinkwrap - +
    -

    shrinkwrap

    Lock down dependency versions

    +

    npm-shrinkwrap

    Lock down dependency versions

    SYNOPSIS

    @@ -137,7 +137,7 @@ shrinkwrap.
  • Validate that the package works as expected with the new dependencies.
  • Run "npm shrinkwrap", commit the new npm-shrinkwrap.json, and publish your package.
  • -

    You can use outdated(1) to view dependencies with newer versions +

    You can use npm-outdated(1) to view dependencies with newer versions available.

    Other Notes

    @@ -181,9 +181,9 @@ contents rather than versions.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/star.html b/deps/npm/html/doc/cli/npm-star.html similarity index 76% rename from deps/npm/html/doc/star.html rename to deps/npm/html/doc/cli/npm-star.html index 223d754..c35f26d 100644 --- a/deps/npm/html/doc/star.html +++ b/deps/npm/html/doc/cli/npm-star.html @@ -1,12 +1,12 @@ - star + npm-star - +
    -

    star

    Mark your favorite packages

    +

    npm-star

    Mark your favorite packages

    SYNOPSIS

    @@ -24,9 +24,9 @@ a vaguely positive way to show that you care.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/stars.html b/deps/npm/html/doc/cli/npm-stars.html similarity index 71% rename from deps/npm/html/doc/stars.html rename to deps/npm/html/doc/cli/npm-stars.html index 98fb54f..8775ca6 100644 --- a/deps/npm/html/doc/stars.html +++ b/deps/npm/html/doc/cli/npm-stars.html @@ -1,12 +1,12 @@ - stars + npm-stars - +
    -

    stars

    View packages marked as favorites

    +

    npm-stars

    View packages marked as favorites

    SYNOPSIS

    @@ -23,9 +23,9 @@ you will most certainly enjoy this command.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/start.html b/deps/npm/html/doc/cli/npm-start.html similarity index 66% rename from deps/npm/html/doc/start.html rename to deps/npm/html/doc/cli/npm-start.html index 35e2602..4eb414b 100644 --- a/deps/npm/html/doc/start.html +++ b/deps/npm/html/doc/cli/npm-start.html @@ -1,12 +1,12 @@ - start + npm-start - + - + - diff --git a/deps/npm/html/doc/stop.html b/deps/npm/html/doc/cli/npm-stop.html similarity index 66% rename from deps/npm/html/doc/stop.html rename to deps/npm/html/doc/cli/npm-stop.html index 614be79..bfc6e69 100644 --- a/deps/npm/html/doc/stop.html +++ b/deps/npm/html/doc/cli/npm-stop.html @@ -1,12 +1,12 @@ - stop + npm-stop - + - + - diff --git a/deps/npm/html/doc/submodule.html b/deps/npm/html/doc/cli/npm-submodule.html similarity index 83% rename from deps/npm/html/doc/submodule.html rename to deps/npm/html/doc/cli/npm-submodule.html index 79aaf22..2960ae5 100644 --- a/deps/npm/html/doc/submodule.html +++ b/deps/npm/html/doc/cli/npm-submodule.html @@ -1,12 +1,12 @@ - submodule + npm-submodule - +
    -

    submodule

    Add a package as a git submodule

    +

    npm-submodule

    Add a package as a git submodule

    SYNOPSIS

    @@ -31,9 +31,9 @@ dependencies into the submodule folder.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/tag.html b/deps/npm/html/doc/cli/npm-tag.html similarity index 68% rename from deps/npm/html/doc/tag.html rename to deps/npm/html/doc/cli/npm-tag.html index deea37a..682866f 100644 --- a/deps/npm/html/doc/tag.html +++ b/deps/npm/html/doc/cli/npm-tag.html @@ -1,12 +1,12 @@ - tag + npm-tag - +
    -

    tag

    Tag a published version

    +

    npm-tag

    Tag a published version

    SYNOPSIS

    @@ -19,9 +19,9 @@

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/test.html b/deps/npm/html/doc/cli/npm-test.html similarity index 68% rename from deps/npm/html/doc/test.html rename to deps/npm/html/doc/cli/npm-test.html index 22df06d..7b2bb08 100644 --- a/deps/npm/html/doc/test.html +++ b/deps/npm/html/doc/cli/npm-test.html @@ -1,12 +1,12 @@ - test + npm-test - + - + - diff --git a/deps/npm/html/doc/uninstall.html b/deps/npm/html/doc/cli/npm-uninstall.html similarity index 65% rename from deps/npm/html/doc/uninstall.html rename to deps/npm/html/doc/cli/npm-uninstall.html index 1ad40d4..3bd2985 100644 --- a/deps/npm/html/doc/uninstall.html +++ b/deps/npm/html/doc/cli/npm-uninstall.html @@ -1,12 +1,12 @@ - uninstall + npm-uninstall - +
    -

    rm

    Remove a package

    +

    npm-rm

    Remove a package

    SYNOPSIS

    @@ -20,9 +20,9 @@ on its behalf.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/unpublish.html b/deps/npm/html/doc/cli/npm-unpublish.html similarity index 72% rename from deps/npm/html/doc/unpublish.html rename to deps/npm/html/doc/cli/npm-unpublish.html index 4500831..17be6dc 100644 --- a/deps/npm/html/doc/unpublish.html +++ b/deps/npm/html/doc/cli/npm-unpublish.html @@ -1,12 +1,12 @@ - unpublish + npm-unpublish - +
    -

    unpublish

    Remove a package from the registry

    +

    npm-unpublish

    Remove a package from the registry

    SYNOPSIS

    @@ -32,9 +32,9 @@ the root package entry is removed from the registry entirely.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/update.html b/deps/npm/html/doc/cli/npm-update.html similarity index 71% rename from deps/npm/html/doc/update.html rename to deps/npm/html/doc/cli/npm-update.html index 46aec3f..133fd61 100644 --- a/deps/npm/html/doc/update.html +++ b/deps/npm/html/doc/cli/npm-update.html @@ -1,12 +1,12 @@ - update + npm-update - +
    -

    update

    Update a package

    +

    npm-update

    Update a package

    SYNOPSIS

    @@ -24,9 +24,9 @@ If no package name is specified, all packages in the specified location (global

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/version.html b/deps/npm/html/doc/cli/npm-version.html similarity index 84% rename from deps/npm/html/doc/version.html rename to deps/npm/html/doc/cli/npm-version.html index 5181ec2..1064250 100644 --- a/deps/npm/html/doc/version.html +++ b/deps/npm/html/doc/cli/npm-version.html @@ -1,12 +1,12 @@ - version + npm-version - +
    -

    version

    Bump a package version

    +

    npm-version

    Bump a package version

    SYNOPSIS

    @@ -47,9 +47,9 @@ Enter passphrase:

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/view.html b/deps/npm/html/doc/cli/npm-view.html similarity index 84% rename from deps/npm/html/doc/view.html rename to deps/npm/html/doc/cli/npm-view.html index 45a2ce2..43c3e7f 100644 --- a/deps/npm/html/doc/view.html +++ b/deps/npm/html/doc/cli/npm-view.html @@ -1,12 +1,12 @@ - view + npm-view - +
    -

    view

    View registry info

    +

    npm-view

    View registry info

    SYNOPSIS

    @@ -62,7 +62,7 @@ can do this:

    "Person" fields are shown as a string if they would be shown as an object. So, for example, this will show the list of npm contributors in -the shortened string format. (See json(1) for more on this.)

    +the shortened string format. (See package.json(5) for more on this.)

    npm view npm contributors
    @@ -88,9 +88,9 @@ the field name.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/whoami.html b/deps/npm/html/doc/cli/npm-whoami.html similarity index 68% rename from deps/npm/html/doc/whoami.html rename to deps/npm/html/doc/cli/npm-whoami.html index 873af37..2c4608c 100644 --- a/deps/npm/html/doc/whoami.html +++ b/deps/npm/html/doc/cli/npm-whoami.html @@ -1,12 +1,12 @@ - whoami + npm-whoami - +
    -

    whoami

    Display npm username

    +

    npm-whoami

    Display npm username

    SYNOPSIS

    @@ -18,9 +18,9 @@

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/npm.html b/deps/npm/html/doc/cli/npm.html similarity index 81% rename from deps/npm/html/doc/npm.html rename to deps/npm/html/doc/cli/npm.html index 87a1b82..7f7be0b 100644 --- a/deps/npm/html/doc/npm.html +++ b/deps/npm/html/doc/cli/npm.html @@ -2,11 +2,11 @@ npm - +
    -

    npm

    node package manager

    +

    npm

    node package manager

    SYNOPSIS

    @@ -14,7 +14,7 @@

    VERSION

    -

    1.3.2

    +

    1.3.3

    DESCRIPTION

    @@ -33,14 +33,14 @@ programs.

    You probably got npm because you want to install stuff.

    Use npm install blerg to install the latest version of "blerg". Check out -install(1) for more info. It can do a lot of stuff.

    +npm-install(1) for more info. It can do a lot of stuff.

    Use the npm search command to show everything that's available. Use npm ls to show everything you've installed.

    DIRECTORIES

    -

    See folders(1) to learn about where npm puts stuff.

    +

    See npm-folders(7) to learn about where npm puts stuff.

    In particular, npm has two modes of operation:

    @@ -58,7 +58,7 @@ operate in global mode instead.

    following help topics:

    • json: -Make a package.json file. See json(1).
    • link: +Make a package.json file. See package.json(5).
    • link: For linking your current working code into Node's path, so that you don't have to reinstall every time you make a change. Use npm link to do this.
    • install: @@ -86,14 +86,14 @@ If the globalconfig option is set in the cli, env, or user config, then that file is parsed instead.
    • Defaults:
      npm's default configuration options are defined in lib/utils/config-defs.js. These must not be changed.
    -

    See config(1) for much much more information.

    +

    See npm-config(7) for much much more information.

    CONTRIBUTIONS

    Patches welcome!

    • code: -Read through coding-style(1) if you plan to submit code. +Read through npm-coding-style(7) if you plan to submit code. You don't have to agree with it, but you do have to follow it.
    • docs: If you find an error in the documentation, edit the appropriate markdown file in the "doc" folder. (Don't worry about generating the man page.)
    @@ -122,7 +122,7 @@ will no doubt tell you to put the output in a gist or email.

    HISTORY

    -

    See changelog(1)

    +

    See npm-changelog(1)

    AUTHOR

    @@ -133,9 +133,9 @@ will no doubt tell you to put the output in a gist or email.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/folders.html b/deps/npm/html/doc/files/npm-folders.html similarity index 90% rename from deps/npm/html/doc/folders.html rename to deps/npm/html/doc/files/npm-folders.html index f52c1c4..00dacef 100644 --- a/deps/npm/html/doc/folders.html +++ b/deps/npm/html/doc/files/npm-folders.html @@ -1,12 +1,12 @@ - folders + npm-folders - +
    -

    folders

    Folder Structures Used by npm

    +

    npm-folders

    Folder Structures Used by npm

    DESCRIPTION

    @@ -67,7 +67,7 @@ when you run npm test.)

    Cache

    -

    See cache(1). Cache files are stored in ~/.npm on Posix, or +

    See npm-cache(1). Cache files are stored in ~/.npm on Posix, or ~/npm-cache on Windows.

    This is controlled by the cache configuration param.

    @@ -199,13 +199,13 @@ not be included in the package tarball.

    This allows a package maintainer to install all of their dependencies (and dev dependencies) locally, but only re-publish those items that -cannot be found elsewhere. See json(1) for more information.

    +cannot be found elsewhere. See package.json(5) for more information.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/global.html b/deps/npm/html/doc/files/npm-global.html similarity index 84% rename from deps/npm/html/doc/global.html rename to deps/npm/html/doc/files/npm-global.html index 58fe8b2..00dacef 100644 --- a/deps/npm/html/doc/global.html +++ b/deps/npm/html/doc/files/npm-global.html @@ -1,12 +1,12 @@ - global + npm-folders - +
    -

    folders

    Folder Structures Used by npm

    +

    npm-folders

    Folder Structures Used by npm

    DESCRIPTION

    @@ -67,7 +67,7 @@ when you run npm test.)

    Cache

    -

    See cache(1). Cache files are stored in ~/.npm on Posix, or +

    See npm-cache(1). Cache files are stored in ~/.npm on Posix, or ~/npm-cache on Windows.

    This is controlled by the cache configuration param.

    @@ -160,21 +160,21 @@ highest level possible, below the localized "target" folder.

    +-- node_modules +-- blerg (1.2.5) <---[A] +-- bar (1.2.3) <---[B] - | +-- node_modules - | | `-- baz (2.0.2) <---[C] - | | `-- node_modules - | | `-- quux (3.2.0) - | `-- asdf (2.3.4) + | `-- node_modules + | +-- baz (2.0.2) <---[C] + | | `-- node_modules + | | `-- quux (3.2.0) + | `-- asdf (2.3.4) `-- baz (1.2.3) <---[D] `-- node_modules `-- quux (3.2.0) <---[E]
    -

    Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are +

    Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are installed in foo's node_modules folder.

    Even though the latest copy of blerg is 1.3.7, foo has a specific dependency on version 1.2.5. So, that gets installed at [A]. Since the -parent installation of blerg satisfie's bar's dependency on blerg@1.x, +parent installation of blerg satisfies bar's dependency on blerg@1.x, it does not install another copy under [B].

    Bar [B] also has dependencies on baz and asdf, so those are installed in @@ -182,11 +182,11 @@ bar's node_modules folder. Because it depends on baz@2.x re-use the baz@1.2.3 installed in the parent node_modules folder [D], and must install its own copy [C].

    -

    Underneath bar, the baz->quux->bar dependency creates a cycle. -However, because bar is already in quux's ancestry [B], it does not +

    Underneath bar, the baz -> quux -> bar dependency creates a cycle. +However, because bar is already in quux's ancestry [B], it does not unpack another copy of bar into that folder.

    -

    Underneath foo->baz [D], quux's [E] folder tree is empty, because its +

    Underneath foo -> baz [D], quux's [E] folder tree is empty, because its dependency on bar is satisfied by the parent folder copy installed at [B].

    For a graphical breakdown of what is installed where, use npm ls.

    @@ -199,13 +199,13 @@ not be included in the package tarball.

    This allows a package maintainer to install all of their dependencies (and dev dependencies) locally, but only re-publish those items that -cannot be found elsewhere. See json(1) for more information.

    +cannot be found elsewhere. See package.json(5) for more information.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/json.html b/deps/npm/html/doc/files/npm-json.html similarity index 94% rename from deps/npm/html/doc/json.html rename to deps/npm/html/doc/files/npm-json.html index 749c5f1..a8e0f62 100644 --- a/deps/npm/html/doc/json.html +++ b/deps/npm/html/doc/files/npm-json.html @@ -1,12 +1,12 @@ - json + package.json - +
    -

    json

    Specifics of npm's package.json handling

    +

    package.json

    Specifics of npm's package.json handling

    DESCRIPTION

    @@ -14,7 +14,7 @@ file. It must be actual JSON, not just a JavaScript object literal.

    A lot of the behavior described in this document is affected by the config -settings described in config(1).

    +settings described in npm-config(7).

    DEFAULT VALUES

    @@ -303,7 +303,7 @@ html project page that you put in your browser. It's for computers.

    at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point.

    -

    See scripts(1) to find out more about writing package scripts.

    +

    See npm-scripts(7) to find out more about writing package scripts.

    config

    @@ -318,7 +318,7 @@ instance, if a package had the following:

    npm_package_config_port environment variable, then the user could override that by doing npm config set foo:port 8001.

    -

    See config(1) and scripts(1) for more on package +

    See npm-config(7) and npm-scripts(7) for more on package configs.

    dependencies

    @@ -407,7 +407,7 @@ the external test or documentation framework that you use.

    These things will be installed whenever the --dev configuration flag is set. This flag is set automatically when doing npm link or when doing npm install from the root of a package, and can be managed like any other npm -configuration param. See config(1) for more on the topic.

    +configuration param. See npm-config(7) for more on the topic.

    bundledDependencies

    @@ -539,14 +539,14 @@ the global public registry by default.

    Any config values can be overridden, but of course only "tag" and "registry" probably matter for the purposes of publishing.

    -

    See config(1) to see the list of config options that can be +

    See npm-config(7) to see the list of config options that can be overridden.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/files/npmrc.html b/deps/npm/html/doc/files/npmrc.html new file mode 100644 index 0000000..90cc134 --- /dev/null +++ b/deps/npm/html/doc/files/npmrc.html @@ -0,0 +1,93 @@ + + + npmrc + + + + +
    +

    npmrc

    The npm config files

    + +

    DESCRIPTION

    + +

    npm gets its config settings from the command line, environment +variables, and npmrc files.

    + +

    The npm config command can be used to update and edit the contents +of the user and global npmrc files.

    + +

    For a list of available configuration options, see npm-config(7).

    + +

    FILES

    + +

    The three relevant files are:

    + +
    • per-user config file (~/.npmrc)
    • global config file ($PREFIX/npmrc)
    • npm builtin config file (/path/to/npm/npmrc)
    + +

    All npm config files are an ini-formatted list of key = value +parameters. Environment variables can be replaced using +${VARIABLE_NAME}. For example:

    + +
    prefix = ${HOME}/.npm-packages
    + +

    Each of these files is loaded, and config options are resolved in +priority order. For example, a setting in the userconfig file would +override the setting in the globalconfig file.

    + +

    Per-user config file

    + +

    $HOME/.npmrc (or the userconfig param, if set in the environment +or on the command line)

    + +

    Global config file

    + +

    $PREFIX/etc/npmrc (or the globalconfig param, if set above): +This file is an ini-file formatted list of key = value parameters. +Environment variables can be replaced as above.

    + +

    Built-in config file

    + +

    path/to/npm/itself/npmrc

    + +

    This is an unchangeable "builtin" configuration file that npm keeps +consistent across updates. Set fields in here using the ./configure +script that comes with npm. This is primarily for distribution +maintainers to override default configs in a standard and consistent +manner.

    + +

    SEE ALSO

    + + +
    + + diff --git a/deps/npm/html/doc/files/package.json.html b/deps/npm/html/doc/files/package.json.html new file mode 100644 index 0000000..a8e0f62 --- /dev/null +++ b/deps/npm/html/doc/files/package.json.html @@ -0,0 +1,580 @@ + + + package.json + + + + +
    +

    package.json

    Specifics of npm's package.json handling

    + +

    DESCRIPTION

    + +

    This document is all you need to know about what's required in your package.json +file. It must be actual JSON, not just a JavaScript object literal.

    + +

    A lot of the behavior described in this document is affected by the config +settings described in npm-config(7).

    + +

    DEFAULT VALUES

    + +

    npm will default some values based on package contents.

    + +
    • "scripts": {"start": "node server.js"}

      If there is a server.js file in the root of your package, then npm +will default the start command to node server.js.

    • "scripts":{"preinstall": "node-waf clean || true; node-waf configure build"}

      If there is a wscript file in the root of your package, npm will +default the preinstall command to compile using node-waf.

    • "scripts":{"preinstall": "node-gyp rebuild"}

      If there is a binding.gyp file in the root of your package, npm will +default the preinstall command to compile using node-gyp.

    • "contributors": [...]

      If there is an AUTHORS file in the root of your package, npm will +treat each line as a Name <email> (url) format, where email and url +are optional. Lines which start with a # or are blank, will be +ignored.

    + +

    name

    + +

    The most important things in your package.json are the name and version fields. +Those are actually required, and your package won't install without +them. The name and version together form an identifier that is assumed +to be completely unique. Changes to the package should come along with +changes to the version.

    + +

    The name is what your thing is called. Some tips:

    + +
    • Don't put "js" or "node" in the name. It's assumed that it's js, since you're +writing a package.json file, and you can specify the engine using the "engines" +field. (See below.)
    • The name ends up being part of a URL, an argument on the command line, and a +folder name. Any name with non-url-safe characters will be rejected. +Also, it can't start with a dot or an underscore.
    • The name will probably be passed as an argument to require(), so it should +be something short, but also reasonably descriptive.
    • You may want to check the npm registry to see if there's something by that name +already, before you get too attached to it. http://registry.npmjs.org/
    + +

    version

    + +

    The most important things in your package.json are the name and version fields. +Those are actually required, and your package won't install without +them. The name and version together form an identifier that is assumed +to be completely unique. Changes to the package should come along with +changes to the version.

    + +

    Version must be parseable by +node-semver, which is bundled +with npm as a dependency. (npm install semver to use it yourself.)

    + +

    Here's how npm's semver implementation deviates from what's on semver.org:

    + +
    • Versions can start with "v"
    • A numeric item separated from the main three-number version by a hyphen +will be interpreted as a "build" number, and will increase the version. +But, if the tag is not a number separated by a hyphen, then it's treated +as a pre-release tag, and is less than the version without a tag. +So, 0.1.2-7 > 0.1.2-7-beta > 0.1.2-6 > 0.1.2 > 0.1.2beta
    + +

    This is a little bit confusing to explain, but matches what you see in practice +when people create tags in git like "v1.2.3" and then do "git describe" to generate +a patch version.

    + +

    description

    + +

    Put a description in it. It's a string. This helps people discover your +package, as it's listed in npm search.

    + +

    keywords

    + +

    Put keywords in it. It's an array of strings. This helps people +discover your package as it's listed in npm search.

    + +

    homepage

    + +

    The url to the project homepage.

    + +

    NOTE: This is not the same as "url". If you put a "url" field, +then the registry will think it's a redirection to your package that has +been published somewhere else, and spit at you.

    + +

    Literally. Spit. I'm so not kidding.

    + +

    bugs

    + +

    The url to your project's issue tracker and / or the email address to which +issues should be reported. These are helpful for people who encounter issues +with your package.

    + +

    It should look like this:

    + +
    { "url" : "http://github.com/owner/project/issues"
    +, "email" : "project@hostname.com"
    +}
    + +

    You can specify either one or both values. If you want to provide only a url, +you can specify the value for "bugs" as a simple string instead of an object.

    + +

    If a url is provided, it will be used by the npm bugs command.

    + +

    license

    + +

    You should specify a license for your package so that people know how they are +permitted to use it, and any restrictions you're placing on it.

    + +

    The simplest way, assuming you're using a common license such as BSD or MIT, is +to just specify the name of the license you're using, like this:

    + +
    { "license" : "BSD" }
    + +

    If you have more complex licensing terms, or you want to provide more detail +in your package.json file, you can use the more verbose plural form, like this:

    + +
    "licenses" : [
    +  { "type" : "MyLicense"
    +  , "url" : "http://github.com/owner/project/path/to/license"
    +  }
    +]
    + +

    It's also a good idea to include a license file at the top level in your package.

    + +

    people fields: author, contributors

    + +

    The "author" is one person. "contributors" is an array of people. A "person" +is an object with a "name" field and optionally "url" and "email", like this:

    + +
    { "name" : "Barney Rubble"
    +, "email" : "b@rubble.com"
    +, "url" : "http://barnyrubble.tumblr.com/"
    +}
    + +

    Or you can shorten that all into a single string, and npm will parse it for you:

    + +
    "Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)
    + +

    Both email and url are optional either way.

    + +

    npm also sets a top-level "maintainers" field with your npm user info.

    + +

    files

    + +

    The "files" field is an array of files to include in your project. If +you name a folder in the array, then it will also include the files +inside that folder. (Unless they would be ignored by another rule.)

    + +

    You can also provide a ".npmignore" file in the root of your package, +which will keep files from being included, even if they would be picked +up by the files array. The ".npmignore" file works just like a +".gitignore".

    + +

    main

    + +

    The main field is a module ID that is the primary entry point to your program. +That is, if your package is named foo, and a user installs it, and then does +require("foo"), then your main module's exports object will be returned.

    + +

    This should be a module ID relative to the root of your package folder.

    + +

    For most modules, it makes the most sense to have a main script and often not +much else.

    + +

    bin

    + +

    A lot of packages have one or more executable files that they'd like to +install into the PATH. npm makes this pretty easy (in fact, it uses this +feature to install the "npm" executable.)

    + +

    To use this, supply a bin field in your package.json which is a map of +command name to local file name. On install, npm will symlink that file into +prefix/bin for global installs, or ./node_modules/.bin/ for local +installs.

    + +

    For example, npm has this:

    + +
    { "bin" : { "npm" : "./cli.js" } }
    + +

    So, when you install npm, it'll create a symlink from the cli.js script to +/usr/local/bin/npm.

    + +

    If you have a single executable, and its name should be the name +of the package, then you can just supply it as a string. For example:

    + +
    { "name": "my-program"
    +, "version": "1.2.5"
    +, "bin": "./path/to/program" }
    + +

    would be the same as this:

    + +
    { "name": "my-program"
    +, "version": "1.2.5"
    +, "bin" : { "my-program" : "./path/to/program" } }
    + +

    man

    + +

    Specify either a single file or an array of filenames to put in place for the +man program to find.

    + +

    If only a single file is provided, then it's installed such that it is the +result from man <pkgname>, regardless of its actual filename. For example:

    + +
    { "name" : "foo"
    +, "version" : "1.2.3"
    +, "description" : "A packaged foo fooer for fooing foos"
    +, "main" : "foo.js"
    +, "man" : "./man/doc.1"
    +}
    + +

    would link the ./man/doc.1 file in such that it is the target for man foo

    + +

    If the filename doesn't start with the package name, then it's prefixed. +So, this:

    + +
    { "name" : "foo"
    +, "version" : "1.2.3"
    +, "description" : "A packaged foo fooer for fooing foos"
    +, "main" : "foo.js"
    +, "man" : [ "./man/foo.1", "./man/bar.1" ]
    +}
    + +

    will create files to do man foo and man foo-bar.

    + +

    Man files must end with a number, and optionally a .gz suffix if they are +compressed. The number dictates which man section the file is installed into.

    + +
    { "name" : "foo"
    +, "version" : "1.2.3"
    +, "description" : "A packaged foo fooer for fooing foos"
    +, "main" : "foo.js"
    +, "man" : [ "./man/foo.1", "./man/foo.2" ]
    +}
    + +

    will create entries for man foo and man 2 foo

    + +

    directories

    + +

    The CommonJS Packages spec details a +few ways that you can indicate the structure of your package using a directories +hash. If you look at npm's package.json, +you'll see that it has directories for doc, lib, and man.

    + +

    In the future, this information may be used in other creative ways.

    + +

    directories.lib

    + +

    Tell people where the bulk of your library is. Nothing special is done +with the lib folder in any way, but it's useful meta info.

    + +

    directories.bin

    + +

    If you specify a "bin" directory, then all the files in that folder will +be used as the "bin" hash.

    + +

    If you have a "bin" hash already, then this has no effect.

    + +

    directories.man

    + +

    A folder that is full of man pages. Sugar to generate a "man" array by +walking the folder.

    + +

    directories.doc

    + +

    Put markdown files in here. Eventually, these will be displayed nicely, +maybe, someday.

    + +

    directories.example

    + +

    Put example scripts in here. Someday, it might be exposed in some clever way.

    + +

    repository

    + +

    Specify the place where your code lives. This is helpful for people who +want to contribute. If the git repo is on github, then the npm docs +command will be able to find you.

    + +

    Do it like this:

    + +
    "repository" :
    +  { "type" : "git"
    +  , "url" : "http://github.com/isaacs/npm.git"
    +  }
    +
    +"repository" :
    +  { "type" : "svn"
    +  , "url" : "http://v8.googlecode.com/svn/trunk/"
    +  }
    + +

    The URL should be a publicly available (perhaps read-only) url that can be handed +directly to a VCS program without any modification. It should not be a url to an +html project page that you put in your browser. It's for computers.

    + +

    scripts

    + +

    The "scripts" member is an object hash of script commands that are run +at various times in the lifecycle of your package. The key is the lifecycle +event, and the value is the command to run at that point.

    + +

    See npm-scripts(7) to find out more about writing package scripts.

    + +

    config

    + +

    A "config" hash can be used to set configuration +parameters used in package scripts that persist across upgrades. For +instance, if a package had the following:

    + +
    { "name" : "foo"
    +, "config" : { "port" : "8080" } }
    + +

    and then had a "start" command that then referenced the +npm_package_config_port environment variable, then the user could +override that by doing npm config set foo:port 8001.

    + +

    See npm-config(7) and npm-scripts(7) for more on package +configs.

    + +

    dependencies

    + +

    Dependencies are specified with a simple hash of package name to version +range. The version range is EITHER a string which has one or more +space-separated descriptors, OR a range like "fromVersion - toVersion"

    + +

    Please do not put test harnesses in your dependencies hash. See +devDependencies, below.

    + +

    Version range descriptors may be any of the following styles, where "version" +is a semver compatible version identifier.

    + +
    • version Must match version exactly
    • =version Same as just version
    • >version Must be greater than version
    • >=version etc
    • <version
    • <=version
    • ~version See 'Tilde Version Ranges' below
    • 1.2.x See 'X Version Ranges' below
    • http://... See 'URLs as Dependencies' below
    • * Matches any version
    • "" (just an empty string) Same as *
    • version1 - version2 Same as >=version1 <=version2.
    • range1 || range2 Passes if either range1 or range2 are satisfied.
    • git... See 'Git URLs as Dependencies' below
    + +

    For example, these are all valid:

    + +
    { "dependencies" :
    +  { "foo" : "1.0.0 - 2.9999.9999"
    +  , "bar" : ">=1.0.2 <2.1.2"
    +  , "baz" : ">1.0.2 <=2.3.4"
    +  , "boo" : "2.0.1"
    +  , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
    +  , "asd" : "http://asdf.com/asdf.tar.gz"
    +  , "til" : "~1.2"
    +  , "elf" : "~1.2.3"
    +  , "two" : "2.x"
    +  , "thr" : "3.3.x"
    +  }
    +}
    + +

    Tilde Version Ranges

    + +

    A range specifier starting with a tilde ~ character is matched against +a version in the following fashion.

    + +
    • The version must be at least as high as the range.
    • The version must be less than the next major revision above the range.
    + +

    For example, the following are equivalent:

    + +
    • "~1.2.3" = ">=1.2.3 <1.3.0"
    • "~1.2" = ">=1.2.0 <1.3.0"
    • "~1" = ">=1.0.0 <1.1.0"
    + +

    X Version Ranges

    + +

    An "x" in a version range specifies that the version number must start +with the supplied digits, but any digit may be used in place of the x.

    + +

    The following are equivalent:

    + +
    • "1.2.x" = ">=1.2.0 <1.3.0"
    • "1.x.x" = ">=1.0.0 <2.0.0"
    • "1.2" = "1.2.x"
    • "1.x" = "1.x.x"
    • "1" = "1.x.x"
    + +

    You may not supply a comparator with a version containing an x. Any +digits after the first "x" are ignored.

    + +

    URLs as Dependencies

    + +

    Starting with npm version 0.2.14, you may specify a tarball URL in place +of a version range.

    + +

    This tarball will be downloaded and installed locally to your package at +install time.

    + +

    Git URLs as Dependencies

    + +

    Git urls can be of the form:

    + +
    git://github.com/user/project.git#commit-ish
    +git+ssh://user@hostname:project.git#commit-ish
    +git+ssh://user@hostname/project.git#commit-ish
    +git+http://user@hostname/project/blah.git#commit-ish
    +git+https://user@hostname/project/blah.git#commit-ish
    + +

    The commit-ish can be any tag, sha, or branch which can be supplied as +an argument to git checkout. The default is master.

    + +

    devDependencies

    + +

    If someone is planning on downloading and using your module in their +program, then they probably don't want or need to download and build +the external test or documentation framework that you use.

    + +

    In this case, it's best to list these additional items in a +devDependencies hash.

    + +

    These things will be installed whenever the --dev configuration flag +is set. This flag is set automatically when doing npm link or when doing +npm install from the root of a package, and can be managed like any other npm +configuration param. See npm-config(7) for more on the topic.

    + +

    bundledDependencies

    + +

    Array of package names that will be bundled when publishing the package.

    + +

    If this is spelled "bundleDependencies", then that is also honorable.

    + +

    optionalDependencies

    + +

    If a dependency can be used, but you would like npm to proceed if it +cannot be found or fails to install, then you may put it in the +optionalDependencies hash. This is a map of package name to version +or url, just like the dependencies hash. The difference is that +failure is tolerated.

    + +

    It is still your program's responsibility to handle the lack of the +dependency. For example, something like this:

    + +
    try {
    +  var foo = require('foo')
    +  var fooVersion = require('foo/package.json').version
    +} catch (er) {
    +  foo = null
    +}
    +if ( notGoodFooVersion(fooVersion) ) {
    +  foo = null
    +}
    +
    +// .. then later in your program ..
    +
    +if (foo) {
    +  foo.doFooThings()
    +}
    + +

    Entries in optionalDependencies will override entries of the same name in +dependencies, so it's usually best to only put in one place.

    + +

    engines

    + +

    You can specify the version of node that your stuff works on:

    + +
    { "engines" : { "node" : ">=0.1.27 <0.1.30" } }
    + +

    And, like with dependencies, if you don't specify the version (or if you +specify "*" as the version), then any version of node will do.

    + +

    If you specify an "engines" field, then npm will require that "node" be +somewhere on that list. If "engines" is omitted, then npm will just assume +that it works on node.

    + +

    You can also use the "engines" field to specify which versions of npm +are capable of properly installing your program. For example:

    + +
    { "engines" : { "npm" : "~1.0.20" } }
    + +

    Note that, unless the user has set the engine-strict config flag, this +field is advisory only.

    + +

    engineStrict

    + +

    If you are sure that your module will definitely not run properly on +versions of Node/npm other than those specified in the engines hash, +then you can set "engineStrict": true in your package.json file. +This will override the user's engine-strict config setting.

    + +

    Please do not do this unless you are really very very sure. If your +engines hash is something overly restrictive, you can quite easily and +inadvertently lock yourself into obscurity and prevent your users from +updating to new versions of Node. Consider this choice carefully. If +people abuse it, it will be removed in a future version of npm.

    + +

    os

    + +

    You can specify which operating systems your +module will run on:

    + +
    "os" : [ "darwin", "linux" ]
    + +

    You can also blacklist instead of whitelist operating systems, +just prepend the blacklisted os with a '!':

    + +
    "os" : [ "!win32" ]
    + +

    The host operating system is determined by process.platform

    + +

    It is allowed to both blacklist, and whitelist, although there isn't any +good reason to do this.

    + +

    cpu

    + +

    If your code only runs on certain cpu architectures, +you can specify which ones.

    + +
    "cpu" : [ "x64", "ia32" ]
    + +

    Like the os option, you can also blacklist architectures:

    + +
    "cpu" : [ "!arm", "!mips" ]
    + +

    The host architecture is determined by process.arch

    + +

    preferGlobal

    + +

    If your package is primarily a command-line application that should be +installed globally, then set this value to true to provide a warning +if it is installed locally.

    + +

    It doesn't actually prevent users from installing it locally, but it +does help prevent some confusion if it doesn't work as expected.

    + +

    private

    + +

    If you set "private": true in your package.json, then npm will refuse +to publish it.

    + +

    This is a way to prevent accidental publication of private repositories. +If you would like to ensure that a given package is only ever published +to a specific registry (for example, an internal registry), +then use the publishConfig hash described below +to override the registry config param at publish-time.

    + +

    publishConfig

    + +

    This is a set of config values that will be used at publish-time. It's +especially handy if you want to set the tag or registry, so that you can +ensure that a given package is not tagged with "latest" or published to +the global public registry by default.

    + +

    Any config values can be overridden, but of course only "tag" and +"registry" probably matter for the purposes of publishing.

    + +

    See npm-config(7) to see the list of config options that can be +overridden.

    + +

    SEE ALSO

    + + +
    + + diff --git a/deps/npm/html/doc/index.html b/deps/npm/html/doc/index.html index 1dea4fb..d4f2e11 100644 --- a/deps/npm/html/doc/index.html +++ b/deps/npm/html/doc/index.html @@ -1,406 +1,414 @@ - index + npm-index
    -

    index

    Index of all npm documentation

    +

    npm-index

    Index of all npm documentation

    -

    README

    +

    README

    -

    node package manager

    +

    node package manager

    Command Line Documentation

    -

    adduser(1)

    +

    npm(1)

    -

    Add a registry user account

    +

    node package manager

    -

    bin(1)

    +

    npm-adduser(1)

    -

    Display npm bin folder

    +

    Add a registry user account

    -

    bugs(1)

    +

    npm-bin(1)

    -

    Bugs for a package in a web browser maybe

    +

    Display npm bin folder

    -

    build(1)

    +

    npm-bugs(1)

    -

    Build a package

    +

    Bugs for a package in a web browser maybe

    -

    bundle(1)

    +

    npm-build(1)

    -

    REMOVED

    +

    Build a package

    -

    cache(1)

    +

    npm-bundle(1)

    -

    Manipulates packages cache

    +

    REMOVED

    -

    changelog(1)

    +

    npm-cache(1)

    -

    Changes

    +

    Manipulates packages cache

    -

    coding-style(1)

    +

    npm-completion(1)

    -

    npm's "funny" coding style

    +

    Tab Completion for npm

    -

    completion(1)

    +

    npm-config(1)

    -

    Tab Completion for npm

    +

    Manage the npm configuration files

    -

    config(1)

    +

    npm-dedupe(1)

    -

    Manage the npm configuration file

    +

    Reduce duplication

    -

    dedupe(1)

    +

    npm-deprecate(1)

    -

    Reduce duplication

    +

    Deprecate a version of a package

    -

    deprecate(1)

    +

    npm-docs(1)

    -

    Deprecate a version of a package

    +

    Docs for a package in a web browser maybe

    -

    developers(1)

    +

    npm-edit(1)

    -

    Developer Guide

    +

    Edit an installed package

    -

    disputes(1)

    +

    npm-explore(1)

    -

    Handling Module Name Disputes

    +

    Browse an installed package

    -

    docs(1)

    +

    npm-help-search(1)

    -

    Docs for a package in a web browser maybe

    +

    Search npm help documentation

    -

    edit(1)

    +

    npm-help(1)

    -

    Edit an installed package

    +

    Get help on npm

    -

    explore(1)

    +

    npm-init(1)

    -

    Browse an installed package

    +

    Interactively create a package.json file

    -

    faq(1)

    +

    npm-install(1)

    -

    Frequently Asked Questions

    +

    Install a package

    -

    folders(1)

    + -

    Folder Structures Used by npm

    +

    Symlink a package folder

    -

    global(1)

    +

    npm-ls(1)

    -

    Folder Structures Used by npm

    +

    List installed packages

    -

    help-search(1)

    +

    npm-outdated(1)

    -

    Search npm help documentation

    +

    Check for outdated packages

    -

    help(1)

    +

    npm-owner(1)

    -

    Get help on npm

    +

    Manage package owners

    -

    init(1)

    +

    npm-pack(1)

    -

    Interactively create a package.json file

    +

    Create a tarball from a package

    -

    install(1)

    +

    npm-prefix(1)

    -

    Install a package

    +

    Display prefix

    -

    json(1)

    +

    npm-prune(1)

    -

    Specifics of npm's package.json handling

    +

    Remove extraneous packages

    - +

    npm-publish(1)

    -

    Symlink a package folder

    +

    Publish a package

    -

    ls(1)

    +

    npm-rebuild(1)

    -

    List installed packages

    +

    Rebuild a package

    -

    npm(1)

    +

    npm-restart(1)

    -

    node package manager

    +

    Start a package

    -

    outdated(1)

    +

    npm-rm(1)

    -

    Check for outdated packages

    +

    Remove a package

    -

    owner(1)

    +

    npm-root(1)

    -

    Manage package owners

    +

    Display npm root

    -

    pack(1)

    +

    npm-run-script(1)

    -

    Create a tarball from a package

    +

    Run arbitrary package scripts

    -

    prefix(1)

    +

    npm-search(1)

    -

    Display prefix

    +

    Search for packages

    -

    prune(1)

    +

    npm-shrinkwrap(1)

    -

    Remove extraneous packages

    +

    Lock down dependency versions

    -

    publish(1)

    +

    npm-star(1)

    -

    Publish a package

    +

    Mark your favorite packages

    -

    rebuild(1)

    +

    npm-stars(1)

    -

    Rebuild a package

    +

    View packages marked as favorites

    -

    registry(1)

    +

    npm-start(1)

    -

    The JavaScript Package Registry

    +

    Start a package

    -

    removing-npm(1)

    +

    npm-stop(1)

    -

    Cleaning the Slate

    +

    Stop a package

    -

    restart(1)

    +

    npm-submodule(1)

    -

    Start a package

    +

    Add a package as a git submodule

    -

    rm(1)

    +

    npm-tag(1)

    -

    Remove a package

    +

    Tag a published version

    -

    root(1)

    +

    npm-test(1)

    -

    Display npm root

    +

    Test a package

    -

    run-script(1)

    +

    npm-uninstall(1)

    -

    Run arbitrary package scripts

    +

    Remove a package

    -

    scripts(1)

    +

    npm-unpublish(1)

    -

    How npm handles the "scripts" field

    +

    Remove a package from the registry

    -

    search(1)

    +

    npm-update(1)

    -

    Search for packages

    +

    Update a package

    -

    semver(1)

    +

    npm-version(1)

    -

    The semantic versioner for npm

    +

    Bump a package version

    -

    shrinkwrap(1)

    +

    npm-view(1)

    -

    Lock down dependency versions

    +

    View registry info

    -

    star(1)

    +

    npm-whoami(1)

    -

    Mark your favorite packages

    +

    Display npm username

    -

    stars(1)

    +

    API Documentation

    -

    View packages marked as favorites

    +

    npm(3)

    -

    start(1)

    +

    node package manager

    -

    Start a package

    +

    npm-bin(3)

    -

    stop(1)

    +

    Display npm bin folder

    -

    Stop a package

    +

    npm-bugs(3)

    -

    submodule(1)

    +

    Bugs for a package in a web browser maybe

    -

    Add a package as a git submodule

    +

    npm-commands(3)

    -

    tag(1)

    +

    npm commands

    -

    Tag a published version

    +

    npm-config(3)

    -

    test(1)

    +

    Manage the npm configuration files

    -

    Test a package

    +

    npm-deprecate(3)

    -

    uninstall(1)

    +

    Deprecate a version of a package

    -

    Remove a package

    +

    npm-docs(3)

    -

    unpublish(1)

    +

    Docs for a package in a web browser maybe

    -

    Remove a package from the registry

    +

    npm-edit(3)

    -

    update(1)

    +

    Edit an installed package

    -

    Update a package

    +

    npm-explore(3)

    -

    version(1)

    +

    Browse an installed package

    -

    Bump a package version

    +

    npm-help-search(3)

    -

    view(1)

    +

    Search the help pages

    -

    View registry info

    +

    npm-init(3)

    -

    whoami(1)

    +

    Interactively create a package.json file

    -

    Display npm username

    +

    npm-install(3)

    -

    API Documentation

    +

    install a package programmatically

    + + + +

    Symlink a package folder

    + +

    npm-load(3)

    + +

    Load config settings

    -

    bin(3)

    +

    npm-ls(3)

    -

    Display npm bin folder

    +

    List installed packages

    -

    bugs(3)

    +

    npm-outdated(3)

    -

    Bugs for a package in a web browser maybe

    +

    Check for outdated packages

    -

    commands(3)

    +

    npm-owner(3)

    -

    npm commands

    +

    Manage package owners

    -

    config(3)

    +

    npm-pack(3)

    -

    Manage the npm configuration files

    +

    Create a tarball from a package

    -

    deprecate(3)

    +

    npm-prefix(3)

    -

    Deprecate a version of a package

    +

    Display prefix

    -

    docs(3)

    +

    npm-prune(3)

    -

    Docs for a package in a web browser maybe

    +

    Remove extraneous packages

    -

    edit(3)

    +

    npm-publish(3)

    -

    Edit an installed package

    +

    Publish a package

    -

    explore(3)

    +

    npm-rebuild(3)

    -

    Browse an installed package

    +

    Rebuild a package

    -

    help-search(3)

    +

    npm-restart(3)

    -

    Search the help pages

    +

    Start a package

    -

    init(3)

    +

    npm-root(3)

    -

    Interactively create a package.json file

    +

    Display npm root

    -

    install(3)

    +

    npm-run-script(3)

    -

    install a package programmatically

    +

    Run arbitrary package scripts

    - +

    npm-search(3)

    -

    Symlink a package folder

    +

    Search for packages

    -

    load(3)

    +

    npm-shrinkwrap(3)

    -

    Load config settings

    +

    programmatically generate package shrinkwrap file

    -

    ls(3)

    +

    npm-start(3)

    -

    List installed packages

    +

    Start a package

    -

    npm(3)

    +

    npm-stop(3)

    -

    node package manager

    +

    Stop a package

    -

    outdated(3)

    +

    npm-submodule(3)

    -

    Check for outdated packages

    +

    Add a package as a git submodule

    -

    owner(3)

    +

    npm-tag(3)

    -

    Manage package owners

    +

    Tag a published version

    -

    pack(3)

    +

    npm-test(3)

    -

    Create a tarball from a package

    +

    Test a package

    -

    prefix(3)

    +

    npm-uninstall(3)

    -

    Display prefix

    +

    uninstall a package programmatically

    -

    prune(3)

    +

    npm-unpublish(3)

    -

    Remove extraneous packages

    +

    Remove a package from the registry

    -

    publish(3)

    +

    npm-update(3)

    -

    Publish a package

    +

    Update a package

    -

    rebuild(3)

    +

    npm-version(3)

    -

    Rebuild a package

    +

    Bump a package version

    -

    restart(3)

    +

    npm-view(3)

    -

    Start a package

    +

    View registry info

    -

    root(3)

    +

    npm-whoami(3)

    -

    Display npm root

    +

    Display npm username

    -

    run-script(3)

    +

    Files

    -

    Run arbitrary package scripts

    +

    npm-folders(5)

    -

    search(3)

    +

    Folder Structures Used by npm

    -

    Search for packages

    +

    npmrc(5)

    -

    shrinkwrap(3)

    +

    The npm config files

    -

    programmatically generate package shrinkwrap file

    +

    package.json(5)

    -

    start(3)

    +

    Specifics of npm's package.json handling

    -

    Start a package

    +

    Misc

    -

    stop(3)

    +

    npm-coding-style(7)

    -

    Stop a package

    +

    npm's "funny" coding style

    -

    submodule(3)

    +

    npm-config(7)

    -

    Add a package as a git submodule

    +

    More than you probably want to know about npm configuration

    -

    tag(3)

    +

    npm-developers(7)

    -

    Tag a published version

    +

    Developer Guide

    -

    test(3)

    +

    npm-disputes(7)

    -

    Test a package

    +

    Handling Module Name Disputes

    -

    uninstall(3)

    +

    npm-faq(7)

    -

    uninstall a package programmatically

    +

    Frequently Asked Questions

    -

    unpublish(3)

    +

    npm-index(7)

    -

    Remove a package from the registry

    +

    Index of all npm documentation

    -

    update(3)

    +

    npm-registry(7)

    -

    Update a package

    +

    The JavaScript Package Registry

    -

    version(3)

    +

    npm-scripts(7)

    -

    Bump a package version

    +

    How npm handles the "scripts" field

    -

    view(3)

    +

    removing-npm(7)

    -

    View registry info

    +

    Cleaning the Slate

    -

    whoami(3)

    +

    semver(7)

    -

    Display npm username

    +

    The semantic versioner for npm

    - + - diff --git a/deps/npm/html/doc/list.html b/deps/npm/html/doc/list.html deleted file mode 100644 index 45f4b7d..0000000 --- a/deps/npm/html/doc/list.html +++ /dev/null @@ -1,99 +0,0 @@ - - - list - - - - -
    -

    ls

    List installed packages

    - -

    SYNOPSIS

    - -
    npm list [<pkg> ...]
    -npm ls [<pkg> ...]
    -npm la [<pkg> ...]
    -npm ll [<pkg> ...]
    - -

    DESCRIPTION

    - -

    This command will print to stdout all the versions of packages that are -installed, as well as their dependencies, in a tree-structure.

    - -

    Positional arguments are name@version-range identifiers, which will -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@1.1.59 /path/to/npm
    -└─┬ init-package-json@0.0.4
    -  └── promzard@0.1.5
    - -

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

    - -

    When run as ll or la, it shows extended information by default.

    - -

    CONFIGURATION

    - -

    json

    - -
    • Default: false
    • Type: Boolean
    - -

    Show information in JSON format.

    - -

    long

    - -
    • Default: false
    • Type: Boolean
    - -

    Show extended information.

    - -

    parseable

    - -
    • Default: false
    • Type: Boolean
    - -

    Show parseable output instead of tree view.

    - -

    global

    - -
    • Default: false
    • Type: Boolean
    - -

    List packages in the global install prefix instead of in the current -project.

    - -

    SEE ALSO

    - - -
    - - - diff --git a/deps/npm/html/doc/misc/index.html b/deps/npm/html/doc/misc/index.html new file mode 100644 index 0000000..4db393c --- /dev/null +++ b/deps/npm/html/doc/misc/index.html @@ -0,0 +1,438 @@ + + + index + + + + +
    +

    npm-index

    Index of all npm documentation

    + +

    README

    + +

    node package manager

    + +

    Command Line Documentation

    + +

    npm(1)

    + +

    node package manager

    + +

    npm-adduser(1)

    + +

    Add a registry user account

    + +

    npm-bin(1)

    + +

    Display npm bin folder

    + +

    npm-bugs(1)

    + +

    Bugs for a package in a web browser maybe

    + +

    npm-build(1)

    + +

    Build a package

    + +

    npm-bundle(1)

    + +

    REMOVED

    + +

    npm-cache(1)

    + +

    Manipulates packages cache

    + +

    npm-completion(1)

    + +

    Tab Completion for npm

    + +

    npm-config(1)

    + +

    Manage the npm configuration files

    + +

    npm-dedupe(1)

    + +

    Reduce duplication

    + +

    npm-deprecate(1)

    + +

    Deprecate a version of a package

    + +

    npm-docs(1)

    + +

    Docs for a package in a web browser maybe

    + +

    npm-edit(1)

    + +

    Edit an installed package

    + +

    npm-explore(1)

    + +

    Browse an installed package

    + +

    npm-help-search(1)

    + +

    Search npm help documentation

    + +

    npm-help(1)

    + +

    Get help on npm

    + +

    npm-init(1)

    + +

    Interactively create a package.json file

    + +

    npm-install(1)

    + +

    Install a package

    + + + +

    Symlink a package folder

    + +

    npm-ls(1)

    + +

    List installed packages

    + +

    npm-outdated(1)

    + +

    Check for outdated packages

    + +

    npm-owner(1)

    + +

    Manage package owners

    + +

    npm-pack(1)

    + +

    Create a tarball from a package

    + +

    npm-prefix(1)

    + +

    Display prefix

    + +

    npm-prune(1)

    + +

    Remove extraneous packages

    + +

    npm-publish(1)

    + +

    Publish a package

    + +

    npm-rebuild(1)

    + +

    Rebuild a package

    + +

    npm-restart(1)

    + +

    Start a package

    + +

    npm-rm(1)

    + +

    Remove a package

    + +

    npm-root(1)

    + +

    Display npm root

    + +

    npm-run-script(1)

    + +

    Run arbitrary package scripts

    + +

    npm-search(1)

    + +

    Search for packages

    + +

    npm-shrinkwrap(1)

    + +

    Lock down dependency versions

    + +

    npm-star(1)

    + +

    Mark your favorite packages

    + +

    npm-stars(1)

    + +

    View packages marked as favorites

    + +

    npm-start(1)

    + +

    Start a package

    + +

    npm-stop(1)

    + +

    Stop a package

    + +

    npm-submodule(1)

    + +

    Add a package as a git submodule

    + +

    npm-tag(1)

    + +

    Tag a published version

    + +

    npm-test(1)

    + +

    Test a package

    + +

    npm-uninstall(1)

    + +

    Remove a package

    + +

    npm-unpublish(1)

    + +

    Remove a package from the registry

    + +

    npm-update(1)

    + +

    Update a package

    + +

    npm-version(1)

    + +

    Bump a package version

    + +

    npm-view(1)

    + +

    View registry info

    + +

    npm-whoami(1)

    + +

    Display npm username

    + +

    API Documentation

    + +

    npm(3)

    + +

    node package manager

    + +

    npm-bin(3)

    + +

    Display npm bin folder

    + +

    npm-bugs(3)

    + +

    Bugs for a package in a web browser maybe

    + +

    npm-commands(3)

    + +

    npm commands

    + +

    npm-config(3)

    + +

    Manage the npm configuration files

    + +

    npm-deprecate(3)

    + +

    Deprecate a version of a package

    + +

    npm-docs(3)

    + +

    Docs for a package in a web browser maybe

    + +

    npm-edit(3)

    + +

    Edit an installed package

    + +

    npm-explore(3)

    + +

    Browse an installed package

    + +

    npm-help-search(3)

    + +

    Search the help pages

    + +

    npm-init(3)

    + +

    Interactively create a package.json file

    + +

    npm-install(3)

    + +

    install a package programmatically

    + + + +

    Symlink a package folder

    + +

    npm-load(3)

    + +

    Load config settings

    + +

    npm-ls(3)

    + +

    List installed packages

    + +

    npm-outdated(3)

    + +

    Check for outdated packages

    + +

    npm-owner(3)

    + +

    Manage package owners

    + +

    npm-pack(3)

    + +

    Create a tarball from a package

    + +

    npm-prefix(3)

    + +

    Display prefix

    + +

    npm-prune(3)

    + +

    Remove extraneous packages

    + +

    npm-publish(3)

    + +

    Publish a package

    + +

    npm-rebuild(3)

    + +

    Rebuild a package

    + +

    npm-restart(3)

    + +

    Start a package

    + +

    npm-root(3)

    + +

    Display npm root

    + +

    npm-run-script(3)

    + +

    Run arbitrary package scripts

    + +

    npm-search(3)

    + +

    Search for packages

    + +

    npm-shrinkwrap(3)

    + +

    programmatically generate package shrinkwrap file

    + +

    npm-start(3)

    + +

    Start a package

    + +

    npm-stop(3)

    + +

    Stop a package

    + +

    npm-submodule(3)

    + +

    Add a package as a git submodule

    + +

    npm-tag(3)

    + +

    Tag a published version

    + +

    npm-test(3)

    + +

    Test a package

    + +

    npm-uninstall(3)

    + +

    uninstall a package programmatically

    + +

    npm-unpublish(3)

    + +

    Remove a package from the registry

    + +

    npm-update(3)

    + +

    Update a package

    + +

    npm-version(3)

    + +

    Bump a package version

    + +

    npm-view(3)

    + +

    View registry info

    + +

    npm-whoami(3)

    + +

    Display npm username

    + +

    Files

    + +

    npm-folders(5)

    + +

    Folder Structures Used by npm

    + +

    npmrc(5)

    + +

    The npm config files

    + +

    package.json(5)

    + +

    Specifics of npm's package.json handling

    + +

    Misc

    + +

    npm-coding-style(7)

    + +

    npm's "funny" coding style

    + +

    npm-config(7)

    + +

    More than you probably want to know about npm configuration

    + +

    npm-developers(7)

    + +

    Developer Guide

    + +

    npm-disputes(7)

    + +

    Handling Module Name Disputes

    + +

    npm-faq(7)

    + +

    Frequently Asked Questions

    + +

    npm-registry(7)

    + +

    The JavaScript Package Registry

    + +

    npm-scripts(7)

    + +

    How npm handles the "scripts" field

    + +

    removing-npm(7)

    + +

    Cleaning the Slate

    + +

    semver(7)

    + +

    The semantic versioner for npm

    +
    + + diff --git a/deps/npm/html/doc/coding-style.html b/deps/npm/html/doc/misc/npm-coding-style.html similarity index 92% rename from deps/npm/html/doc/coding-style.html rename to deps/npm/html/doc/misc/npm-coding-style.html index 9f959aa..a44f1de 100644 --- a/deps/npm/html/doc/coding-style.html +++ b/deps/npm/html/doc/misc/npm-coding-style.html @@ -1,12 +1,12 @@ - coding-style + npm-coding-style - +
    -

    coding-style

    npm's "funny" coding style

    +

    npm-coding-style

    npm's "funny" coding style

    DESCRIPTION

    @@ -145,7 +145,7 @@ logging the same object over and over again is not helpful. Logs should report what's happening so that it's easier to track down where a fault occurs.

    -

    Use appropriate log levels. See config(1) and search for +

    Use appropriate log levels. See npm-config(7) and search for "loglevel".

    Case, naming, etc.

    @@ -180,9 +180,9 @@ set to anything."

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/config.html b/deps/npm/html/doc/misc/npm-config.html similarity index 86% rename from deps/npm/html/doc/config.html rename to deps/npm/html/doc/misc/npm-config.html index 5f10a61..22c6c78 100644 --- a/deps/npm/html/doc/config.html +++ b/deps/npm/html/doc/misc/npm-config.html @@ -1,22 +1,12 @@ - config + npm-config - +
    -

    config

    Manage the npm configuration file

    - -

    SYNOPSIS

    - -
    npm config set <key> <value> [--global]
    -npm config get <key>
    -npm config delete <key>
    -npm config list
    -npm config edit
    -npm get <key>
    -npm set <key> <value> [--global]
    +

    npm-config

    More than you probably want to know about npm configuration

    DESCRIPTION

    @@ -24,87 +14,34 @@ npm set <key> <value> [--global]

    Command Line Flags

    -

    Putting --foo bar on the command line sets the -foo configuration parameter to "bar". A -- argument tells the cli -parser to stop reading flags. A --flag parameter that is at the end of -the command will be given the value of true.

    +

    Putting --foo bar on the command line sets the foo configuration +parameter to "bar". A -- argument tells the cli parser to stop +reading flags. A --flag parameter that is at the end of the +command will be given the value of true.

    Environment Variables

    -

    Any environment variables that start with npm_config_ will be interpreted -as a configuration parameter. For example, putting npm_config_foo=bar in -your environment will set the foo configuration parameter to bar. Any -environment configurations that are not given a value will be given the value -of true. Config values are case-insensitive, so NPM_CONFIG_FOO=bar will -work the same.

    - -

    Per-user config file

    - -

    $HOME/.npmrc (or the userconfig param, if set above)

    - -

    This file is an ini-file formatted list of key = value parameters. -Environment variables can be replaced using ${VARIABLE_NAME}. For example:

    - -
    prefix = ${HOME}/.npm-packages
    - -

    Global config file

    +

    Any environment variables that start with npm_config_ will be +interpreted as a configuration parameter. For example, putting +npm_config_foo=bar in your environment will set the foo +configuration parameter to bar. Any environment configurations that +are not given a value will be given the value of true. Config +values are case-insensitive, so NPM_CONFIG_FOO=bar will work the +same.

    -

    $PREFIX/etc/npmrc (or the globalconfig param, if set above): -This file is an ini-file formatted list of key = value parameters. -Environment variables can be replaced as above.

    +

    npmrc Files

    -

    Built-in config file

    +

    The three relevant files are:

    -

    path/to/npm/itself/npmrc

    +
    • per-user config file (~/.npmrc)
    • global config file ($PREFIX/npmrc)
    • npm builtin config file (/path/to/npm/npmrc)
    -

    This is an unchangeable "builtin" -configuration file that npm keeps consistent across updates. Set -fields in here using the ./configure script that comes with npm. -This is primarily for distribution maintainers to override default -configs in a standard and consistent manner.

    +

    See npmrc(5) for more details.

    Default Configs

    A set of configuration parameters that are internal to npm, and are defaults if nothing else is specified.

    -

    Sub-commands

    - -

    Config supports the following sub-commands:

    - -

    set

    - -
    npm config set key value
    - -

    Sets the config key to the value.

    - -

    If value is omitted, then it sets it to "true".

    - -

    get

    - -
    npm config get key
    - -

    Echo the config value to stdout.

    - -

    list

    - -
    npm config list
    - -

    Show all the config settings.

    - -

    delete

    - -
    npm config delete key
    - -

    Deletes the key from all configuration files.

    - -

    edit

    - -
    npm config edit
    - -

    Opens the config file in an editor. Use the --global flag to edit the -global config.

    -

    Shorthands and Other CLI Niceties

    The following shorthands are parsed on the command-line:

    @@ -130,10 +67,10 @@ npm ls --global --parseable --long --loglevel info

    Per-Package Config Settings

    -

    When running scripts (see scripts(1)) -the package.json "config" keys are overwritten in the environment if -there is a config param of <name>[@<version>]:<key>. For example, if -the package.json has this:

    +

    When running scripts (see npm-scripts(7)) the package.json "config" +keys are overwritten in the environment if there is a config param of +<name>[@<version>]:<key>. For example, if the package.json has +this:

    { "name" : "foo"
     , "config" : { "port" : "8080" }
    @@ -147,6 +84,8 @@ the package.json has this:

    npm config set foo:port 80
    +

    See package.json(5) for more information.

    +

    Config Settings

    always-auth

    @@ -189,7 +128,7 @@ to trust only that specific signing authority.

    • Default: Windows: %APPDATA%\npm-cache, Posix: ~/.npm
    • Type: path
    -

    The location of npm's cache directory. See cache(1)

    +

    The location of npm's cache directory. See npm-cache(1)

    cache-lock-stale

    @@ -330,7 +269,7 @@ the git binary.

    Operates in "global" mode, so that packages are installed into the prefix folder instead of the current working directory. See -folders(1) for more on the differences in behavior.

    +npm-folders(7) for more on the differences in behavior.

    • packages are installed into the {prefix}/lib/node_modules folder, instead of the current working directory.
    • bin files are linked to {prefix}/bin
    • man pages are linked to {prefix}/share/man
    @@ -385,7 +324,7 @@ from packages when building tarballs.

    A module that will be loaded by the npm init command. See the documentation for the init-package-json module -for more information, or init(1).

    +for more information, or npm-init(1).

    init.version

    @@ -516,7 +455,7 @@ standard output.

    prefix

    - +

    The location to install global items. If set on the command line, then it forces non-global commands to run in the specified folder.

    @@ -699,7 +638,7 @@ will fail.

    • Default: false
    • Type: Boolean

    Set to show short usage output (like the -H output) -instead of complete help when doing help(1).

    +instead of complete help when doing npm-help(1).

    user

    @@ -776,9 +715,9 @@ then answer "no" to any prompt.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/developers.html b/deps/npm/html/doc/misc/npm-developers.html similarity index 86% rename from deps/npm/html/doc/developers.html rename to deps/npm/html/doc/misc/npm-developers.html index 237b470..3160d46 100644 --- a/deps/npm/html/doc/developers.html +++ b/deps/npm/html/doc/misc/npm-developers.html @@ -1,12 +1,12 @@ - developers + npm-developers - +
    -

    developers

    Developer Guide

    +

    npm-developers

    Developer Guide

    DESCRIPTION

    @@ -50,7 +50,7 @@ an argument to git checkout. The default is master.You need to have a package.json file in the root of your project to do much of anything with npm. That is basically the whole interface.

    -

    See json(1) for details about what goes in that file. At the very +

    See package.json(5) for details about what goes in that file. At the very least, you need:

    • name: @@ -67,7 +67,7 @@ Take some credit.

    • scripts: If you have a special compilation or installation script, then you should put it in the scripts hash. You should definitely have at least a basic smoke-test command as the "scripts.test" field. -See scripts(1).

    • main: +See npm-scripts(7).

    • main: If you have a single module that serves as the entry point to your program (like what the "foo" package gives you at require("foo")), then you need to specify that in the "main" field.

    • directories: @@ -76,7 +76,7 @@ This is a hash of folders. The best ones to include are "lib" and they'll get installed just like these ones.

    You can use npm init in the root of your package in order to get you -started with a pretty basic package.json file. See init(1) for +started with a pretty basic package.json file. See npm-init(1) for more info.

    Keeping files out of your package

    @@ -99,7 +99,7 @@ bother adding node_modules to .npmignore.

    The following paths and files are never ignored, so adding them to .npmignore is pointless:

    - + @@ -108,7 +108,7 @@ changes in real time without having to keep re-installing it. (You do need to either re-link or npm rebuild -g to update compiled packages, of course.)

    -

    More info at link(1).

    +

    More info at npm-link(1).

    Before Publishing: Make Sure Your Package Installs and Works

    @@ -148,7 +148,7 @@ bring in your module's main module.

    and then follow the prompts.

    -

    This is documented better in adduser(1).

    +

    This is documented better in npm-adduser(1).

    Publish your package

    @@ -172,9 +172,9 @@ from a fresh checkout.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/disputes.html b/deps/npm/html/doc/misc/npm-disputes.html similarity index 93% rename from deps/npm/html/doc/disputes.html rename to deps/npm/html/doc/misc/npm-disputes.html index 4248d11..a383e76 100644 --- a/deps/npm/html/doc/disputes.html +++ b/deps/npm/html/doc/misc/npm-disputes.html @@ -1,12 +1,12 @@ - disputes + npm-disputes - +
    -

    disputes

    Handling Module Name Disputes

    +

    npm-disputes

    Handling Module Name Disputes

    SYNOPSIS

    @@ -89,9 +89,9 @@ things into it.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/faq.html b/deps/npm/html/doc/misc/npm-faq.html similarity index 93% rename from deps/npm/html/doc/faq.html rename to deps/npm/html/doc/misc/npm-faq.html index 67ba674..854c87b 100644 --- a/deps/npm/html/doc/faq.html +++ b/deps/npm/html/doc/misc/npm-faq.html @@ -1,12 +1,12 @@ - faq + npm-faq - +
    -

    faq

    Frequently Asked Questions

    +

    npm-faq

    Frequently Asked Questions

    Where can I find these docs in HTML?

    @@ -29,7 +29,7 @@ do what it says and post a bug with all the information it asks for.

    Where does npm put stuff?

    -

    See folders(1)

    +

    See npm-folders(5)

    tl;dr:

    @@ -64,7 +64,7 @@ problems than it solves.

    It is much harder to avoid dependency conflicts without nesting dependencies. This is fundamental to the way that npm works, and has -proven to be an extremely successful approach. See folders(1) for +proven to be an extremely successful approach. See npm-folders(5) for more details.

    If you want a package to be installed in one place, and have all your @@ -273,12 +273,12 @@ of Node 0.3.

    How can I use npm for development?

    -

    See developers(1) and json(1).

    +

    See npm-developers(7) and package.json(5).

    You'll most likely want to npm link your development folder. That's awesomely handy.

    -

    To set up your own private registry, check out registry(1).

    +

    To set up your own private registry, check out npm-registry(7).

    Can I list a url as a dependency?

    @@ -288,11 +288,11 @@ that has a package.json in its root, or a git url. -

    See link(1)

    +

    See npm-link(1)

    The package registry website. What is that exactly?

    -

    See registry(1).

    +

    See npm-registry(7).

    I forgot my password, and can't publish. How do I reset it?

    @@ -338,9 +338,9 @@ There is not sufficient need to impose namespace rules on everyone.

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/misc/npm-index.html b/deps/npm/html/doc/misc/npm-index.html new file mode 100644 index 0000000..fb768c3 --- /dev/null +++ b/deps/npm/html/doc/misc/npm-index.html @@ -0,0 +1,442 @@ + + + npm-index + + + + +
    +

    npm-index

    Index of all npm documentation

    + +

    README

    + +

    node package manager

    + +

    Command Line Documentation

    + +

    npm(1)

    + +

    node package manager

    + +

    npm-adduser(1)

    + +

    Add a registry user account

    + +

    npm-bin(1)

    + +

    Display npm bin folder

    + +

    npm-bugs(1)

    + +

    Bugs for a package in a web browser maybe

    + +

    npm-build(1)

    + +

    Build a package

    + +

    npm-bundle(1)

    + +

    REMOVED

    + +

    npm-cache(1)

    + +

    Manipulates packages cache

    + +

    npm-completion(1)

    + +

    Tab Completion for npm

    + +

    npm-config(1)

    + +

    Manage the npm configuration files

    + +

    npm-dedupe(1)

    + +

    Reduce duplication

    + +

    npm-deprecate(1)

    + +

    Deprecate a version of a package

    + +

    npm-docs(1)

    + +

    Docs for a package in a web browser maybe

    + +

    npm-edit(1)

    + +

    Edit an installed package

    + +

    npm-explore(1)

    + +

    Browse an installed package

    + +

    npm-help-search(1)

    + +

    Search npm help documentation

    + +

    npm-help(1)

    + +

    Get help on npm

    + +

    npm-init(1)

    + +

    Interactively create a package.json file

    + +

    npm-install(1)

    + +

    Install a package

    + + + +

    Symlink a package folder

    + +

    npm-ls(1)

    + +

    List installed packages

    + +

    npm-outdated(1)

    + +

    Check for outdated packages

    + +

    npm-owner(1)

    + +

    Manage package owners

    + +

    npm-pack(1)

    + +

    Create a tarball from a package

    + +

    npm-prefix(1)

    + +

    Display prefix

    + +

    npm-prune(1)

    + +

    Remove extraneous packages

    + +

    npm-publish(1)

    + +

    Publish a package

    + +

    npm-rebuild(1)

    + +

    Rebuild a package

    + +

    npm-restart(1)

    + +

    Start a package

    + +

    npm-rm(1)

    + +

    Remove a package

    + +

    npm-root(1)

    + +

    Display npm root

    + +

    npm-run-script(1)

    + +

    Run arbitrary package scripts

    + +

    npm-search(1)

    + +

    Search for packages

    + +

    npm-shrinkwrap(1)

    + +

    Lock down dependency versions

    + +

    npm-star(1)

    + +

    Mark your favorite packages

    + +

    npm-stars(1)

    + +

    View packages marked as favorites

    + +

    npm-start(1)

    + +

    Start a package

    + +

    npm-stop(1)

    + +

    Stop a package

    + +

    npm-submodule(1)

    + +

    Add a package as a git submodule

    + +

    npm-tag(1)

    + +

    Tag a published version

    + +

    npm-test(1)

    + +

    Test a package

    + +

    npm-uninstall(1)

    + +

    Remove a package

    + +

    npm-unpublish(1)

    + +

    Remove a package from the registry

    + +

    npm-update(1)

    + +

    Update a package

    + +

    npm-version(1)

    + +

    Bump a package version

    + +

    npm-view(1)

    + +

    View registry info

    + +

    npm-whoami(1)

    + +

    Display npm username

    + +

    API Documentation

    + +

    npm(3)

    + +

    node package manager

    + +

    npm-bin(3)

    + +

    Display npm bin folder

    + +

    npm-bugs(3)

    + +

    Bugs for a package in a web browser maybe

    + +

    npm-commands(3)

    + +

    npm commands

    + +

    npm-config(3)

    + +

    Manage the npm configuration files

    + +

    npm-deprecate(3)

    + +

    Deprecate a version of a package

    + +

    npm-docs(3)

    + +

    Docs for a package in a web browser maybe

    + +

    npm-edit(3)

    + +

    Edit an installed package

    + +

    npm-explore(3)

    + +

    Browse an installed package

    + +

    npm-help-search(3)

    + +

    Search the help pages

    + +

    npm-init(3)

    + +

    Interactively create a package.json file

    + +

    npm-install(3)

    + +

    install a package programmatically

    + + + +

    Symlink a package folder

    + +

    npm-load(3)

    + +

    Load config settings

    + +

    npm-ls(3)

    + +

    List installed packages

    + +

    npm-outdated(3)

    + +

    Check for outdated packages

    + +

    npm-owner(3)

    + +

    Manage package owners

    + +

    npm-pack(3)

    + +

    Create a tarball from a package

    + +

    npm-prefix(3)

    + +

    Display prefix

    + +

    npm-prune(3)

    + +

    Remove extraneous packages

    + +

    npm-publish(3)

    + +

    Publish a package

    + +

    npm-rebuild(3)

    + +

    Rebuild a package

    + +

    npm-restart(3)

    + +

    Start a package

    + +

    npm-root(3)

    + +

    Display npm root

    + +

    npm-run-script(3)

    + +

    Run arbitrary package scripts

    + +

    npm-search(3)

    + +

    Search for packages

    + +

    npm-shrinkwrap(3)

    + +

    programmatically generate package shrinkwrap file

    + +

    npm-start(3)

    + +

    Start a package

    + +

    npm-stop(3)

    + +

    Stop a package

    + +

    npm-submodule(3)

    + +

    Add a package as a git submodule

    + +

    npm-tag(3)

    + +

    Tag a published version

    + +

    npm-test(3)

    + +

    Test a package

    + +

    npm-uninstall(3)

    + +

    uninstall a package programmatically

    + +

    npm-unpublish(3)

    + +

    Remove a package from the registry

    + +

    npm-update(3)

    + +

    Update a package

    + +

    npm-version(3)

    + +

    Bump a package version

    + +

    npm-view(3)

    + +

    View registry info

    + +

    npm-whoami(3)

    + +

    Display npm username

    + +

    Files

    + +

    npm-folders(5)

    + +

    Folder Structures Used by npm

    + +

    npmrc(5)

    + +

    The npm config files

    + +

    package.json(5)

    + +

    Specifics of npm's package.json handling

    + +

    Misc

    + +

    npm-coding-style(7)

    + +

    npm's "funny" coding style

    + +

    npm-config(7)

    + +

    More than you probably want to know about npm configuration

    + +

    npm-developers(7)

    + +

    Developer Guide

    + +

    npm-disputes(7)

    + +

    Handling Module Name Disputes

    + +

    npm-faq(7)

    + +

    Frequently Asked Questions

    + +

    npm-index(7)

    + +

    Index of all npm documentation

    + +

    npm-registry(7)

    + +

    The JavaScript Package Registry

    + +

    npm-scripts(7)

    + +

    How npm handles the "scripts" field

    + +

    removing-npm(7)

    + +

    Cleaning the Slate

    + +

    semver(7)

    + +

    The semantic versioner for npm

    +
    + + diff --git a/deps/npm/html/doc/registry.html b/deps/npm/html/doc/misc/npm-registry.html similarity index 83% rename from deps/npm/html/doc/registry.html rename to deps/npm/html/doc/misc/npm-registry.html index aa4b61f..4f6392d 100644 --- a/deps/npm/html/doc/registry.html +++ b/deps/npm/html/doc/misc/npm-registry.html @@ -1,12 +1,12 @@ - registry + npm-registry - +
    -

    registry

    The JavaScript Package Registry

    +

    npm-registry

    The JavaScript Package Registry

    DESCRIPTION

    @@ -26,7 +26,8 @@ are CouchDB users, stored in the ht database.

    The registry URL is supplied by the registry config parameter. See -config(1) for more on managing npm's configuration.

    +npm-config(1), npmrc(5), and npm-config(7) for more on managing +npm's configuration.

    Can I run my own private registry?

    @@ -49,7 +50,7 @@ published at all, or "publishConfig":{"registry":"http://my-internal-registry.local"} to force it to be published only to your internal registry.

    -

    See json(1) for more info on what goes in the package.json file.

    +

    See package.json(5) for more info on what goes in the package.json file.

    Will you replicate from my registry into the public one?

    @@ -93,9 +94,9 @@ ask for help on the npm-@googlegroups.com

    SEE ALSO

    -
    +
    - + - diff --git a/deps/npm/html/doc/scripts.html b/deps/npm/html/doc/misc/npm-scripts.html similarity index 70% rename from deps/npm/html/doc/scripts.html rename to deps/npm/html/doc/misc/npm-scripts.html index f9ced25..8045532 100644 --- a/deps/npm/html/doc/scripts.html +++ b/deps/npm/html/doc/misc/npm-scripts.html @@ -1,12 +1,12 @@ - scripts + npm-scripts - +
    -

    scripts

    How npm handles the "scripts" field

    +

    npm-scripts

    How npm handles the "scripts" field

    DESCRIPTION

    @@ -82,48 +82,49 @@ default the preinstall command to compile using node-waf.

    <

    USER

    -

    If npm was invoked with root privileges, then it will change the uid to -the user account or uid specified by the user config, which defaults -to nobody. Set the unsafe-perm flag to run scripts with root -privileges.

    +

    If npm was invoked with root privileges, then it will change the uid +to the user account or uid specified by the user config, which +defaults to nobody. Set the unsafe-perm flag to run scripts with +root privileges.

    ENVIRONMENT

    -

    Package scripts run in an environment where many pieces of information are -made available regarding the setup of npm and the current state of the -process.

    +

    Package scripts run in an environment where many pieces of information +are made available regarding the setup of npm and the current state of +the process.

    path

    -

    If you depend on modules that define executable scripts, like test suites, -then those executables will be added to the PATH for executing the scripts. -So, if your package.json has this:

    +

    If you depend on modules that define executable scripts, like test +suites, then those executables will be added to the PATH for +executing the scripts. So, if your package.json has this:

    { "name" : "foo"
     , "dependencies" : { "bar" : "0.1.x" }
     , "scripts": { "start" : "bar ./test" } }
    -

    then you could run npm start to execute the bar script, which is exported -into the node_modules/.bin directory on npm install.

    +

    then you could run npm start to execute the bar script, which is +exported into the node_modules/.bin directory on npm install.

    package.json vars

    -

    The package.json fields are tacked onto the npm_package_ prefix. So, for -instance, if you had {"name":"foo", "version":"1.2.5"} in your package.json -file, then your package scripts would have the npm_package_name environment -variable set to "foo", and the npm_package_version set to "1.2.5"

    +

    The package.json fields are tacked onto the npm_package_ prefix. So, +for instance, if you had {"name":"foo", "version":"1.2.5"} in your +package.json file, then your package scripts would have the +npm_package_name environment variable set to "foo", and the +npm_package_version set to "1.2.5"

    configuration

    -

    Configuration parameters are put in the environment with the npm_config_ -prefix. For instance, you can view the effective root config by checking the -npm_config_root environment variable.

    +

    Configuration parameters are put in the environment with the +npm_config_ prefix. For instance, you can view the effective root +config by checking the npm_config_root environment variable.

    Special: package.json "config" hash

    The package.json "config" keys are overwritten in the environment if -there is a config param of <name>[@<version>]:<key>. For example, if -the package.json has this:

    +there is a config param of <name>[@<version>]:<key>. For example, +if the package.json has this:

    { "name" : "foo"
     , "config" : { "port" : "8080" }
    @@ -139,14 +140,14 @@ the package.json has this:

    current lifecycle event

    -

    Lastly, the npm_lifecycle_event environment variable is set to whichever -stage of the cycle is being executed. So, you could have a single script used -for different parts of the process which switches based on what's currently -happening.

    +

    Lastly, the npm_lifecycle_event environment variable is set to +whichever stage of the cycle is being executed. So, you could have a +single script used for different parts of the process which switches +based on what's currently happening.

    Objects are flattened following this format, so if you had -{"scripts":{"install":"foo.js"}} in your package.json, then you'd see this -in the script:

    +{"scripts":{"install":"foo.js"}} in your package.json, then you'd +see this in the script:

    process.env.npm_package_scripts_install === "foo.js"
    @@ -161,13 +162,15 @@ in the script:

    } }
    -

    then the scripts/install.js will be called for the install, post-install, -stages of the lifecycle, and the scripts/uninstall.js would be -called when the package is uninstalled. Since scripts/install.js is running -for three different phases, it would be wise in this case to look at the -npm_lifecycle_event environment variable.

    +

    then the scripts/install.js will be called for the install, +post-install, stages of the lifecycle, and the scripts/uninstall.js +would be called when the package is uninstalled. Since +scripts/install.js is running for three different phases, it would +be wise in this case to look at the npm_lifecycle_event environment +variable.

    -

    If you want to run a make command, you can do so. This works just fine:

    +

    If you want to run a make command, you can do so. This works just +fine:

    { "scripts" :
       { "preinstall" : "./configure"
    @@ -183,42 +186,44 @@ for three different phases, it would be wise in this case to look at the
     

    If the script exits with a code other than 0, then this will abort the process.

    -

    Note that these script files don't have to be nodejs or even javascript -programs. They just have to be some kind of executable file.

    +

    Note that these script files don't have to be nodejs or even +javascript programs. They just have to be some kind of executable +file.

    HOOK SCRIPTS

    -

    If you want to run a specific script at a specific lifecycle event for ALL -packages, then you can use a hook script.

    +

    If you want to run a specific script at a specific lifecycle event for +ALL packages, then you can use a hook script.

    -

    Place an executable file at node_modules/.hooks/{eventname}, and it'll get -run for all packages when they are going through that point in the package -lifecycle for any packages installed in that root.

    +

    Place an executable file at node_modules/.hooks/{eventname}, and +it'll get run for all packages when they are going through that point +in the package lifecycle for any packages installed in that root.

    -

    Hook scripts are run exactly the same way as package.json scripts. That is, -they are in a separate child process, with the env described above.

    +

    Hook scripts are run exactly the same way as package.json scripts. +That is, they are in a separate child process, with the env described +above.

    BEST PRACTICES

    • Don't exit with a non-zero error code unless you really mean it. -Except for uninstall scripts, this will cause the npm action -to fail, and potentially be rolled back. If the failure is minor or +Except for uninstall scripts, this will cause the npm action to +fail, and potentially be rolled back. If the failure is minor or only will prevent some optional features, then it's better to just print a warning and exit successfully.
    • Try not to use scripts to do what npm can do for you. Read through -json(1) to see all the things that you can specify and enable -by simply describing your package appropriately. In general, this will -lead to a more robust and consistent state.
    • Inspect the env to determine where to put things. For instance, if -the npm_config_binroot environ is set to /home/user/bin, then don't -try to install executables into /usr/local/bin. The user probably -set it up that way for a reason.
    • Don't prefix your script commands with "sudo". If root permissions are -required for some reason, then it'll fail with that error, and the user -will sudo the npm command in question.
    +package.json(5) to see all the things that you can specify and enable +by simply describing your package appropriately. In general, this +will lead to a more robust and consistent state.
  • Inspect the env to determine where to put things. For instance, if +the npm_config_binroot environ is set to /home/user/bin, then +don't try to install executables into /usr/local/bin. The user +probably set it up that way for a reason.
  • Don't prefix your script commands with "sudo". If root permissions +are required for some reason, then it'll fail with that error, and +the user will sudo the npm command in question.
  • SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/removing-npm.html b/deps/npm/html/doc/misc/removing-npm.html similarity index 85% rename from deps/npm/html/doc/removing-npm.html rename to deps/npm/html/doc/misc/removing-npm.html index 66a028c..952dc79 100644 --- a/deps/npm/html/doc/removing-npm.html +++ b/deps/npm/html/doc/misc/removing-npm.html @@ -2,11 +2,11 @@ removing-npm - +
    -

    removal

    Cleaning the Slate

    +

    npm-removal

    Cleaning the Slate

    SYNOPSIS

    @@ -52,13 +52,13 @@ modules. To track those down, you can do the following:

    find /usr/local/{lib/node,bin} -exec grep -l npm \{\} \; ;
    -

    (This is also in the README file.)

    +

    (This is also in the README file.)

    SEE ALSO

    - +
    - + - diff --git a/deps/npm/html/doc/semver.html b/deps/npm/html/doc/misc/semver.html similarity index 55% rename from deps/npm/html/doc/semver.html rename to deps/npm/html/doc/misc/semver.html index 64b8778..19db6e1 100644 --- a/deps/npm/html/doc/semver.html +++ b/deps/npm/html/doc/misc/semver.html @@ -2,19 +2,13 @@ semver - +
    -

    semver

    The semantic versioner for npm

    +

    semver

    The semantic versioner for npm

    -

    SYNOPSIS

    - -

    The npm semantic versioning utility.

    - -

    DESCRIPTION

    - -

    As a node module:

    +

    Usage

    $ npm install semver
     
    @@ -27,14 +21,14 @@ semver.lt('1.2.3', '9.8.7') // true

    As a command-line utility:

    -
    $ npm install semver -g
    -$ semver -h
    +
    $ semver -h
     
    -Usage: semver -v <version> [-r <range>]
    -Test if version(s) satisfy the supplied range(s),
    -and sort them.
    +Usage: semver <version> [<version> [...]] [-r <range> | -i <inc> | -d <dec>]
    +Test if version(s) satisfy the supplied range(s), and sort them.
     
    -Multiple versions or ranges may be supplied.
    +Multiple versions or ranges may be supplied, unless increment
    +or decrement options are specified.  In that case, only a single
    +version may be used, and it is incremented by the specified level
     
     Program exits successfully if any valid version satisfies
     all supplied ranges, and prints all satisfying versions.
    @@ -47,41 +41,41 @@ multiple versions to the utility will just sort them.

    Versions

    -

    A version is the following things, in this order:

    - -
    • a number (Major)
    • a period
    • a number (minor)
    • a period
    • a number (patch)
    • OPTIONAL: a hyphen, followed by a number (build)
    • OPTIONAL: a collection of pretty much any non-whitespace characters -(tag)
    +

    A "version" is described by the v2.0.0 specification found at +http://semver.org/.

    A leading "=" or "v" character is stripped off and ignored.

    -

    Comparisons

    - -

    The ordering of versions is done using the following algorithm, given -two versions and asked to find the greater of the two:

    - -
    • If the majors are numerically different, then take the one -with a bigger major number. 2.3.4 > 1.3.4
    • If the minors are numerically different, then take the one -with the bigger minor number. 2.3.4 > 2.2.4
    • If the patches are numerically different, then take the one with the -bigger patch number. 2.3.4 > 2.3.3
    • If only one of them has a build number, then take the one with the -build number. 2.3.4-0 > 2.3.4
    • If they both have build numbers, and the build numbers are numerically -different, then take the one with the bigger build number. -2.3.4-10 > 2.3.4-9
    • If only one of them has a tag, then take the one without the tag. -2.3.4 > 2.3.4-beta
    • If they both have tags, then take the one with the lexicographically -larger tag. 2.3.4-beta > 2.3.4-alpha
    • At this point, they're equal.
    -

    Ranges

    The following range styles are supported:

    -
    • >1.2.3 Greater than a specific version.
    • <1.2.3 Less than
    • 1.2.3 - 2.3.4 := >=1.2.3 <=2.3.4
    • ~1.2.3 := >=1.2.3 <1.3.0
    • ~1.2 := >=1.2.0 <1.3.0
    • ~1 := >=1.0.0 <2.0.0
    • 1.2.x := >=1.2.0 <1.3.0
    • 1.x := >=1.0.0 <2.0.0
    +
    • 1.2.3 A specific version. When nothing else will do. Note that +build metadata is still ignored, so 1.2.3+build2012 will satisfy +this range.
    • >1.2.3 Greater than a specific version.
    • <1.2.3 Less than a specific version. If there is no prerelease +tag on the version range, then no prerelease version will be allowed +either, even though these are technically "less than".
    • >=1.2.3 Greater than or equal to. Note that prerelease versions +are NOT equal to their "normal" equivalents, so 1.2.3-beta will +not satisfy this range, but 2.3.0-beta will.
    • <=1.2.3 Less than or equal to. In this case, prerelease versions +ARE allowed, so 1.2.3-beta would satisfy.
    • 1.2.3 - 2.3.4 := >=1.2.3 <=2.3.4
    • ~1.2.3 := >=1.2.3-0 <1.3.0-0 "Reasonably close to 1.2.3". When +using tilde operators, prerelease versions are supported as well, +but a prerelease of the next significant digit will NOT be +satisfactory, so 1.3.0-beta will not satisfy ~1.2.3.
    • ~1.2 := >=1.2.0-0 <1.3.0-0 "Any version starting with 1.2"
    • 1.2.x := >=1.2.0-0 <1.3.0-0 "Any version starting with 1.2"
    • ~1 := >=1.0.0-0 <2.0.0-0 "Any version starting with 1"
    • 1.x := >=1.0.0-0 <2.0.0-0 "Any version starting with 1"

    Ranges can be joined with either a space (which implies "and") or a || (which implies "or").

    Functions

    +

    All methods and classes take a final loose boolean argument that, if +true, will be more forgiving about not-quite-valid semver strings. +The resulting output will always be 100% strict, of course.

    + +

    Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse.

    +
    • valid(v): Return the parsed version, or null if it's not valid.
    • inc(v, release): Return the version incremented by the release type -(major, minor, patch, or build), or null if it's not valid.
    +(major, minor, patch, or prerelease), or null if it's not valid.

    Comparison

    @@ -99,12 +93,8 @@ in descending order when passed to Array.sort().
    • validRange(range): Return the valid range or null if it's not valid
    • satisfies(version, range): Return true if the version satisfies the range.
    • maxSatisfying(versions, range): Return the highest version in the list that satisfies the range, or null if none of them do.
    - -

    SEE ALSO

    - -
    - + - diff --git a/deps/npm/html/docfoot-script.html b/deps/npm/html/docfoot-script.html new file mode 100644 index 0000000..c0fea67 --- /dev/null +++ b/deps/npm/html/docfoot-script.html @@ -0,0 +1,31 @@ + diff --git a/deps/npm/html/docfoot.html b/deps/npm/html/docfoot.html index 3e35341..237b897 100644 --- a/deps/npm/html/docfoot.html +++ b/deps/npm/html/docfoot.html @@ -1,34 +1,2 @@ - - diff --git a/deps/npm/html/dochead.html b/deps/npm/html/dochead.html index 1526e1b..01f4d2f 100644 --- a/deps/npm/html/dochead.html +++ b/deps/npm/html/dochead.html @@ -2,7 +2,7 @@ @NAME@ - +
    diff --git a/deps/npm/lib/build.js b/deps/npm/lib/build.js index fdbae72..1760225 100644 --- a/deps/npm/lib/build.js +++ b/deps/npm/lib/build.js @@ -202,17 +202,12 @@ function linkMans (pkg, folder, parent, gtop, cb) { var manRoot = path.resolve(npm.config.get("prefix"), "share", "man") asyncMap(pkg.man, function (man, cb) { if (typeof man !== "string") return cb() - var parseMan = man.match(/(.*)\.([0-9]+)(\.gz)?$/) + var parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/) , stem = parseMan[1] , sxn = parseMan[2] , gz = parseMan[3] || "" , bn = path.basename(stem) - , manDest = path.join( manRoot - , "man"+sxn - , (bn.indexOf(pkg.name) === 0 ? bn - : pkg.name + "-" + bn) - + "." + sxn + gz - ) + , manDest = path.join(manRoot, "man" + sxn, bn) linkIfExists(man, manDest, gtop && folder, cb) }, cb) diff --git a/deps/npm/lib/cache.js b/deps/npm/lib/cache.js index 3501b69..313a4f0 100644 --- a/deps/npm/lib/cache.js +++ b/deps/npm/lib/cache.js @@ -1173,7 +1173,7 @@ function unpack (pkg, ver, unpackTarget, dMode, fMode, uid, gid, cb) { log.error("unpack", "Could not read data for %s", pkg + "@" + ver) return cb(er) } - npm.commands.unbuild([unpackTarget], function (er) { + npm.commands.unbuild([unpackTarget], true, function (er) { if (er) return cb(er) tar.unpack( path.join(npm.cache, pkg, ver, "package.tgz") , unpackTarget diff --git a/deps/npm/lib/help-search.js b/deps/npm/lib/help-search.js index b0b15ba..590fe27 100644 --- a/deps/npm/lib/help-search.js +++ b/deps/npm/lib/help-search.js @@ -8,6 +8,7 @@ var fs = require("graceful-fs") , apiDocsPath = path.join(__dirname, "..", "doc", "api") , log = require("npmlog") , npm = require("./npm.js") + , glob = require("glob") helpSearch.usage = "npm help-search " @@ -17,177 +18,199 @@ function helpSearch (args, silent, cb) { // see if we're actually searching the api docs. var argv = npm.config.get("argv").cooked - , docsPath = cliDocsPath - , cmd = "help" - if (argv.length && argv[0].indexOf("api") !== -1) { - docsPath = apiDocsPath - cmd = "apihelp" - } - fs.readdir(docsPath, function(er, files) { - if (er) { - log.error("helpSearch", "Could not load documentation") + var docPath = path.resolve(__dirname, "..", "doc") + return glob(docPath + "/*/*.md", function (er, files) { + if (er) return cb(er) - } - - var search = args.join(" ") - , results = [] - asyncMap(files, function (file, cb) { - fs.lstat(path.resolve(docsPath, file), function (er, st) { - if (er) return cb(er) - if (!st.isFile()) return cb(null, []) - - fs.readFile(path.resolve(docsPath, file), "utf8", function (er, data) { - if (er) return cb(er) - - var match = false - for (var a = 0, l = args.length; a < l && !match; a ++) { - match = data.toLowerCase().indexOf(args[a].toLowerCase()) !== -1 - } - if (!match) return cb(null, []) - - var lines = data.split(/\n+/) - , context = [] - - // if a line has a search term, then skip it and the next line. - // if the next line has a search term, then skip all 3 - // otherwise, set the line to null. - for (var i = 0, l = lines.length; i < l; i ++) { - var line = lines[i] - , nextLine = lines[i + 1] - , match = false - if (nextLine) { - for (var a = 0, ll = args.length; a < ll && !match; a ++) { - match = nextLine.toLowerCase() - .indexOf(args[a].toLowerCase()) !== -1 - } - if (match) { - // skip over the next line, and the line after it. - i += 2 - continue - } - } - - match = false - for (var a = 0, ll = args.length; a < ll && !match; a ++) { - match = line.toLowerCase().indexOf(args[a].toLowerCase()) !== -1 - } - if (match) { - // skip over the next line - i ++ - continue - } - - lines[i] = null - } - - // now squish any string of nulls into a single null - lines = lines.reduce(function (l, r) { - if (!(r === null && l[l.length-1] === null)) l.push(r) - return l - }, []) - - if (lines[lines.length - 1] === null) lines.pop() - if (lines[0] === null) lines.shift() - - // now see how many args were found at all. - var found = {} - , totalHits = 0 - lines.forEach(function (line) { - args.forEach(function (arg) { - var hit = (line || "").toLowerCase() - .split(arg.toLowerCase()).length - 1 - if (hit > 0) { - found[arg] = (found[arg] || 0) + hit - totalHits += hit - } - }) - }) - - return cb(null, { file: file, lines: lines, found: Object.keys(found) - , hits: found, totalHits: totalHits }) - }) + readFiles(files, function (er, data) { + if (er) + return cb(er) + searchFiles(args, data, function (er, results) { + if (er) + return cb(er) + formatResults(args, results, cb) }) - }, function (er, results) { - if (er) return cb(er) + }) + }) +} - // if only one result, then just show that help section. - if (results.length === 1) { - return npm.commands.help([results[0].file.replace(/\.md$/, "")], cb) +function readFiles (files, cb) { + var res = {} + asyncMap(files, function (file, cb) { + fs.readFile(file, 'utf8', function (er, data) { + res[file] = data + return cb(er) + }) + }, function (er) { + return cb(er, res) + }) +} + +function searchFiles (args, files, cb) { + var results = [] + Object.keys(files).forEach(function (file) { + var data = files[file] + + // skip if no matches at all + for (var a = 0, l = args.length; a < l && !match; a++) { + var match = data.toLowerCase().indexOf(args[a].toLowerCase()) !== -1 + } + if (!match) + return + + var lines = data.split(/\n+/) + var context = [] + + // if a line has a search term, then skip it and the next line. + // if the next line has a search term, then skip all 3 + // otherwise, set the line to null. then remove the nulls. + for (var i = 0, l = lines.length; i < l; i ++) { + var line = lines[i] + , nextLine = lines[i + 1] + , match = false + if (nextLine) { + for (var a = 0, ll = args.length; a < ll && !match; a ++) { + match = nextLine.toLowerCase() + .indexOf(args[a].toLowerCase()) !== -1 + } + if (match) { + // skip over the next line, and the line after it. + i += 2 + continue + } } - if (results.length === 0) { - console.log("No results for " + args.map(JSON.stringify).join(" ")) - return cb() + match = false + for (var a = 0, ll = args.length; a < ll && !match; a ++) { + match = line.toLowerCase().indexOf(args[a].toLowerCase()) !== -1 + } + if (match) { + // skip over the next line + i ++ + continue } - // sort results by number of results found, then by number of hits - // then by number of matching lines - results = results.sort(function (a, b) { - return a.found.length > b.found.length ? -1 - : a.found.length < b.found.length ? 1 - : a.totalHits > b.totalHits ? -1 - : a.totalHits < b.totalHits ? 1 - : a.lines.length > b.lines.length ? -1 - : a.lines.length < b.lines.length ? 1 - : 0 + lines[i] = null + } + + // now squish any string of nulls into a single null + lines = lines.reduce(function (l, r) { + if (!(r === null && l[l.length-1] === null)) l.push(r) + return l + }, []) + + if (lines[lines.length - 1] === null) lines.pop() + if (lines[0] === null) lines.shift() + + // now see how many args were found at all. + var found = {} + , totalHits = 0 + lines.forEach(function (line) { + args.forEach(function (arg) { + var hit = (line || "").toLowerCase() + .split(arg.toLowerCase()).length - 1 + if (hit > 0) { + found[arg] = (found[arg] || 0) + hit + totalHits += hit + } }) + }) - var out = results.map(function (res, i, results) { - var out = "npm " + cmd + " "+res.file.replace(/\.md$/, "") - , r = Object.keys(res.hits).map(function (k) { - return k + ":" + res.hits[k] - }).sort(function (a, b) { - return a > b ? 1 : -1 - }).join(" ") - - out += ((new Array(Math.max(1, 81 - out.length - r.length))) - .join (" ")) + r - - if (!npm.config.get("long")) return out - - var out = "\n\n" + out - + "\n" + (new Array(81)).join("—") + "\n" - + res.lines.map(function (line, i) { - if (line === null || i > 3) return "" - for (var out = line, a = 0, l = args.length; a < l; a ++) { - var finder = out.toLowerCase().split(args[a].toLowerCase()) - , newOut = [] - , p = 0 - finder.forEach(function (f) { - newOut.push( out.substr(p, f.length) - , "\1" - , out.substr(p + f.length, args[a].length) - , "\2" ) - p += f.length + args[a].length - }) - out = newOut.join("") - } - if (npm.color) { - var color = "\033[31;40m" - , reset = "\033[0m" - } else { - var color = "" - , reset = "" - } - out = out.split("\1").join(color) - .split("\2").join(reset) - return out - }).join("\n").trim() - return out - }).join("\n") - - if (results.length && !npm.config.get("long")) { - out = "Top hits for "+(args.map(JSON.stringify).join(" ")) - + "\n" + (new Array(81)).join("—") + "\n" - + out - + "\n" + (new Array(81)).join("—") + "\n" - + "(run with -l or --long to see more context)" - } + var cmd = "npm help " + if (path.basename(path.dirname(file)) === "api") { + cmd = "npm apihelp " + } + cmd += path.basename(file, ".md").replace(/^npm-/, "") + results.push({ file: file + , cmd: cmd + , lines: lines + , found: Object.keys(found) + , hits: found + , totalHits: totalHits + }) + }) - console.log(out.trim()) - cb(null, results) - }) + // if only one result, then just show that help section. + if (results.length === 1) { + return npm.commands.help([results[0].file.replace(/\.md$/, "")], cb) + } + + if (results.length === 0) { + console.log("No results for " + args.map(JSON.stringify).join(" ")) + return cb() + } + // sort results by number of results found, then by number of hits + // then by number of matching lines + results = results.sort(function (a, b) { + return a.found.length > b.found.length ? -1 + : a.found.length < b.found.length ? 1 + : a.totalHits > b.totalHits ? -1 + : a.totalHits < b.totalHits ? 1 + : a.lines.length > b.lines.length ? -1 + : a.lines.length < b.lines.length ? 1 + : 0 }) + + cb(null, results) +} + +function formatResults (args, results, cb) { + var cols = Math.min(process.stdout.columns || Infinity, 80) + 1 + + var out = results.map(function (res, i, results) { + var out = res.cmd + , r = Object.keys(res.hits).map(function (k) { + return k + ":" + res.hits[k] + }).sort(function (a, b) { + return a > b ? 1 : -1 + }).join(" ") + + out += ((new Array(Math.max(1, cols - out.length - r.length))) + .join (" ")) + r + + if (!npm.config.get("long")) return out + + var out = "\n\n" + out + + "\n" + (new Array(cols)).join("—") + "\n" + + res.lines.map(function (line, i) { + if (line === null || i > 3) return "" + for (var out = line, a = 0, l = args.length; a < l; a ++) { + var finder = out.toLowerCase().split(args[a].toLowerCase()) + , newOut = [] + , p = 0 + finder.forEach(function (f) { + newOut.push( out.substr(p, f.length) + , "\1" + , out.substr(p + f.length, args[a].length) + , "\2" ) + p += f.length + args[a].length + }) + out = newOut.join("") + } + if (npm.color) { + var color = "\033[31;40m" + , reset = "\033[0m" + } else { + var color = "" + , reset = "" + } + out = out.split("\1").join(color) + .split("\2").join(reset) + return out + }).join("\n").trim() + return out + }).join("\n") + + if (results.length && !npm.config.get("long")) { + out = "Top hits for "+(args.map(JSON.stringify).join(" ")) + + "\n" + (new Array(cols)).join("—") + "\n" + + out + + "\n" + (new Array(cols)).join("—") + "\n" + + "(run with -l or --long to see more context)" + } + + console.log(out.trim()) + cb(null, results) } diff --git a/deps/npm/lib/help.js b/deps/npm/lib/help.js index 8faef1c..f522763 100644 --- a/deps/npm/lib/help.js +++ b/deps/npm/lib/help.js @@ -3,9 +3,7 @@ module.exports = help help.completion = function (opts, cb) { if (opts.conf.argv.remain.length > 2) return cb(null, []) - var num = 1 - if (-1 !== opts.conf.argv.remain[1].indexOf("api")) num = 3 - getSections(num, cb) + getSections(cb) } var fs = require("graceful-fs") @@ -14,94 +12,165 @@ var fs = require("graceful-fs") , npm = require("./npm.js") , log = require("npmlog") , opener = require("opener") + , glob = require("glob") function help (args, cb) { - var num = 1 - , argv = npm.config.get("argv").cooked - if (argv.length && -1 !== argv[0].indexOf("api")) { - num = 3 + var argv = npm.config.get("argv").cooked + + var argnum = 0 + if (args.length === 2 && ~~args[0]) { + argnum = ~~args.shift() } + // npm help foo bar baz: search topics if (args.length > 1 && args[0]) { return npm.commands["help-search"](args, num, cb) } var section = npm.deref(args[0]) || args[0] - if (section) { - if ( npm.config.get("usage") - && npm.commands[section] - && npm.commands[section].usage - ) { - npm.config.set("loglevel", "silent") - log.level = "silent" - console.log(npm.commands[section].usage) - return cb() - } - - var sectionPath = path.join( __dirname, "..", "man", "man" + num - , section + "." + num) - , htmlPath = path.resolve( __dirname, "..", "html" - , num === 3 ? "api" : "doc" - , section+".html" ) - return fs.stat - ( sectionPath - , function (e, o) { - if (e) return npm.commands["help-search"](args, cb) - - var manpath = path.join(__dirname, "..", "man") - , env = {} - Object.keys(process.env).forEach(function (i) { - env[i] = process.env[i] - }) - env.MANPATH = manpath - var viewer = npm.config.get("viewer") - - switch (viewer) { - case "woman": - var a = ["-e", "(woman-find-file \"" + sectionPath + "\")"] - var conf = { env: env, customFds: [ 0, 1, 2] } - var woman = spawn("emacsclient", a, conf) - woman.on("close", cb) - break - - case "browser": - opener(htmlPath, { command: npm.config.get("browser") }, cb) - break - - default: - var conf = { env: env, customFds: [ 0, 1, 2] } - var man = spawn("man", [num, section], conf) - man.on("close", cb) - } - } - ) - } else getSections(function (er, sections) { - if (er) return cb(er) + // npm help : show basic usage + if (!section) + return npmUsage(cb) + + // npm -h: show command usage + if ( npm.config.get("usage") + && npm.commands[section] + && npm.commands[section].usage + ) { npm.config.set("loglevel", "silent") log.level = "silent" - console.log - ( ["\nUsage: npm " - , "" - , "where is one of:" - , npm.config.get("long") ? usages() - : " " + wrap(Object.keys(npm.commands)) - , "" - , "npm -h quick help on " - , "npm -l display full usage info" - , "npm faq commonly asked questions" - , "npm help search for help on " - , "npm help npm involved overview" - , "" - , "Specify configs in the ini-formatted file:" - , " " + npm.config.get("userconfig") - , "or on the command line via: npm --key value" - , "Config info can be viewed via: npm help config" - , "" - , "npm@" + npm.version + " " + path.dirname(__dirname) - ].join("\n")) - cb(er) + console.log(npm.commands[section].usage) + return cb() + } + + // npm apihelp
    : Prefer section 3 over section 1 + var apihelp = argv.length && -1 !== argv[0].indexOf("api") + var pref = apihelp ? [3, 1, 5, 7] : [1, 3, 5, 7] + if (argnum) + pref = [ argnum ].concat(pref.filter(function (n) { + return n !== argnum + })) + + // npm help
    : Try to find the path + var manroot = path.resolve(__dirname, "..", "man") + var htmlroot = path.resolve(__dirname, "..", "html", "doc") + + // legacy + if (section === "global") + section = "folders" + else if (section === "json") + section = "package.json" + + // find either /section.n or /npm-section.n + var f = "+(npm-" + section + "|" + section + ").[0-9]" + return glob(manroot + "/*/" + f, function (er, mans) { + if (er) + return cb(er) + + if (!mans.length) + return npm.commands["help-search"](args, cb) + + viewMan(pickMan(mans, pref), cb) + }) +} + +function pickMan (mans, pref_) { + var nre = /([0-9]+)$/ + var pref = {} + pref_.forEach(function (sect, i) { + pref[sect] = i + }) + mans = mans.sort(function (a, b) { + var an = a.match(nre)[1] + var bn = b.match(nre)[1] + return an === bn ? (a > b ? -1 : 1) + : pref[an] < pref[bn] ? -1 + : 1 + }) + return mans[0] +} + +function viewMan (man, cb) { + var nre = /([0-9]+)$/ + var num = man.match(nre)[1] + var section = path.basename(man, "." + num) + + // at this point, we know that the specified man page exists + var manpath = path.join(__dirname, "..", "man") + , env = {} + Object.keys(process.env).forEach(function (i) { + env[i] = process.env[i] }) + env.MANPATH = manpath + var viewer = npm.config.get("viewer") + + switch (viewer) { + case "woman": + var a = ["-e", "(woman-find-file \"" + man + "\")"] + var conf = { env: env, customFds: [ 0, 1, 2] } + var woman = spawn("emacsclient", a, conf) + woman.on("close", cb) + break + + case "browser": + opener(htmlMan(man), { command: npm.config.get("browser") }, cb) + break + + default: + var conf = { env: env, customFds: [ 0, 1, 2] } + var man = spawn("man", [num, section], conf) + man.on("close", cb) + break + } +} + +function htmlMan (man) { + var sect = +man.match(/([0-9]+)$/)[1] + var f = path.basename(man).replace(/([0-9]+)$/, "html") + switch (sect) { + case 1: + sect = "cli" + break + case 3: + sect = "api" + break + case 5: + sect = "files" + break + case 7: + sect = "misc" + break + default: + throw new Error("invalid man section: " + sect) + } + return path.resolve(__dirname, "..", "html", "doc", sect, f) +} + +function npmUsage (cb) { + npm.config.set("loglevel", "silent") + log.level = "silent" + console.log + ( ["\nUsage: npm " + , "" + , "where is one of:" + , npm.config.get("long") ? usages() + : " " + wrap(Object.keys(npm.commands)) + , "" + , "npm -h quick help on " + , "npm -l display full usage info" + , "npm faq commonly asked questions" + , "npm help search for help on " + , "npm help npm involved overview" + , "" + , "Specify configs in the ini-formatted file:" + , " " + npm.config.get("userconfig") + , "or on the command line via: npm --key value" + , "Config info can be viewed via: npm help config" + , "" + , "npm@" + npm.version + " " + path.dirname(__dirname) + ].join("\n")) + cb() } function usages () { @@ -127,9 +196,17 @@ function usages () { function wrap (arr) { var out = [''] , l = 0 + , line + + line = process.stdout.columns + if (!line) + line = 60 + else + line = Math.min(60, Math.max(line - 16, 24)) + arr.sort(function (a,b) { return a -npm owner add -npm owner rm -. -.fi -. -.SH "DESCRIPTION" -Manage ownership of published packages\. -. -.IP "\(bu" 4 -ls: -List all the users who have access to modify a package and push new versions\. -Handy when you need to know who to bug for help\. -. -.IP "\(bu" 4 -add: -Add a new user as a maintainer of a package\. This user is enabled to modify -metadata, publish new versions, and add other owners\. -. -.IP "\(bu" 4 -rm: -Remove a user from the package owner list\. This immediately revokes their -privileges\. -. -.IP "" 0 -. -.P -Note that there is only one level of access\. Either you can modify a package, -or you can\'t\. Future versions may contain more fine\-grained access levels, but -that is not implemented at this time\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help publish -. -.IP "\(bu" 4 -npm help registry -. -.IP "\(bu" 4 -npm help adduser -. -.IP "" 0 - diff --git a/deps/npm/man/man1/changelog.1 b/deps/npm/man/man1/changelog.1 deleted file mode 100644 index 5c62330..0000000 --- a/deps/npm/man/man1/changelog.1 +++ /dev/null @@ -1,173 +0,0 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-CHANGELOG" "1" "July 2013" "" "" -. -.SH "NAME" -\fBnpm-changelog\fR \-\- Changes -. -.SH "HISTORY" -. -.SS "1\.1\.3, 1\.1\.4" -. -.IP "\(bu" 4 -Update request to support HTTPS\-over\-HTTP proxy tunneling -. -.IP "\(bu" 4 -Throw on undefined envs in config settings -. -.IP "\(bu" 4 -Update which to 1\.0\.5 -. -.IP "\(bu" 4 -Fix windows UNC busyloop in findPrefix -. -.IP "\(bu" 4 -Bundle nested bundleDependencies properly -. -.IP "\(bu" 4 -Alias adduser to add\-user -. -.IP "\(bu" 4 -Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny) -. -.IP "\(bu" 4 -ignore logfd/outfd streams in makeEnv() (Rod Vagg) -. -.IP "\(bu" 4 -shrinkwrap: Behave properly with url\-installed deps -. -.IP "\(bu" 4 -install: Support \-\-save with url install targets -. -.IP "\(bu" 4 -Support installing naked tars or single\-file modules from urls etc\. -. -.IP "\(bu" 4 -init: Don\'t add engines section -. -.IP "\(bu" 4 -Don\'t run make clean on rebuild -. -.IP "\(bu" 4 -Added missing unicode replacement (atomizer) -. -.IP "" 0 -. -.SS "1\.1\.2" -Dave Pacheco (2): - add "npm shrinkwrap" -. -.P -Martin Cooper (1): - Fix #1753 Make a copy of the cached objects we\'ll modify\. -. -.P -Tim Oxley (1): - correctly remove readme from default npm view command\. -. -.P -Tyler Green (1): - fix #2187 set terminal columns to Infinity if 0 -. -.P -isaacs (19): - update minimatch - update request - Experimental: single\-file modules - Fix #2172 Don\'t remove global mans uninstalling local pkgs - Add \-\-versions flag to show the version of node as well - Support \-\-json flag for ls output - update request to 2\.9\.151 -. -.SS "1\.1" -. -.IP "\(bu" 4 -Replace system tar dependency with a JS tar -. -.IP "\(bu" 4 -Continue to refine -. -.IP "" 0 -. -.SS "1\.0" -. -.IP "\(bu" 4 -Greatly simplified folder structure -. -.IP "\(bu" 4 -Install locally (bundle by default) -. -.IP "\(bu" 4 -Drastic rearchitecture -. -.IP "" 0 -. -.SS "0\.3" -. -.IP "\(bu" 4 -More correct permission/uid handling when running as root -. -.IP "\(bu" 4 -Require node 0\.4\.0 -. -.IP "\(bu" 4 -Reduce featureset -. -.IP "\(bu" 4 -Packages without "main" modules don\'t export modules -. -.IP "\(bu" 4 -Remove support for invalid JSON (since node doesn\'t support it) -. -.IP "" 0 -. -.SS "0\.2" -. -.IP "\(bu" 4 -First allegedly "stable" release -. -.IP "\(bu" 4 -Most functionality implemented -. -.IP "\(bu" 4 -Used shim files and \fBname@version\fR symlinks -. -.IP "\(bu" 4 -Feature explosion -. -.IP "\(bu" 4 -Kind of a mess -. -.IP "" 0 -. -.SS "0\.1" -. -.IP "\(bu" 4 -push to beta, and announce -. -.IP "\(bu" 4 -Solaris and Cygwin support -. -.IP "" 0 -. -.SS "0\.0" -. -.IP "\(bu" 4 -Lots of sketches and false starts; abandoned a few times -. -.IP "\(bu" 4 -Core functionality established -. -.IP "" 0 -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help npm -. -.IP "\(bu" 4 -npm help faq -. -.IP "" 0 - diff --git a/deps/npm/man/man1/find.1 b/deps/npm/man/man1/find.1 deleted file mode 100644 index 653597f..0000000 --- a/deps/npm/man/man1/find.1 +++ /dev/null @@ -1,72 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-SEARCH" "1" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-search\fR \-\- Search for packages -. -.SH "SYNOPSIS" -. -.nf -npm search [search terms \.\.\.] -. -.fi -. -.SH "DESCRIPTION" -Search the registry for packages matching the search terms\. -. -.SH "CONFIGURATION" -. -.SS "description" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show the description in \fBnpm search\fR -. -.SS "searchopts" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Space\-separated options that are always passed to search\. -. -.SS "searchexclude" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Space\-separated options that limit the results from search\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help registry -. -.IP "\(bu" 4 -npm help config -. -.IP "\(bu" 4 -npm help view -. -.IP "" 0 - diff --git a/deps/npm/man/man1/get.1 b/deps/npm/man/man1/get.1 deleted file mode 100644 index 5075c9f..0000000 --- a/deps/npm/man/man1/get.1 +++ /dev/null @@ -1,1154 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-CONFIG" "1" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-config\fR \-\- Manage the npm configuration file -. -.SH "SYNOPSIS" -. -.nf -npm config set [\-\-global] -npm config get -npm config delete -npm config list -npm config edit -npm get -npm set [\-\-global] -. -.fi -. -.SH "DESCRIPTION" -npm gets its configuration values from 6 sources, in this priority: -. -.SS "Command Line Flags" -Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli -parser to stop reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of -the command will be given the value of \fBtrue\fR\|\. -. -.SS "Environment Variables" -Any environment variables that start with \fBnpm_config_\fR will be interpreted -as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in -your environment will set the \fBfoo\fR configuration parameter to \fBbar\fR\|\. Any -environment configurations that are not given a value will be given the value -of \fBtrue\fR\|\. Config values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will -work the same\. -. -.SS "Per\-user config file" -\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set above) -. -.P -This file is an ini\-file formatted list of \fBkey = value\fR parameters\. -. -.SS "Global config file" -\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above): -This file is an ini\-file formatted list of \fBkey = value\fR parameters -. -.SS "Built\-in config file" -\fBpath/to/npm/itself/npmrc\fR -. -.P -This is an unchangeable "builtin" -configuration file that npm keeps consistent across updates\. Set -fields in here using the \fB\|\./configure\fR script that comes with npm\. -This is primarily for distribution maintainers to override default -configs in a standard and consistent manner\. -. -.SS "Default Configs" -A set of configuration parameters that are internal to npm, and are -defaults if nothing else is specified\. -. -.SH "Sub\-commands" -Config supports the following sub\-commands: -. -.SS "set" -. -.nf -npm config set key value -. -.fi -. -.P -Sets the config key to the value\. -. -.P -If value is omitted, then it sets it to "true"\. -. -.SS "get" -. -.nf -npm config get key -. -.fi -. -.P -Echo the config value to stdout\. -. -.SS "list" -. -.nf -npm config list -. -.fi -. -.P -Show all the config settings\. -. -.SS "delete" -. -.nf -npm config delete key -. -.fi -. -.P -Deletes the key from all configuration files\. -. -.SS "edit" -. -.nf -npm config edit -. -.fi -. -.P -Opens the config file in an editor\. Use the \fB\-\-global\fR flag to edit the -global config\. -. -.SH "Shorthands and Other CLI Niceties" -The following shorthands are parsed on the command\-line: -. -.IP "\(bu" 4 -\fB\-v\fR: \fB\-\-version\fR -. -.IP "\(bu" 4 -\fB\-h\fR, \fB\-?\fR, \fB\-\-help\fR, \fB\-H\fR: \fB\-\-usage\fR -. -.IP "\(bu" 4 -\fB\-s\fR, \fB\-\-silent\fR: \fB\-\-loglevel silent\fR -. -.IP "\(bu" 4 -\fB\-d\fR: \fB\-\-loglevel info\fR -. -.IP "\(bu" 4 -\fB\-dd\fR, \fB\-\-verbose\fR: \fB\-\-loglevel verbose\fR -. -.IP "\(bu" 4 -\fB\-ddd\fR: \fB\-\-loglevel silly\fR -. -.IP "\(bu" 4 -\fB\-g\fR: \fB\-\-global\fR -. -.IP "\(bu" 4 -\fB\-l\fR: \fB\-\-long\fR -. -.IP "\(bu" 4 -\fB\-m\fR: \fB\-\-message\fR -. -.IP "\(bu" 4 -\fB\-p\fR, \fB\-\-porcelain\fR: \fB\-\-parseable\fR -. -.IP "\(bu" 4 -\fB\-reg\fR: \fB\-\-registry\fR -. -.IP "\(bu" 4 -\fB\-v\fR: \fB\-\-version\fR -. -.IP "\(bu" 4 -\fB\-f\fR: \fB\-\-force\fR -. -.IP "\(bu" 4 -\fB\-l\fR: \fB\-\-long\fR -. -.IP "\(bu" 4 -\fB\-desc\fR: \fB\-\-description\fR -. -.IP "\(bu" 4 -\fB\-S\fR: \fB\-\-save\fR -. -.IP "\(bu" 4 -\fB\-y\fR: \fB\-\-yes\fR -. -.IP "\(bu" 4 -\fB\-n\fR: \fB\-\-yes false\fR -. -.IP "\(bu" 4 -\fBll\fR and \fBla\fR commands: \fBls \-\-long\fR -. -.IP "" 0 -. -.P -If the specified configuration param resolves unambiguously to a known -configuration parameter, then it is expanded to that configuration -parameter\. For example: -. -.IP "" 4 -. -.nf -npm ls \-\-par -# same as: -npm ls \-\-parseable -. -.fi -. -.IP "" 0 -. -.P -If multiple single\-character shorthands are strung together, and the -resulting combination is unambiguously not some other configuration -param, then it is expanded to its various component pieces\. For -example: -. -.IP "" 4 -. -.nf -npm ls \-gpld -# same as: -npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info -. -.fi -. -.IP "" 0 -. -.SH "Per\-Package Config Settings" -When running scripts (see \fBnpm help scripts\fR) -the package\.json "config" keys are overwritten in the environment if -there is a config param of \fB[@]:\fR\|\. For example, if -the package\.json has this: -. -.IP "" 4 -. -.nf -{ "name" : "foo" -, "config" : { "port" : "8080" } -, "scripts" : { "start" : "node server\.js" } } -. -.fi -. -.IP "" 0 -. -.P -and the server\.js is this: -. -.IP "" 4 -. -.nf -http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port) -. -.fi -. -.IP "" 0 -. -.P -then the user could change the behavior by doing: -. -.IP "" 4 -. -.nf -npm config set foo:port 80 -. -.fi -. -.IP "" 0 -. -.SH "Config Settings" -. -.SS "always\-auth" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Force npm to always require authentication when accessing the registry, -even for \fBGET\fR requests\. -. -.SS "bin\-publish" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -If set to true, then binary packages will be created on publish\. -. -.P -This is the way to opt into the "bindist" behavior described below\. -. -.SS "bindist" -. -.IP "\(bu" 4 -Default: Unstable node versions, \fBnull\fR, otherwise \fB"\-\-"\fR -. -.IP "\(bu" 4 -Type: String or \fBnull\fR -. -.IP "" 0 -. -.P -Experimental: on stable versions of node, binary distributions will be -created with this tag\. If a user then installs that package, and their \fBbindist\fR tag is found in the list of binary distributions, they will -get that prebuilt version\. -. -.P -Pre\-build node packages have their preinstall, install, and postinstall -scripts stripped (since they are run prior to publishing), and do not -have their \fBbuild\fR directories automatically ignored\. -. -.P -It\'s yet to be seen if this is a good idea\. -. -.SS "browser" -. -.IP "\(bu" 4 -Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The browser that is called by the \fBnpm docs\fR command to open websites\. -. -.SS "ca" -. -.IP "\(bu" 4 -Default: The npm CA certificate -. -.IP "\(bu" 4 -Type: String or null -. -.IP "" 0 -. -.P -The Certificate Authority signing certificate that is trusted for SSL -connections to the registry\. -. -.P -Set to \fBnull\fR to only allow "known" registrars, or to a specific CA cert -to trust only that specific signing authority\. -. -.P -See also the \fBstrict\-ssl\fR config\. -. -.SS "cache" -. -.IP "\(bu" 4 -Default: Windows: \fB~/npm\-cache\fR, Posix: \fB~/\.npm\fR -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location of npm\'s cache directory\. See \fBnpm help cache\fR -. -.SS "color" -. -.IP "\(bu" 4 -Default: true on Posix, false on Windows -. -.IP "\(bu" 4 -Type: Boolean or \fB"always"\fR -. -.IP "" 0 -. -.P -If false, never shows colors\. If \fB"always"\fR then always shows colors\. -If true, then only prints color codes for tty file descriptors\. -. -.SS "depth" -. -.IP "\(bu" 4 -Default: Infinity -. -.IP "\(bu" 4 -Type: Number -. -.IP "" 0 -. -.P -The depth to go when recursing directories for \fBnpm ls\fR and \fBnpm cache ls\fR\|\. -. -.SS "description" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show the description in \fBnpm search\fR -. -.SS "dev" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Install \fBdev\-dependencies\fR along with packages\. -. -.P -Note that \fBdev\-dependencies\fR are also installed if the \fBnpat\fR flag is -set\. -. -.SS "editor" -. -.IP "\(bu" 4 -Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix, -or \fB"notepad"\fR on Windows\. -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\. -. -.SS "force" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Makes various commands more forceful\. -. -.IP "\(bu" 4 -lifecycle script failure does not block progress\. -. -.IP "\(bu" 4 -publishing clobbers previously published versions\. -. -.IP "\(bu" 4 -skips cache when requesting from the registry\. -. -.IP "\(bu" 4 -prevents checks against clobbering non\-npm files\. -. -.IP "" 0 -. -.SS "global" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm help folders\fR for more on the differences in behavior\. -. -.IP "\(bu" 4 -packages are installed into the \fBprefix/node_modules\fR folder, instead of the -current working directory\. -. -.IP "\(bu" 4 -bin files are linked to \fBprefix/bin\fR -. -.IP "\(bu" 4 -man pages are linked to \fBprefix/share/man\fR -. -.IP "" 0 -. -.SS "globalconfig" -. -.IP "\(bu" 4 -Default: {prefix}/etc/npmrc -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The config file to read for global config options\. -. -.SS "globalignorefile" -. -.IP "\(bu" 4 -Default: {prefix}/etc/npmignore -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The config file to read for global ignore patterns to apply to all users -and all projects\. -. -.P -If not found, but there is a "gitignore" file in the -same directory, then that will be used instead\. -. -.SS "group" -. -.IP "\(bu" 4 -Default: GID of the current process -. -.IP "\(bu" 4 -Type: String or Number -. -.IP "" 0 -. -.P -The group to use when running package scripts in global mode as the root -user\. -. -.SS "https\-proxy" -. -.IP "\(bu" 4 -Default: the \fBHTTPS_PROXY\fR or \fBhttps_proxy\fR or \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variables\. -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -A proxy to use for outgoing https requests\. -. -.SS "ignore" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: string -. -.IP "" 0 -. -.P -A white\-space separated list of glob patterns of files to always exclude -from packages when building tarballs\. -. -.SS "init\.version" -. -.IP "\(bu" 4 -Default: "0\.0\.0" -. -.IP "\(bu" 4 -Type: semver -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package version\. -. -.SS "init\.author\.name" -. -.IP "\(bu" 4 -Default: "0\.0\.0" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package author\'s name\. -. -.SS "init\.author\.email" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package author\'s email\. -. -.SS "init\.author\.url" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package author\'s homepage\. -. -.SS "link" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -If true, then local installs will link if there is a suitable globally -installed package\. -. -.P -Note that this means that local installs can cause things to be -installed into the global space at the same time\. The link is only done -if one of the two conditions are met: -. -.IP "\(bu" 4 -The package is not already installed globally, or -. -.IP "\(bu" 4 -the globally installed version is identical to the version that is -being installed locally\. -. -.IP "" 0 -. -.SS "logfd" -. -.IP "\(bu" 4 -Default: stderr file descriptor -. -.IP "\(bu" 4 -Type: Number or Stream -. -.IP "" 0 -. -.P -The location to write log output\. -. -.SS "loglevel" -. -.IP "\(bu" 4 -Default: "warn" -. -.IP "\(bu" 4 -Type: String -. -.IP "\(bu" 4 -Values: "silent", "win", "error", "warn", "info", "verbose", "silly" -. -.IP "" 0 -. -.P -What level of logs to report\. On failure, \fIall\fR logs are written to \fBnpm\-debug\.log\fR in the current working directory\. -. -.SS "logprefix" -. -.IP "\(bu" 4 -Default: true on Posix, false on Windows -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Whether or not to prefix log messages with "npm" and the log level\. See -also "color" and "loglevel"\. -. -.SS "long" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show extended information in \fBnpm ls\fR -. -.SS "message" -. -.IP "\(bu" 4 -Default: "%s" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Commit message which is used by \fBnpm version\fR when creating version commit\. -. -.P -Any "%s" in the message will be replaced with the version number\. -. -.SS "node\-version" -. -.IP "\(bu" 4 -Default: process\.version -. -.IP "\(bu" 4 -Type: semver or false -. -.IP "" 0 -. -.P -The node version to use when checking package\'s "engines" hash\. -. -.SS "npat" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Run tests on installation and report results to the \fBnpaturl\fR\|\. -. -.SS "npaturl" -. -.IP "\(bu" 4 -Default: Not yet implemented -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -The url to report npat test results\. -. -.SS "onload\-script" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -A node module to \fBrequire()\fR when npm loads\. Useful for programmatic -usage\. -. -.SS "outfd" -. -.IP "\(bu" 4 -Default: standard output file descriptor -. -.IP "\(bu" 4 -Type: Number or Stream -. -.IP "" 0 -. -.P -Where to write "normal" output\. This has no effect on log output\. -. -.SS "parseable" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Output parseable results from commands that write to -standard output\. -. -.SS "prefix" -. -.IP "\(bu" 4 -Default: node\'s process\.installPrefix -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location to install global items\. If set on the command line, then -it forces non\-global commands to run in the specified folder\. -. -.SS "production" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Set to true to run in "production" mode\. -. -.IP "1" 4 -devDependencies are not installed at the topmost level when running -local \fBnpm install\fR without any arguments\. -. -.IP "2" 4 -Set the NODE_ENV="production" for lifecycle scripts\. -. -.IP "" 0 -. -.SS "proxy" -. -.IP "\(bu" 4 -Default: \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variable, or null -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -A proxy to use for outgoing http requests\. -. -.SS "rebuild\-bundle" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Rebuild bundled dependencies after installation\. -. -.SS "registry" -. -.IP "\(bu" 4 -Default: https://registry\.npmjs\.org/ -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -The base URL of the npm package registry\. -. -.SS "rollback" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Remove failed installs\. -. -.SS "save" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Save installed packages to a package\.json file as dependencies\. -. -.P -Only works if there is already a package\.json file present\. -. -.SS "searchopts" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Space\-separated options that are always passed to search\. -. -.SS "searchexclude" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Space\-separated options that limit the results from search\. -. -.SS "shell" -. -.IP "\(bu" 4 -Default: SHELL environment variable, or "bash" on Posix, or "cmd" on -Windows -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The shell to run for the \fBnpm explore\fR command\. -. -.SS "strict\-ssl" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Whether or not to do SSL key validation when making requests to the -registry via https\. -. -.P -See also the \fBca\fR config\. -. -.SS "tag" -. -.IP "\(bu" 4 -Default: latest -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -If you ask npm to install a package and don\'t tell it a specific version, then -it will install the specified tag\. -. -.P -Also the tag that is added to the package@version specified by the \fBnpm -tag\fR command, if no explicit tag is given\. -. -.SS "tmp" -. -.IP "\(bu" 4 -Default: TMPDIR environment variable, or "/tmp" -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -Where to store temporary files and folders\. All temp files are deleted -on success, but left behind on failure for forensic purposes\. -. -.SS "unicode" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -When set to true, npm uses unicode characters in the tree output\. When -false, it uses ascii characters to draw trees\. -. -.SS "unsafe\-perm" -. -.IP "\(bu" 4 -Default: false if running as root, true otherwise -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Set to true to suppress the UID/GID switching when running package -scripts\. If set explicitly to false, then installing as a non\-root user -will fail\. -. -.SS "usage" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Set to show short usage output (like the \-H output) -instead of complete help when doing \fBnpm help help\fR\|\. -. -.SS "user" -. -.IP "\(bu" 4 -Default: "nobody" -. -.IP "\(bu" 4 -Type: String or Number -. -.IP "" 0 -. -.P -The UID to set to when running package scripts as root\. -. -.SS "username" -. -.IP "\(bu" 4 -Default: null -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The username on the npm registry\. Set with \fBnpm adduser\fR -. -.SS "userconfig" -. -.IP "\(bu" 4 -Default: ~/\.npmrc -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location of user\-level configuration settings\. -. -.SS "userignorefile" -. -.IP "\(bu" 4 -Default: ~/\.npmignore -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location of a user\-level ignore file to apply to all packages\. -. -.P -If not found, but there is a \.gitignore file in the same directory, then -that will be used instead\. -. -.SS "umask" -. -.IP "\(bu" 4 -Default: 022 -. -.IP "\(bu" 4 -Type: Octal numeric string -. -.IP "" 0 -. -.P -The "umask" value to use when setting the file creation mode on files -and folders\. -. -.P -Folders and executables are given a mode which is \fB0777\fR masked against -this value\. Other files are given a mode which is \fB0666\fR masked against -this value\. Thus, the defaults are \fB0755\fR and \fB0644\fR respectively\. -. -.SS "version" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: boolean -. -.IP "" 0 -. -.P -If true, output the npm version and exit successfully\. -. -.P -Only relevant when specified explicitly on the command line\. -. -.SS "viewer" -. -.IP "\(bu" 4 -Default: "man" on Posix, "browser" on Windows -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The program to use to view help content\. -. -.P -Set to \fB"browser"\fR to view html help content in the default web browser\. -. -.SS "yes" -. -.IP "\(bu" 4 -Default: null -. -.IP "\(bu" 4 -Type: Boolean or null -. -.IP "" 0 -. -.P -If set to \fBnull\fR, then prompt the user for responses in some -circumstances\. -. -.P -If set to \fBtrue\fR, then answer "yes" to any prompt\. If set to \fBfalse\fR -then answer "no" to any prompt\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help folders -. -.IP "\(bu" 4 -npm help npm -. -.IP "" 0 - diff --git a/deps/npm/man/man1/home.1 b/deps/npm/man/man1/home.1 deleted file mode 100644 index c63dd3c..0000000 --- a/deps/npm/man/man1/home.1 +++ /dev/null @@ -1,68 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-DOCS" "1" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe -. -.SH "SYNOPSIS" -. -.nf -npm docs -npm home -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s -documentation URL, and then tries to open it using the \fB\-\-browser\fR -config param\. -. -.SH "CONFIGURATION" -. -.SS "browser" -. -.IP "\(bu" 4 -Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The browser that is called by the \fBnpm docs\fR command to open websites\. -. -.SS "registry" -. -.IP "\(bu" 4 -Default: https://registry\.npmjs\.org/ -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -The base URL of the npm package registry\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help view -. -.IP "\(bu" 4 -npm help publish -. -.IP "\(bu" 4 -npm help registry -. -.IP "\(bu" 4 -npm help config -. -.IP "\(bu" 4 -npm help json -. -.IP "" 0 - diff --git a/deps/npm/man/man1/index.1 b/deps/npm/man/man1/index.1 deleted file mode 100644 index daaca49..0000000 --- a/deps/npm/man/man1/index.1 +++ /dev/null @@ -1,298 +0,0 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-INDEX" "1" "July 2013" "" "" -. -.SH "NAME" -\fBnpm-index\fR \-\- Index of all npm documentation -. -.SH "npm help README" - node package manager -. -.SH "npm help adduser" - Add a registry user account -. -.SH "npm help bin" - Display npm bin folder -. -.SH "npm help bugs" - Bugs for a package in a web browser maybe -. -.SH "npm help build" - Build a package -. -.SH "npm help bundle" - REMOVED -. -.SH "npm help cache" - Manipulates packages cache -. -.SH "npm help changelog" - Changes -. -.SH "npm help coding\-style" - npm\'s "funny" coding style -. -.SH "npm help completion" - Tab Completion for npm -. -.SH "npm help config" - Manage the npm configuration file -. -.SH "npm help dedupe" - Reduce duplication -. -.SH "npm help deprecate" - Deprecate a version of a package -. -.SH "npm help developers" - Developer Guide -. -.SH "npm help disputes" - Handling Module Name Disputes -. -.SH "npm help docs" - Docs for a package in a web browser maybe -. -.SH "npm help edit" - Edit an installed package -. -.SH "npm help explore" - Browse an installed package -. -.SH "npm help faq" - Frequently Asked Questions -. -.SH "npm help folders" - Folder Structures Used by npm -. -.SH "npm help global" - Folder Structures Used by npm -. -.SH "npm help help\-search" - Search npm help documentation -. -.SH "npm help help" - Get help on npm -. -.SH "npm help init" - Interactively create a package\.json file -. -.SH "npm help install" - Install a package -. -.SH "npm help json" - Specifics of npm\'s package\.json handling -. -.SH "npm help link" - Symlink a package folder -. -.SH "npm help ls" - List installed packages -. -.SH "npm help npm" - node package manager -. -.SH "npm help outdated" - Check for outdated packages -. -.SH "npm help owner" - Manage package owners -. -.SH "npm help pack" - Create a tarball from a package -. -.SH "npm help prefix" - Display prefix -. -.SH "npm help prune" - Remove extraneous packages -. -.SH "npm help publish" - Publish a package -. -.SH "npm help rebuild" - Rebuild a package -. -.SH "npm help registry" - The JavaScript Package Registry -. -.SH "npm help removing\-npm" - Cleaning the Slate -. -.SH "npm help restart" - Start a package -. -.SH "npm help rm" - Remove a package -. -.SH "npm help root" - Display npm root -. -.SH "npm help run\-script" - Run arbitrary package scripts -. -.SH "npm help scripts" - How npm handles the "scripts" field -. -.SH "npm help search" - Search for packages -. -.SH "npm help semver" - The semantic versioner for npm -. -.SH "npm help shrinkwrap" - Lock down dependency versions -. -.SH "npm help star" - Mark your favorite packages -. -.SH "npm help stars" - View packages marked as favorites -. -.SH "npm help start" - Start a package -. -.SH "npm help stop" - Stop a package -. -.SH "npm help submodule" - Add a package as a git submodule -. -.SH "npm help tag" - Tag a published version -. -.SH "npm help test" - Test a package -. -.SH "npm help uninstall" - Remove a package -. -.SH "npm help unpublish" - Remove a package from the registry -. -.SH "npm help update" - Update a package -. -.SH "npm help version" - Bump a package version -. -.SH "npm help view" - View registry info -. -.SH "npm help whoami" - Display npm username -. -.SH "npm apihelp bin" - Display npm bin folder -. -.SH "npm apihelp bugs" - Bugs for a package in a web browser maybe -. -.SH "npm apihelp commands" - npm commands -. -.SH "npm apihelp config" - Manage the npm configuration files -. -.SH "npm apihelp deprecate" - Deprecate a version of a package -. -.SH "npm apihelp docs" - Docs for a package in a web browser maybe -. -.SH "npm apihelp edit" - Edit an installed package -. -.SH "npm apihelp explore" - Browse an installed package -. -.SH "npm apihelp help\-search" - Search the help pages -. -.SH "npm apihelp init" - Interactively create a package\.json file -. -.SH "npm apihelp install" - install a package programmatically -. -.SH "npm apihelp link" - Symlink a package folder -. -.SH "npm apihelp load" - Load config settings -. -.SH "npm apihelp ls" - List installed packages -. -.SH "npm apihelp npm" - node package manager -. -.SH "npm apihelp outdated" - Check for outdated packages -. -.SH "npm apihelp owner" - Manage package owners -. -.SH "npm apihelp pack" - Create a tarball from a package -. -.SH "npm apihelp prefix" - Display prefix -. -.SH "npm apihelp prune" - Remove extraneous packages -. -.SH "npm apihelp publish" - Publish a package -. -.SH "npm apihelp rebuild" - Rebuild a package -. -.SH "npm apihelp restart" - Start a package -. -.SH "npm apihelp root" - Display npm root -. -.SH "npm apihelp run\-script" - Run arbitrary package scripts -. -.SH "npm apihelp search" - Search for packages -. -.SH "npm apihelp shrinkwrap" - programmatically generate package shrinkwrap file -. -.SH "npm apihelp start" - Start a package -. -.SH "npm apihelp stop" - Stop a package -. -.SH "npm apihelp submodule" - Add a package as a git submodule -. -.SH "npm apihelp tag" - Tag a published version -. -.SH "npm apihelp test" - Test a package -. -.SH "npm apihelp uninstall" - uninstall a package programmatically -. -.SH "npm apihelp unpublish" - Remove a package from the registry -. -.SH "npm apihelp update" - Update a package -. -.SH "npm apihelp version" - Bump a package version -. -.SH "npm apihelp view" - View registry info -. -.SH "npm apihelp whoami" - Display npm username diff --git a/deps/npm/man/man1/list.1 b/deps/npm/man/man1/list.1 deleted file mode 100644 index 00a743a..0000000 --- a/deps/npm/man/man1/list.1 +++ /dev/null @@ -1,125 +0,0 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-LS" "1" "August 2012" "" "" -. -.SH "NAME" -\fBnpm-ls\fR \-\- List installed packages -. -.SH "SYNOPSIS" -. -.nf -npm list [ \.\.\.] -npm ls [ \.\.\.] -npm la [ \.\.\.] -npm ll [ \.\.\.] -. -.fi -. -.SH "DESCRIPTION" -This command will print to stdout all the versions of packages that are -installed, as well as their dependencies, in a tree\-structure\. -. -.P -Positional arguments are \fBname@version\-range\fR identifiers, which will -limit the results to only the paths to the packages named\. Note that -nested packages will \fIalso\fR show the paths to the specified packages\. -For example, running \fBnpm ls promzard\fR in npm\'s source tree will show: -. -.IP "" 4 -. -.nf -npm@1.1.59 /path/to/npm -└─┬ init\-package\-json@0\.0\.4 - └── promzard@0\.1\.5 -. -.fi -. -.IP "" 0 -. -.P -It will show print out extraneous, missing, and invalid packages\. -. -.P -When run as \fBll\fR or \fBla\fR, it shows extended information by default\. -. -.SH "CONFIGURATION" -. -.SS "json" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show information in JSON format\. -. -.SS "long" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show extended information\. -. -.SS "parseable" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show parseable output instead of tree view\. -. -.SS "global" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -List packages in the global install prefix instead of in the current -project\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help config -. -.IP "\(bu" 4 -npm help folders -. -.IP "\(bu" 4 -npm help install -. -.IP "\(bu" 4 -npm help link -. -.IP "\(bu" 4 -npm help prune -. -.IP "\(bu" 4 -npm help outdated -. -.IP "\(bu" 4 -npm help update -. -.IP "" 0 - diff --git a/deps/npm/man/man1/ln.1 b/deps/npm/man/man1/ln.1 deleted file mode 100644 index 74bf729..0000000 --- a/deps/npm/man/man1/ln.1 +++ /dev/null @@ -1,108 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-LINK" "1" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-link\fR \-\- Symlink a package folder -. -.SH "SYNOPSIS" -. -.nf -npm link (in package folder) -npm link -. -.fi -. -.SH "DESCRIPTION" -Package linking is a two\-step process\. -. -.P -First, \fBnpm link\fR in a package folder will create a globally\-installed -symbolic link from \fBprefix/package\-name\fR to the current folder\. -. -.P -Next, in some other location, \fBnpm link package\-name\fR will create a -symlink from the local \fBnode_modules\fR folder to the global symlink\. -. -.P -When creating tarballs for \fBnpm publish\fR, the linked packages are -"snapshotted" to their current state by resolving the symbolic links\. -. -.P -This is -handy for installing your own stuff, so that you can work on it and test it -iteratively without having to continually rebuild\. -. -.P -For example: -. -.IP "" 4 -. -.nf -cd ~/projects/node\-redis # go into the package directory -npm link # creates global link -cd ~/projects/node\-bloggy # go into some other package directory\. -npm link redis # link\-install the package -. -.fi -. -.IP "" 0 -. -.P -Now, any changes to ~/projects/node\-redis will be reflected in -~/projects/node\-bloggy/node_modules/redis/ -. -.P -You may also shortcut the two steps in one\. For example, to do the -above use\-case in a shorter way: -. -.IP "" 4 -. -.nf -cd ~/projects/node\-bloggy # go into the dir of your main project -npm link \.\./node\-redis # link the dir of your dependency -. -.fi -. -.IP "" 0 -. -.P -The second line is the equivalent of doing: -. -.IP "" 4 -. -.nf -(cd \.\./node\-redis; npm link) -npm link redis -. -.fi -. -.IP "" 0 -. -.P -That is, it first creates a global link, and then links the global -installation target into your project\'s \fBnode_modules\fR folder\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help developers -. -.IP "\(bu" 4 -npm help faq -. -.IP "\(bu" 4 -npm help json -. -.IP "\(bu" 4 -npm help install -. -.IP "\(bu" 4 -npm help folders -. -.IP "\(bu" 4 -npm help config -. -.IP "" 0 - diff --git a/deps/npm/man/man1/README.1 b/deps/npm/man/man1/npm-README.1 similarity index 100% rename from deps/npm/man/man1/README.1 rename to deps/npm/man/man1/npm-README.1 diff --git a/deps/npm/man/man1/adduser.1 b/deps/npm/man/man1/npm-adduser.1 similarity index 92% rename from deps/npm/man/man1/adduser.1 rename to deps/npm/man/man1/npm-adduser.1 index 788d103..8696248 100644 --- a/deps/npm/man/man1/adduser.1 +++ b/deps/npm/man/man1/npm-adduser.1 @@ -42,12 +42,18 @@ The base URL of the npm package registry\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 npm help owner . .IP "\(bu" 4 diff --git a/deps/npm/man/man1/bin.1 b/deps/npm/man/man1/npm-bin.1 similarity index 83% rename from deps/npm/man/man1/bin.1 rename to deps/npm/man/man1/npm-bin.1 index 53aba37..fe68860 100644 --- a/deps/npm/man/man1/bin.1 +++ b/deps/npm/man/man1/npm-bin.1 @@ -25,10 +25,16 @@ npm help prefix npm help root . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/bugs.1 b/deps/npm/man/man1/npm-bugs.1 similarity index 90% rename from deps/npm/man/man1/bugs.1 rename to deps/npm/man/man1/npm-bugs.1 index 5689840..dc2a837 100644 --- a/deps/npm/man/man1/bugs.1 +++ b/deps/npm/man/man1/npm-bugs.1 @@ -58,13 +58,19 @@ npm help view npm help publish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 -npm help json +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help package\.json . .IP "" 0 diff --git a/deps/npm/man/man1/build.1 b/deps/npm/man/man1/npm-build.1 similarity index 93% rename from deps/npm/man/man1/build.1 rename to deps/npm/man/man1/npm-build.1 index 034850d..1cb5209 100644 --- a/deps/npm/man/man1/build.1 +++ b/deps/npm/man/man1/npm-build.1 @@ -34,10 +34,10 @@ npm help install npm help link . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "" 0 diff --git a/deps/npm/man/man1/bundle.1 b/deps/npm/man/man1/npm-bundle.1 similarity index 100% rename from deps/npm/man/man1/bundle.1 rename to deps/npm/man/man1/npm-bundle.1 diff --git a/deps/npm/man/man1/cache.1 b/deps/npm/man/man1/npm-cache.1 similarity index 96% rename from deps/npm/man/man1/cache.1 rename to deps/npm/man/man1/npm-cache.1 index 82ceb4a..1aa5c62 100644 --- a/deps/npm/man/man1/cache.1 +++ b/deps/npm/man/man1/npm-cache.1 @@ -79,12 +79,18 @@ The root cache folder\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 npm help install . .IP "\(bu" 4 diff --git a/deps/npm/man/man1/completion.1 b/deps/npm/man/man1/npm-completion.1 similarity index 96% rename from deps/npm/man/man1/completion.1 rename to deps/npm/man/man1/npm-completion.1 index ea0d0cd..25e7bf1 100644 --- a/deps/npm/man/man1/completion.1 +++ b/deps/npm/man/man1/npm-completion.1 @@ -35,10 +35,10 @@ completions based on the arguments\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help developers +npm help developers . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 npm help npm diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1 new file mode 100644 index 0000000..55a0099 --- /dev/null +++ b/deps/npm/man/man1/npm-config.1 @@ -0,0 +1,112 @@ +.\" Generated with Ronnjs 0.3.8 +.\" http://github.com/kapouer/ronnjs/ +. +.TH "NPM\-CONFIG" "1" "July 2013" "" "" +. +.SH "NAME" +\fBnpm-config\fR \-\- Manage the npm configuration files +. +.SH "SYNOPSIS" +. +.nf +npm config set [\-\-global] +npm config get +npm config delete +npm config list +npm config edit +npm get +npm set [\-\-global] +. +.fi +. +.SH "DESCRIPTION" +npm gets its config settings from the command line, environment +variables, \fBnpmrc\fR files, and in some cases, the \fBpackage\.json\fR file\. +. +.P +npm help See npmrc for more information about the npmrc files\. +. +.P +npm help See \fBnpm\-config\fR for a more thorough discussion of the mechanisms +involved\. +. +.P +The \fBnpm config\fR command can be used to update and edit the contents +of the user and global npmrc files\. +. +.SH "Sub\-commands" +Config supports the following sub\-commands: +. +.SS "set" +. +.nf +npm config set key value +. +.fi +. +.P +Sets the config key to the value\. +. +.P +If value is omitted, then it sets it to "true"\. +. +.SS "get" +. +.nf +npm config get key +. +.fi +. +.P +Echo the config value to stdout\. +. +.SS "list" +. +.nf +npm config list +. +.fi +. +.P +Show all the config settings\. +. +.SS "delete" +. +.nf +npm config delete key +. +.fi +. +.P +Deletes the key from all configuration files\. +. +.SS "edit" +. +.nf +npm config edit +. +.fi +. +.P +Opens the config file in an editor\. Use the \fB\-\-global\fR flag to edit the +global config\. +. +.SH "SEE ALSO" +. +.IP "\(bu" 4 +npm help folders +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help package\.json +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help npm +. +.IP "" 0 + diff --git a/deps/npm/man/man1/dedupe.1 b/deps/npm/man/man1/npm-dedupe.1 similarity index 95% rename from deps/npm/man/man1/dedupe.1 rename to deps/npm/man/man1/npm-dedupe.1 index 63b6fda..5446cbdd 100644 --- a/deps/npm/man/man1/dedupe.1 +++ b/deps/npm/man/man1/npm-dedupe.1 @@ -35,7 +35,7 @@ a .IP "" 0 . .P -In this case, \fBnpm help dedupe\fR will transform the tree to: +npm help In this case, \fBnpm\-dedupe\fR will transform the tree to: . .IP "" 4 . diff --git a/deps/npm/man/man1/deprecate.1 b/deps/npm/man/man1/npm-deprecate.1 similarity index 97% rename from deps/npm/man/man1/deprecate.1 rename to deps/npm/man/man1/npm-deprecate.1 index f29f0ce..265e437 100644 --- a/deps/npm/man/man1/deprecate.1 +++ b/deps/npm/man/man1/npm-deprecate.1 @@ -42,7 +42,7 @@ To un\-deprecate a package, specify an empty string (\fB""\fR) for the \fBmessag npm help publish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "" 0 diff --git a/deps/npm/man/man1/docs.1 b/deps/npm/man/man1/npm-docs.1 similarity index 90% rename from deps/npm/man/man1/docs.1 rename to deps/npm/man/man1/npm-docs.1 index 2c9c486..a3a9c47 100644 --- a/deps/npm/man/man1/docs.1 +++ b/deps/npm/man/man1/npm-docs.1 @@ -56,13 +56,19 @@ npm help view npm help publish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 -npm help json +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help package\.json . .IP "" 0 diff --git a/deps/npm/man/man1/edit.1 b/deps/npm/man/man1/npm-edit.1 similarity index 85% rename from deps/npm/man/man1/edit.1 rename to deps/npm/man/man1/npm-edit.1 index ad660f2..48213a5 100644 --- a/deps/npm/man/man1/edit.1 +++ b/deps/npm/man/man1/npm-edit.1 @@ -15,7 +15,7 @@ npm edit [@] . .SH "DESCRIPTION" Opens the package folder in the default editor (or whatever you\'ve -configured as the npm \fBeditor\fR config \-\- see \fBnpm help config\fR\|\.) +npm help configured as the npm \fBeditor\fR config \-\- see \fBnpm\-config\fR\|\.) . .P After it has been edited, the package is rebuilt so as to pick up any @@ -45,7 +45,7 @@ The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help explore @@ -56,5 +56,11 @@ npm help install .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/explore.1 b/deps/npm/man/man1/npm-explore.1 similarity index 98% rename from deps/npm/man/man1/explore.1 rename to deps/npm/man/man1/npm-explore.1 index d4260fc..c534f4a 100644 --- a/deps/npm/man/man1/explore.1 +++ b/deps/npm/man/man1/npm-explore.1 @@ -58,7 +58,7 @@ The shell to run for the \fBnpm explore\fR command\. npm help submodule . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help edit diff --git a/deps/npm/man/man1/help-search.1 b/deps/npm/man/man1/npm-help-search.1 similarity index 98% rename from deps/npm/man/man1/help-search.1 rename to deps/npm/man/man1/npm-help-search.1 index d3fc80a..098bced 100644 --- a/deps/npm/man/man1/help-search.1 +++ b/deps/npm/man/man1/npm-help-search.1 @@ -50,7 +50,7 @@ If false, then help\-search will just list out the help topics found\. npm help npm . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 npm help help diff --git a/deps/npm/man/man1/help.1 b/deps/npm/man/man1/npm-help.1 similarity index 88% rename from deps/npm/man/man1/help.1 rename to deps/npm/man/man1/npm-help.1 index 3e5dfcd..ce5f772 100644 --- a/deps/npm/man/man1/help.1 +++ b/deps/npm/man/man1/npm-help.1 @@ -50,22 +50,28 @@ npm help npm README . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 -npm help json +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help package\.json . .IP "\(bu" 4 npm help help\-search . .IP "\(bu" 4 -npm help index +npm help index . .IP "" 0 diff --git a/deps/npm/man/man1/init.1 b/deps/npm/man/man1/npm-init.1 similarity index 97% rename from deps/npm/man/man1/init.1 rename to deps/npm/man/man1/npm-init.1 index 5ffe043..4e8b6b1 100644 --- a/deps/npm/man/man1/init.1 +++ b/deps/npm/man/man1/npm-init.1 @@ -34,7 +34,7 @@ without a really good reason to do so\. \fIhttps://github\.com/isaacs/init\-package\-json\fR . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 npm help version diff --git a/deps/npm/man/man1/install.1 b/deps/npm/man/man1/npm-install.1 similarity index 93% rename from deps/npm/man/man1/install.1 rename to deps/npm/man/man1/npm-install.1 index 57f32ac..d6ddfac 100644 --- a/deps/npm/man/man1/install.1 +++ b/deps/npm/man/man1/npm-install.1 @@ -24,7 +24,7 @@ npm install @ .SH "DESCRIPTION" This command installs a package, and any packages that it depends on\. If the package has a shrinkwrap file, the installation of dependencies will be driven -by that\. See npm help shrinkwrap\. +npm help by that\. See npm\-shrinkwrap\. . .P A \fBpackage\fR is: @@ -120,7 +120,7 @@ Example: \fBnpm install [\-\-save|\-\-save\-dev|\-\-save\-optional]\fR: . .IP -Do a \fB@\fR install, where \fB\fR is the "tag" config\. (See \fBnpm help config\fR\|\.) +Do a \fB@\fR install, where \fB\fR is the "tag" config\. (npm help See \fBnpm\-config\fR\|\.) . .IP In most cases, this will install the latest version @@ -207,7 +207,7 @@ Example: . .IP Install a version of the package matching the specified version range\. This -will follow the same rules for resolving dependencies described in \fBnpm help json\fR\|\. +npm help will follow the same rules for resolving dependencies described in \fBpackage\.json\fR\|\. . .IP Note that most version ranges must be put in quotes so that your shell will @@ -281,7 +281,7 @@ npm install sax \-\-force . .P The \fB\-\-global\fR argument will cause npm to install the package globally -rather than locally\. See \fBnpm help folders\fR\|\. +npm help rather than locally\. See \fBnpm\-folders\fR\|\. . .P The \fB\-\-link\fR argument will cause npm to link global installs into the @@ -300,7 +300,7 @@ The \fB\-\-nodedir=/path/to/node/source\fR argument will allow npm to find the node source code so that npm can compile native modules\. . .P -See \fBnpm help config\fR\|\. Many of the configuration params have some +npm help See \fBnpm\-config\fR\|\. Many of the configuration params have some effect on installation, since that\'s most of what npm does\. . .SH "ALGORITHM" @@ -344,7 +344,7 @@ That is, the dependency from B to C is satisfied by the fact that A already caused C to be installed at a higher level\. . .P -See npm help folders for a more detailed description of the specific +npm help See npm\-folders for a more detailed description of the specific folder structures that npm creates\. . .SS "Limitations of npm's Install Algorithm" @@ -378,7 +378,7 @@ affects a real use\-case, it will be investigated\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help update @@ -390,7 +390,7 @@ npm help link npm help rebuild . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm help build @@ -399,10 +399,16 @@ npm help build npm help config . .IP "\(bu" 4 -npm help registry +npm help config . .IP "\(bu" 4 -npm help folders +npm help npmrc +. +.IP "\(bu" 4 +npm help registry +. +.IP "\(bu" 4 +npm help folders . .IP "\(bu" 4 npm help tag diff --git a/deps/npm/man/man1/link.1 b/deps/npm/man/man1/npm-link.1 similarity index 93% rename from deps/npm/man/man1/link.1 rename to deps/npm/man/man1/npm-link.1 index c5322b9..d972d85 100644 --- a/deps/npm/man/man1/link.1 +++ b/deps/npm/man/man1/npm-link.1 @@ -91,22 +91,28 @@ installation target into your project\'s \fBnode_modules\fR folder\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help developers +npm help developers . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 npm help install . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/ls.1 b/deps/npm/man/man1/npm-ls.1 similarity index 94% rename from deps/npm/man/man1/ls.1 rename to deps/npm/man/man1/npm-ls.1 index 4c0e793..39f525d 100644 --- a/deps/npm/man/man1/ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -29,7 +29,7 @@ For example, running \fBnpm ls promzard\fR in npm\'s source tree will show: .IP "" 4 . .nf -npm@1.3.2 /path/to/npm +npm@1.3.3 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 . @@ -109,7 +109,13 @@ project\. npm help config . .IP "\(bu" 4 -npm help folders +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help folders . .IP "\(bu" 4 npm help install diff --git a/deps/npm/man/man1/outdated.1 b/deps/npm/man/man1/npm-outdated.1 similarity index 92% rename from deps/npm/man/man1/outdated.1 rename to deps/npm/man/man1/npm-outdated.1 index dc5047f..4ef2e84 100644 --- a/deps/npm/man/man1/outdated.1 +++ b/deps/npm/man/man1/npm-outdated.1 @@ -23,10 +23,10 @@ packages are currently outdated\. npm help update . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "" 0 diff --git a/deps/npm/man/man1/owner.1 b/deps/npm/man/man1/npm-owner.1 similarity index 96% rename from deps/npm/man/man1/owner.1 rename to deps/npm/man/man1/npm-owner.1 index cce6b26..b0ba9e8 100644 --- a/deps/npm/man/man1/owner.1 +++ b/deps/npm/man/man1/npm-owner.1 @@ -46,13 +46,13 @@ that is not implemented at this time\. npm help publish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help adduser . .IP "\(bu" 4 -npm help disputes +npm help disputes . .IP "" 0 diff --git a/deps/npm/man/man1/pack.1 b/deps/npm/man/man1/npm-pack.1 similarity index 93% rename from deps/npm/man/man1/pack.1 rename to deps/npm/man/man1/npm-pack.1 index 4479b87..b591b9e 100644 --- a/deps/npm/man/man1/pack.1 +++ b/deps/npm/man/man1/npm-pack.1 @@ -38,5 +38,11 @@ npm help publish .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/prefix.1 b/deps/npm/man/man1/npm-prefix.1 similarity index 82% rename from deps/npm/man/man1/prefix.1 rename to deps/npm/man/man1/npm-prefix.1 index 794f974..60897bc 100644 --- a/deps/npm/man/man1/prefix.1 +++ b/deps/npm/man/man1/npm-prefix.1 @@ -25,10 +25,16 @@ npm help root npm help bin . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/prune.1 b/deps/npm/man/man1/npm-prune.1 similarity index 97% rename from deps/npm/man/man1/prune.1 rename to deps/npm/man/man1/npm-prune.1 index 4af9eb3..283d688 100644 --- a/deps/npm/man/man1/prune.1 +++ b/deps/npm/man/man1/npm-prune.1 @@ -28,7 +28,7 @@ package\'s dependencies list\. npm help rm . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help list diff --git a/deps/npm/man/man1/publish.1 b/deps/npm/man/man1/npm-publish.1 similarity index 97% rename from deps/npm/man/man1/publish.1 rename to deps/npm/man/man1/npm-publish.1 index 8ecacfb..4b1d57c 100644 --- a/deps/npm/man/man1/publish.1 +++ b/deps/npm/man/man1/npm-publish.1 @@ -35,7 +35,7 @@ the registry\. Overwrites when the "\-\-force" flag is set\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help adduser diff --git a/deps/npm/man/man1/rebuild.1 b/deps/npm/man/man1/npm-rebuild.1 similarity index 100% rename from deps/npm/man/man1/rebuild.1 rename to deps/npm/man/man1/npm-rebuild.1 diff --git a/deps/npm/man/man1/restart.1 b/deps/npm/man/man1/npm-restart.1 similarity index 97% rename from deps/npm/man/man1/restart.1 rename to deps/npm/man/man1/npm-restart.1 index 654e3a7..061c157 100644 --- a/deps/npm/man/man1/restart.1 +++ b/deps/npm/man/man1/npm-restart.1 @@ -27,7 +27,7 @@ If no version is specified, then it restarts the "active" version\. npm help run\-script . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm help test diff --git a/deps/npm/man/man1/uninstall.1 b/deps/npm/man/man1/npm-rm.1 similarity index 85% rename from deps/npm/man/man1/uninstall.1 rename to deps/npm/man/man1/npm-rm.1 index a7abdbd..b19c51b 100644 --- a/deps/npm/man/man1/uninstall.1 +++ b/deps/npm/man/man1/npm-rm.1 @@ -27,10 +27,16 @@ npm help prune npm help install . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/root.1 b/deps/npm/man/man1/npm-root.1 similarity index 83% rename from deps/npm/man/man1/root.1 rename to deps/npm/man/man1/npm-root.1 index 3acdfcd..2fbbbd6 100644 --- a/deps/npm/man/man1/root.1 +++ b/deps/npm/man/man1/npm-root.1 @@ -25,10 +25,16 @@ npm help prefix npm help bin . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/run-script.1 b/deps/npm/man/man1/npm-run-script.1 similarity index 97% rename from deps/npm/man/man1/run-script.1 rename to deps/npm/man/man1/npm-run-script.1 index 58a74f9..00de0d9 100644 --- a/deps/npm/man/man1/run-script.1 +++ b/deps/npm/man/man1/npm-run-script.1 @@ -23,7 +23,7 @@ called directly, as well\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm help test diff --git a/deps/npm/man/man1/search.1 b/deps/npm/man/man1/npm-search.1 similarity index 88% rename from deps/npm/man/man1/search.1 rename to deps/npm/man/man1/npm-search.1 index 503c553..cf82b21 100644 --- a/deps/npm/man/man1/search.1 +++ b/deps/npm/man/man1/npm-search.1 @@ -24,12 +24,18 @@ expression characters must be escaped or quoted in most shells\.) .SH "SEE ALSO" . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 npm help view . .IP "" 0 diff --git a/deps/npm/man/man1/shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1 similarity index 98% rename from deps/npm/man/man1/shrinkwrap.1 rename to deps/npm/man/man1/npm-shrinkwrap.1 index f84ed51..1f81700 100644 --- a/deps/npm/man/man1/shrinkwrap.1 +++ b/deps/npm/man/man1/npm-shrinkwrap.1 @@ -217,7 +217,7 @@ publish your package\. .IP "" 0 . .P -You can use npm help outdated to view dependencies with newer versions +npm help You can use npm\-outdated to view dependencies with newer versions available\. . .SS "Other Notes" @@ -266,7 +266,7 @@ contents rather than versions\. npm help install . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 npm help list diff --git a/deps/npm/man/man1/star.1 b/deps/npm/man/man1/npm-star.1 similarity index 100% rename from deps/npm/man/man1/star.1 rename to deps/npm/man/man1/npm-star.1 diff --git a/deps/npm/man/man1/stars.1 b/deps/npm/man/man1/npm-stars.1 similarity index 100% rename from deps/npm/man/man1/stars.1 rename to deps/npm/man/man1/npm-stars.1 diff --git a/deps/npm/man/man1/start.1 b/deps/npm/man/man1/npm-start.1 similarity index 96% rename from deps/npm/man/man1/start.1 rename to deps/npm/man/man1/npm-start.1 index 0f02a79..70146ec 100644 --- a/deps/npm/man/man1/start.1 +++ b/deps/npm/man/man1/npm-start.1 @@ -22,7 +22,7 @@ This runs a package\'s "start" script, if one was provided\. npm help run\-script . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm help test diff --git a/deps/npm/man/man1/stop.1 b/deps/npm/man/man1/npm-stop.1 similarity index 96% rename from deps/npm/man/man1/stop.1 rename to deps/npm/man/man1/npm-stop.1 index c468de6..6886ba5 100644 --- a/deps/npm/man/man1/stop.1 +++ b/deps/npm/man/man1/npm-stop.1 @@ -22,7 +22,7 @@ This runs a package\'s "stop" script, if one was provided\. npm help run\-script . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm help test diff --git a/deps/npm/man/man1/submodule.1 b/deps/npm/man/man1/npm-submodule.1 similarity index 97% rename from deps/npm/man/man1/submodule.1 rename to deps/npm/man/man1/npm-submodule.1 index 2063707..d5ad4dd 100644 --- a/deps/npm/man/man1/submodule.1 +++ b/deps/npm/man/man1/npm-submodule.1 @@ -33,7 +33,7 @@ dependencies into the submodule folder\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 git help submodule diff --git a/deps/npm/man/man1/tag.1 b/deps/npm/man/man1/npm-tag.1 similarity index 85% rename from deps/npm/man/man1/tag.1 rename to deps/npm/man/man1/npm-tag.1 index 5dcba31..18d689f 100644 --- a/deps/npm/man/man1/tag.1 +++ b/deps/npm/man/man1/npm-tag.1 @@ -22,10 +22,16 @@ Tags the specified version of the package with the specified tag, or the \fB\-\- npm help publish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/test.1 b/deps/npm/man/man1/npm-test.1 similarity index 96% rename from deps/npm/man/man1/test.1 rename to deps/npm/man/man1/npm-test.1 index 1372072..b8d01e6 100644 --- a/deps/npm/man/man1/test.1 +++ b/deps/npm/man/man1/npm-test.1 @@ -26,7 +26,7 @@ true\. npm help run\-script . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm help start diff --git a/deps/npm/man/man1/rm.1 b/deps/npm/man/man1/npm-uninstall.1 similarity index 85% rename from deps/npm/man/man1/rm.1 rename to deps/npm/man/man1/npm-uninstall.1 index a7abdbd..b19c51b 100644 --- a/deps/npm/man/man1/rm.1 +++ b/deps/npm/man/man1/npm-uninstall.1 @@ -27,10 +27,16 @@ npm help prune npm help install . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help config . +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. .IP "" 0 diff --git a/deps/npm/man/man1/unpublish.1 b/deps/npm/man/man1/npm-unpublish.1 similarity index 98% rename from deps/npm/man/man1/unpublish.1 rename to deps/npm/man/man1/npm-unpublish.1 index a4c46ec..d7b6465 100644 --- a/deps/npm/man/man1/unpublish.1 +++ b/deps/npm/man/man1/npm-unpublish.1 @@ -41,7 +41,7 @@ npm help deprecate npm help publish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help adduser diff --git a/deps/npm/man/man1/update.1 b/deps/npm/man/man1/npm-update.1 similarity index 95% rename from deps/npm/man/man1/update.1 rename to deps/npm/man/man1/npm-update.1 index 226df37..f66fe5d 100644 --- a/deps/npm/man/man1/update.1 +++ b/deps/npm/man/man1/npm-update.1 @@ -33,10 +33,10 @@ npm help install npm help outdated . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 -npm help folders +npm help folders . .IP "\(bu" 4 npm help list diff --git a/deps/npm/man/man1/version.1 b/deps/npm/man/man1/npm-version.1 similarity index 97% rename from deps/npm/man/man1/version.1 rename to deps/npm/man/man1/npm-version.1 index 6d0ac77..55c72cc 100644 --- a/deps/npm/man/man1/version.1 +++ b/deps/npm/man/man1/npm-version.1 @@ -66,10 +66,10 @@ Enter passphrase: npm help init . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 -npm help semver +npm help semver . .IP "" 0 diff --git a/deps/npm/man/man1/view.1 b/deps/npm/man/man1/npm-view.1 similarity index 95% rename from deps/npm/man/man1/view.1 rename to deps/npm/man/man1/npm-view.1 index e5b17e7..39beb4b 100644 --- a/deps/npm/man/man1/view.1 +++ b/deps/npm/man/man1/npm-view.1 @@ -120,7 +120,7 @@ npm view express contributors\.name contributors\.email .P "Person" fields are shown as a string if they would be shown as an object\. So, for example, this will show the list of npm contributors in -the shortened string format\. (See \fBnpm help json\fR for more on this\.) +the shortened string format\. (npm help See \fBpackage\.json\fR for more on this\.) . .IP "" 4 . @@ -167,12 +167,18 @@ the field name\. npm help search . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 npm help docs . .IP "" 0 diff --git a/deps/npm/man/man1/whoami.1 b/deps/npm/man/man1/npm-whoami.1 similarity index 85% rename from deps/npm/man/man1/whoami.1 rename to deps/npm/man/man1/npm-whoami.1 index 3191840..b840711 100644 --- a/deps/npm/man/man1/whoami.1 +++ b/deps/npm/man/man1/npm-whoami.1 @@ -22,6 +22,12 @@ Print the \fBusername\fR config to standard output\. npm help config . .IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 npm help adduser . .IP "" 0 diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index ed27ab9..ef69a83 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -14,7 +14,7 @@ npm [args] .fi . .SH "VERSION" -1.3.2 +1.3.3 . .SH "DESCRIPTION" npm is the package manager for the Node JavaScript platform\. It puts @@ -33,14 +33,14 @@ Run \fBnpm help\fR to get a list of available commands\. You probably got npm because you want to install stuff\. . .P -Use \fBnpm install blerg\fR to install the latest version of "blerg"\. Check out \fBnpm help install\fR for more info\. It can do a lot of stuff\. +npm help Use \fBnpm install blerg\fR to install the latest version of "blerg"\. Check out \fBnpm\-install\fR for more info\. It can do a lot of stuff\. . .P Use the \fBnpm search\fR command to show everything that\'s available\. Use \fBnpm ls\fR to show everything you\'ve installed\. . .SH "DIRECTORIES" -See \fBnpm help folders\fR to learn about where npm puts stuff\. +npm help See \fBnpm\-folders\fR to learn about where npm puts stuff\. . .P In particular, npm has two modes of operation: @@ -70,7 +70,7 @@ following help topics: . .IP "\(bu" 4 json: -Make a package\.json file\. See \fBnpm help json\fR\|\. +npm help Make a package\.json file\. See \fBpackage\.json\fR\|\. . .IP "\(bu" 4 link: @@ -139,14 +139,14 @@ lib/utils/config\-defs\.js\. These must not be changed\. .IP "" 0 . .P -See \fBnpm help config\fR for much much more information\. +npm help See \fBnpm\-config\fR for much much more information\. . .SH "CONTRIBUTIONS" Patches welcome! . .IP "\(bu" 4 code: -Read through \fBnpm help coding\-style\fR if you plan to submit code\. +npm help Read through \fBnpm\-coding\-style\fR if you plan to submit code\. You don\'t have to agree with it, but you do have to follow it\. . .IP "\(bu" 4 @@ -192,7 +192,7 @@ You can also look for isaacs in #node\.js on irc://irc\.freenode\.net\. He will no doubt tell you to put the output in a gist or email\. . .SH "HISTORY" -See npm help changelog +npm help See npm\-changelog . .SH "AUTHOR" Isaac Z\. Schlueter \fIhttp://blog\.izs\.me/\fR :: isaacs \fIhttps://github\.com/isaacs/\fR :: @izs \fIhttp://twitter\.com/izs\fR :: \fIi@izs\.me\fR @@ -203,13 +203,13 @@ Isaac Z\. Schlueter \fIhttp://blog\.izs\.me/\fR :: isaacs \fIhttps://github\.com npm help help . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 README . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 npm help install @@ -218,7 +218,13 @@ npm help install npm help config . .IP "\(bu" 4 -npm help index +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help index . .IP "\(bu" 4 npm apihelp npm diff --git a/deps/npm/man/man1/set.1 b/deps/npm/man/man1/set.1 deleted file mode 100644 index 5075c9f..0000000 --- a/deps/npm/man/man1/set.1 +++ /dev/null @@ -1,1154 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-CONFIG" "1" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-config\fR \-\- Manage the npm configuration file -. -.SH "SYNOPSIS" -. -.nf -npm config set [\-\-global] -npm config get -npm config delete -npm config list -npm config edit -npm get -npm set [\-\-global] -. -.fi -. -.SH "DESCRIPTION" -npm gets its configuration values from 6 sources, in this priority: -. -.SS "Command Line Flags" -Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli -parser to stop reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of -the command will be given the value of \fBtrue\fR\|\. -. -.SS "Environment Variables" -Any environment variables that start with \fBnpm_config_\fR will be interpreted -as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in -your environment will set the \fBfoo\fR configuration parameter to \fBbar\fR\|\. Any -environment configurations that are not given a value will be given the value -of \fBtrue\fR\|\. Config values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will -work the same\. -. -.SS "Per\-user config file" -\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set above) -. -.P -This file is an ini\-file formatted list of \fBkey = value\fR parameters\. -. -.SS "Global config file" -\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above): -This file is an ini\-file formatted list of \fBkey = value\fR parameters -. -.SS "Built\-in config file" -\fBpath/to/npm/itself/npmrc\fR -. -.P -This is an unchangeable "builtin" -configuration file that npm keeps consistent across updates\. Set -fields in here using the \fB\|\./configure\fR script that comes with npm\. -This is primarily for distribution maintainers to override default -configs in a standard and consistent manner\. -. -.SS "Default Configs" -A set of configuration parameters that are internal to npm, and are -defaults if nothing else is specified\. -. -.SH "Sub\-commands" -Config supports the following sub\-commands: -. -.SS "set" -. -.nf -npm config set key value -. -.fi -. -.P -Sets the config key to the value\. -. -.P -If value is omitted, then it sets it to "true"\. -. -.SS "get" -. -.nf -npm config get key -. -.fi -. -.P -Echo the config value to stdout\. -. -.SS "list" -. -.nf -npm config list -. -.fi -. -.P -Show all the config settings\. -. -.SS "delete" -. -.nf -npm config delete key -. -.fi -. -.P -Deletes the key from all configuration files\. -. -.SS "edit" -. -.nf -npm config edit -. -.fi -. -.P -Opens the config file in an editor\. Use the \fB\-\-global\fR flag to edit the -global config\. -. -.SH "Shorthands and Other CLI Niceties" -The following shorthands are parsed on the command\-line: -. -.IP "\(bu" 4 -\fB\-v\fR: \fB\-\-version\fR -. -.IP "\(bu" 4 -\fB\-h\fR, \fB\-?\fR, \fB\-\-help\fR, \fB\-H\fR: \fB\-\-usage\fR -. -.IP "\(bu" 4 -\fB\-s\fR, \fB\-\-silent\fR: \fB\-\-loglevel silent\fR -. -.IP "\(bu" 4 -\fB\-d\fR: \fB\-\-loglevel info\fR -. -.IP "\(bu" 4 -\fB\-dd\fR, \fB\-\-verbose\fR: \fB\-\-loglevel verbose\fR -. -.IP "\(bu" 4 -\fB\-ddd\fR: \fB\-\-loglevel silly\fR -. -.IP "\(bu" 4 -\fB\-g\fR: \fB\-\-global\fR -. -.IP "\(bu" 4 -\fB\-l\fR: \fB\-\-long\fR -. -.IP "\(bu" 4 -\fB\-m\fR: \fB\-\-message\fR -. -.IP "\(bu" 4 -\fB\-p\fR, \fB\-\-porcelain\fR: \fB\-\-parseable\fR -. -.IP "\(bu" 4 -\fB\-reg\fR: \fB\-\-registry\fR -. -.IP "\(bu" 4 -\fB\-v\fR: \fB\-\-version\fR -. -.IP "\(bu" 4 -\fB\-f\fR: \fB\-\-force\fR -. -.IP "\(bu" 4 -\fB\-l\fR: \fB\-\-long\fR -. -.IP "\(bu" 4 -\fB\-desc\fR: \fB\-\-description\fR -. -.IP "\(bu" 4 -\fB\-S\fR: \fB\-\-save\fR -. -.IP "\(bu" 4 -\fB\-y\fR: \fB\-\-yes\fR -. -.IP "\(bu" 4 -\fB\-n\fR: \fB\-\-yes false\fR -. -.IP "\(bu" 4 -\fBll\fR and \fBla\fR commands: \fBls \-\-long\fR -. -.IP "" 0 -. -.P -If the specified configuration param resolves unambiguously to a known -configuration parameter, then it is expanded to that configuration -parameter\. For example: -. -.IP "" 4 -. -.nf -npm ls \-\-par -# same as: -npm ls \-\-parseable -. -.fi -. -.IP "" 0 -. -.P -If multiple single\-character shorthands are strung together, and the -resulting combination is unambiguously not some other configuration -param, then it is expanded to its various component pieces\. For -example: -. -.IP "" 4 -. -.nf -npm ls \-gpld -# same as: -npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info -. -.fi -. -.IP "" 0 -. -.SH "Per\-Package Config Settings" -When running scripts (see \fBnpm help scripts\fR) -the package\.json "config" keys are overwritten in the environment if -there is a config param of \fB[@]:\fR\|\. For example, if -the package\.json has this: -. -.IP "" 4 -. -.nf -{ "name" : "foo" -, "config" : { "port" : "8080" } -, "scripts" : { "start" : "node server\.js" } } -. -.fi -. -.IP "" 0 -. -.P -and the server\.js is this: -. -.IP "" 4 -. -.nf -http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port) -. -.fi -. -.IP "" 0 -. -.P -then the user could change the behavior by doing: -. -.IP "" 4 -. -.nf -npm config set foo:port 80 -. -.fi -. -.IP "" 0 -. -.SH "Config Settings" -. -.SS "always\-auth" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Force npm to always require authentication when accessing the registry, -even for \fBGET\fR requests\. -. -.SS "bin\-publish" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -If set to true, then binary packages will be created on publish\. -. -.P -This is the way to opt into the "bindist" behavior described below\. -. -.SS "bindist" -. -.IP "\(bu" 4 -Default: Unstable node versions, \fBnull\fR, otherwise \fB"\-\-"\fR -. -.IP "\(bu" 4 -Type: String or \fBnull\fR -. -.IP "" 0 -. -.P -Experimental: on stable versions of node, binary distributions will be -created with this tag\. If a user then installs that package, and their \fBbindist\fR tag is found in the list of binary distributions, they will -get that prebuilt version\. -. -.P -Pre\-build node packages have their preinstall, install, and postinstall -scripts stripped (since they are run prior to publishing), and do not -have their \fBbuild\fR directories automatically ignored\. -. -.P -It\'s yet to be seen if this is a good idea\. -. -.SS "browser" -. -.IP "\(bu" 4 -Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The browser that is called by the \fBnpm docs\fR command to open websites\. -. -.SS "ca" -. -.IP "\(bu" 4 -Default: The npm CA certificate -. -.IP "\(bu" 4 -Type: String or null -. -.IP "" 0 -. -.P -The Certificate Authority signing certificate that is trusted for SSL -connections to the registry\. -. -.P -Set to \fBnull\fR to only allow "known" registrars, or to a specific CA cert -to trust only that specific signing authority\. -. -.P -See also the \fBstrict\-ssl\fR config\. -. -.SS "cache" -. -.IP "\(bu" 4 -Default: Windows: \fB~/npm\-cache\fR, Posix: \fB~/\.npm\fR -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location of npm\'s cache directory\. See \fBnpm help cache\fR -. -.SS "color" -. -.IP "\(bu" 4 -Default: true on Posix, false on Windows -. -.IP "\(bu" 4 -Type: Boolean or \fB"always"\fR -. -.IP "" 0 -. -.P -If false, never shows colors\. If \fB"always"\fR then always shows colors\. -If true, then only prints color codes for tty file descriptors\. -. -.SS "depth" -. -.IP "\(bu" 4 -Default: Infinity -. -.IP "\(bu" 4 -Type: Number -. -.IP "" 0 -. -.P -The depth to go when recursing directories for \fBnpm ls\fR and \fBnpm cache ls\fR\|\. -. -.SS "description" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show the description in \fBnpm search\fR -. -.SS "dev" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Install \fBdev\-dependencies\fR along with packages\. -. -.P -Note that \fBdev\-dependencies\fR are also installed if the \fBnpat\fR flag is -set\. -. -.SS "editor" -. -.IP "\(bu" 4 -Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix, -or \fB"notepad"\fR on Windows\. -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\. -. -.SS "force" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Makes various commands more forceful\. -. -.IP "\(bu" 4 -lifecycle script failure does not block progress\. -. -.IP "\(bu" 4 -publishing clobbers previously published versions\. -. -.IP "\(bu" 4 -skips cache when requesting from the registry\. -. -.IP "\(bu" 4 -prevents checks against clobbering non\-npm files\. -. -.IP "" 0 -. -.SS "global" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm help folders\fR for more on the differences in behavior\. -. -.IP "\(bu" 4 -packages are installed into the \fBprefix/node_modules\fR folder, instead of the -current working directory\. -. -.IP "\(bu" 4 -bin files are linked to \fBprefix/bin\fR -. -.IP "\(bu" 4 -man pages are linked to \fBprefix/share/man\fR -. -.IP "" 0 -. -.SS "globalconfig" -. -.IP "\(bu" 4 -Default: {prefix}/etc/npmrc -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The config file to read for global config options\. -. -.SS "globalignorefile" -. -.IP "\(bu" 4 -Default: {prefix}/etc/npmignore -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The config file to read for global ignore patterns to apply to all users -and all projects\. -. -.P -If not found, but there is a "gitignore" file in the -same directory, then that will be used instead\. -. -.SS "group" -. -.IP "\(bu" 4 -Default: GID of the current process -. -.IP "\(bu" 4 -Type: String or Number -. -.IP "" 0 -. -.P -The group to use when running package scripts in global mode as the root -user\. -. -.SS "https\-proxy" -. -.IP "\(bu" 4 -Default: the \fBHTTPS_PROXY\fR or \fBhttps_proxy\fR or \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variables\. -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -A proxy to use for outgoing https requests\. -. -.SS "ignore" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: string -. -.IP "" 0 -. -.P -A white\-space separated list of glob patterns of files to always exclude -from packages when building tarballs\. -. -.SS "init\.version" -. -.IP "\(bu" 4 -Default: "0\.0\.0" -. -.IP "\(bu" 4 -Type: semver -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package version\. -. -.SS "init\.author\.name" -. -.IP "\(bu" 4 -Default: "0\.0\.0" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package author\'s name\. -. -.SS "init\.author\.email" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package author\'s email\. -. -.SS "init\.author\.url" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package author\'s homepage\. -. -.SS "link" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -If true, then local installs will link if there is a suitable globally -installed package\. -. -.P -Note that this means that local installs can cause things to be -installed into the global space at the same time\. The link is only done -if one of the two conditions are met: -. -.IP "\(bu" 4 -The package is not already installed globally, or -. -.IP "\(bu" 4 -the globally installed version is identical to the version that is -being installed locally\. -. -.IP "" 0 -. -.SS "logfd" -. -.IP "\(bu" 4 -Default: stderr file descriptor -. -.IP "\(bu" 4 -Type: Number or Stream -. -.IP "" 0 -. -.P -The location to write log output\. -. -.SS "loglevel" -. -.IP "\(bu" 4 -Default: "warn" -. -.IP "\(bu" 4 -Type: String -. -.IP "\(bu" 4 -Values: "silent", "win", "error", "warn", "info", "verbose", "silly" -. -.IP "" 0 -. -.P -What level of logs to report\. On failure, \fIall\fR logs are written to \fBnpm\-debug\.log\fR in the current working directory\. -. -.SS "logprefix" -. -.IP "\(bu" 4 -Default: true on Posix, false on Windows -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Whether or not to prefix log messages with "npm" and the log level\. See -also "color" and "loglevel"\. -. -.SS "long" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show extended information in \fBnpm ls\fR -. -.SS "message" -. -.IP "\(bu" 4 -Default: "%s" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Commit message which is used by \fBnpm version\fR when creating version commit\. -. -.P -Any "%s" in the message will be replaced with the version number\. -. -.SS "node\-version" -. -.IP "\(bu" 4 -Default: process\.version -. -.IP "\(bu" 4 -Type: semver or false -. -.IP "" 0 -. -.P -The node version to use when checking package\'s "engines" hash\. -. -.SS "npat" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Run tests on installation and report results to the \fBnpaturl\fR\|\. -. -.SS "npaturl" -. -.IP "\(bu" 4 -Default: Not yet implemented -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -The url to report npat test results\. -. -.SS "onload\-script" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -A node module to \fBrequire()\fR when npm loads\. Useful for programmatic -usage\. -. -.SS "outfd" -. -.IP "\(bu" 4 -Default: standard output file descriptor -. -.IP "\(bu" 4 -Type: Number or Stream -. -.IP "" 0 -. -.P -Where to write "normal" output\. This has no effect on log output\. -. -.SS "parseable" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Output parseable results from commands that write to -standard output\. -. -.SS "prefix" -. -.IP "\(bu" 4 -Default: node\'s process\.installPrefix -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location to install global items\. If set on the command line, then -it forces non\-global commands to run in the specified folder\. -. -.SS "production" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Set to true to run in "production" mode\. -. -.IP "1" 4 -devDependencies are not installed at the topmost level when running -local \fBnpm install\fR without any arguments\. -. -.IP "2" 4 -Set the NODE_ENV="production" for lifecycle scripts\. -. -.IP "" 0 -. -.SS "proxy" -. -.IP "\(bu" 4 -Default: \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variable, or null -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -A proxy to use for outgoing http requests\. -. -.SS "rebuild\-bundle" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Rebuild bundled dependencies after installation\. -. -.SS "registry" -. -.IP "\(bu" 4 -Default: https://registry\.npmjs\.org/ -. -.IP "\(bu" 4 -Type: url -. -.IP "" 0 -. -.P -The base URL of the npm package registry\. -. -.SS "rollback" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Remove failed installs\. -. -.SS "save" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Save installed packages to a package\.json file as dependencies\. -. -.P -Only works if there is already a package\.json file present\. -. -.SS "searchopts" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Space\-separated options that are always passed to search\. -. -.SS "searchexclude" -. -.IP "\(bu" 4 -Default: "" -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -Space\-separated options that limit the results from search\. -. -.SS "shell" -. -.IP "\(bu" 4 -Default: SHELL environment variable, or "bash" on Posix, or "cmd" on -Windows -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The shell to run for the \fBnpm explore\fR command\. -. -.SS "strict\-ssl" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Whether or not to do SSL key validation when making requests to the -registry via https\. -. -.P -See also the \fBca\fR config\. -. -.SS "tag" -. -.IP "\(bu" 4 -Default: latest -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -If you ask npm to install a package and don\'t tell it a specific version, then -it will install the specified tag\. -. -.P -Also the tag that is added to the package@version specified by the \fBnpm -tag\fR command, if no explicit tag is given\. -. -.SS "tmp" -. -.IP "\(bu" 4 -Default: TMPDIR environment variable, or "/tmp" -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -Where to store temporary files and folders\. All temp files are deleted -on success, but left behind on failure for forensic purposes\. -. -.SS "unicode" -. -.IP "\(bu" 4 -Default: true -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -When set to true, npm uses unicode characters in the tree output\. When -false, it uses ascii characters to draw trees\. -. -.SS "unsafe\-perm" -. -.IP "\(bu" 4 -Default: false if running as root, true otherwise -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Set to true to suppress the UID/GID switching when running package -scripts\. If set explicitly to false, then installing as a non\-root user -will fail\. -. -.SS "usage" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Set to show short usage output (like the \-H output) -instead of complete help when doing \fBnpm help help\fR\|\. -. -.SS "user" -. -.IP "\(bu" 4 -Default: "nobody" -. -.IP "\(bu" 4 -Type: String or Number -. -.IP "" 0 -. -.P -The UID to set to when running package scripts as root\. -. -.SS "username" -. -.IP "\(bu" 4 -Default: null -. -.IP "\(bu" 4 -Type: String -. -.IP "" 0 -. -.P -The username on the npm registry\. Set with \fBnpm adduser\fR -. -.SS "userconfig" -. -.IP "\(bu" 4 -Default: ~/\.npmrc -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location of user\-level configuration settings\. -. -.SS "userignorefile" -. -.IP "\(bu" 4 -Default: ~/\.npmignore -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The location of a user\-level ignore file to apply to all packages\. -. -.P -If not found, but there is a \.gitignore file in the same directory, then -that will be used instead\. -. -.SS "umask" -. -.IP "\(bu" 4 -Default: 022 -. -.IP "\(bu" 4 -Type: Octal numeric string -. -.IP "" 0 -. -.P -The "umask" value to use when setting the file creation mode on files -and folders\. -. -.P -Folders and executables are given a mode which is \fB0777\fR masked against -this value\. Other files are given a mode which is \fB0666\fR masked against -this value\. Thus, the defaults are \fB0755\fR and \fB0644\fR respectively\. -. -.SS "version" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: boolean -. -.IP "" 0 -. -.P -If true, output the npm version and exit successfully\. -. -.P -Only relevant when specified explicitly on the command line\. -. -.SS "viewer" -. -.IP "\(bu" 4 -Default: "man" on Posix, "browser" on Windows -. -.IP "\(bu" 4 -Type: path -. -.IP "" 0 -. -.P -The program to use to view help content\. -. -.P -Set to \fB"browser"\fR to view html help content in the default web browser\. -. -.SS "yes" -. -.IP "\(bu" 4 -Default: null -. -.IP "\(bu" 4 -Type: Boolean or null -. -.IP "" 0 -. -.P -If set to \fBnull\fR, then prompt the user for responses in some -circumstances\. -. -.P -If set to \fBtrue\fR, then answer "yes" to any prompt\. If set to \fBfalse\fR -then answer "no" to any prompt\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help folders -. -.IP "\(bu" 4 -npm help npm -. -.IP "" 0 - diff --git a/deps/npm/man/man3/author.3 b/deps/npm/man/man3/author.3 deleted file mode 100644 index 0f5d2c8..0000000 --- a/deps/npm/man/man3/author.3 +++ /dev/null @@ -1,52 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-OWNER" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-owner\fR \-\- Manage package owners -. -.SH "SYNOPSIS" -. -.nf -npm\.commands\.owner(args, callback) -. -.fi -. -.SH "DESCRIPTION" -The first element of the \'args\' parameter defines what to do, and the subsequent -elements depend on the action\. Possible values for the action are (order of -parameters are given in parenthesis): -. -.IP "\(bu" 4 -ls (package): -List all the users who have access to modify a package and push new versions\. -Handy when you need to know who to bug for help\. -. -.IP "\(bu" 4 -add (user, package): -Add a new user as a maintainer of a package\. This user is enabled to modify -metadata, publish new versions, and add other owners\. -. -.IP "\(bu" 4 -rm (user, package): -Remove a user from the package owner list\. This immediately revokes their -privileges\. -. -.IP "" 0 -. -.P -Note that there is only one level of access\. Either you can modify a package, -or you can\'t\. Future versions may contain more fine\-grained access levels, but -that is not implemented at this time\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm apihelp publish -. -.IP "\(bu" 4 -npm help registry -. -.IP "" 0 - diff --git a/deps/npm/man/man3/find.3 b/deps/npm/man/man3/find.3 deleted file mode 100644 index 3c733c9..0000000 --- a/deps/npm/man/man3/find.3 +++ /dev/null @@ -1,79 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-LS" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-ls\fR \-\- List installed packages -. -.SH "SYNOPSIS" -. -.nf -npm\.commands\.ls(args, [silent,] callback) -. -.fi -. -.SH "DESCRIPTION" -This command will print to stdout all the versions of packages that are -installed, as well as their dependencies, in a tree\-structure\. It will also -return that data using the callback\. -. -.P -This command does not take any arguments, but args must be defined\. -Beyond that, if any arguments are passed in, npm will politely warn that it -does not take positional arguments, though you may set config flags -like with any other command, such as \fBglobal\fR to list global packages\. -. -.P -It will print out extraneous, missing, and invalid packages\. -. -.P -If the silent parameter is set to true, nothing will be output to the screen, -but the data will still be returned\. -. -.SH "CONFIGURATION" -. -.SS "long" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show extended information\. -. -.SS "parseable" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show parseable output instead of tree view\. -. -.SS "global" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -List packages in the global install prefix instead of in the current -project\. -. -.P -Note, if parseable is set or long isn\'t set, then duplicates will be trimmed\. -This means that if a submodule a same dependency as a parent module, then the -dependency will only be output once\. diff --git a/deps/npm/man/man3/get.3 b/deps/npm/man/man3/get.3 deleted file mode 100644 index 548f4bb..0000000 --- a/deps/npm/man/man3/get.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-CONFIG" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-config\fR \-\- Manage the npm configuration files -. -.SH "SYNOPSIS" -. -.nf -npm\.commands\.config(args, callback) -var val = npm\.config\.get(key) -npm\.config\.set(key, val) -. -.fi -. -.SH "DESCRIPTION" -This function acts much the same way as the command\-line version\. The first -element in the array tells config what to do\. Possible values are: -. -.IP "\(bu" 4 -\fBset\fR -. -.IP -Sets a config parameter\. The second element in \fBargs\fR is interpreted as the -key, and the third element is interpreted as the value\. -. -.IP "\(bu" 4 -\fBget\fR -. -.IP -Gets the value of a config parameter\. The second element in \fBargs\fR is the -key to get the value of\. -. -.IP "\(bu" 4 -\fBdelete\fR (\fBrm\fR or \fBdel\fR) -. -.IP -Deletes a parameter from the config\. The second element in \fBargs\fR is the -key to delete\. -. -.IP "\(bu" 4 -\fBlist\fR (\fBls\fR) -. -.IP -Show all configs that aren\'t secret\. No parameters necessary\. -. -.IP "\(bu" 4 -\fBedit\fR: -. -.IP -Opens the config file in the default editor\. This command isn\'t very useful -programmatically, but it is made available\. -. -.IP "" 0 -. -.P -To programmatically access npm configuration settings, or set them for -the duration of a program, use the \fBnpm\.config\.set\fR and \fBnpm\.config\.get\fR -functions instead\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm apihelp npm -. -.IP "" 0 - diff --git a/deps/npm/man/man3/home.3 b/deps/npm/man/man3/home.3 deleted file mode 100644 index 3db059e..0000000 --- a/deps/npm/man/man3/home.3 +++ /dev/null @@ -1,28 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-DOCS" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe -. -.SH "SYNOPSIS" -. -.nf -npm\.commands\.docs(package, callback) -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s -documentation URL, and then tries to open it using the \fB\-\-browser\fR -config param\. -. -.P -Like other commands, the first parameter is an array\. This command only -uses the first element, which is expected to be a package name with an -optional version number\. -. -.P -This command will launch a browser, so this command may not be the most -friendly for programmatic use\. diff --git a/deps/npm/man/man3/list.3 b/deps/npm/man/man3/list.3 deleted file mode 100644 index 3c733c9..0000000 --- a/deps/npm/man/man3/list.3 +++ /dev/null @@ -1,79 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-LS" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-ls\fR \-\- List installed packages -. -.SH "SYNOPSIS" -. -.nf -npm\.commands\.ls(args, [silent,] callback) -. -.fi -. -.SH "DESCRIPTION" -This command will print to stdout all the versions of packages that are -installed, as well as their dependencies, in a tree\-structure\. It will also -return that data using the callback\. -. -.P -This command does not take any arguments, but args must be defined\. -Beyond that, if any arguments are passed in, npm will politely warn that it -does not take positional arguments, though you may set config flags -like with any other command, such as \fBglobal\fR to list global packages\. -. -.P -It will print out extraneous, missing, and invalid packages\. -. -.P -If the silent parameter is set to true, nothing will be output to the screen, -but the data will still be returned\. -. -.SH "CONFIGURATION" -. -.SS "long" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show extended information\. -. -.SS "parseable" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -Show parseable output instead of tree view\. -. -.SS "global" -. -.IP "\(bu" 4 -Default: false -. -.IP "\(bu" 4 -Type: Boolean -. -.IP "" 0 -. -.P -List packages in the global install prefix instead of in the current -project\. -. -.P -Note, if parseable is set or long isn\'t set, then duplicates will be trimmed\. -This means that if a submodule a same dependency as a parent module, then the -dependency will only be output once\. diff --git a/deps/npm/man/man3/ln.3 b/deps/npm/man/man3/ln.3 deleted file mode 100644 index bbb7ff0..0000000 --- a/deps/npm/man/man3/ln.3 +++ /dev/null @@ -1,53 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-LINK" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-link\fR \-\- Symlink a package folder -. -.SH "SYNOPSIS" -. -.nf -npm\.command\.link(callback) -npm\.command\.link(packages, callback) -. -.fi -. -.SH "DESCRIPTION" -Package linking is a two\-step process\. -. -.P -Without parameters, link will create a globally\-installed -symbolic link from \fBprefix/package\-name\fR to the current folder\. -. -.P -With a parameters, link will create a symlink from the local \fBnode_modules\fR -folder to the global symlink\. -. -.P -When creating tarballs for \fBnpm publish\fR, the linked packages are -"snapshotted" to their current state by resolving the symbolic links\. -. -.P -This is -handy for installing your own stuff, so that you can work on it and test it -iteratively without having to continually rebuild\. -. -.P -For example: -. -.IP "" 4 -. -.nf -npm\.commands\.link(cb) # creates global link from the cwd - # (say redis package) -npm\.commands\.link(\'redis\', cb) # link\-install the package -. -.fi -. -.IP "" 0 -. -.P -Now, any changes to the redis package will be reflected in -the package in the current working directory diff --git a/deps/npm/man/man3/bin.3 b/deps/npm/man/man3/npm-bin.3 similarity index 100% rename from deps/npm/man/man3/bin.3 rename to deps/npm/man/man3/npm-bin.3 diff --git a/deps/npm/man/man3/bugs.3 b/deps/npm/man/man3/npm-bugs.3 similarity index 100% rename from deps/npm/man/man3/bugs.3 rename to deps/npm/man/man3/npm-bugs.3 diff --git a/deps/npm/man/man3/commands.3 b/deps/npm/man/man3/npm-commands.3 similarity index 97% rename from deps/npm/man/man3/commands.3 rename to deps/npm/man/man3/npm-commands.3 index ec1a459..ee74bfe 100644 --- a/deps/npm/man/man3/commands.3 +++ b/deps/npm/man/man3/npm-commands.3 @@ -29,7 +29,7 @@ usage, or \fBman 3 npm\-\fR for programmatic usage\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help index +npm help index . .IP "" 0 diff --git a/deps/npm/man/man3/config.3 b/deps/npm/man/man3/npm-config.3 similarity index 100% rename from deps/npm/man/man3/config.3 rename to deps/npm/man/man3/npm-config.3 diff --git a/deps/npm/man/man3/deprecate.3 b/deps/npm/man/man3/npm-deprecate.3 similarity index 98% rename from deps/npm/man/man3/deprecate.3 rename to deps/npm/man/man3/npm-deprecate.3 index ab50040..2372a1c 100644 --- a/deps/npm/man/man3/deprecate.3 +++ b/deps/npm/man/man3/npm-deprecate.3 @@ -51,7 +51,7 @@ npm apihelp publish npm apihelp unpublish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "" 0 diff --git a/deps/npm/man/man3/docs.3 b/deps/npm/man/man3/npm-docs.3 similarity index 100% rename from deps/npm/man/man3/docs.3 rename to deps/npm/man/man3/npm-docs.3 diff --git a/deps/npm/man/man3/edit.3 b/deps/npm/man/man3/npm-edit.3 similarity index 100% rename from deps/npm/man/man3/edit.3 rename to deps/npm/man/man3/npm-edit.3 diff --git a/deps/npm/man/man3/explore.3 b/deps/npm/man/man3/npm-explore.3 similarity index 100% rename from deps/npm/man/man3/explore.3 rename to deps/npm/man/man3/npm-explore.3 diff --git a/deps/npm/man/man3/help-search.3 b/deps/npm/man/man3/npm-help-search.3 similarity index 100% rename from deps/npm/man/man3/help-search.3 rename to deps/npm/man/man3/npm-help-search.3 diff --git a/deps/npm/man/man3/init.3 b/deps/npm/man/man3/npm-init.3 similarity index 97% rename from deps/npm/man/man3/init.3 rename to deps/npm/man/man3/npm-init.3 index 406868e..c08338c 100644 --- a/deps/npm/man/man3/init.3 +++ b/deps/npm/man/man3/npm-init.3 @@ -36,4 +36,4 @@ preferred method\. If you\'re sure you want to handle command\-line prompting, then go ahead and use this programmatically\. . .SH "SEE ALSO" -npm help json +npm help package\.json diff --git a/deps/npm/man/man3/install.3 b/deps/npm/man/man3/npm-install.3 similarity index 100% rename from deps/npm/man/man3/install.3 rename to deps/npm/man/man3/npm-install.3 diff --git a/deps/npm/man/man3/link.3 b/deps/npm/man/man3/npm-link.3 similarity index 100% rename from deps/npm/man/man3/link.3 rename to deps/npm/man/man3/npm-link.3 diff --git a/deps/npm/man/man3/load.3 b/deps/npm/man/man3/npm-load.3 similarity index 100% rename from deps/npm/man/man3/load.3 rename to deps/npm/man/man3/npm-load.3 diff --git a/deps/npm/man/man3/ls.3 b/deps/npm/man/man3/npm-ls.3 similarity index 100% rename from deps/npm/man/man3/ls.3 rename to deps/npm/man/man3/npm-ls.3 diff --git a/deps/npm/man/man3/outdated.3 b/deps/npm/man/man3/npm-outdated.3 similarity index 100% rename from deps/npm/man/man3/outdated.3 rename to deps/npm/man/man3/npm-outdated.3 diff --git a/deps/npm/man/man3/owner.3 b/deps/npm/man/man3/npm-owner.3 similarity index 98% rename from deps/npm/man/man3/owner.3 rename to deps/npm/man/man3/npm-owner.3 index 3471fe9..380c97c 100644 --- a/deps/npm/man/man3/owner.3 +++ b/deps/npm/man/man3/npm-owner.3 @@ -46,7 +46,7 @@ that is not implemented at this time\. npm apihelp publish . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "" 0 diff --git a/deps/npm/man/man3/pack.3 b/deps/npm/man/man3/npm-pack.3 similarity index 100% rename from deps/npm/man/man3/pack.3 rename to deps/npm/man/man3/npm-pack.3 diff --git a/deps/npm/man/man3/prefix.3 b/deps/npm/man/man3/npm-prefix.3 similarity index 100% rename from deps/npm/man/man3/prefix.3 rename to deps/npm/man/man3/npm-prefix.3 diff --git a/deps/npm/man/man3/prune.3 b/deps/npm/man/man3/npm-prune.3 similarity index 100% rename from deps/npm/man/man3/prune.3 rename to deps/npm/man/man3/npm-prune.3 diff --git a/deps/npm/man/man3/publish.3 b/deps/npm/man/man3/npm-publish.3 similarity index 98% rename from deps/npm/man/man3/publish.3 rename to deps/npm/man/man3/npm-publish.3 index 1d52837..964c39d 100644 --- a/deps/npm/man/man3/publish.3 +++ b/deps/npm/man/man3/npm-publish.3 @@ -39,7 +39,7 @@ the registry\. Overwrites when the "force" environment variable is set\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help adduser diff --git a/deps/npm/man/man3/rebuild.3 b/deps/npm/man/man3/npm-rebuild.3 similarity index 100% rename from deps/npm/man/man3/rebuild.3 rename to deps/npm/man/man3/npm-rebuild.3 diff --git a/deps/npm/man/man3/restart.3 b/deps/npm/man/man3/npm-restart.3 similarity index 100% rename from deps/npm/man/man3/restart.3 rename to deps/npm/man/man3/npm-restart.3 diff --git a/deps/npm/man/man3/root.3 b/deps/npm/man/man3/npm-root.3 similarity index 100% rename from deps/npm/man/man3/root.3 rename to deps/npm/man/man3/npm-root.3 diff --git a/deps/npm/man/man3/run-script.3 b/deps/npm/man/man3/npm-run-script.3 similarity index 98% rename from deps/npm/man/man3/run-script.3 rename to deps/npm/man/man3/npm-run-script.3 index aaad5a8..b509d96 100644 --- a/deps/npm/man/man3/run-script.3 +++ b/deps/npm/man/man3/npm-run-script.3 @@ -30,7 +30,7 @@ assumed to be the command to run\. All other elements are ignored\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm apihelp test diff --git a/deps/npm/man/man3/search.3 b/deps/npm/man/man3/npm-search.3 similarity index 100% rename from deps/npm/man/man3/search.3 rename to deps/npm/man/man3/npm-search.3 diff --git a/deps/npm/man/man3/shrinkwrap.3 b/deps/npm/man/man3/npm-shrinkwrap.3 similarity index 100% rename from deps/npm/man/man3/shrinkwrap.3 rename to deps/npm/man/man3/npm-shrinkwrap.3 diff --git a/deps/npm/man/man3/start.3 b/deps/npm/man/man3/npm-start.3 similarity index 100% rename from deps/npm/man/man3/start.3 rename to deps/npm/man/man3/npm-start.3 diff --git a/deps/npm/man/man3/stop.3 b/deps/npm/man/man3/npm-stop.3 similarity index 100% rename from deps/npm/man/man3/stop.3 rename to deps/npm/man/man3/npm-stop.3 diff --git a/deps/npm/man/man3/submodule.3 b/deps/npm/man/man3/npm-submodule.3 similarity index 100% rename from deps/npm/man/man3/submodule.3 rename to deps/npm/man/man3/npm-submodule.3 diff --git a/deps/npm/man/man3/tag.3 b/deps/npm/man/man3/npm-tag.3 similarity index 100% rename from deps/npm/man/man3/tag.3 rename to deps/npm/man/man3/npm-tag.3 diff --git a/deps/npm/man/man3/test.3 b/deps/npm/man/man3/npm-test.3 similarity index 100% rename from deps/npm/man/man3/test.3 rename to deps/npm/man/man3/npm-test.3 diff --git a/deps/npm/man/man3/uninstall.3 b/deps/npm/man/man3/npm-uninstall.3 similarity index 100% rename from deps/npm/man/man3/uninstall.3 rename to deps/npm/man/man3/npm-uninstall.3 diff --git a/deps/npm/man/man3/unpublish.3 b/deps/npm/man/man3/npm-unpublish.3 similarity index 100% rename from deps/npm/man/man3/unpublish.3 rename to deps/npm/man/man3/npm-unpublish.3 diff --git a/deps/npm/man/man3/update.3 b/deps/npm/man/man3/npm-update.3 similarity index 100% rename from deps/npm/man/man3/update.3 rename to deps/npm/man/man3/npm-update.3 diff --git a/deps/npm/man/man3/version.3 b/deps/npm/man/man3/npm-version.3 similarity index 100% rename from deps/npm/man/man3/version.3 rename to deps/npm/man/man3/npm-version.3 diff --git a/deps/npm/man/man3/view.3 b/deps/npm/man/man3/npm-view.3 similarity index 100% rename from deps/npm/man/man3/view.3 rename to deps/npm/man/man3/npm-view.3 diff --git a/deps/npm/man/man3/whoami.3 b/deps/npm/man/man3/npm-whoami.3 similarity index 100% rename from deps/npm/man/man3/whoami.3 rename to deps/npm/man/man3/npm-whoami.3 diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3 index 62b49a1..ff1eb46 100644 --- a/deps/npm/man/man3/npm.3 +++ b/deps/npm/man/man3/npm.3 @@ -21,12 +21,12 @@ npm\.load([configObject,] function (er, npm) { .fi . .SH "VERSION" -1.3.2 +1.3.3 . .SH "DESCRIPTION" This is the API documentation for npm\. To find documentation of the command line -client, see \fBnpm help npm\fR\|\. +npm help client, see \fBnpm\fR\|\. . .P Prior to using npm\'s commands, \fBnpm\.load()\fR must be called\. @@ -34,12 +34,11 @@ If you provide \fBconfigObject\fR as an object hash of top\-level configs, they override the values stored in the various config locations\. In the npm command line client, this set of configs is parsed from the command line options\. Additional configuration -params are loaded from two configuration files\. See \fBnpm help config\fR -for more information\. +npm help npm help params are loaded from two configuration files\. See \fBnpm\-config\fR, \fBnpm\-confignpm help \fR, and \fBnpmrc\fR for more information\. . .P After that, each of the functions are accessible in the -commands object: \fBnpm\.commands\.\fR\|\. See \fBnpm help index\fR for a list of +npm help commands object: \fBnpm\.commands\.\fR\|\. See \fBnpm\-index\fR for a list of all possible commands\. . .P diff --git a/deps/npm/man/man3/rm.3 b/deps/npm/man/man3/rm.3 deleted file mode 100644 index 07baafa..0000000 --- a/deps/npm/man/man3/rm.3 +++ /dev/null @@ -1,25 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-UNINSTALL" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-uninstall\fR \-\- uninstall a package programmatically -. -.SH "SYNOPSIS" -. -.nf -npm\.commands\.uninstall(packages, callback) -. -.fi -. -.SH "DESCRIPTION" -This acts much the same ways as uninstalling on the command\-line\. -. -.P -The \'packages\' parameter is an array of strings\. Each element in the array is -the name of a package to be uninstalled\. -. -.P -Finally, \'callback\' is a function that will be called when all packages have been -uninstalled or when an error has been encountered\. diff --git a/deps/npm/man/man3/set.3 b/deps/npm/man/man3/set.3 deleted file mode 100644 index 548f4bb..0000000 --- a/deps/npm/man/man3/set.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" Generated with Ronnjs/v0.1 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "NPM\-CONFIG" "3" "November 2011" "" "" -. -.SH "NAME" -\fBnpm-config\fR \-\- Manage the npm configuration files -. -.SH "SYNOPSIS" -. -.nf -npm\.commands\.config(args, callback) -var val = npm\.config\.get(key) -npm\.config\.set(key, val) -. -.fi -. -.SH "DESCRIPTION" -This function acts much the same way as the command\-line version\. The first -element in the array tells config what to do\. Possible values are: -. -.IP "\(bu" 4 -\fBset\fR -. -.IP -Sets a config parameter\. The second element in \fBargs\fR is interpreted as the -key, and the third element is interpreted as the value\. -. -.IP "\(bu" 4 -\fBget\fR -. -.IP -Gets the value of a config parameter\. The second element in \fBargs\fR is the -key to get the value of\. -. -.IP "\(bu" 4 -\fBdelete\fR (\fBrm\fR or \fBdel\fR) -. -.IP -Deletes a parameter from the config\. The second element in \fBargs\fR is the -key to delete\. -. -.IP "\(bu" 4 -\fBlist\fR (\fBls\fR) -. -.IP -Show all configs that aren\'t secret\. No parameters necessary\. -. -.IP "\(bu" 4 -\fBedit\fR: -. -.IP -Opens the config file in the default editor\. This command isn\'t very useful -programmatically, but it is made available\. -. -.IP "" 0 -. -.P -To programmatically access npm configuration settings, or set them for -the duration of a program, use the \fBnpm\.config\.set\fR and \fBnpm\.config\.get\fR -functions instead\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm apihelp npm -. -.IP "" 0 - diff --git a/deps/npm/man/man1/folders.1 b/deps/npm/man/man5/npm-folders.5 similarity index 95% rename from deps/npm/man/man1/folders.1 rename to deps/npm/man/man5/npm-folders.5 index b213d52..2f2fb97 100644 --- a/deps/npm/man/man1/folders.1 +++ b/deps/npm/man/man5/npm-folders.5 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-FOLDERS" "1" "July 2013" "" "" +.TH "NPM\-FOLDERS" "5" "July 2013" "" "" . .SH "NAME" \fBnpm-folders\fR \-\- Folder Structures Used by npm @@ -77,7 +77,7 @@ When in local mode, man pages are not installed\. Man pages are not installed on Windows systems\. . .SS "Cache" -See \fBnpm help cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\. +npm help See \fBnpm\-cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\. . .P This is controlled by the \fBcache\fR configuration param\. @@ -229,15 +229,15 @@ not be included in the package tarball\. .P This allows a package maintainer to install all of their dependencies (and dev dependencies) locally, but only re\-publish those items that -cannot be found elsewhere\. See \fBnpm help json\fR for more information\. +npm help cannot be found elsewhere\. See \fBpackage\.json\fR for more information\. . .SH "SEE ALSO" . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 npm help install @@ -252,6 +252,12 @@ npm help cache npm help config . .IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 npm help publish . .IP "" 0 diff --git a/deps/npm/man/man1/global.1 b/deps/npm/man/man5/npm-global.5 similarity index 89% rename from deps/npm/man/man1/global.1 rename to deps/npm/man/man5/npm-global.5 index ddd14dd..2f2fb97 100644 --- a/deps/npm/man/man1/global.1 +++ b/deps/npm/man/man5/npm-global.5 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-FOLDERS" "1" "July 2013" "" "" +.TH "NPM\-FOLDERS" "5" "July 2013" "" "" . .SH "NAME" \fBnpm-folders\fR \-\- Folder Structures Used by npm @@ -77,7 +77,7 @@ When in local mode, man pages are not installed\. Man pages are not installed on Windows systems\. . .SS "Cache" -See \fBnpm help cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\. +npm help See \fBnpm\-cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\. . .P This is controlled by the \fBcache\fR configuration param\. @@ -180,11 +180,11 @@ foo +\-\- node_modules +\-\- blerg (1\.2\.5) <\-\-\-[A] +\-\- bar (1\.2\.3) <\-\-\-[B] - | +\-\- node_modules - | | `\-\- baz (2\.0\.2) <\-\-\-[C] - | | `\-\- node_modules - | | `\-\- quux (3\.2\.0) - | `\-\- asdf (2\.3\.4) + | `\-\- node_modules + | +\-\- baz (2\.0\.2) <\-\-\-[C] + | | `\-\- node_modules + | | `\-\- quux (3\.2\.0) + | `\-\- asdf (2\.3\.4) `\-\- baz (1\.2\.3) <\-\-\-[D] `\-\- node_modules `\-\- quux (3\.2\.0) <\-\-\-[E] @@ -194,13 +194,13 @@ foo .IP "" 0 . .P -Since foo depends directly on bar@1\.2\.3 and baz@1\.2\.3, those are +Since foo depends directly on \fBbar@1\.2\.3\fR and \fBbaz@1\.2\.3\fR, those are installed in foo\'s \fBnode_modules\fR folder\. . .P Even though the latest copy of blerg is 1\.3\.7, foo has a specific dependency on version 1\.2\.5\. So, that gets installed at [A]\. Since the -parent installation of blerg satisfie\'s bar\'s dependency on blerg@1\.x, +parent installation of blerg satisfies bar\'s dependency on \fBblerg@1\.x\fR, it does not install another copy under [B]\. . .P @@ -210,12 +210,12 @@ re\-use the \fBbaz@1\.2\.3\fR installed in the parent \fBnode_modules\fR folder and must install its own copy [C]\. . .P -Underneath bar, the \fBbaz\->quux\->bar\fR dependency creates a cycle\. -However, because \fBbar\fR is already in \fBquux\fR\'s ancestry [B], it does not +Underneath bar, the \fBbaz \-> quux \-> bar\fR dependency creates a cycle\. +However, because bar is already in quux\'s ancestry [B], it does not unpack another copy of bar into that folder\. . .P -Underneath \fBfoo\->baz\fR [D], quux\'s [E] folder tree is empty, because its +Underneath \fBfoo \-> baz\fR [D], quux\'s [E] folder tree is empty, because its dependency on bar is satisfied by the parent folder copy installed at [B]\. . .P @@ -229,15 +229,15 @@ not be included in the package tarball\. .P This allows a package maintainer to install all of their dependencies (and dev dependencies) locally, but only re\-publish those items that -cannot be found elsewhere\. See \fBnpm help json\fR for more information\. +npm help cannot be found elsewhere\. See \fBpackage\.json\fR for more information\. . .SH "SEE ALSO" . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 npm help install @@ -252,6 +252,12 @@ npm help cache npm help config . .IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 npm help publish . .IP "" 0 diff --git a/deps/npm/man/man1/json.1 b/deps/npm/man/man5/npm-json.5 similarity index 97% rename from deps/npm/man/man1/json.1 rename to deps/npm/man/man5/npm-json.5 index c5558f8..8a064e5 100644 --- a/deps/npm/man/man1/json.1 +++ b/deps/npm/man/man5/npm-json.5 @@ -1,10 +1,10 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-JSON" "1" "July 2013" "" "" +.TH "PACKAGE\.JSON" "5" "July 2013" "" "" . .SH "NAME" -\fBnpm-json\fR \-\- Specifics of npm\'s package\.json handling +\fBpackage.json\fR \-\- Specifics of npm\'s package\.json handling . .SH "DESCRIPTION" This document is all you need to know about what\'s required in your package\.json @@ -12,7 +12,7 @@ file\. It must be actual JSON, not just a JavaScript object literal\. . .P A lot of the behavior described in this document is affected by the config -settings described in \fBnpm help config\fR\|\. +npm help settings described in \fBnpm\-config\fR\|\. . .SH "DEFAULT VALUES" npm will default some values based on package contents\. @@ -434,7 +434,7 @@ at various times in the lifecycle of your package\. The key is the lifecycle event, and the value is the command to run at that point\. . .P -See \fBnpm help scripts\fR to find out more about writing package scripts\. +npm help See \fBnpm\-scripts\fR to find out more about writing package scripts\. . .SH "config" A "config" hash can be used to set configuration @@ -456,7 +456,7 @@ and then had a "start" command that then referenced the \fBnpm_package_config_po override that by doing \fBnpm config set foo:port 8001\fR\|\. . .P -See \fBnpm help config\fR and \fBnpm help scripts\fR for more on package +npm help See \fBnpm\-confignpm help \fR and \fBnpm\-scripts\fR for more on package configs\. . .SH "dependencies" @@ -632,7 +632,7 @@ In this case, it\'s best to list these additional items in a \fBdevDependencies\ .P These things will be installed whenever the \fB\-\-dev\fR configuration flag is set\. This flag is set automatically when doing \fBnpm link\fR or when doing \fBnpm install\fR from the root of a package, and can be managed like any other npm -configuration param\. See \fBnpm help config\fR for more on the topic\. +npm help configuration param\. See \fBnpm\-config\fR for more on the topic\. . .SH "bundledDependencies" Array of package names that will be bundled when publishing the package\. @@ -817,13 +817,13 @@ Any config values can be overridden, but of course only "tag" and "registry" probably matter for the purposes of publishing\. . .P -See \fBnpm help config\fR to see the list of config options that can be +npm help See \fBnpm\-config\fR to see the list of config options that can be overridden\. . .SH "SEE ALSO" . .IP "\(bu" 4 -npm help semver +npm help semver . .IP "\(bu" 4 npm help init @@ -835,10 +835,13 @@ npm help version npm help config . .IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 npm help help . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 npm help install diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5 new file mode 100644 index 0000000..ca4ca54 --- /dev/null +++ b/deps/npm/man/man5/npmrc.5 @@ -0,0 +1,89 @@ +.\" Generated with Ronnjs 0.3.8 +.\" http://github.com/kapouer/ronnjs/ +. +.TH "NPMRC" "5" "July 2013" "" "" +. +.SH "NAME" +\fBnpmrc\fR \-\- The npm config files +. +.SH "DESCRIPTION" +npm gets its config settings from the command line, environment +variables, and \fBnpmrc\fR files\. +. +.P +The \fBnpm config\fR command can be used to update and edit the contents +of the user and global npmrc files\. +. +.P +npm help For a list of available configuration options, see npm\-config\. +. +.SH "FILES" +The three relevant files are: +. +.IP "\(bu" 4 +per\-user config file (~/\.npmrc) +. +.IP "\(bu" 4 +global config file ($PREFIX/npmrc) +. +.IP "\(bu" 4 +npm builtin config file (/path/to/npm/npmrc) +. +.IP "" 0 +. +.P +All npm config files are an ini\-formatted list of \fBkey = value\fR +parameters\. Environment variables can be replaced using \fB${VARIABLE_NAME}\fR\|\. For example: +. +.IP "" 4 +. +.nf +prefix = ${HOME}/\.npm\-packages +. +.fi +. +.IP "" 0 +. +.P +Each of these files is loaded, and config options are resolved in +priority order\. For example, a setting in the userconfig file would +override the setting in the globalconfig file\. +. +.SS "Per\-user config file" +\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set in the environment +or on the command line) +. +.SS "Global config file" +\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above): +This file is an ini\-file formatted list of \fBkey = value\fR parameters\. +Environment variables can be replaced as above\. +. +.SS "Built\-in config file" +\fBpath/to/npm/itself/npmrc\fR +. +.P +This is an unchangeable "builtin" configuration file that npm keeps +consistent across updates\. Set fields in here using the \fB\|\./configure\fR +script that comes with npm\. This is primarily for distribution +maintainers to override default configs in a standard and consistent +manner\. +. +.SH "SEE ALSO" +. +.IP "\(bu" 4 +npm help folders +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help package\.json +. +.IP "\(bu" 4 +npm help npm +. +.IP "" 0 + diff --git a/deps/npm/man/man5/package.json.5 b/deps/npm/man/man5/package.json.5 new file mode 100644 index 0000000..8a064e5 --- /dev/null +++ b/deps/npm/man/man5/package.json.5 @@ -0,0 +1,856 @@ +.\" Generated with Ronnjs 0.3.8 +.\" http://github.com/kapouer/ronnjs/ +. +.TH "PACKAGE\.JSON" "5" "July 2013" "" "" +. +.SH "NAME" +\fBpackage.json\fR \-\- Specifics of npm\'s package\.json handling +. +.SH "DESCRIPTION" +This document is all you need to know about what\'s required in your package\.json +file\. It must be actual JSON, not just a JavaScript object literal\. +. +.P +A lot of the behavior described in this document is affected by the config +npm help settings described in \fBnpm\-config\fR\|\. +. +.SH "DEFAULT VALUES" +npm will default some values based on package contents\. +. +.IP "\(bu" 4 +\fB"scripts": {"start": "node server\.js"}\fR +. +.IP +If there is a \fBserver\.js\fR file in the root of your package, then npm +will default the \fBstart\fR command to \fBnode server\.js\fR\|\. +. +.IP "\(bu" 4 +\fB"scripts":{"preinstall": "node\-waf clean || true; node\-waf configure build"}\fR +. +.IP +If there is a \fBwscript\fR file in the root of your package, npm will +default the \fBpreinstall\fR command to compile using node\-waf\. +. +.IP "\(bu" 4 +\fB"scripts":{"preinstall": "node\-gyp rebuild"}\fR +. +.IP +If there is a \fBbinding\.gyp\fR file in the root of your package, npm will +default the \fBpreinstall\fR command to compile using node\-gyp\. +. +.IP "\(bu" 4 +\fB"contributors": [\.\.\.]\fR +. +.IP +If there is an \fBAUTHORS\fR file in the root of your package, npm will +treat each line as a \fBName (url)\fR format, where email and url +are optional\. Lines which start with a \fB#\fR or are blank, will be +ignored\. +. +.IP "" 0 +. +.SH "name" +The \fImost\fR important things in your package\.json are the name and version fields\. +Those are actually required, and your package won\'t install without +them\. The name and version together form an identifier that is assumed +to be completely unique\. Changes to the package should come along with +changes to the version\. +. +.P +The name is what your thing is called\. Some tips: +. +.IP "\(bu" 4 +Don\'t put "js" or "node" in the name\. It\'s assumed that it\'s js, since you\'re +writing a package\.json file, and you can specify the engine using the "engines" +field\. (See below\.) +. +.IP "\(bu" 4 +The name ends up being part of a URL, an argument on the command line, and a +folder name\. Any name with non\-url\-safe characters will be rejected\. +Also, it can\'t start with a dot or an underscore\. +. +.IP "\(bu" 4 +The name will probably be passed as an argument to require(), so it should +be something short, but also reasonably descriptive\. +. +.IP "\(bu" 4 +You may want to check the npm registry to see if there\'s something by that name +already, before you get too attached to it\. http://registry\.npmjs\.org/ +. +.IP "" 0 +. +.SH "version" +The \fImost\fR important things in your package\.json are the name and version fields\. +Those are actually required, and your package won\'t install without +them\. The name and version together form an identifier that is assumed +to be completely unique\. Changes to the package should come along with +changes to the version\. +. +.P +Version must be parseable by node\-semver \fIhttps://github\.com/isaacs/node\-semver\fR, which is bundled +with npm as a dependency\. (\fBnpm install semver\fR to use it yourself\.) +. +.P +Here\'s how npm\'s semver implementation deviates from what\'s on semver\.org: +. +.IP "\(bu" 4 +Versions can start with "v" +. +.IP "\(bu" 4 +A numeric item separated from the main three\-number version by a hyphen +will be interpreted as a "build" number, and will \fIincrease\fR the version\. +But, if the tag is not a number separated by a hyphen, then it\'s treated +as a pre\-release tag, and is \fIless than\fR the version without a tag\. +So, \fB0\.1\.2\-7 > 0\.1\.2\-7\-beta > 0\.1\.2\-6 > 0\.1\.2 > 0\.1\.2beta\fR +. +.IP "" 0 +. +.P +This is a little bit confusing to explain, but matches what you see in practice +when people create tags in git like "v1\.2\.3" and then do "git describe" to generate +a patch version\. +. +.SH "description" +Put a description in it\. It\'s a string\. This helps people discover your +package, as it\'s listed in \fBnpm search\fR\|\. +. +.SH "keywords" +Put keywords in it\. It\'s an array of strings\. This helps people +discover your package as it\'s listed in \fBnpm search\fR\|\. +. +.SH "homepage" +The url to the project homepage\. +. +.P +\fBNOTE\fR: This is \fInot\fR the same as "url"\. If you put a "url" field, +then the registry will think it\'s a redirection to your package that has +been published somewhere else, and spit at you\. +. +.P +Literally\. Spit\. I\'m so not kidding\. +. +.SH "bugs" +The url to your project\'s issue tracker and / or the email address to which +issues should be reported\. These are helpful for people who encounter issues +with your package\. +. +.P +It should look like this: +. +.IP "" 4 +. +.nf +{ "url" : "http://github\.com/owner/project/issues" +, "email" : "project@hostname\.com" +} +. +.fi +. +.IP "" 0 +. +.P +You can specify either one or both values\. If you want to provide only a url, +you can specify the value for "bugs" as a simple string instead of an object\. +. +.P +If a url is provided, it will be used by the \fBnpm bugs\fR command\. +. +.SH "license" +You should specify a license for your package so that people know how they are +permitted to use it, and any restrictions you\'re placing on it\. +. +.P +The simplest way, assuming you\'re using a common license such as BSD or MIT, is +to just specify the name of the license you\'re using, like this: +. +.IP "" 4 +. +.nf +{ "license" : "BSD" } +. +.fi +. +.IP "" 0 +. +.P +If you have more complex licensing terms, or you want to provide more detail +in your package\.json file, you can use the more verbose plural form, like this: +. +.IP "" 4 +. +.nf +"licenses" : [ + { "type" : "MyLicense" + , "url" : "http://github\.com/owner/project/path/to/license" + } +] +. +.fi +. +.IP "" 0 +. +.P +It\'s also a good idea to include a license file at the top level in your package\. +. +.SH "people fields: author, contributors" +The "author" is one person\. "contributors" is an array of people\. A "person" +is an object with a "name" field and optionally "url" and "email", like this: +. +.IP "" 4 +. +.nf +{ "name" : "Barney Rubble" +, "email" : "b@rubble\.com" +, "url" : "http://barnyrubble\.tumblr\.com/" +} +. +.fi +. +.IP "" 0 +. +.P +Or you can shorten that all into a single string, and npm will parse it for you: +. +.IP "" 4 +. +.nf +"Barney Rubble (http://barnyrubble\.tumblr\.com/) +. +.fi +. +.IP "" 0 +. +.P +Both email and url are optional either way\. +. +.P +npm also sets a top\-level "maintainers" field with your npm user info\. +. +.SH "files" +The "files" field is an array of files to include in your project\. If +you name a folder in the array, then it will also include the files +inside that folder\. (Unless they would be ignored by another rule\.) +. +.P +You can also provide a "\.npmignore" file in the root of your package, +which will keep files from being included, even if they would be picked +up by the files array\. The "\.npmignore" file works just like a +"\.gitignore"\. +. +.SH "main" +The main field is a module ID that is the primary entry point to your program\. +That is, if your package is named \fBfoo\fR, and a user installs it, and then does \fBrequire("foo")\fR, then your main module\'s exports object will be returned\. +. +.P +This should be a module ID relative to the root of your package folder\. +. +.P +For most modules, it makes the most sense to have a main script and often not +much else\. +. +.SH "bin" +A lot of packages have one or more executable files that they\'d like to +install into the PATH\. npm makes this pretty easy (in fact, it uses this +feature to install the "npm" executable\.) +. +.P +To use this, supply a \fBbin\fR field in your package\.json which is a map of +command name to local file name\. On install, npm will symlink that file into \fBprefix/bin\fR for global installs, or \fB\|\./node_modules/\.bin/\fR for local +installs\. +. +.P +For example, npm has this: +. +.IP "" 4 +. +.nf +{ "bin" : { "npm" : "\./cli\.js" } } +. +.fi +. +.IP "" 0 +. +.P +So, when you install npm, it\'ll create a symlink from the \fBcli\.js\fR script to \fB/usr/local/bin/npm\fR\|\. +. +.P +If you have a single executable, and its name should be the name +of the package, then you can just supply it as a string\. For example: +. +.IP "" 4 +. +.nf +{ "name": "my\-program" +, "version": "1\.2\.5" +, "bin": "\./path/to/program" } +. +.fi +. +.IP "" 0 +. +.P +would be the same as this: +. +.IP "" 4 +. +.nf +{ "name": "my\-program" +, "version": "1\.2\.5" +, "bin" : { "my\-program" : "\./path/to/program" } } +. +.fi +. +.IP "" 0 +. +.SH "man" +Specify either a single file or an array of filenames to put in place for the \fBman\fR program to find\. +. +.P +If only a single file is provided, then it\'s installed such that it is the +result from \fBman \fR, regardless of its actual filename\. For example: +. +.IP "" 4 +. +.nf +{ "name" : "foo" +, "version" : "1\.2\.3" +, "description" : "A packaged foo fooer for fooing foos" +, "main" : "foo\.js" +, "man" : "\./man/doc\.1" +} +. +.fi +. +.IP "" 0 +. +.P +would link the \fB\|\./man/doc\.1\fR file in such that it is the target for \fBman foo\fR +. +.P +If the filename doesn\'t start with the package name, then it\'s prefixed\. +So, this: +. +.IP "" 4 +. +.nf +{ "name" : "foo" +, "version" : "1\.2\.3" +, "description" : "A packaged foo fooer for fooing foos" +, "main" : "foo\.js" +, "man" : [ "\./man/foo\.1", "\./man/bar\.1" ] +} +. +.fi +. +.IP "" 0 +. +.P +will create files to do \fBman foo\fR and \fBman foo\-bar\fR\|\. +. +.P +Man files must end with a number, and optionally a \fB\|\.gz\fR suffix if they are +compressed\. The number dictates which man section the file is installed into\. +. +.IP "" 4 +. +.nf +{ "name" : "foo" +, "version" : "1\.2\.3" +, "description" : "A packaged foo fooer for fooing foos" +, "main" : "foo\.js" +, "man" : [ "\./man/foo\.1", "\./man/foo\.2" ] +} +. +.fi +. +.IP "" 0 +. +.P +will create entries for \fBman foo\fR and \fBman 2 foo\fR +. +.SH "directories" +The CommonJS Packages \fIhttp://wiki\.commonjs\.org/wiki/Packages/1\.0\fR spec details a +few ways that you can indicate the structure of your package using a \fBdirectories\fR +hash\. If you look at npm\'s package\.json \fIhttp://registry\.npmjs\.org/npm/latest\fR, +you\'ll see that it has directories for doc, lib, and man\. +. +.P +In the future, this information may be used in other creative ways\. +. +.SS "directories\.lib" +Tell people where the bulk of your library is\. Nothing special is done +with the lib folder in any way, but it\'s useful meta info\. +. +.SS "directories\.bin" +If you specify a "bin" directory, then all the files in that folder will +be used as the "bin" hash\. +. +.P +If you have a "bin" hash already, then this has no effect\. +. +.SS "directories\.man" +A folder that is full of man pages\. Sugar to generate a "man" array by +walking the folder\. +. +.SS "directories\.doc" +Put markdown files in here\. Eventually, these will be displayed nicely, +maybe, someday\. +. +.SS "directories\.example" +Put example scripts in here\. Someday, it might be exposed in some clever way\. +. +.SH "repository" +Specify the place where your code lives\. This is helpful for people who +want to contribute\. If the git repo is on github, then the \fBnpm docs\fR +command will be able to find you\. +. +.P +Do it like this: +. +.IP "" 4 +. +.nf +"repository" : + { "type" : "git" + , "url" : "http://github\.com/isaacs/npm\.git" + } +"repository" : + { "type" : "svn" + , "url" : "http://v8\.googlecode\.com/svn/trunk/" + } +. +.fi +. +.IP "" 0 +. +.P +The URL should be a publicly available (perhaps read\-only) url that can be handed +directly to a VCS program without any modification\. It should not be a url to an +html project page that you put in your browser\. It\'s for computers\. +. +.SH "scripts" +The "scripts" member is an object hash of script commands that are run +at various times in the lifecycle of your package\. The key is the lifecycle +event, and the value is the command to run at that point\. +. +.P +npm help See \fBnpm\-scripts\fR to find out more about writing package scripts\. +. +.SH "config" +A "config" hash can be used to set configuration +parameters used in package scripts that persist across upgrades\. For +instance, if a package had the following: +. +.IP "" 4 +. +.nf +{ "name" : "foo" +, "config" : { "port" : "8080" } } +. +.fi +. +.IP "" 0 +. +.P +and then had a "start" command that then referenced the \fBnpm_package_config_port\fR environment variable, then the user could +override that by doing \fBnpm config set foo:port 8001\fR\|\. +. +.P +npm help See \fBnpm\-confignpm help \fR and \fBnpm\-scripts\fR for more on package +configs\. +. +.SH "dependencies" +Dependencies are specified with a simple hash of package name to version +range\. The version range is EITHER a string which has one or more +space\-separated descriptors, OR a range like "fromVersion \- toVersion" +. +.P +\fBPlease do not put test harnesses in your \fBdependencies\fR hash\.\fR See \fBdevDependencies\fR, below\. +. +.P +Version range descriptors may be any of the following styles, where "version" +is a semver compatible version identifier\. +. +.IP "\(bu" 4 +\fBversion\fR Must match \fBversion\fR exactly +. +.IP "\(bu" 4 +\fB=version\fR Same as just \fBversion\fR +. +.IP "\(bu" 4 +\fB>version\fR Must be greater than \fBversion\fR +. +.IP "\(bu" 4 +\fB>=version\fR etc +. +.IP "\(bu" 4 +\fB=version1 <=version2\fR\|\. +. +.IP "\(bu" 4 +\fBrange1 || range2\fR Passes if either range1 or range2 are satisfied\. +. +.IP "\(bu" 4 +\fBgit\.\.\.\fR See \'Git URLs as Dependencies\' below +. +.IP "" 0 +. +.P +For example, these are all valid: +. +.IP "" 4 +. +.nf +{ "dependencies" : + { "foo" : "1\.0\.0 \- 2\.9999\.9999" + , "bar" : ">=1\.0\.2 <2\.1\.2" + , "baz" : ">1\.0\.2 <=2\.3\.4" + , "boo" : "2\.0\.1" + , "qux" : "<1\.0\.0 || >=2\.3\.1 <2\.4\.5 || >=2\.5\.2 <3\.0\.0" + , "asd" : "http://asdf\.com/asdf\.tar\.gz" + , "til" : "~1\.2" + , "elf" : "~1\.2\.3" + , "two" : "2\.x" + , "thr" : "3\.3\.x" + } +} +. +.fi +. +.IP "" 0 +. +.SS "Tilde Version Ranges" +A range specifier starting with a tilde \fB~\fR character is matched against +a version in the following fashion\. +. +.IP "\(bu" 4 +The version must be at least as high as the range\. +. +.IP "\(bu" 4 +The version must be less than the next major revision above the range\. +. +.IP "" 0 +. +.P +For example, the following are equivalent: +. +.IP "\(bu" 4 +\fB"~1\.2\.3" = ">=1\.2\.3 <1\.3\.0"\fR +. +.IP "\(bu" 4 +\fB"~1\.2" = ">=1\.2\.0 <1\.3\.0"\fR +. +.IP "\(bu" 4 +\fB"~1" = ">=1\.0\.0 <1\.1\.0"\fR +. +.IP "" 0 +. +.SS "X Version Ranges" +An "x" in a version range specifies that the version number must start +with the supplied digits, but any digit may be used in place of the x\. +. +.P +The following are equivalent: +. +.IP "\(bu" 4 +\fB"1\.2\.x" = ">=1\.2\.0 <1\.3\.0"\fR +. +.IP "\(bu" 4 +\fB"1\.x\.x" = ">=1\.0\.0 <2\.0\.0"\fR +. +.IP "\(bu" 4 +\fB"1\.2" = "1\.2\.x"\fR +. +.IP "\(bu" 4 +\fB"1\.x" = "1\.x\.x"\fR +. +.IP "\(bu" 4 +\fB"1" = "1\.x\.x"\fR +. +.IP "" 0 +. +.P +You may not supply a comparator with a version containing an x\. Any +digits after the first "x" are ignored\. +. +.SS "URLs as Dependencies" +Starting with npm version 0\.2\.14, you may specify a tarball URL in place +of a version range\. +. +.P +This tarball will be downloaded and installed locally to your package at +install time\. +. +.SS "Git URLs as Dependencies" +Git urls can be of the form: +. +.IP "" 4 +. +.nf +git://github\.com/user/project\.git#commit\-ish +git+ssh://user@hostname:project\.git#commit\-ish +git+ssh://user@hostname/project\.git#commit\-ish +git+http://user@hostname/project/blah\.git#commit\-ish +git+https://user@hostname/project/blah\.git#commit\-ish +. +.fi +. +.IP "" 0 +. +.P +The \fBcommit\-ish\fR can be any tag, sha, or branch which can be supplied as +an argument to \fBgit checkout\fR\|\. The default is \fBmaster\fR\|\. +. +.SH "devDependencies" +If someone is planning on downloading and using your module in their +program, then they probably don\'t want or need to download and build +the external test or documentation framework that you use\. +. +.P +In this case, it\'s best to list these additional items in a \fBdevDependencies\fR hash\. +. +.P +These things will be installed whenever the \fB\-\-dev\fR configuration flag +is set\. This flag is set automatically when doing \fBnpm link\fR or when doing \fBnpm install\fR from the root of a package, and can be managed like any other npm +npm help configuration param\. See \fBnpm\-config\fR for more on the topic\. +. +.SH "bundledDependencies" +Array of package names that will be bundled when publishing the package\. +. +.P +If this is spelled \fB"bundleDependencies"\fR, then that is also honorable\. +. +.SH "optionalDependencies" +If a dependency can be used, but you would like npm to proceed if it +cannot be found or fails to install, then you may put it in the \fBoptionalDependencies\fR hash\. This is a map of package name to version +or url, just like the \fBdependencies\fR hash\. The difference is that +failure is tolerated\. +. +.P +It is still your program\'s responsibility to handle the lack of the +dependency\. For example, something like this: +. +.IP "" 4 +. +.nf +try { + var foo = require(\'foo\') + var fooVersion = require(\'foo/package\.json\')\.version +} catch (er) { + foo = null +} +if ( notGoodFooVersion(fooVersion) ) { + foo = null +} +// \.\. then later in your program \.\. +if (foo) { + foo\.doFooThings() +} +. +.fi +. +.IP "" 0 +. +.P +Entries in \fBoptionalDependencies\fR will override entries of the same name in \fBdependencies\fR, so it\'s usually best to only put in one place\. +. +.SH "engines" +You can specify the version of node that your stuff works on: +. +.IP "" 4 +. +.nf +{ "engines" : { "node" : ">=0\.1\.27 <0\.1\.30" } } +. +.fi +. +.IP "" 0 +. +.P +And, like with dependencies, if you don\'t specify the version (or if you +specify "*" as the version), then any version of node will do\. +. +.P +If you specify an "engines" field, then npm will require that "node" be +somewhere on that list\. If "engines" is omitted, then npm will just assume +that it works on node\. +. +.P +You can also use the "engines" field to specify which versions of npm +are capable of properly installing your program\. For example: +. +.IP "" 4 +. +.nf +{ "engines" : { "npm" : "~1\.0\.20" } } +. +.fi +. +.IP "" 0 +. +.P +Note that, unless the user has set the \fBengine\-strict\fR config flag, this +field is advisory only\. +. +.SH "engineStrict" +If you are sure that your module will \fIdefinitely not\fR run properly on +versions of Node/npm other than those specified in the \fBengines\fR hash, +then you can set \fB"engineStrict": true\fR in your package\.json file\. +This will override the user\'s \fBengine\-strict\fR config setting\. +. +.P +Please do not do this unless you are really very very sure\. If your +engines hash is something overly restrictive, you can quite easily and +inadvertently lock yourself into obscurity and prevent your users from +updating to new versions of Node\. Consider this choice carefully\. If +people abuse it, it will be removed in a future version of npm\. +. +.SH "os" +You can specify which operating systems your +module will run on: +. +.IP "" 4 +. +.nf +"os" : [ "darwin", "linux" ] +. +.fi +. +.IP "" 0 +. +.P +You can also blacklist instead of whitelist operating systems, +just prepend the blacklisted os with a \'!\': +. +.IP "" 4 +. +.nf +"os" : [ "!win32" ] +. +.fi +. +.IP "" 0 +. +.P +The host operating system is determined by \fBprocess\.platform\fR +. +.P +It is allowed to both blacklist, and whitelist, although there isn\'t any +good reason to do this\. +. +.SH "cpu" +If your code only runs on certain cpu architectures, +you can specify which ones\. +. +.IP "" 4 +. +.nf +"cpu" : [ "x64", "ia32" ] +. +.fi +. +.IP "" 0 +. +.P +Like the \fBos\fR option, you can also blacklist architectures: +. +.IP "" 4 +. +.nf +"cpu" : [ "!arm", "!mips" ] +. +.fi +. +.IP "" 0 +. +.P +The host architecture is determined by \fBprocess\.arch\fR +. +.SH "preferGlobal" +If your package is primarily a command\-line application that should be +installed globally, then set this value to \fBtrue\fR to provide a warning +if it is installed locally\. +. +.P +It doesn\'t actually prevent users from installing it locally, but it +does help prevent some confusion if it doesn\'t work as expected\. +. +.SH "private" +If you set \fB"private": true\fR in your package\.json, then npm will refuse +to publish it\. +. +.P +This is a way to prevent accidental publication of private repositories\. +If you would like to ensure that a given package is only ever published +to a specific registry (for example, an internal registry), +then use the \fBpublishConfig\fR hash described below +to override the \fBregistry\fR config param at publish\-time\. +. +.SH "publishConfig" +This is a set of config values that will be used at publish\-time\. It\'s +especially handy if you want to set the tag or registry, so that you can +ensure that a given package is not tagged with "latest" or published to +the global public registry by default\. +. +.P +Any config values can be overridden, but of course only "tag" and +"registry" probably matter for the purposes of publishing\. +. +.P +npm help See \fBnpm\-config\fR to see the list of config options that can be +overridden\. +. +.SH "SEE ALSO" +. +.IP "\(bu" 4 +npm help semver +. +.IP "\(bu" 4 +npm help init +. +.IP "\(bu" 4 +npm help version +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help help +. +.IP "\(bu" 4 +npm help faq +. +.IP "\(bu" 4 +npm help install +. +.IP "\(bu" 4 +npm help publish +. +.IP "\(bu" 4 +npm help rm +. +.IP "" 0 + diff --git a/deps/npm/man/man7/index.7 b/deps/npm/man/man7/index.7 new file mode 100644 index 0000000..911d8ef --- /dev/null +++ b/deps/npm/man/man7/index.7 @@ -0,0 +1,298 @@ +.\" Generated with Ronnjs 0.4.0 +.\" http://github.com/kapouer/ronnjs +. +.TH "NPM\-INDEX" "7" "July 2013" "" "" +. +.SH "NAME" +\fBnpm-index\fR \-\- Index of all npm documentation +. +npm help .SH "README" +node package manager +. +npm help .SH "npm" +node package manager +. +npm help .SH "npm\-adduser" +Add a registry user account +. +npm help .SH "npm\-bin" +Display npm bin folder +. +npm help .SH "npm\-bugs" +Bugs for a package in a web browser maybe +. +npm help .SH "npm\-build" +Build a package +. +npm help .SH "npm\-bundle" +REMOVED +. +npm help .SH "npm\-cache" +Manipulates packages cache +. +npm help .SH "npm\-completion" +Tab Completion for npm +. +npm help .SH "npm\-config" +Manage the npm configuration files +. +npm help .SH "npm\-dedupe" +Reduce duplication +. +npm help .SH "npm\-deprecate" +Deprecate a version of a package +. +npm help .SH "npm\-docs" +Docs for a package in a web browser maybe +. +npm help .SH "npm\-edit" +Edit an installed package +. +npm help .SH "npm\-explore" +Browse an installed package +. +npm help .SH "npm\-help\-search" +Search npm help documentation +. +npm help .SH "npm\-help" +Get help on npm +. +npm help .SH "npm\-init" +Interactively create a package\.json file +. +npm help .SH "npm\-install" +Install a package +. +npm help .SH "npm\-link" +Symlink a package folder +. +npm help .SH "npm\-ls" +List installed packages +. +npm help .SH "npm\-outdated" +Check for outdated packages +. +npm help .SH "npm\-owner" +Manage package owners +. +npm help .SH "npm\-pack" +Create a tarball from a package +. +npm help .SH "npm\-prefix" +Display prefix +. +npm help .SH "npm\-prune" +Remove extraneous packages +. +npm help .SH "npm\-publish" +Publish a package +. +npm help .SH "npm\-rebuild" +Rebuild a package +. +npm help .SH "npm\-restart" +Start a package +. +npm help .SH "npm\-rm" +Remove a package +. +npm help .SH "npm\-root" +Display npm root +. +npm help .SH "npm\-run\-script" +Run arbitrary package scripts +. +npm help .SH "npm\-search" +Search for packages +. +npm help .SH "npm\-shrinkwrap" +Lock down dependency versions +. +npm help .SH "npm\-star" +Mark your favorite packages +. +npm help .SH "npm\-stars" +View packages marked as favorites +. +npm help .SH "npm\-start" +Start a package +. +npm help .SH "npm\-stop" +Stop a package +. +npm help .SH "npm\-submodule" +Add a package as a git submodule +. +npm help .SH "npm\-tag" +Tag a published version +. +npm help .SH "npm\-test" +Test a package +. +npm help .SH "npm\-uninstall" +Remove a package +. +npm help .SH "npm\-unpublish" +Remove a package from the registry +. +npm help .SH "npm\-update" +Update a package +. +npm help .SH "npm\-version" +Bump a package version +. +npm help .SH "npm\-view" +View registry info +. +npm help .SH "npm\-whoami" +Display npm username +. +npm apihelp .SH "npm" +node package manager +. +npm apihelp .SH "npm\-bin" +Display npm bin folder +. +npm apihelp .SH "npm\-bugs" +Bugs for a package in a web browser maybe +. +npm apihelp .SH "npm\-commands" +npm commands +. +npm apihelp .SH "npm\-config" +Manage the npm configuration files +. +npm apihelp .SH "npm\-deprecate" +Deprecate a version of a package +. +npm apihelp .SH "npm\-docs" +Docs for a package in a web browser maybe +. +npm apihelp .SH "npm\-edit" +Edit an installed package +. +npm apihelp .SH "npm\-explore" +Browse an installed package +. +npm apihelp .SH "npm\-help\-search" +Search the help pages +. +npm apihelp .SH "npm\-init" +Interactively create a package\.json file +. +npm apihelp .SH "npm\-install" +install a package programmatically +. +npm apihelp .SH "npm\-link" +Symlink a package folder +. +npm apihelp .SH "npm\-load" +Load config settings +. +npm apihelp .SH "npm\-ls" +List installed packages +. +npm apihelp .SH "npm\-outdated" +Check for outdated packages +. +npm apihelp .SH "npm\-owner" +Manage package owners +. +npm apihelp .SH "npm\-pack" +Create a tarball from a package +. +npm apihelp .SH "npm\-prefix" +Display prefix +. +npm apihelp .SH "npm\-prune" +Remove extraneous packages +. +npm apihelp .SH "npm\-publish" +Publish a package +. +npm apihelp .SH "npm\-rebuild" +Rebuild a package +. +npm apihelp .SH "npm\-restart" +Start a package +. +npm apihelp .SH "npm\-root" +Display npm root +. +npm apihelp .SH "npm\-run\-script" +Run arbitrary package scripts +. +npm apihelp .SH "npm\-search" +Search for packages +. +npm apihelp .SH "npm\-shrinkwrap" +programmatically generate package shrinkwrap file +. +npm apihelp .SH "npm\-start" +Start a package +. +npm apihelp .SH "npm\-stop" +Stop a package +. +npm apihelp .SH "npm\-submodule" +Add a package as a git submodule +. +npm apihelp .SH "npm\-tag" +Tag a published version +. +npm apihelp .SH "npm\-test" +Test a package +. +npm apihelp .SH "npm\-uninstall" +uninstall a package programmatically +. +npm apihelp .SH "npm\-unpublish" +Remove a package from the registry +. +npm apihelp .SH "npm\-update" +Update a package +. +npm apihelp .SH "npm\-version" +Bump a package version +. +npm apihelp .SH "npm\-view" +View registry info +. +npm apihelp .SH "npm\-whoami" +Display npm username +. +npm help .SH "npm\-folders" +Folder Structures Used by npm +. +npm help .SH "npmrc" +The npm config files +. +npm help .SH "package\.json" +Specifics of npm\'s package\.json handling +. +npm help .SH "npm\-coding\-style" +npm\'s "funny" coding style +. +npm help .SH "npm\-config" +More than you probably want to know about npm configuration +. +npm help .SH "npm\-developers" +Developer Guide +. +npm help .SH "npm\-disputes" +Handling Module Name Disputes +. +npm help .SH "npm\-faq" +Frequently Asked Questions +. +npm help .SH "npm\-registry" +The JavaScript Package Registry +. +npm help .SH "npm\-scripts" +How npm handles the "scripts" field +. +npm help .SH "removing\-npm" +Cleaning the Slate +. +npm help .SH "semver" +The semantic versioner for npm diff --git a/deps/npm/man/man1/coding-style.1 b/deps/npm/man/man7/npm-coding-style.7 similarity index 97% rename from deps/npm/man/man1/coding-style.1 rename to deps/npm/man/man7/npm-coding-style.7 index 79b1cae..47417d2 100644 --- a/deps/npm/man/man1/coding-style.1 +++ b/deps/npm/man/man7/npm-coding-style.7 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-CODING\-STYLE" "1" "July 2013" "" "" +.TH "NPM\-CODING\-STYLE" "7" "July 2013" "" "" . .SH "NAME" \fBnpm-coding-style\fR \-\- npm\'s "funny" coding style @@ -201,7 +201,7 @@ report what\'s happening so that it\'s easier to track down where a fault occurs\. . .P -Use appropriate log levels\. See \fBnpm help config\fR and search for +npm help Use appropriate log levels\. See \fBnpm\-config\fR and search for "loglevel"\. . .SH "Case, naming, etc\." @@ -242,10 +242,10 @@ Boolean objects are verboten\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help developers +npm help developers . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 npm help npm diff --git a/deps/npm/man/man1/config.1 b/deps/npm/man/man7/npm-config.7 similarity index 88% rename from deps/npm/man/man1/config.1 rename to deps/npm/man/man7/npm-config.7 index 2e0e7a0..f30758b 100644 --- a/deps/npm/man/man1/config.1 +++ b/deps/npm/man/man7/npm-config.7 @@ -1,132 +1,49 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-CONFIG" "1" "July 2013" "" "" +.TH "NPM\-CONFIG" "7" "July 2013" "" "" . .SH "NAME" -\fBnpm-config\fR \-\- Manage the npm configuration file -. -.SH "SYNOPSIS" -. -.nf -npm config set [\-\-global] -npm config get -npm config delete -npm config list -npm config edit -npm get -npm set [\-\-global] -. -.fi +\fBnpm-config\fR \-\- More than you probably want to know about npm configuration . .SH "DESCRIPTION" npm gets its configuration values from 6 sources, in this priority: . .SS "Command Line Flags" -Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli -parser to stop reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of -the command will be given the value of \fBtrue\fR\|\. +Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration +parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli parser to stop +reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of the +command will be given the value of \fBtrue\fR\|\. . .SS "Environment Variables" -Any environment variables that start with \fBnpm_config_\fR will be interpreted -as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in -your environment will set the \fBfoo\fR configuration parameter to \fBbar\fR\|\. Any -environment configurations that are not given a value will be given the value -of \fBtrue\fR\|\. Config values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will -work the same\. -. -.SS "Per\-user config file" -\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set above) +Any environment variables that start with \fBnpm_config_\fR will be +interpreted as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in your environment will set the \fBfoo\fR +configuration parameter to \fBbar\fR\|\. Any environment configurations that +are not given a value will be given the value of \fBtrue\fR\|\. Config +values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will work the +same\. . -.P -This file is an ini\-file formatted list of \fBkey = value\fR parameters\. -Environment variables can be replaced using \fB${VARIABLE_NAME}\fR\|\. For example: +.SS "npmrc Files" +The three relevant files are: . -.IP "" 4 +.IP "\(bu" 4 +per\-user config file (~/\.npmrc) . -.nf -prefix = ${HOME}/\.npm\-packages +.IP "\(bu" 4 +global config file ($PREFIX/npmrc) . -.fi +.IP "\(bu" 4 +npm builtin config file (/path/to/npm/npmrc) . .IP "" 0 . -.SS "Global config file" -\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above): -This file is an ini\-file formatted list of \fBkey = value\fR parameters\. -Environment variables can be replaced as above\. -. -.SS "Built\-in config file" -\fBpath/to/npm/itself/npmrc\fR -. .P -This is an unchangeable "builtin" -configuration file that npm keeps consistent across updates\. Set -fields in here using the \fB\|\./configure\fR script that comes with npm\. -This is primarily for distribution maintainers to override default -configs in a standard and consistent manner\. +npm help See npmrc for more details\. . .SS "Default Configs" A set of configuration parameters that are internal to npm, and are defaults if nothing else is specified\. . -.SH "Sub\-commands" -Config supports the following sub\-commands: -. -.SS "set" -. -.nf -npm config set key value -. -.fi -. -.P -Sets the config key to the value\. -. -.P -If value is omitted, then it sets it to "true"\. -. -.SS "get" -. -.nf -npm config get key -. -.fi -. -.P -Echo the config value to stdout\. -. -.SS "list" -. -.nf -npm config list -. -.fi -. -.P -Show all the config settings\. -. -.SS "delete" -. -.nf -npm config delete key -. -.fi -. -.P -Deletes the key from all configuration files\. -. -.SS "edit" -. -.nf -npm config edit -. -.fi -. -.P -Opens the config file in an editor\. Use the \fB\-\-global\fR flag to edit the -global config\. -. .SH "Shorthands and Other CLI Niceties" The following shorthands are parsed on the command\-line: . @@ -232,10 +149,9 @@ npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info .IP "" 0 . .SH "Per\-Package Config Settings" -When running scripts (see \fBnpm help scripts\fR) -the package\.json "config" keys are overwritten in the environment if -there is a config param of \fB[@]:\fR\|\. For example, if -the package\.json has this: +When running scripts (npm help see \fBnpm\-scripts\fR) the package\.json "config" +keys are overwritten in the environment if there is a config param of \fB[@]:\fR\|\. For example, if the package\.json has +this: . .IP "" 4 . @@ -272,6 +188,9 @@ npm config set foo:port 80 . .IP "" 0 . +.P +npm help See package\.json for more information\. +. .SH "Config Settings" . .SS "always\-auth" @@ -352,7 +271,7 @@ Type: path .IP "" 0 . .P -The location of npm\'s cache directory\. See \fBnpm help cache\fR +npm help The location of npm\'s cache directory\. See \fBnpm\-cache\fR . .SS "cache\-lock\-stale" . @@ -638,7 +557,7 @@ Type: Boolean .IP "" 0 . .P -Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm help folders\fR for more on the differences in behavior\. +npm help Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm\-folders\fR for more on the differences in behavior\. . .IP "\(bu" 4 packages are installed into the \fB{prefix}/lib/node_modules\fR folder, instead of the @@ -750,7 +669,7 @@ Type: path .P A module that will be loaded by the \fBnpm init\fR command\. See the documentation for the init\-package\-json \fIhttps://github\.com/isaacs/init\-package\-json\fR module -for more information, or npm help init\. +npm help for more information, or npm\-init\. . .SS "init\.version" . @@ -1006,7 +925,7 @@ standard output\. .SS "prefix" . .IP "\(bu" 4 -Default: see npm help folders +npm help Default: see npm\-folders . .IP "\(bu" 4 Type: path @@ -1367,7 +1286,7 @@ Type: Boolean . .P Set to show short usage output (like the \-H output) -instead of complete help when doing \fBnpm help help\fR\|\. +npm help instead of complete help when doing \fBnpm\-help\fR\|\. . .SS "user" . @@ -1514,7 +1433,19 @@ then answer "no" to any prompt\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help folders +npm help config +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help scripts +. +.IP "\(bu" 4 +npm help folders . .IP "\(bu" 4 npm help npm diff --git a/deps/npm/man/man1/developers.1 b/deps/npm/man/man7/npm-developers.7 similarity index 94% rename from deps/npm/man/man1/developers.1 rename to deps/npm/man/man7/npm-developers.7 index aa18ccd..619e8ec 100644 --- a/deps/npm/man/man1/developers.1 +++ b/deps/npm/man/man7/npm-developers.7 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DEVELOPERS" "1" "July 2013" "" "" +.TH "NPM\-DEVELOPERS" "7" "July 2013" "" "" . .SH "NAME" \fBnpm-developers\fR \-\- Developer Guide @@ -78,7 +78,7 @@ You need to have a \fBpackage\.json\fR file in the root of your project to do much of anything with npm\. That is basically the whole interface\. . .P -See \fBnpm help json\fR for details about what goes in that file\. At the very +npm help See \fBpackage\.json\fR for details about what goes in that file\. At the very least, you need: . .IP "\(bu" 4 @@ -114,7 +114,7 @@ scripts: If you have a special compilation or installation script, then you should put it in the \fBscripts\fR hash\. You should definitely have at least a basic smoke\-test command as the "scripts\.test" field\. -See npm help scripts\. +npm help See npm\-scripts\. . .IP "\(bu" 4 main: @@ -132,7 +132,7 @@ they\'ll get installed just like these ones\. . .P You can use \fBnpm init\fR in the root of your package in order to get you -started with a pretty basic package\.json file\. See \fBnpm help init\fR for +npm help started with a pretty basic package\.json file\. See \fBnpm\-init\fR for more info\. . .SH "Keeping files " @@ -201,7 +201,7 @@ need to either re\-link or \fBnpm rebuild \-g\fR to update compiled packages, of course\.) . .P -More info at \fBnpm help link\fR\|\. +npm help More info at \fBnpm\-link\fR\|\. . .SH "Before Publishing: Make Sure Your Package Installs and Works" \fBThis is important\.\fR @@ -276,7 +276,7 @@ npm adduser and then follow the prompts\. . .P -This is documented better in npm help adduser\. +npm help This is documented better in npm\-adduser\. . .SH "Publish your package" This part\'s easy\. IN the root of your folder, do this: @@ -308,7 +308,7 @@ Tell the world how easy it is to install your program! .SH "SEE ALSO" . .IP "\(bu" 4 -npm help faq +npm help faq . .IP "\(bu" 4 npm help npm @@ -317,10 +317,10 @@ npm help npm npm help init . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 -npm help scripts +npm help scripts . .IP "\(bu" 4 npm help publish @@ -329,7 +329,7 @@ npm help publish npm help adduser . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "" 0 diff --git a/deps/npm/man/man1/disputes.1 b/deps/npm/man/man7/npm-disputes.7 similarity index 98% rename from deps/npm/man/man1/disputes.1 rename to deps/npm/man/man7/npm-disputes.7 index 5a3c49b..7d074dd 100644 --- a/deps/npm/man/man1/disputes.1 +++ b/deps/npm/man/man7/npm-disputes.7 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DISPUTES" "1" "July 2013" "" "" +.TH "NPM\-DISPUTES" "7" "July 2013" "" "" . .SH "NAME" \fBnpm-disputes\fR \-\- Handling Module Name Disputes @@ -136,7 +136,7 @@ If you see bad behavior like this, please report it right away\. .SH "SEE ALSO" . .IP "\(bu" 4 -npm help registry +npm help registry . .IP "\(bu" 4 npm help owner diff --git a/deps/npm/man/man1/faq.1 b/deps/npm/man/man7/npm-faq.7 similarity index 96% rename from deps/npm/man/man1/faq.1 rename to deps/npm/man/man7/npm-faq.7 index 04e0307..1fde298 100644 --- a/deps/npm/man/man1/faq.1 +++ b/deps/npm/man/man7/npm-faq.7 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-FAQ" "1" "July 2013" "" "" +.TH "NPM\-FAQ" "7" "July 2013" "" "" . .SH "NAME" \fBnpm-faq\fR \-\- Frequently Asked Questions @@ -32,7 +32,7 @@ Read the error output, and if you can\'t figure out what it means, do what it says and post a bug with all the information it asks for\. . .SH "Where does npm put stuff?" -See \fBnpm help folders\fR +npm help See \fBnpm\-folders\fR . .P tl;dr: @@ -74,7 +74,7 @@ problems than it solves\. .P It is much harder to avoid dependency conflicts without nesting dependencies\. This is fundamental to the way that npm works, and has -proven to be an extremely successful approach\. See \fBnpm help folders\fR for +npm help proven to be an extremely successful approach\. See \fBnpm\-folders\fR for more details\. . .P @@ -375,14 +375,14 @@ Windows: .IP "" 0 . .SH "How can I use npm for development?" -See \fBnpm help developers\fR and \fBnpm help json\fR\|\. +npm help See \fBnpm\-developersnpm help \fR and \fBpackage\.json\fR\|\. . .P You\'ll most likely want to \fBnpm link\fR your development folder\. That\'s awesomely handy\. . .P -To set up your own private registry, check out \fBnpm help registry\fR\|\. +npm help To set up your own private registry, check out \fBnpm\-registry\fR\|\. . .SH "Can I list a url as a dependency?" Yes\. It should be a url to a gzipped tarball containing a single folder @@ -390,10 +390,10 @@ that has a package\.json in its root, or a git url\. (See "what is a package?" above\.) . .SH "How do I symlink to a dev folder so I don't have to keep re\-installing?" -See \fBnpm help link\fR +npm help See \fBnpm\-link\fR . .SH "The package registry website\. What is that exactly?" -See \fBnpm help registry\fR\|\. +npm help See \fBnpm\-registry\fR\|\. . .SH "I forgot my password, and can't publish\. How do I reset it?" Go to \fIhttps://npmjs\.org/forgot\fR\|\. @@ -444,16 +444,25 @@ npm is not capable of hatred\. It loves everyone, especially you\. npm help npm . .IP "\(bu" 4 -npm help developers +npm help developers . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 npm help config . .IP "\(bu" 4 -npm help folders +npm help config +. +.IP "\(bu" 4 +npm help npmrc +. +.IP "\(bu" 4 +npm help config +. +.IP "\(bu" 4 +npm help folders . .IP "" 0 diff --git a/deps/npm/man/man7/npm-index.7 b/deps/npm/man/man7/npm-index.7 new file mode 100644 index 0000000..dd3f6a8 --- /dev/null +++ b/deps/npm/man/man7/npm-index.7 @@ -0,0 +1,301 @@ +.\" Generated with Ronnjs 0.3.8 +.\" http://github.com/kapouer/ronnjs/ +. +.TH "NPM\-INDEX" "7" "July 2013" "" "" +. +.SH "NAME" +\fBnpm-index\fR \-\- Index of all npm documentation +. +npm help .SH "README" +node package manager +. +npm help .SH "npm" +node package manager +. +npm help .SH "npm\-adduser" +Add a registry user account +. +npm help .SH "npm\-bin" +Display npm bin folder +. +npm help .SH "npm\-bugs" +Bugs for a package in a web browser maybe +. +npm help .SH "npm\-build" +Build a package +. +npm help .SH "npm\-bundle" +REMOVED +. +npm help .SH "npm\-cache" +Manipulates packages cache +. +npm help .SH "npm\-completion" +Tab Completion for npm +. +npm help .SH "npm\-config" +Manage the npm configuration files +. +npm help .SH "npm\-dedupe" +Reduce duplication +. +npm help .SH "npm\-deprecate" +Deprecate a version of a package +. +npm help .SH "npm\-docs" +Docs for a package in a web browser maybe +. +npm help .SH "npm\-edit" +Edit an installed package +. +npm help .SH "npm\-explore" +Browse an installed package +. +npm help .SH "npm\-help\-search" +Search npm help documentation +. +npm help .SH "npm\-help" +Get help on npm +. +npm help .SH "npm\-init" +Interactively create a package\.json file +. +npm help .SH "npm\-install" +Install a package +. +npm help .SH "npm\-link" +Symlink a package folder +. +npm help .SH "npm\-ls" +List installed packages +. +npm help .SH "npm\-outdated" +Check for outdated packages +. +npm help .SH "npm\-owner" +Manage package owners +. +npm help .SH "npm\-pack" +Create a tarball from a package +. +npm help .SH "npm\-prefix" +Display prefix +. +npm help .SH "npm\-prune" +Remove extraneous packages +. +npm help .SH "npm\-publish" +Publish a package +. +npm help .SH "npm\-rebuild" +Rebuild a package +. +npm help .SH "npm\-restart" +Start a package +. +npm help .SH "npm\-rm" +Remove a package +. +npm help .SH "npm\-root" +Display npm root +. +npm help .SH "npm\-run\-script" +Run arbitrary package scripts +. +npm help .SH "npm\-search" +Search for packages +. +npm help .SH "npm\-shrinkwrap" +Lock down dependency versions +. +npm help .SH "npm\-star" +Mark your favorite packages +. +npm help .SH "npm\-stars" +View packages marked as favorites +. +npm help .SH "npm\-start" +Start a package +. +npm help .SH "npm\-stop" +Stop a package +. +npm help .SH "npm\-submodule" +Add a package as a git submodule +. +npm help .SH "npm\-tag" +Tag a published version +. +npm help .SH "npm\-test" +Test a package +. +npm help .SH "npm\-uninstall" +Remove a package +. +npm help .SH "npm\-unpublish" +Remove a package from the registry +. +npm help .SH "npm\-update" +Update a package +. +npm help .SH "npm\-version" +Bump a package version +. +npm help .SH "npm\-view" +View registry info +. +npm help .SH "npm\-whoami" +Display npm username +. +npm apihelp .SH "npm" +node package manager +. +npm apihelp .SH "npm\-bin" +Display npm bin folder +. +npm apihelp .SH "npm\-bugs" +Bugs for a package in a web browser maybe +. +npm apihelp .SH "npm\-commands" +npm commands +. +npm apihelp .SH "npm\-config" +Manage the npm configuration files +. +npm apihelp .SH "npm\-deprecate" +Deprecate a version of a package +. +npm apihelp .SH "npm\-docs" +Docs for a package in a web browser maybe +. +npm apihelp .SH "npm\-edit" +Edit an installed package +. +npm apihelp .SH "npm\-explore" +Browse an installed package +. +npm apihelp .SH "npm\-help\-search" +Search the help pages +. +npm apihelp .SH "npm\-init" +Interactively create a package\.json file +. +npm apihelp .SH "npm\-install" +install a package programmatically +. +npm apihelp .SH "npm\-link" +Symlink a package folder +. +npm apihelp .SH "npm\-load" +Load config settings +. +npm apihelp .SH "npm\-ls" +List installed packages +. +npm apihelp .SH "npm\-outdated" +Check for outdated packages +. +npm apihelp .SH "npm\-owner" +Manage package owners +. +npm apihelp .SH "npm\-pack" +Create a tarball from a package +. +npm apihelp .SH "npm\-prefix" +Display prefix +. +npm apihelp .SH "npm\-prune" +Remove extraneous packages +. +npm apihelp .SH "npm\-publish" +Publish a package +. +npm apihelp .SH "npm\-rebuild" +Rebuild a package +. +npm apihelp .SH "npm\-restart" +Start a package +. +npm apihelp .SH "npm\-root" +Display npm root +. +npm apihelp .SH "npm\-run\-script" +Run arbitrary package scripts +. +npm apihelp .SH "npm\-search" +Search for packages +. +npm apihelp .SH "npm\-shrinkwrap" +programmatically generate package shrinkwrap file +. +npm apihelp .SH "npm\-start" +Start a package +. +npm apihelp .SH "npm\-stop" +Stop a package +. +npm apihelp .SH "npm\-submodule" +Add a package as a git submodule +. +npm apihelp .SH "npm\-tag" +Tag a published version +. +npm apihelp .SH "npm\-test" +Test a package +. +npm apihelp .SH "npm\-uninstall" +uninstall a package programmatically +. +npm apihelp .SH "npm\-unpublish" +Remove a package from the registry +. +npm apihelp .SH "npm\-update" +Update a package +. +npm apihelp .SH "npm\-version" +Bump a package version +. +npm apihelp .SH "npm\-view" +View registry info +. +npm apihelp .SH "npm\-whoami" +Display npm username +. +npm help .SH "npm\-folders" +Folder Structures Used by npm +. +npm help .SH "npmrc" +The npm config files +. +npm help .SH "package\.json" +Specifics of npm\'s package\.json handling +. +npm help .SH "npm\-coding\-style" +npm\'s "funny" coding style +. +npm help .SH "npm\-config" +More than you probably want to know about npm configuration +. +npm help .SH "npm\-developers" +Developer Guide +. +npm help .SH "npm\-disputes" +Handling Module Name Disputes +. +npm help .SH "npm\-faq" +Frequently Asked Questions +. +npm help .SH "npm\-index" +Index of all npm documentation +. +npm help .SH "npm\-registry" +The JavaScript Package Registry +. +npm help .SH "npm\-scripts" +How npm handles the "scripts" field +. +npm help .SH "removing\-npm" +Cleaning the Slate +. +npm help .SH "semver" +The semantic versioner for npm diff --git a/deps/npm/man/man1/registry.1 b/deps/npm/man/man7/npm-registry.7 similarity index 88% rename from deps/npm/man/man1/registry.1 rename to deps/npm/man/man7/npm-registry.7 index 66c14b9..19a4bff 100644 --- a/deps/npm/man/man1/registry.1 +++ b/deps/npm/man/man7/npm-registry.7 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-REGISTRY" "1" "July 2013" "" "" +.TH "NPM\-REGISTRY" "7" "July 2013" "" "" . .SH "NAME" \fBnpm-registry\fR \-\- The JavaScript Package Registry @@ -24,7 +24,8 @@ are CouchDB users, stored in the \fIhttp://isaacs\.iriscouch\.com/_users\fR database\. . .P -The registry URL is supplied by the \fBregistry\fR config parameter\. See \fBnpm help config\fR for more on managing npm\'s configuration\. +npm help npm help The registry URL is supplied by the \fBregistry\fR config parameter\. See \fBnpm\-config\fR, \fBnpmrcnpm help \fR, and \fBnpm\-config\fR for more on managing +npm\'s configuration\. . .SH "Can I run my own private registry?" Yes! @@ -46,7 +47,7 @@ published at all, or \fB"publishConfig":{"registry":"http://my\-internal\-regist to force it to be published only to your internal registry\. . .P -See \fBnpm help json\fR for more info on what goes in the package\.json file\. +npm help See \fBpackage\.json\fR for more info on what goes in the package\.json file\. . .SH "Will you replicate from my registry into the public one?" No\. If you want things to be public, then publish them into the public @@ -98,10 +99,16 @@ Yes, head over to \fIhttps://npmjs\.org/\fR npm help config . .IP "\(bu" 4 -npm help developers +npm help config . .IP "\(bu" 4 -npm help disputes +npm help npmrc +. +.IP "\(bu" 4 +npm help developers +. +.IP "\(bu" 4 +npm help disputes . .IP "" 0 diff --git a/deps/npm/man/man1/scripts.1 b/deps/npm/man/man7/npm-scripts.7 similarity index 74% rename from deps/npm/man/man1/scripts.1 rename to deps/npm/man/man7/npm-scripts.7 index b728194..d88c63e 100644 --- a/deps/npm/man/man1/scripts.1 +++ b/deps/npm/man/man7/npm-scripts.7 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SCRIPTS" "1" "July 2013" "" "" +.TH "NPM\-SCRIPTS" "7" "July 2013" "" "" . .SH "NAME" \fBnpm-scripts\fR \-\- How npm handles the "scripts" field @@ -143,20 +143,20 @@ default the \fBpreinstall\fR command to compile using node\-waf\. .IP "" 0 . .SH "USER" -If npm was invoked with root privileges, then it will change the uid to -the user account or uid specified by the \fBuser\fR config, which defaults -to \fBnobody\fR\|\. Set the \fBunsafe\-perm\fR flag to run scripts with root -privileges\. +If npm was invoked with root privileges, then it will change the uid +to the user account or uid specified by the \fBuser\fR config, which +defaults to \fBnobody\fR\|\. Set the \fBunsafe\-perm\fR flag to run scripts with +root privileges\. . .SH "ENVIRONMENT" -Package scripts run in an environment where many pieces of information are -made available regarding the setup of npm and the current state of the -process\. +Package scripts run in an environment where many pieces of information +are made available regarding the setup of npm and the current state of +the process\. . .SS "path" -If you depend on modules that define executable scripts, like test suites, -then those executables will be added to the \fBPATH\fR for executing the scripts\. -So, if your package\.json has this: +If you depend on modules that define executable scripts, like test +suites, then those executables will be added to the \fBPATH\fR for +executing the scripts\. So, if your package\.json has this: . .IP "" 4 . @@ -170,23 +170,22 @@ So, if your package\.json has this: .IP "" 0 . .P -then you could run \fBnpm start\fR to execute the \fBbar\fR script, which is exported -into the \fBnode_modules/\.bin\fR directory on \fBnpm install\fR\|\. +then you could run \fBnpm start\fR to execute the \fBbar\fR script, which is +exported into the \fBnode_modules/\.bin\fR directory on \fBnpm install\fR\|\. . .SS "package\.json vars" -The package\.json fields are tacked onto the \fBnpm_package_\fR prefix\. So, for -instance, if you had \fB{"name":"foo", "version":"1\.2\.5"}\fR in your package\.json -file, then your package scripts would have the \fBnpm_package_name\fR environment -variable set to "foo", and the \fBnpm_package_version\fR set to "1\.2\.5" +The package\.json fields are tacked onto the \fBnpm_package_\fR prefix\. So, +for instance, if you had \fB{"name":"foo", "version":"1\.2\.5"}\fR in your +package\.json file, then your package scripts would have the \fBnpm_package_name\fR environment variable set to "foo", and the \fBnpm_package_version\fR set to "1\.2\.5" . .SS "configuration" -Configuration parameters are put in the environment with the \fBnpm_config_\fR -prefix\. For instance, you can view the effective \fBroot\fR config by checking the \fBnpm_config_root\fR environment variable\. +Configuration parameters are put in the environment with the \fBnpm_config_\fR prefix\. For instance, you can view the effective \fBroot\fR +config by checking the \fBnpm_config_root\fR environment variable\. . .SS "Special: package\.json "config" hash" The package\.json "config" keys are overwritten in the environment if -there is a config param of \fB[@]:\fR\|\. For example, if -the package\.json has this: +there is a config param of \fB[@]:\fR\|\. For example, +if the package\.json has this: . .IP "" 4 . @@ -224,14 +223,14 @@ npm config set foo:port 80 .IP "" 0 . .SS "current lifecycle event" -Lastly, the \fBnpm_lifecycle_event\fR environment variable is set to whichever -stage of the cycle is being executed\. So, you could have a single script used -for different parts of the process which switches based on what\'s currently -happening\. +Lastly, the \fBnpm_lifecycle_event\fR environment variable is set to +whichever stage of the cycle is being executed\. So, you could have a +single script used for different parts of the process which switches +based on what\'s currently happening\. . .P -Objects are flattened following this format, so if you had \fB{"scripts":{"install":"foo\.js"}}\fR in your package\.json, then you\'d see this -in the script: +Objects are flattened following this format, so if you had \fB{"scripts":{"install":"foo\.js"}}\fR in your package\.json, then you\'d +see this in the script: . .IP "" 4 . @@ -260,13 +259,15 @@ For example, if your package\.json contains this: .IP "" 0 . .P -then the \fBscripts/install\.js\fR will be called for the install, post\-install, -stages of the lifecycle, and the \fBscripts/uninstall\.js\fR would be -called when the package is uninstalled\. Since \fBscripts/install\.js\fR is running -for three different phases, it would be wise in this case to look at the \fBnpm_lifecycle_event\fR environment variable\. +then the \fBscripts/install\.js\fR will be called for the install, +post\-install, stages of the lifecycle, and the \fBscripts/uninstall\.js\fR +would be called when the package is uninstalled\. Since \fBscripts/install\.js\fR is running for three different phases, it would +be wise in this case to look at the \fBnpm_lifecycle_event\fR environment +variable\. . .P -If you want to run a make command, you can do so\. This works just fine: +If you want to run a make command, you can do so\. This works just +fine: . .IP "" 4 . @@ -290,46 +291,48 @@ If the script exits with a code other than 0, then this will abort the process\. . .P -Note that these script files don\'t have to be nodejs or even javascript -programs\. They just have to be some kind of executable file\. +Note that these script files don\'t have to be nodejs or even +javascript programs\. They just have to be some kind of executable +file\. . .SH "HOOK SCRIPTS" -If you want to run a specific script at a specific lifecycle event for ALL -packages, then you can use a hook script\. +If you want to run a specific script at a specific lifecycle event for +ALL packages, then you can use a hook script\. . .P -Place an executable file at \fBnode_modules/\.hooks/{eventname}\fR, and it\'ll get -run for all packages when they are going through that point in the package -lifecycle for any packages installed in that root\. +Place an executable file at \fBnode_modules/\.hooks/{eventname}\fR, and +it\'ll get run for all packages when they are going through that point +in the package lifecycle for any packages installed in that root\. . .P -Hook scripts are run exactly the same way as package\.json scripts\. That is, -they are in a separate child process, with the env described above\. +Hook scripts are run exactly the same way as package\.json scripts\. +That is, they are in a separate child process, with the env described +above\. . .SH "BEST PRACTICES" . .IP "\(bu" 4 Don\'t exit with a non\-zero error code unless you \fIreally\fR mean it\. -Except for uninstall scripts, this will cause the npm action -to fail, and potentially be rolled back\. If the failure is minor or +Except for uninstall scripts, this will cause the npm action to +fail, and potentially be rolled back\. If the failure is minor or only will prevent some optional features, then it\'s better to just print a warning and exit successfully\. . .IP "\(bu" 4 -Try not to use scripts to do what npm can do for you\. Read through \fBnpm help json\fR to see all the things that you can specify and enable -by simply describing your package appropriately\. In general, this will -lead to a more robust and consistent state\. +npm help Try not to use scripts to do what npm can do for you\. Read through \fBpackage\.json\fR to see all the things that you can specify and enable +by simply describing your package appropriately\. In general, this +will lead to a more robust and consistent state\. . .IP "\(bu" 4 Inspect the env to determine where to put things\. For instance, if -the \fBnpm_config_binroot\fR environ is set to \fB/home/user/bin\fR, then don\'t -try to install executables into \fB/usr/local/bin\fR\|\. The user probably -set it up that way for a reason\. +the \fBnpm_config_binroot\fR environ is set to \fB/home/user/bin\fR, then +don\'t try to install executables into \fB/usr/local/bin\fR\|\. The user +probably set it up that way for a reason\. . .IP "\(bu" 4 -Don\'t prefix your script commands with "sudo"\. If root permissions are -required for some reason, then it\'ll fail with that error, and the user -will sudo the npm command in question\. +Don\'t prefix your script commands with "sudo"\. If root permissions +are required for some reason, then it\'ll fail with that error, and +the user will sudo the npm command in question\. . .IP "" 0 . @@ -339,10 +342,10 @@ will sudo the npm command in question\. npm help run\-script . .IP "\(bu" 4 -npm help json +npm help package\.json . .IP "\(bu" 4 -npm help developers +npm help developers . .IP "\(bu" 4 npm help install diff --git a/deps/npm/man/man1/removing-npm.1 b/deps/npm/man/man7/removing-npm.7 similarity index 100% rename from deps/npm/man/man1/removing-npm.1 rename to deps/npm/man/man7/removing-npm.7 diff --git a/deps/npm/man/man1/semver.1 b/deps/npm/man/man7/semver.7 similarity index 56% rename from deps/npm/man/man1/semver.1 rename to deps/npm/man/man7/semver.7 index 5145ed6..3be3da9 100644 --- a/deps/npm/man/man1/semver.1 +++ b/deps/npm/man/man7/semver.7 @@ -1,18 +1,12 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SEMVER" "1" "July 2013" "" "" +.TH "SEMVER" "7" "July 2013" "" "" . .SH "NAME" -\fBnpm-semver\fR \-\- The semantic versioner for npm +\fBsemver\fR \-\- The semantic versioner for npm . -.SH "SYNOPSIS" -The npm semantic versioning utility\. -. -.SH "DESCRIPTION" -As a node module: -. -.IP "" 4 +.SH "Usage" . .nf $ npm install semver @@ -25,20 +19,18 @@ semver\.lt(\'1\.2\.3\', \'9\.8\.7\') // true . .fi . -.IP "" 0 -. .P As a command\-line utility: . .IP "" 4 . .nf -$ npm install semver \-g $ semver \-h -Usage: semver \-v [\-r ] -Test if version(s) satisfy the supplied range(s), -and sort them\. -Multiple versions or ranges may be supplied\. +Usage: semver [ [\.\.\.]] [\-r | \-i | \-d ] +Test if version(s) satisfy the supplied range(s), and sort them\. +Multiple versions or ranges may be supplied, unless increment +or decrement options are specified\. In that case, only a single +version may be used, and it is incremented by the specified level Program exits successfully if any valid version satisfies all supplied ranges, and prints all satisfying versions\. If no versions are valid, or ranges are not satisfied, @@ -51,97 +43,56 @@ multiple versions to the utility will just sort them\. .IP "" 0 . .SH "Versions" -A version is the following things, in this order: -. -.IP "\(bu" 4 -a number (Major) -. -.IP "\(bu" 4 -a period -. -.IP "\(bu" 4 -a number (minor) -. -.IP "\(bu" 4 -a period -. -.IP "\(bu" 4 -a number (patch) -. -.IP "\(bu" 4 -OPTIONAL: a hyphen, followed by a number (build) -. -.IP "\(bu" 4 -OPTIONAL: a collection of pretty much any non\-whitespace characters -(tag) -. -.IP "" 0 +A "version" is described by the v2\.0\.0 specification found at \fIhttp://semver\.org/\fR\|\. . .P A leading \fB"="\fR or \fB"v"\fR character is stripped off and ignored\. . -.SH "Comparisons" -The ordering of versions is done using the following algorithm, given -two versions and asked to find the greater of the two: -. -.IP "\(bu" 4 -If the majors are numerically different, then take the one -with a bigger major number\. \fB2\.3\.4 > 1\.3\.4\fR -. -.IP "\(bu" 4 -If the minors are numerically different, then take the one -with the bigger minor number\. \fB2\.3\.4 > 2\.2\.4\fR -. -.IP "\(bu" 4 -If the patches are numerically different, then take the one with the -bigger patch number\. \fB2\.3\.4 > 2\.3\.3\fR +.SH "Ranges" +The following range styles are supported: . .IP "\(bu" 4 -If only one of them has a build number, then take the one with the -build number\. \fB2\.3\.4\-0 > 2\.3\.4\fR +\fB1\.2\.3\fR A specific version\. When nothing else will do\. Note that +build metadata is still ignored, so \fB1\.2\.3+build2012\fR will satisfy +this range\. . .IP "\(bu" 4 -If they both have build numbers, and the build numbers are numerically -different, then take the one with the bigger build number\. \fB2\.3\.4\-10 > 2\.3\.4\-9\fR +\fB>1\.2\.3\fR Greater than a specific version\. . .IP "\(bu" 4 -If only one of them has a tag, then take the one without the tag\. \fB2\.3\.4 > 2\.3\.4\-beta\fR +\fB<1\.2\.3\fR Less than a specific version\. If there is no prerelease +tag on the version range, then no prerelease version will be allowed +either, even though these are technically "less than"\. . .IP "\(bu" 4 -If they both have tags, then take the one with the lexicographically -larger tag\. \fB2\.3\.4\-beta > 2\.3\.4\-alpha\fR +\fB>=1\.2\.3\fR Greater than or equal to\. Note that prerelease versions +are NOT equal to their "normal" equivalents, so \fB1\.2\.3\-beta\fR will +not satisfy this range, but \fB2\.3\.0\-beta\fR will\. . .IP "\(bu" 4 -At this point, they\'re equal\. -. -.IP "" 0 -. -.SH "Ranges" -The following range styles are supported: -. -.IP "\(bu" 4 -\fB>1\.2\.3\fR Greater than a specific version\. -. -.IP "\(bu" 4 -\fB<1\.2\.3\fR Less than +\fB<=1\.2\.3\fR Less than or equal to\. In this case, prerelease versions +ARE allowed, so \fB1\.2\.3\-beta\fR would satisfy\. . .IP "\(bu" 4 \fB1\.2\.3 \- 2\.3\.4\fR := \fB>=1\.2\.3 <=2\.3\.4\fR . .IP "\(bu" 4 -\fB~1\.2\.3\fR := \fB>=1\.2\.3 <1\.3\.0\fR +\fB~1\.2\.3\fR := \fB>=1\.2\.3\-0 <1\.3\.0\-0\fR "Reasonably close to 1\.2\.3"\. When +using tilde operators, prerelease versions are supported as well, +but a prerelease of the next significant digit will NOT be +satisfactory, so \fB1\.3\.0\-beta\fR will not satisfy \fB~1\.2\.3\fR\|\. . .IP "\(bu" 4 -\fB~1\.2\fR := \fB>=1\.2\.0 <1\.3\.0\fR +\fB~1\.2\fR := \fB>=1\.2\.0\-0 <1\.3\.0\-0\fR "Any version starting with 1\.2" . .IP "\(bu" 4 -\fB~1\fR := \fB>=1\.0\.0 <2\.0\.0\fR +\fB1\.2\.x\fR := \fB>=1\.2\.0\-0 <1\.3\.0\-0\fR "Any version starting with 1\.2" . .IP "\(bu" 4 -\fB1\.2\.x\fR := \fB>=1\.2\.0 <1\.3\.0\fR +\fB~1\fR := \fB>=1\.0\.0\-0 <2\.0\.0\-0\fR "Any version starting with 1" . .IP "\(bu" 4 -\fB1\.x\fR := \fB>=1\.0\.0 <2\.0\.0\fR +\fB1\.x\fR := \fB>=1\.0\.0\-0 <2\.0\.0\-0\fR "Any version starting with 1" . .IP "" 0 . @@ -149,13 +100,20 @@ The following range styles are supported: Ranges can be joined with either a space (which implies "and") or a \fB||\fR (which implies "or")\. . .SH "Functions" +All methods and classes take a final \fBloose\fR boolean argument that, if +true, will be more forgiving about not\-quite\-valid semver strings\. +The resulting output will always be 100% strict, of course\. +. +.P +Strict\-mode Comparators and Ranges will be strict about the SemVer +strings that they parse\. . .IP "\(bu" 4 valid(v): Return the parsed version, or null if it\'s not valid\. . .IP "\(bu" 4 inc(v, release): Return the version incremented by the release type -(major, minor, patch, or build), or null if it\'s not valid\. +(major, minor, patch, or prerelease), or null if it\'s not valid\. . .IP "" 0 . @@ -211,11 +169,4 @@ maxSatisfying(versions, range): Return the highest version in the list that satisfies the range, or null if none of them do\. . .IP "" 0 -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -npm help json -. -.IP "" 0 diff --git a/deps/npm/node_modules/fstream/package.json b/deps/npm/node_modules/fstream/package.json index ba8e622..109e895 100644 --- a/deps/npm/node_modules/fstream/package.json +++ b/deps/npm/node_modules/fstream/package.json @@ -6,7 +6,7 @@ }, "name": "fstream", "description": "Advanced file system stream things", - "version": "0.1.22", + "version": "0.1.23", "repository": { "type": "git", "url": "git://github.com/isaacs/fstream.git" @@ -18,7 +18,7 @@ "dependencies": { "rimraf": "2", "mkdirp": "0.3", - "graceful-fs": "~1.2.0", + "graceful-fs": "~2.0.0", "inherits": "~1.0.0" }, "devDependencies": { @@ -30,6 +30,9 @@ "license": "BSD", "readme": "Like FS streams, but with stat on them, and supporting directories and\nsymbolic links, as well as normal files. Also, you can use this to set\nthe stats on a file, even if you don't change its contents, or to create\na symlink, etc.\n\nSo, for example, you can \"write\" a directory, and it'll call `mkdir`. You\ncan specify a uid and gid, and it'll call `chown`. You can specify a\n`mtime` and `atime`, and it'll call `utimes`. You can call it a symlink\nand provide a `linkpath` and it'll call `symlink`.\n\nNote that it won't automatically resolve symbolic links. So, if you\ncall `fstream.Reader('/some/symlink')` then you'll get an object\nthat stats and then ends immediately (since it has no data). To follow\nsymbolic links, do this: `fstream.Reader({path:'/some/symlink', follow:\ntrue })`.\n\nThere are various checks to make sure that the bytes emitted are the\nsame as the intended size, if the size is set.\n\n## Examples\n\n```javascript\nfstream\n .Writer({ path: \"path/to/file\"\n , mode: 0755\n , size: 6\n })\n .write(\"hello\\n\")\n .end()\n```\n\nThis will create the directories if they're missing, and then write\n`hello\\n` into the file, chmod it to 0755, and assert that 6 bytes have\nbeen written when it's done.\n\n```javascript\nfstream\n .Writer({ path: \"path/to/file\"\n , mode: 0755\n , size: 6\n , flags: \"a\"\n })\n .write(\"hello\\n\")\n .end()\n```\n\nYou can pass flags in, if you want to append to a file.\n\n```javascript\nfstream\n .Writer({ path: \"path/to/symlink\"\n , linkpath: \"./file\"\n , SymbolicLink: true\n , mode: \"0755\" // octal strings supported\n })\n .end()\n```\n\nIf isSymbolicLink is a function, it'll be called, and if it returns\ntrue, then it'll treat it as a symlink. If it's not a function, then\nany truish value will make a symlink, or you can set `type:\n'SymbolicLink'`, which does the same thing.\n\nNote that the linkpath is relative to the symbolic link location, not\nthe parent dir or cwd.\n\n```javascript\nfstream\n .Reader(\"path/to/dir\")\n .pipe(fstream.Writer(\"path/to/other/dir\"))\n```\n\nThis will do like `cp -Rp path/to/dir path/to/other/dir`. If the other\ndir exists and isn't a directory, then it'll emit an error. It'll also\nset the uid, gid, mode, etc. to be identical. In this way, it's more\nlike `rsync -a` than simply a copy.\n", "readmeFilename": "README.md", - "_id": "fstream@0.1.22", + "bugs": { + "url": "https://github.com/isaacs/fstream/issues" + }, + "_id": "fstream@0.1.23", "_from": "fstream@latest" } diff --git a/deps/npm/node_modules/glob/node_modules/inherits/LICENSE b/deps/npm/node_modules/glob/node_modules/inherits/LICENSE new file mode 100644 index 0000000..5a8e332 --- /dev/null +++ b/deps/npm/node_modules/glob/node_modules/inherits/LICENSE @@ -0,0 +1,14 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + diff --git a/deps/npm/node_modules/glob/node_modules/inherits/README.md b/deps/npm/node_modules/glob/node_modules/inherits/README.md new file mode 100644 index 0000000..b1c5665 --- /dev/null +++ b/deps/npm/node_modules/glob/node_modules/inherits/README.md @@ -0,0 +1,42 @@ +Browser-friendly inheritance fully compatible with standard node.js +[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). + +This package exports standard `inherits` from node.js `util` module in +node environment, but also provides alternative browser-friendly +implementation through [browser +field](https://gist.github.com/shtylman/4339901). Alternative +implementation is a literal copy of standard one located in standalone +module to avoid requiring of `util`. It also has a shim for old +browsers with no `Object.create` support. + +While keeping you sure you are using standard `inherits` +implementation in node.js environment, it allows bundlers such as +[browserify](https://github.com/substack/node-browserify) to not +include full `util` package to your client code if all you need is +just `inherits` function. It worth, because browser shim for `util` +package is large and `inherits` is often the single function you need +from it. + +It's recommended to use this package instead of +`require('util').inherits` for any code that has chances to be used +not only in node.js but in browser too. + +## usage + +```js +var inherits = require('inherits'); +// then use exactly as the standard one +``` + +## note on version ~1.0 + +Version ~1.0 had completely different motivation and is not compatible +neither with 2.0 nor with standard node.js `inherits`. + +If you are using version ~1.0 and planning to switch to ~2.0, be +careful: + +* new version uses `super_` instead of `super` for referencing + superclass +* new version overwrites current prototype while old one preserves any + existing fields on it diff --git a/deps/npm/node_modules/glob/node_modules/inherits/inherits.js b/deps/npm/node_modules/glob/node_modules/inherits/inherits.js new file mode 100644 index 0000000..29f5e24 --- /dev/null +++ b/deps/npm/node_modules/glob/node_modules/inherits/inherits.js @@ -0,0 +1 @@ +module.exports = require('util').inherits diff --git a/deps/npm/node_modules/glob/node_modules/inherits/inherits_browser.js b/deps/npm/node_modules/glob/node_modules/inherits/inherits_browser.js new file mode 100644 index 0000000..c1e78a7 --- /dev/null +++ b/deps/npm/node_modules/glob/node_modules/inherits/inherits_browser.js @@ -0,0 +1,23 @@ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} diff --git a/deps/npm/node_modules/glob/node_modules/inherits/package.json b/deps/npm/node_modules/glob/node_modules/inherits/package.json new file mode 100644 index 0000000..deec274 --- /dev/null +++ b/deps/npm/node_modules/glob/node_modules/inherits/package.json @@ -0,0 +1,39 @@ +{ + "name": "inherits", + "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", + "version": "2.0.0", + "keywords": [ + "inheritance", + "class", + "klass", + "oop", + "object-oriented", + "inherits", + "browser", + "browserify" + ], + "main": "./inherits.js", + "browser": "./inherits_browser.js", + "repository": { + "type": "git", + "url": "https://github.com/isaacs/inherits" + }, + "license": { + "type": "WTFPL2" + }, + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, + "scripts": { + "test": "node test" + }, + "readme": "Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n superclass\n* new version overwrites current prototype while old one preserves any\n existing fields on it\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/isaacs/inherits/issues" + }, + "_id": "inherits@2.0.0", + "_from": "inherits@2" +} diff --git a/deps/npm/node_modules/glob/node_modules/inherits/test.js b/deps/npm/node_modules/glob/node_modules/inherits/test.js new file mode 100644 index 0000000..fc53012 --- /dev/null +++ b/deps/npm/node_modules/glob/node_modules/inherits/test.js @@ -0,0 +1,25 @@ +var inherits = require('./inherits.js') +var assert = require('assert') + +function test(c) { + assert(c.constructor === Child) + assert(c.constructor.super_ === Parent) + assert(Object.getPrototypeOf(c) === Child.prototype) + assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype) + assert(c instanceof Child) + assert(c instanceof Parent) +} + +function Child() { + Parent.call(this) + test(this) +} + +function Parent() {} + +inherits(Child, Parent) + +var c = new Child +test(c) + +console.log('ok') diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json index 7c6879a..fe224bd 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": "3.2.1", + "version": "3.2.3", "repository": { "type": "git", "url": "git://github.com/isaacs/node-glob.git" @@ -17,8 +17,8 @@ }, "dependencies": { "minimatch": "~0.2.11", - "graceful-fs": "~1.2.0", - "inherits": "1" + "graceful-fs": "~2.0.0", + "inherits": "2" }, "devDependencies": { "tap": "~0.4.0", @@ -34,10 +34,6 @@ "bugs": { "url": "https://github.com/isaacs/node-glob/issues" }, - "_id": "glob@3.2.1", - "dist": { - "shasum": "57af70ec73ba2323bfe3f29a067765db64c5d758" - }, - "_from": "glob@3.2.1", - "_resolved": "https://registry.npmjs.org/glob/-/glob-3.2.1.tgz" + "_id": "glob@3.2.3", + "_from": "glob@latest" } diff --git a/deps/npm/node_modules/graceful-fs/graceful-fs.js b/deps/npm/node_modules/graceful-fs/graceful-fs.js index cc2f19e..a46b5b2 100644 --- a/deps/npm/node_modules/graceful-fs/graceful-fs.js +++ b/deps/npm/node_modules/graceful-fs/graceful-fs.js @@ -1,359 +1,152 @@ -// this keeps a queue of opened file descriptors, and will make -// fs operations wait until some have closed before trying to open more. +// Monkey-patching the fs module. +// It's ugly, but there is simply no other way to do this. +var fs = module.exports = require('fs') -var fs = exports = module.exports = {} -fs._originalFs = require("fs") +var assert = require('assert') -Object.getOwnPropertyNames(fs._originalFs).forEach(function(prop) { - var desc = Object.getOwnPropertyDescriptor(fs._originalFs, prop) - Object.defineProperty(fs, prop, desc) -}) +// fix up some busted stuff, mostly on windows and old nodes +require('./polyfills.js') -var queue = [] - , constants = require("constants") - -fs._curOpen = 0 +// The EMFILE enqueuing stuff -fs.MIN_MAX_OPEN = 64 -fs.MAX_OPEN = 1024 - -// prevent EMFILE errors -function OpenReq (path, flags, mode, cb) { - this.path = path - this.flags = flags - this.mode = mode - this.cb = cb -} +var util = require('util') function noop () {} -fs.open = gracefulOpen - -function gracefulOpen (path, flags, mode, cb) { - if (typeof mode === "function") cb = mode, mode = null - if (typeof cb !== "function") cb = noop - - if (fs._curOpen >= fs.MAX_OPEN) { - queue.push(new OpenReq(path, flags, mode, cb)) - setTimeout(flush) - return +var debug = noop +var util = require('util') +if (util.debuglog) + debug = util.debuglog('gfs') +else if (/\bgfs\b/i.test(process.env.NODE_DEBUG || '')) + debug = function() { + var m = util.format.apply(util, arguments) + m = 'GFS: ' + m.split(/\n/).join('\nGFS: ') + console.error(m) } - open(path, flags, mode, function (er, fd) { - if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) { - // that was too many. reduce max, get back in queue. - // this should only happen once in a great while, and only - // if the ulimit -n is set lower than 1024. - fs.MAX_OPEN = fs._curOpen - 1 - return fs.open(path, flags, mode, cb) - } - cb(er, fd) - }) -} -function open (path, flags, mode, cb) { - cb = cb || noop - fs._curOpen ++ - fs._originalFs.open.call(fs, path, flags, mode, function (er, fd) { - if (er) onclose() - cb(er, fd) +if (/\bgfs\b/i.test(process.env.NODE_DEBUG || '')) { + process.on('exit', function() { + debug('fds', fds) + debug(queue) + assert.equal(queue.length, 0) }) } -fs.openSync = function (path, flags, mode) { - var ret - ret = fs._originalFs.openSync.call(fs, path, flags, mode) - fs._curOpen ++ - return ret -} -function onclose () { - fs._curOpen -- - flush() -} +var originalOpen = fs.open +fs.open = open -function flush () { - while (fs._curOpen < fs.MAX_OPEN) { - var req = queue.shift() - if (!req) return - switch (req.constructor.name) { - case 'OpenReq': - open(req.path, req.flags || "r", req.mode || 0777, req.cb) - break - case 'ReaddirReq': - readdir(req.path, req.cb) - break - default: - throw new Error('Unknown req type: ' + req.constructor.name) - } - } +function open(path, flags, mode, cb) { + if (typeof mode === "function") cb = mode, mode = null + if (typeof cb !== "function") cb = noop + new OpenReq(path, flags, mode, cb) } -fs.close = function (fd, cb) { - cb = cb || noop - fs._originalFs.close.call(fs, fd, function (er) { - onclose() - cb(er) - }) +function OpenReq(path, flags, mode, cb) { + this.path = path + this.flags = flags + this.mode = mode + this.cb = cb + Req.call(this) } -fs.closeSync = function (fd) { - try { - return fs._originalFs.closeSync.call(fs, fd) - } finally { - onclose() - } -} +util.inherits(OpenReq, Req) +OpenReq.prototype.process = function() { + originalOpen.call(fs, this.path, this.flags, this.mode, this.done) +} -// readdir takes a fd as well. -// however, the sync version closes it right away, so -// there's no need to wrap. -// It would be nice to catch when it throws an EMFILE, -// but that's relatively rare anyway. +var fds = {} +OpenReq.prototype.done = function(er, fd) { + debug('open done', er, fd) + if (fd) + fds['fd' + fd] = this.path + Req.prototype.done.call(this, er, fd) +} -fs.readdir = gracefulReaddir -function gracefulReaddir (path, cb) { - if (fs._curOpen >= fs.MAX_OPEN) { - queue.push(new ReaddirReq(path, cb)) - setTimeout(flush) - return - } +var originalReaddir = fs.readdir +fs.readdir = readdir - readdir(path, function (er, files) { - if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) { - fs.MAX_OPEN = fs._curOpen - 1 - return fs.readdir(path, cb) - } - cb(er, files) - }) -} - -function readdir (path, cb) { - cb = cb || noop - fs._curOpen ++ - fs._originalFs.readdir.call(fs, path, function (er, files) { - onclose() - cb(er, files) - }) +function readdir(path, cb) { + if (typeof cb !== "function") cb = noop + new ReaddirReq(path, cb) } -function ReaddirReq (path, cb) { +function ReaddirReq(path, cb) { this.path = path this.cb = cb + Req.call(this) } +util.inherits(ReaddirReq, Req) -// (re-)implement some things that are known busted or missing. - -var constants = require("constants") - -// lchmod, broken prior to 0.6.2 -// back-port the fix here. -if (constants.hasOwnProperty('O_SYMLINK') && - process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - fs.lchmod = function (path, mode, callback) { - callback = callback || noop - fs.open( path - , constants.O_WRONLY | constants.O_SYMLINK - , mode - , function (err, fd) { - if (err) { - callback(err) - return - } - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - fs.fchmod(fd, mode, function (err) { - fs.close(fd, function(err2) { - callback(err || err2) - }) - }) - }) - } - - fs.lchmodSync = function (path, mode) { - var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) - - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - var err, err2 - try { - var ret = fs.fchmodSync(fd, mode) - } catch (er) { - err = er - } - try { - fs.closeSync(fd) - } catch (er) { - err2 = er - } - if (err || err2) throw (err || err2) - return ret - } +ReaddirReq.prototype.process = function() { + originalReaddir.call(fs, this.path, this.done) } - -// lutimes implementation, or no-op -if (!fs.lutimes) { - if (constants.hasOwnProperty("O_SYMLINK")) { - fs.lutimes = function (path, at, mt, cb) { - fs.open(path, constants.O_SYMLINK, function (er, fd) { - cb = cb || noop - if (er) return cb(er) - fs.futimes(fd, at, mt, function (er) { - fs.close(fd, function (er2) { - return cb(er || er2) - }) - }) - }) - } - - fs.lutimesSync = function (path, at, mt) { - var fd = fs.openSync(path, constants.O_SYMLINK) - , err - , err2 - , ret - - try { - var ret = fs.futimesSync(fd, at, mt) - } catch (er) { - err = er - } - try { - fs.closeSync(fd) - } catch (er) { - err2 = er - } - if (err || err2) throw (err || err2) - return ret - } - - } else if (fs.utimensat && constants.hasOwnProperty("AT_SYMLINK_NOFOLLOW")) { - // maybe utimensat will be bound soonish? - fs.lutimes = function (path, at, mt, cb) { - fs.utimensat(path, at, mt, constants.AT_SYMLINK_NOFOLLOW, cb) - } - - fs.lutimesSync = function (path, at, mt) { - return fs.utimensatSync(path, at, mt, constants.AT_SYMLINK_NOFOLLOW) - } - - } else { - fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) } - fs.lutimesSync = function () {} - } +ReaddirReq.prototype.done = function(er, files) { + Req.prototype.done.call(this, er, files) + onclose() } -// https://github.com/isaacs/node-graceful-fs/issues/4 -// Chown should not fail on einval or eperm if non-root. +var originalClose = fs.close +fs.close = close -fs.chown = chownFix(fs.chown) -fs.fchown = chownFix(fs.fchown) -fs.lchown = chownFix(fs.lchown) - -fs.chownSync = chownFixSync(fs.chownSync) -fs.fchownSync = chownFixSync(fs.fchownSync) -fs.lchownSync = chownFixSync(fs.lchownSync) - -function chownFix (orig) { - if (!orig) return orig - return function (target, uid, gid, cb) { - return orig.call(fs, target, uid, gid, function (er, res) { - if (chownErOk(er)) er = null - cb(er, res) - }) - } -} - -function chownFixSync (orig) { - if (!orig) return orig - return function (target, uid, gid) { - try { - return orig.call(fs, target, uid, gid) - } catch (er) { - if (!chownErOk(er)) throw er - } - } +function close (fd, cb) { + debug('close', fd) + if (typeof cb !== "function") cb = noop + delete fds['fd' + fd] + originalClose.call(fs, fd, function(er) { + onclose() + cb(er) + }) } -function chownErOk (er) { - // if there's no getuid, or if getuid() is something other than 0, - // and the error is EINVAL or EPERM, then just ignore it. - // This specific case is a silent failure in cp, install, tar, - // and most other unix tools that manage permissions. - // When running as root, or if other types of errors are encountered, - // then it's strict. - if (!er || (!process.getuid || process.getuid() !== 0) - && (er.code === "EINVAL" || er.code === "EPERM")) return true -} +var originalCloseSync = fs.closeSync +fs.closeSync = closeSync -// if lchmod/lchown do not exist, then make them no-ops -if (!fs.lchmod) { - fs.lchmod = function (path, mode, cb) { - process.nextTick(cb) - } - fs.lchmodSync = function () {} -} -if (!fs.lchown) { - fs.lchown = function (path, uid, gid, cb) { - process.nextTick(cb) +function closeSync (fd) { + try { + return originalCloseSync(fd) + } finally { + onclose() } - fs.lchownSync = function () {} } +// Req class +function Req () { + // start processing + this.done = this.done.bind(this) + this.failures = 0 + this.process() +} -// on Windows, A/V software can lock the directory, causing this -// to fail with an EACCES or EPERM if the directory contains newly -// created files. Try again on failure, for up to 1 second. -if (process.platform === "win32") { - var rename_ = fs.rename - fs.rename = function rename (from, to, cb) { - var start = Date.now() - rename_(from, to, function CB (er) { - if (er - && (er.code === "EACCES" || er.code === "EPERM") - && Date.now() - start < 1000) { - return rename_(from, to, CB) - } - cb(er) - }) +Req.prototype.done = function (er, result) { + // if an error, and the code is EMFILE, then get in the queue + if (er && er.code === "EMFILE") { + this.failures ++ + enqueue(this) + } else { + var cb = this.cb + cb(er, result) } } +var queue = [] -// if read() returns EAGAIN, then just try it again. -var read = fs.read -fs.read = function (fd, buffer, offset, length, position, callback_) { - var callback - if (callback_ && typeof callback_ === 'function') { - var eagCounter = 0 - callback = function (er, _, __) { - if (er && er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - return read.call(fs, fd, buffer, offset, length, position, callback) - } - callback_.apply(this, arguments) - } - } - return read.call(fs, fd, buffer, offset, length, position, callback) +function enqueue(req) { + queue.push(req) + debug('enqueue %d %s', queue.length, req.constructor.name, req) } -var readSync = fs.readSync -fs.readSync = function (fd, buffer, offset, length, position) { - var eagCounter = 0 - while (true) { - try { - return readSync.call(fs, fd, buffer, offset, length, position) - } catch (er) { - if (er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - continue - } - throw er - } +function onclose() { + var req = queue.shift() + if (req) { + debug('process', req.constructor.name, req) + req.process() } } diff --git a/deps/npm/node_modules/graceful-fs/package.json b/deps/npm/node_modules/graceful-fs/package.json index 4884b29..4766b4b 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": "1.2.2", + "version": "2.0.0", "repository": { "type": "git", "url": "git://github.com/isaacs/node-graceful-fs.git" @@ -43,6 +43,6 @@ "bugs": { "url": "https://github.com/isaacs/node-graceful-fs/issues" }, - "_id": "graceful-fs@1.2.2", - "_from": "graceful-fs@latest" + "_id": "graceful-fs@2.0.0", + "_from": "graceful-fs@2" } diff --git a/deps/npm/node_modules/graceful-fs/polyfills.js b/deps/npm/node_modules/graceful-fs/polyfills.js new file mode 100644 index 0000000..afc83b3 --- /dev/null +++ b/deps/npm/node_modules/graceful-fs/polyfills.js @@ -0,0 +1,228 @@ +var fs = require('fs') +var constants = require('constants') + +var origCwd = process.cwd +var cwd = null +process.cwd = function() { + if (!cwd) + cwd = origCwd.call(process) + return cwd +} +var chdir = process.chdir +process.chdir = function(d) { + cwd = null + chdir.call(process, d) +} + +// (re-)implement some things that are known busted or missing. + +// lchmod, broken prior to 0.6.2 +// back-port the fix here. +if (constants.hasOwnProperty('O_SYMLINK') && + process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + fs.lchmod = function (path, mode, callback) { + callback = callback || noop + fs.open( path + , constants.O_WRONLY | constants.O_SYMLINK + , mode + , function (err, fd) { + if (err) { + callback(err) + return + } + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + fs.fchmod(fd, mode, function (err) { + fs.close(fd, function(err2) { + callback(err || err2) + }) + }) + }) + } + + fs.lchmodSync = function (path, mode) { + var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) + + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + var err, err2 + try { + var ret = fs.fchmodSync(fd, mode) + } catch (er) { + err = er + } + try { + fs.closeSync(fd) + } catch (er) { + err2 = er + } + if (err || err2) throw (err || err2) + return ret + } +} + + +// lutimes implementation, or no-op +if (!fs.lutimes) { + if (constants.hasOwnProperty("O_SYMLINK")) { + fs.lutimes = function (path, at, mt, cb) { + fs.open(path, constants.O_SYMLINK, function (er, fd) { + cb = cb || noop + if (er) return cb(er) + fs.futimes(fd, at, mt, function (er) { + fs.close(fd, function (er2) { + return cb(er || er2) + }) + }) + }) + } + + fs.lutimesSync = function (path, at, mt) { + var fd = fs.openSync(path, constants.O_SYMLINK) + , err + , err2 + , ret + + try { + var ret = fs.futimesSync(fd, at, mt) + } catch (er) { + err = er + } + try { + fs.closeSync(fd) + } catch (er) { + err2 = er + } + if (err || err2) throw (err || err2) + return ret + } + + } else if (fs.utimensat && constants.hasOwnProperty("AT_SYMLINK_NOFOLLOW")) { + // maybe utimensat will be bound soonish? + fs.lutimes = function (path, at, mt, cb) { + fs.utimensat(path, at, mt, constants.AT_SYMLINK_NOFOLLOW, cb) + } + + fs.lutimesSync = function (path, at, mt) { + return fs.utimensatSync(path, at, mt, constants.AT_SYMLINK_NOFOLLOW) + } + + } else { + fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) } + fs.lutimesSync = function () {} + } +} + + +// https://github.com/isaacs/node-graceful-fs/issues/4 +// Chown should not fail on einval or eperm if non-root. + +fs.chown = chownFix(fs.chown) +fs.fchown = chownFix(fs.fchown) +fs.lchown = chownFix(fs.lchown) + +fs.chownSync = chownFixSync(fs.chownSync) +fs.fchownSync = chownFixSync(fs.fchownSync) +fs.lchownSync = chownFixSync(fs.lchownSync) + +function chownFix (orig) { + if (!orig) return orig + return function (target, uid, gid, cb) { + return orig.call(fs, target, uid, gid, function (er, res) { + if (chownErOk(er)) er = null + cb(er, res) + }) + } +} + +function chownFixSync (orig) { + if (!orig) return orig + return function (target, uid, gid) { + try { + return orig.call(fs, target, uid, gid) + } catch (er) { + if (!chownErOk(er)) throw er + } + } +} + +function chownErOk (er) { + // if there's no getuid, or if getuid() is something other than 0, + // and the error is EINVAL or EPERM, then just ignore it. + // This specific case is a silent failure in cp, install, tar, + // and most other unix tools that manage permissions. + // When running as root, or if other types of errors are encountered, + // then it's strict. + if (!er || (!process.getuid || process.getuid() !== 0) + && (er.code === "EINVAL" || er.code === "EPERM")) return true +} + + +// if lchmod/lchown do not exist, then make them no-ops +if (!fs.lchmod) { + fs.lchmod = function (path, mode, cb) { + process.nextTick(cb) + } + fs.lchmodSync = function () {} +} +if (!fs.lchown) { + fs.lchown = function (path, uid, gid, cb) { + process.nextTick(cb) + } + fs.lchownSync = function () {} +} + + + +// on Windows, A/V software can lock the directory, causing this +// to fail with an EACCES or EPERM if the directory contains newly +// created files. Try again on failure, for up to 1 second. +if (process.platform === "win32") { + var rename_ = fs.rename + fs.rename = function rename (from, to, cb) { + var start = Date.now() + rename_(from, to, function CB (er) { + if (er + && (er.code === "EACCES" || er.code === "EPERM") + && Date.now() - start < 1000) { + return rename_(from, to, CB) + } + cb(er) + }) + } +} + + +// if read() returns EAGAIN, then just try it again. +var read = fs.read +fs.read = function (fd, buffer, offset, length, position, callback_) { + var callback + if (callback_ && typeof callback_ === 'function') { + var eagCounter = 0 + callback = function (er, _, __) { + if (er && er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + return read.call(fs, fd, buffer, offset, length, position, callback) + } + callback_.apply(this, arguments) + } + } + return read.call(fs, fd, buffer, offset, length, position, callback) +} + +var readSync = fs.readSync +fs.readSync = function (fd, buffer, offset, length, position) { + var eagCounter = 0 + while (true) { + try { + return readSync.call(fs, fd, buffer, offset, length, position) + } catch (er) { + if (er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + continue + } + throw er + } + } +} + diff --git a/deps/npm/node_modules/graceful-fs/test/open.js b/deps/npm/node_modules/graceful-fs/test/open.js index 930d532..104f36b 100644 --- a/deps/npm/node_modules/graceful-fs/test/open.js +++ b/deps/npm/node_modules/graceful-fs/test/open.js @@ -1,30 +1,25 @@ var test = require('tap').test var fs = require('../graceful-fs.js') -test('graceful fs is not fs', function (t) { - t.notEqual(fs, require('fs')) +test('graceful fs is monkeypatched fs', function (t) { + t.equal(fs, require('fs')) t.end() }) test('open an existing file works', function (t) { - var start = fs._curOpen var fd = fs.openSync(__filename, 'r') - t.equal(fs._curOpen, start + 1) fs.closeSync(fd) - t.equal(fs._curOpen, start) fs.open(__filename, 'r', function (er, fd) { if (er) throw er - t.equal(fs._curOpen, start + 1) fs.close(fd, function (er) { if (er) throw er - t.equal(fs._curOpen, start) + t.pass('works') t.end() }) }) }) test('open a non-existing file throws', function (t) { - var start = fs._curOpen var er try { var fd = fs.openSync('this file does not exist', 'r') @@ -34,13 +29,11 @@ test('open a non-existing file throws', function (t) { t.ok(er, 'should throw') t.notOk(fd, 'should not get an fd') t.equal(er.code, 'ENOENT') - t.equal(fs._curOpen, start) fs.open('neither does this file', 'r', function (er, fd) { t.ok(er, 'should throw') t.notOk(fd, 'should not get an fd') t.equal(er.code, 'ENOENT') - t.equal(fs._curOpen, start) t.end() }) }) diff --git a/deps/npm/node_modules/graceful-fs/test/ulimit.js b/deps/npm/node_modules/graceful-fs/test/ulimit.js deleted file mode 100644 index 8d0882d..0000000 --- a/deps/npm/node_modules/graceful-fs/test/ulimit.js +++ /dev/null @@ -1,158 +0,0 @@ -var test = require('tap').test - -// simulated ulimit -// this is like graceful-fs, but in reverse -var fs_ = require('fs') -var fs = require('../graceful-fs.js') -var files = fs.readdirSync(__dirname) - -// Ok, no more actual file reading! - -var fds = 0 -var nextFd = 60 -var limit = 8 -fs_.open = function (path, flags, mode, cb) { - process.nextTick(function() { - ++fds - if (fds >= limit) { - --fds - var er = new Error('EMFILE Curses!') - er.code = 'EMFILE' - er.path = path - return cb(er) - } else { - cb(null, nextFd++) - } - }) -} - -fs_.openSync = function (path, flags, mode) { - if (fds >= limit) { - var er = new Error('EMFILE Curses!') - er.code = 'EMFILE' - er.path = path - throw er - } else { - ++fds - return nextFd++ - } -} - -fs_.close = function (fd, cb) { - process.nextTick(function () { - --fds - cb() - }) -} - -fs_.closeSync = function (fd) { - --fds -} - -fs_.readdir = function (path, cb) { - process.nextTick(function() { - if (fds >= limit) { - var er = new Error('EMFILE Curses!') - er.code = 'EMFILE' - er.path = path - return cb(er) - } else { - ++fds - process.nextTick(function () { - --fds - cb(null, [__filename, "some-other-file.js"]) - }) - } - }) -} - -fs_.readdirSync = function (path) { - if (fds >= limit) { - var er = new Error('EMFILE Curses!') - er.code = 'EMFILE' - er.path = path - throw er - } else { - return [__filename, "some-other-file.js"] - } -} - - -test('open emfile autoreduce', function (t) { - fs.MIN_MAX_OPEN = 4 - t.equal(fs.MAX_OPEN, 1024) - - var max = 12 - for (var i = 0; i < max; i++) { - fs.open(__filename, 'r', next(i)) - } - - var phase = 0 - - var expect = - [ [ 0, 60, null, 1024, 4, 12, 1 ], - [ 1, 61, null, 1024, 4, 12, 2 ], - [ 2, 62, null, 1024, 4, 12, 3 ], - [ 3, 63, null, 1024, 4, 12, 4 ], - [ 4, 64, null, 1024, 4, 12, 5 ], - [ 5, 65, null, 1024, 4, 12, 6 ], - [ 6, 66, null, 1024, 4, 12, 7 ], - [ 7, 67, null, 6, 4, 5, 1 ], - [ 8, 68, null, 6, 4, 5, 2 ], - [ 9, 69, null, 6, 4, 5, 3 ], - [ 10, 70, null, 6, 4, 5, 4 ], - [ 11, 71, null, 6, 4, 5, 5 ] ] - - var actual = [] - - function next (i) { return function (er, fd) { - if (er) - throw er - actual.push([i, fd, er, fs.MAX_OPEN, fs.MIN_MAX_OPEN, fs._curOpen, fds]) - - if (i === max - 1) { - t.same(actual, expect) - t.ok(fs.MAX_OPEN < limit) - t.end() - } - - fs.close(fd) - } } -}) - -test('readdir emfile autoreduce', function (t) { - fs.MAX_OPEN = 1024 - var max = 12 - for (var i = 0; i < max; i ++) { - fs.readdir(__dirname, next(i)) - } - - var expect = - [ [0,[__filename,"some-other-file.js"],null,7,4,7,7], - [1,[__filename,"some-other-file.js"],null,7,4,7,6], - [2,[__filename,"some-other-file.js"],null,7,4,7,5], - [3,[__filename,"some-other-file.js"],null,7,4,7,4], - [4,[__filename,"some-other-file.js"],null,7,4,7,3], - [5,[__filename,"some-other-file.js"],null,7,4,6,2], - [6,[__filename,"some-other-file.js"],null,7,4,5,1], - [7,[__filename,"some-other-file.js"],null,7,4,4,0], - [8,[__filename,"some-other-file.js"],null,7,4,3,3], - [9,[__filename,"some-other-file.js"],null,7,4,2,2], - [10,[__filename,"some-other-file.js"],null,7,4,1,1], - [11,[__filename,"some-other-file.js"],null,7,4,0,0] ] - - var actual = [] - - function next (i) { return function (er, files) { - if (er) - throw er - var line = [i, files, er, fs.MAX_OPEN, fs.MIN_MAX_OPEN, fs._curOpen, fds ] - actual.push(line) - - if (i === max - 1) { - t.ok(fs.MAX_OPEN < limit) - t.same(actual, expect) - t.end() - } - } } -}) diff --git a/deps/npm/node_modules/lockfile/README.md b/deps/npm/node_modules/lockfile/README.md index 18ffd50..59e149b 100644 --- a/deps/npm/node_modules/lockfile/README.md +++ b/deps/npm/node_modules/lockfile/README.md @@ -9,10 +9,10 @@ wait patiently for others. var lockFile = require('lockfile') // opts is optional, and defaults to {} -lockFile.lock('some-file.lock', opts, function (er, fd) { +lockFile.lock('some-file.lock', opts, function (er) { // if the er happens, then it failed to acquire a lock. - // if there was not an error, then the fd is opened in - // wx mode. If you want to write something to it, go ahead. + // if there was not an error, then the file was created, + // and won't be deleted until we unlock it. // do my stuff, free of interruptions // then, some time later, do: @@ -33,7 +33,7 @@ effort is made to not be a litterbug. ### lockFile.lock(path, [opts], cb) -Acquire a file lock on the specified path. Returns the FD. +Acquire a file lock on the specified path ### lockFile.lockSync(path, [opts]) diff --git a/deps/npm/node_modules/lockfile/lockfile.js b/deps/npm/node_modules/lockfile/lockfile.js index 87bcaf6..1eecd5f 100644 --- a/deps/npm/node_modules/lockfile/lockfile.js +++ b/deps/npm/node_modules/lockfile/lockfile.js @@ -51,22 +51,13 @@ if (/^v0\.[0-8]/.test(process.version)) { exports.unlock = function (path, cb) { debug('unlock', path) // best-effort. unlocking an already-unlocked lock is a noop - if (hasOwnProperty(locks, path)) - fs.close(locks[path], unlink) - else - unlink() - - function unlink () { - debug('unlink', path) - delete locks[path] - fs.unlink(path, function (unlinkEr) { cb() }) - } + delete locks[path] + fs.unlink(path, function (unlinkEr) { cb() }) } exports.unlockSync = function (path) { debug('unlockSync', path) // best-effort. unlocking an already-unlocked lock is a noop - try { fs.closeSync(locks[path]) } catch (er) {} try { fs.unlinkSync(path) } catch (er) {} delete locks[path] } @@ -117,7 +108,7 @@ exports.checkSync = function (path, opts) { } if (!opts.stale) { - fs.closeSync(fd) + try { fs.closeSync(fd) } catch (er) {} return true } @@ -160,7 +151,9 @@ exports.lock = function (path, opts, cb) { if (!er) { debug('locked', path, fd) locks[path] = fd - return cb(null, fd) + return fs.close(fd, function () { + return cb() + }) } // something other than "currently locked" @@ -229,8 +222,9 @@ exports.lockSync = function (path, opts) { try { var fd = fs.openSync(path, wx) locks[path] = fd + try { fs.closeSync(fd) } catch (er) {} debug('locked sync!', path, fd) - return fd + return } catch (er) { if (er.code !== 'EEXIST') return retryThrow(path, opts, er) diff --git a/deps/npm/node_modules/lockfile/package.json b/deps/npm/node_modules/lockfile/package.json index f8ee2d6..ea1f5a9 100644 --- a/deps/npm/node_modules/lockfile/package.json +++ b/deps/npm/node_modules/lockfile/package.json @@ -1,6 +1,6 @@ { "name": "lockfile", - "version": "0.3.4", + "version": "0.4.0", "main": "lockfile.js", "directories": { "test": "test" @@ -31,15 +31,11 @@ }, "license": "BSD", "description": "A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.", - "readme": "# lockfile\n\nA very polite lock file utility, which endeavors to not litter, and to\nwait patiently for others.\n\n## Usage\n\n```javascript\nvar lockFile = require('lockfile')\n\n// opts is optional, and defaults to {}\nlockFile.lock('some-file.lock', opts, function (er, fd) {\n // if the er happens, then it failed to acquire a lock.\n // if there was not an error, then the fd is opened in\n // wx mode. If you want to write something to it, go ahead.\n\n // do my stuff, free of interruptions\n // then, some time later, do:\n lockFile.unlock('some-file.lock', function (er) {\n // er means that an error happened, and is probably bad.\n })\n})\n```\n\n## Methods\n\nSync methods return the value/throw the error, others don't. Standard\nnode fs stuff.\n\nAll known locks are removed when the process exits. Of course, it's\npossible for certain types of failures to cause this to fail, but a best\neffort is made to not be a litterbug.\n\n### lockFile.lock(path, [opts], cb)\n\nAcquire a file lock on the specified path. Returns the FD.\n\n### lockFile.lockSync(path, [opts])\n\nAcquire a file lock on the specified path\n\n### lockFile.unlock(path, cb)\n\nClose and unlink the lockfile.\n\n### lockFile.unlockSync(path)\n\nClose and unlink the lockfile.\n\n### lockFile.check(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nReturns boolean.\n\n### lockFile.checkSync(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nCallback is called with `cb(error, isLocked)`.\n\n## Options\n\n### opts.wait\n\nA number of milliseconds to wait for locks to expire before giving up.\nOnly used by lockFile.lock. Relies on fs.watch. If the lock is not\ncleared by the time the wait expires, then it returns with the original\nerror.\n\n### opts.stale\n\nA number of milliseconds before locks are considered to have expired.\n\n### opts.retries\n\nUsed by lock and lockSync. Retry `n` number of times before giving up.\n\n### opts.retryWait\n\nUsed by lock. Wait `n` milliseconds before retrying.\n", + "readme": "# lockfile\n\nA very polite lock file utility, which endeavors to not litter, and to\nwait patiently for others.\n\n## Usage\n\n```javascript\nvar lockFile = require('lockfile')\n\n// opts is optional, and defaults to {}\nlockFile.lock('some-file.lock', opts, function (er) {\n // if the er happens, then it failed to acquire a lock.\n // if there was not an error, then the file was created,\n // and won't be deleted until we unlock it.\n\n // do my stuff, free of interruptions\n // then, some time later, do:\n lockFile.unlock('some-file.lock', function (er) {\n // er means that an error happened, and is probably bad.\n })\n})\n```\n\n## Methods\n\nSync methods return the value/throw the error, others don't. Standard\nnode fs stuff.\n\nAll known locks are removed when the process exits. Of course, it's\npossible for certain types of failures to cause this to fail, but a best\neffort is made to not be a litterbug.\n\n### lockFile.lock(path, [opts], cb)\n\nAcquire a file lock on the specified path\n\n### lockFile.lockSync(path, [opts])\n\nAcquire a file lock on the specified path\n\n### lockFile.unlock(path, cb)\n\nClose and unlink the lockfile.\n\n### lockFile.unlockSync(path)\n\nClose and unlink the lockfile.\n\n### lockFile.check(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nReturns boolean.\n\n### lockFile.checkSync(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nCallback is called with `cb(error, isLocked)`.\n\n## Options\n\n### opts.wait\n\nA number of milliseconds to wait for locks to expire before giving up.\nOnly used by lockFile.lock. Relies on fs.watch. If the lock is not\ncleared by the time the wait expires, then it returns with the original\nerror.\n\n### opts.stale\n\nA number of milliseconds before locks are considered to have expired.\n\n### opts.retries\n\nUsed by lock and lockSync. Retry `n` number of times before giving up.\n\n### opts.retryWait\n\nUsed by lock. Wait `n` milliseconds before retrying.\n", "readmeFilename": "README.md", "bugs": { "url": "https://github.com/isaacs/lockfile/issues" }, - "_id": "lockfile@0.3.4", - "dist": { - "shasum": "932b63546e4915f81b71924b36187740358eda03" - }, - "_from": "lockfile@0.3.4", - "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-0.3.4.tgz" + "_id": "lockfile@0.4.0", + "_from": "lockfile@latest" } diff --git a/deps/npm/node_modules/lockfile/test/basic.js b/deps/npm/node_modules/lockfile/test/basic.js index 41dbcdc..fb01de3 100644 --- a/deps/npm/node_modules/lockfile/test/basic.js +++ b/deps/npm/node_modules/lockfile/test/basic.js @@ -158,35 +158,6 @@ test('staleness sync test', function (t) { } }) -test('watch test', function (t) { - var opts = { wait: 100 } - var fdx - lockFile.lock('watch-lock', function (er, fd1) { - if (er) throw er - setTimeout(unlock, 10) - function unlock () { - console.error('unlocking it') - lockFile.unlockSync('watch-lock') - // open another file, so the fd gets reused - // so we can know that it actually re-opened it fresh, - // rather than just getting the same lock as before. - fdx = fs.openSync('x', 'w') - fdy = fs.openSync('x', 'w') - } - - // should have gotten a new fd - lockFile.lock('watch-lock', opts, function (er, fd2) { - if (er) throw er - t.notEqual(fd1, fd2) - fs.closeSync(fdx) - fs.closeSync(fdy) - fs.unlinkSync('x') - lockFile.unlockSync('watch-lock') - t.end() - }) - }) -}) - test('retries', function (t) { // next 5 opens will fail. var opens = 5 @@ -202,10 +173,9 @@ test('retries', function (t) { process.nextTick(cb.bind(null, er)) } - lockFile.lock('retry-lock', { retries: opens }, function (er, fd) { + lockFile.lock('retry-lock', { retries: opens }, function (er) { if (er) throw er t.equal(opens, 0) - t.ok(fd) lockFile.unlockSync('retry-lock') t.end() }) @@ -227,10 +197,9 @@ test('retryWait', function (t) { } var opts = { retries: opens, retryWait: 100 } - lockFile.lock('retry-lock', opts, function (er, fd) { + lockFile.lock('retry-lock', opts, function (er) { if (er) throw er t.equal(opens, 0) - t.ok(fd) lockFile.unlockSync('retry-lock') t.end() }) diff --git a/deps/npm/node_modules/node-gyp/bin/node-gyp.js b/deps/npm/node_modules/node-gyp/bin/node-gyp.js index 55fa08f..4678260 100755 --- a/deps/npm/node_modules/node-gyp/bin/node-gyp.js +++ b/deps/npm/node_modules/node-gyp/bin/node-gyp.js @@ -124,7 +124,7 @@ function errorMessage () { function issueMessage () { errorMessage() log.error('', [ 'This is a bug in `node-gyp`.' - , 'Please file an Issue:' + , 'Try to update node-gyp and file an Issue if it does not help:' , ' ' ].join('\n')) } diff --git a/deps/npm/node_modules/node-gyp/gyp/AUTHORS b/deps/npm/node_modules/node-gyp/gyp/AUTHORS index 6db82b9..8977761 100644 --- a/deps/npm/node_modules/node-gyp/gyp/AUTHORS +++ b/deps/npm/node_modules/node-gyp/gyp/AUTHORS @@ -2,5 +2,7 @@ # Name or Organization Google Inc. +Bloomberg Finance L.P. + Steven Knight Ryan Norton diff --git a/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py b/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py index 0338fb4..6523566 100644 --- a/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py +++ b/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py @@ -75,13 +75,20 @@ def CheckChangeOnUpload(input_api, output_api): def CheckChangeOnCommit(input_api, output_api): report = [] + + # Accept any year number from 2009 to the current year. + current_year = int(input_api.time.strftime('%Y')) + allowed_years = (str(s) for s in reversed(xrange(2009, current_year + 1))) + years_re = '(' + '|'.join(allowed_years) + ')' + + # The (c) is deprecated, but tolerate it until it's removed from all files. license = ( - r'.*? Copyright \(c\) %(year)s Google Inc\. All rights reserved\.\n' + r'.*? Copyright (\(c\) )?%(year)s Google Inc\. All rights reserved\.\n' r'.*? Use of this source code is governed by a BSD-style license that ' r'can be\n' r'.*? found in the LICENSE file\.\n' ) % { - 'year': input_api.time.strftime('%Y'), + 'year': years_re, } report.extend(input_api.canned_checks.PanProjectChecks( @@ -106,4 +113,4 @@ def CheckChangeOnCommit(input_api, output_api): def GetPreferredTrySlaves(): - return ['gyp-win32', 'gyp-win64', 'gyp-linux', 'gyp-mac'] + return ['gyp-win32', 'gyp-win64', 'gyp-linux', 'gyp-mac', 'gyp-android'] diff --git a/deps/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py b/deps/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py deleted file mode 100755 index 57fdb65..0000000 --- a/deps/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 Google Inc. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - - -"""Argument-less script to select what to run on the buildbots.""" - - -import os -import shutil -import subprocess -import sys - - -if sys.platform in ['win32', 'cygwin']: - EXE_SUFFIX = '.exe' -else: - EXE_SUFFIX = '' - - -BUILDBOT_DIR = os.path.dirname(os.path.abspath(__file__)) -TRUNK_DIR = os.path.dirname(BUILDBOT_DIR) -ROOT_DIR = os.path.dirname(TRUNK_DIR) -OUT_DIR = os.path.join(TRUNK_DIR, 'out') - - -def GypTestFormat(title, format=None, msvs_version=None): - """Run the gyp tests for a given format, emitting annotator tags. - - See annotator docs at: - https://sites.google.com/a/chromium.org/dev/developers/testing/chromium-build-infrastructure/buildbot-annotations - Args: - format: gyp format to test. - Returns: - 0 for sucesss, 1 for failure. - """ - if not format: - format = title - - print '@@@BUILD_STEP ' + title + '@@@' - sys.stdout.flush() - env = os.environ.copy() - # TODO(bradnelson): remove this when this issue is resolved: - # http://code.google.com/p/chromium/issues/detail?id=108251 - if format == 'ninja': - env['NOGOLD'] = '1' - if msvs_version: - env['GYP_MSVS_VERSION'] = msvs_version - retcode = subprocess.call(' '.join( - [sys.executable, 'trunk/gyptest.py', - '--all', - '--passed', - '--format', format, - '--chdir', 'trunk', - '--path', '../scons']), - cwd=ROOT_DIR, env=env, shell=True) - if retcode: - # Emit failure tag, and keep going. - print '@@@STEP_FAILURE@@@' - return 1 - return 0 - - -def GypBuild(): - # Dump out/ directory. - print '@@@BUILD_STEP cleanup@@@' - print 'Removing %s...' % OUT_DIR - shutil.rmtree(OUT_DIR, ignore_errors=True) - print 'Done.' - - retcode = 0 - if sys.platform.startswith('linux'): - retcode += GypTestFormat('ninja') - retcode += GypTestFormat('scons') - retcode += GypTestFormat('make') - elif sys.platform == 'darwin': - retcode += GypTestFormat('ninja') - retcode += GypTestFormat('xcode') - retcode += GypTestFormat('make') - elif sys.platform == 'win32': - retcode += GypTestFormat('ninja') - retcode += GypTestFormat('msvs-2008', format='msvs', msvs_version='2008') - if os.environ['BUILDBOT_BUILDERNAME'] == 'gyp-win64': - retcode += GypTestFormat('msvs-2010', format='msvs', msvs_version='2010') - else: - raise Exception('Unknown platform') - if retcode: - # TODO(bradnelson): once the annotator supports a postscript (section for - # after the build proper that could be used for cumulative failures), - # use that instead of this. This isolates the final return value so - # that it isn't misattributed to the last stage. - print '@@@BUILD_STEP failures@@@' - sys.exit(retcode) - - -if __name__ == '__main__': - GypBuild() diff --git a/deps/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc b/deps/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc new file mode 100644 index 0000000..8bca510 --- /dev/null +++ b/deps/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc @@ -0,0 +1,12 @@ +// Copyright (c) 2013 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file is used to generate an empty .pdb -- with a 4KB pagesize -- that is +// then used during the final link for modules that have large PDBs. Otherwise, +// the linker will generate a pdb with a page size of 1KB, which imposes a limit +// of 1GB on the .pdb. By generating an initial empty .pdb with the compiler +// (rather than the linker), this limit is avoided. With this in place PDBs may +// grow to 2GB. +// +// This file is referenced by the msvs_large_pdb mechanism in MSVSUtil.py. diff --git a/deps/npm/node_modules/node-gyp/gyp/gyptest.py b/deps/npm/node_modules/node-gyp/gyp/gyptest.py index 6c6b009..efa75a7 100755 --- a/deps/npm/node_modules/node-gyp/gyp/gyptest.py +++ b/deps/npm/node_modules/node-gyp/gyp/gyptest.py @@ -212,6 +212,7 @@ def main(argv=None): format_list = { 'freebsd7': ['make'], 'freebsd8': ['make'], + 'openbsd5': ['make'], 'cygwin': ['msvs'], 'win32': ['msvs', 'ninja'], 'linux2': ['make', 'ninja'], diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py new file mode 100644 index 0000000..5afcd1f --- /dev/null +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py @@ -0,0 +1,212 @@ +# Copyright (c) 2013 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Utility functions shared amongst the Windows generators.""" + +import copy +import os + + +_TARGET_TYPE_EXT = { + 'executable': '.exe', + 'shared_library': '.dll' +} + + +def _GetLargePdbShimCcPath(): + """Returns the path of the large_pdb_shim.cc file.""" + this_dir = os.path.abspath(os.path.dirname(__file__)) + src_dir = os.path.abspath(os.path.join(this_dir, '..', '..')) + win_data_dir = os.path.join(src_dir, 'data', 'win') + large_pdb_shim_cc = os.path.join(win_data_dir, 'large-pdb-shim.cc') + return large_pdb_shim_cc + + +def _DeepCopySomeKeys(in_dict, keys): + """Performs a partial deep-copy on |in_dict|, only copying the keys in |keys|. + + Arguments: + in_dict: The dictionary to copy. + keys: The keys to be copied. If a key is in this list and doesn't exist in + |in_dict| this is not an error. + Returns: + The partially deep-copied dictionary. + """ + d = {} + for key in keys: + if key not in in_dict: + continue + d[key] = copy.deepcopy(in_dict[key]) + return d + + +def _SuffixName(name, suffix): + """Add a suffix to the end of a target. + + Arguments: + name: name of the target (foo#target) + suffix: the suffix to be added + Returns: + Target name with suffix added (foo_suffix#target) + """ + parts = name.rsplit('#', 1) + parts[0] = '%s_%s' % (parts[0], suffix) + return '#'.join(parts) + + +def _ShardName(name, number): + """Add a shard number to the end of a target. + + Arguments: + name: name of the target (foo#target) + number: shard number + Returns: + Target name with shard added (foo_1#target) + """ + return _SuffixName(name, str(number)) + + +def ShardTargets(target_list, target_dicts): + """Shard some targets apart to work around the linkers limits. + + Arguments: + target_list: List of target pairs: 'base/base.gyp:base'. + target_dicts: Dict of target properties keyed on target pair. + Returns: + Tuple of the new sharded versions of the inputs. + """ + # Gather the targets to shard, and how many pieces. + targets_to_shard = {} + for t in target_dicts: + shards = int(target_dicts[t].get('msvs_shard', 0)) + if shards: + targets_to_shard[t] = shards + # Shard target_list. + new_target_list = [] + for t in target_list: + if t in targets_to_shard: + for i in range(targets_to_shard[t]): + new_target_list.append(_ShardName(t, i)) + else: + new_target_list.append(t) + # Shard target_dict. + new_target_dicts = {} + for t in target_dicts: + if t in targets_to_shard: + for i in range(targets_to_shard[t]): + name = _ShardName(t, i) + new_target_dicts[name] = copy.copy(target_dicts[t]) + new_target_dicts[name]['target_name'] = _ShardName( + new_target_dicts[name]['target_name'], i) + sources = new_target_dicts[name].get('sources', []) + new_sources = [] + for pos in range(i, len(sources), targets_to_shard[t]): + new_sources.append(sources[pos]) + new_target_dicts[name]['sources'] = new_sources + else: + new_target_dicts[t] = target_dicts[t] + # Shard dependencies. + for t in new_target_dicts: + dependencies = copy.copy(new_target_dicts[t].get('dependencies', [])) + new_dependencies = [] + for d in dependencies: + if d in targets_to_shard: + for i in range(targets_to_shard[d]): + new_dependencies.append(_ShardName(d, i)) + else: + new_dependencies.append(d) + new_target_dicts[t]['dependencies'] = new_dependencies + + return (new_target_list, new_target_dicts) + + +def InsertLargePdbShims(target_list, target_dicts, vars): + """Insert a shim target that forces the linker to use 4KB pagesize PDBs. + + This is a workaround for targets with PDBs greater than 1GB in size, the + limit for the 1KB pagesize PDBs created by the linker by default. + + Arguments: + target_list: List of target pairs: 'base/base.gyp:base'. + target_dicts: Dict of target properties keyed on target pair. + vars: A dictionary of common GYP variables with generator-specific values. + Returns: + Tuple of the shimmed version of the inputs. + """ + # Determine which targets need shimming. + targets_to_shim = [] + for t in target_dicts: + target_dict = target_dicts[t] + # We only want to shim targets that have msvs_large_pdb enabled. + if not int(target_dict.get('msvs_large_pdb', 0)): + continue + # This is intended for executable, shared_library and loadable_module + # targets where every configuration is set up to produce a PDB output. + # If any of these conditions is not true then the shim logic will fail + # below. + targets_to_shim.append(t) + + large_pdb_shim_cc = _GetLargePdbShimCcPath() + + for t in targets_to_shim: + target_dict = target_dicts[t] + target_name = target_dict.get('target_name') + + base_dict = _DeepCopySomeKeys(target_dict, + ['configurations', 'default_configuration', 'toolset']) + + # This is the dict for copying the source file (part of the GYP tree) + # to the intermediate directory of the project. This is necessary because + # we can't always build a relative path to the shim source file (on Windows + # GYP and the project may be on different drives), and Ninja hates absolute + # paths (it ends up generating the .obj and .obj.d alongside the source + # file, polluting GYPs tree). + copy_suffix = '_large_pdb_copy' + copy_target_name = target_name + '_' + copy_suffix + full_copy_target_name = _SuffixName(t, copy_suffix) + shim_cc_basename = os.path.basename(large_pdb_shim_cc) + shim_cc_dir = vars['SHARED_INTERMEDIATE_DIR'] + '/' + copy_target_name + shim_cc_path = shim_cc_dir + '/' + shim_cc_basename + copy_dict = copy.deepcopy(base_dict) + copy_dict['target_name'] = copy_target_name + copy_dict['type'] = 'none' + copy_dict['sources'] = [ large_pdb_shim_cc ] + copy_dict['copies'] = [{ + 'destination': shim_cc_dir, + 'files': [ large_pdb_shim_cc ] + }] + + # This is the dict for the PDB generating shim target. It depends on the + # copy target. + shim_suffix = '_large_pdb_shim' + shim_target_name = target_name + '_' + shim_suffix + full_shim_target_name = _SuffixName(t, shim_suffix) + shim_dict = copy.deepcopy(base_dict) + shim_dict['target_name'] = shim_target_name + shim_dict['type'] = 'static_library' + shim_dict['sources'] = [ shim_cc_path ] + shim_dict['dependencies'] = [ full_copy_target_name ] + + # Set up the shim to output its PDB to the same location as the final linker + # target. + for config in shim_dict.get('configurations').itervalues(): + msvs = config.setdefault('msvs_settings') + + linker = msvs.pop('VCLinkerTool') # We want to clear this dict. + pdb_path = linker.get('ProgramDatabaseFile') + + compiler = msvs.setdefault('VCCLCompilerTool', {}) + compiler.setdefault('DebugInformationFormat', '3') + compiler.setdefault('ProgramDataBaseFileName', pdb_path) + + # Add the new targets. + target_list.append(full_copy_target_name) + target_list.append(full_shim_target_name) + target_dicts[full_copy_target_name] = copy_dict + target_dicts[full_shim_target_name] = shim_dict + + # Update the original target to depend on the shim target. + target_dict.setdefault('dependencies', []).append(full_shim_target_name) + + return (target_list, target_dicts) \ No newline at end of file diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py index 97caf66..2d95cd0 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py @@ -1,4 +1,4 @@ -# Copyright (c) 2012 Google Inc. All rights reserved. +# Copyright (c) 2013 Google Inc. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. @@ -355,6 +355,13 @@ def SelectVisualStudioVersion(version='auto'): '2012': ('11.0',), '2012e': ('11.0',), } + override_path = os.environ.get('GYP_MSVS_OVERRIDE_PATH') + if override_path: + msvs_version = os.environ.get('GYP_MSVS_VERSION') + if not msvs_version or 'e' not in msvs_version: + raise ValueError('GYP_MSVS_OVERRIDE_PATH requires GYP_MSVS_VERSION to be ' + 'set to an "e" version (e.g. 2010e)') + return _CreateVersion(msvs_version, override_path, sdk_based=True) version = str(version) versions = _DetectVisualStudioVersions(version_map[version], 'e' in version) if not versions: diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py index ac300a9..3769c52 100755 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py @@ -23,8 +23,8 @@ DEBUG_VARIABLES = 'variables' DEBUG_INCLUDES = 'includes' -def DebugOutput(mode, message): - if 'all' in gyp.debug.keys() or mode in gyp.debug.keys(): +def DebugOutput(mode, message, *args): + if 'all' in gyp.debug or mode in gyp.debug: ctx = ('unknown', 0, 'unknown') try: f = traceback.extract_stack(limit=2) @@ -32,6 +32,8 @@ def DebugOutput(mode, message): ctx = f[0][:3] except: pass + if args: + message %= args print '%s:%s:%d:%s %s' % (mode.upper(), os.path.basename(ctx[0]), ctx[1], ctx[2], message) @@ -376,21 +378,22 @@ def gyp_main(args): options.generator_output = g_o if not options.parallel and options.use_environment: - options.parallel = bool(os.environ.get('GYP_PARALLEL')) + p = os.environ.get('GYP_PARALLEL') + options.parallel = bool(p and p != '0') for mode in options.debug: gyp.debug[mode] = 1 # Do an extra check to avoid work when we're not debugging. - if DEBUG_GENERAL in gyp.debug.keys(): + if DEBUG_GENERAL in gyp.debug: DebugOutput(DEBUG_GENERAL, 'running with these options:') for option, value in sorted(options.__dict__.items()): if option[0] == '_': continue if isinstance(value, basestring): - DebugOutput(DEBUG_GENERAL, " %s: '%s'" % (option, value)) + DebugOutput(DEBUG_GENERAL, " %s: '%s'", option, value) else: - DebugOutput(DEBUG_GENERAL, " %s: %s" % (option, str(value))) + DebugOutput(DEBUG_GENERAL, " %s: %s", option, value) if not build_files: build_files = FindBuildFiles() @@ -440,9 +443,9 @@ def gyp_main(args): if options.defines: defines += options.defines cmdline_default_variables = NameValueListToDict(defines) - if DEBUG_GENERAL in gyp.debug.keys(): + if DEBUG_GENERAL in gyp.debug: DebugOutput(DEBUG_GENERAL, - "cmdline_default_variables: %s" % cmdline_default_variables) + "cmdline_default_variables: %s", cmdline_default_variables) # Set up includes. includes = [] @@ -468,7 +471,7 @@ def gyp_main(args): gen_flags += options.generator_flags generator_flags = NameValueListToDict(gen_flags) if DEBUG_GENERAL in gyp.debug.keys(): - DebugOutput(DEBUG_GENERAL, "generator_flags: %s" % generator_flags) + DebugOutput(DEBUG_GENERAL, "generator_flags: %s", generator_flags) # TODO: Remove this and the option after we've gotten folks to move to the # generator flag. diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py index 4f2ae56..e50f51c 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py @@ -127,9 +127,9 @@ def RelativePath(path, relative_to): # directory, returns a relative path that identifies path relative to # relative_to. - # Convert to absolute (and therefore normalized paths). - path = os.path.abspath(path) - relative_to = os.path.abspath(relative_to) + # Convert to normalized (and therefore absolute paths). + path = os.path.realpath(path) + relative_to = os.path.realpath(relative_to) # Split the paths into components. path_split = path.split(os.path.sep) @@ -151,6 +151,20 @@ def RelativePath(path, relative_to): return os.path.join(*relative_split) +@memoize +def InvertRelativePath(path, toplevel_dir=None): + """Given a path like foo/bar that is relative to toplevel_dir, return + the inverse relative path back to the toplevel_dir. + + E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path))) + should always produce the empty string, unless the path contains symlinks. + """ + if not path: + return path + toplevel_dir = '.' if toplevel_dir is None else toplevel_dir + return RelativePath(toplevel_dir, os.path.join(toplevel_dir, path)) + + def FixIfRelativePath(path, relative_to): # Like RelativePath but returns |path| unchanged if it is absolute. if os.path.isabs(path): @@ -378,6 +392,10 @@ def GetFlavor(params): return 'solaris' if sys.platform.startswith('freebsd'): return 'freebsd' + if sys.platform.startswith('openbsd'): + return 'openbsd' + if sys.platform.startswith('aix'): + return 'aix' return 'linux' diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py index dac2969..ad6f9a1 100755 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py @@ -58,6 +58,7 @@ class TestGetFlavor(unittest.TestCase): def test_platform_default(self): self.assertFlavor('freebsd', 'freebsd9' , {}) self.assertFlavor('freebsd', 'freebsd10', {}) + self.assertFlavor('openbsd', 'openbsd5' , {}) self.assertFlavor('solaris', 'sunos5' , {}); self.assertFlavor('solaris', 'sunos' , {}); self.assertFlavor('linux' , 'linux2' , {}); diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py index f7c31bd..a01ead0 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py @@ -19,6 +19,7 @@ import gyp.common import gyp.generator.make as make # Reuse global functions from make backend. import os import re +import subprocess generator_default_variables = { 'OS': 'android', @@ -38,7 +39,7 @@ generator_default_variables = { 'RULE_INPUT_PATH': '$(RULE_SOURCES)', 'RULE_INPUT_EXT': '$(suffix $<)', 'RULE_INPUT_NAME': '$(notdir $<)', - 'CONFIGURATION_NAME': 'NOT_USED_ON_ANDROID', + 'CONFIGURATION_NAME': '$(GYP_DEFAULT_CONFIGURATION)', } # Make supports multiple toolsets @@ -131,12 +132,13 @@ class AndroidMkWriter(object): def __init__(self, android_top_dir): self.android_top_dir = android_top_dir - def Write(self, qualified_target, base_path, output_filename, spec, configs, - part_of_all): + def Write(self, qualified_target, relative_target, base_path, output_filename, + spec, configs, part_of_all): """The main entry point: writes a .mk file for a single target. Arguments: qualified_target: target we're generating + relative_target: qualified target name relative to the root base_path: path relative to source root we're building in, used to resolve target-relative paths output_filename: output .mk file name to write @@ -150,6 +152,7 @@ class AndroidMkWriter(object): self.fp.write(header) self.qualified_target = qualified_target + self.relative_target = relative_target self.path = base_path self.target = spec['target_name'] self.type = spec['type'] @@ -248,7 +251,7 @@ class AndroidMkWriter(object): actions) """ for action in actions: - name = make.StringToMakefileVariable('%s_%s' % (self.qualified_target, + name = make.StringToMakefileVariable('%s_%s' % (self.relative_target, action['action_name'])) self.WriteLn('### Rules for action "%s":' % action['action_name']) inputs = action['inputs'] @@ -295,6 +298,15 @@ class AndroidMkWriter(object): '$(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir)' % main_output) + # Android's envsetup.sh adds a number of directories to the path including + # the built host binary directory. This causes actions/rules invoked by + # gyp to sometimes use these instead of system versions, e.g. bison. + # The built host binaries may not be suitable, and can cause errors. + # So, we remove them from the PATH using the ANDROID_BUILD_PATHS variable + # set by envsetup. + self.WriteLn('%s: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))' + % main_output) + for input in inputs: assert ' ' not in input, ( "Spaces in action input filenames not supported (%s)" % input) @@ -334,7 +346,7 @@ class AndroidMkWriter(object): if len(rule.get('rule_sources', [])) == 0: continue did_write_rule = True - name = make.StringToMakefileVariable('%s_%s' % (self.qualified_target, + name = make.StringToMakefileVariable('%s_%s' % (self.relative_target, rule['rule_name'])) self.WriteLn('\n### Generated for rule "%s":' % name) self.WriteLn('# "%s":' % rule) @@ -388,6 +400,10 @@ class AndroidMkWriter(object): '$(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir)' % main_output) + # See explanation in WriteActions. + self.WriteLn('%s: export PATH := ' + '$(subst $(ANDROID_BUILD_PATHS),,$(PATH))' % main_output) + main_output_deps = self.LocalPathify(rule_source) if inputs: main_output_deps += ' ' @@ -415,7 +431,7 @@ class AndroidMkWriter(object): """ self.WriteLn('### Generated for copy rule.') - variable = make.StringToMakefileVariable(self.qualified_target + '_copies') + variable = make.StringToMakefileVariable(self.relative_target + '_copies') outputs = [] for copy in copies: for path in copy['files']: @@ -940,30 +956,16 @@ class AndroidMkWriter(object): return path -def WriteAutoRegenerationRule(params, root_makefile, makefile_name, - build_files): - """Write the target to regenerate the Makefile.""" +def PerformBuild(data, configurations, params): + # The android backend only supports the default configuration. options = params['options'] - # Sort to avoid non-functional changes to makefile. - build_files = sorted([os.path.join('$(LOCAL_PATH)', f) for f in build_files]) - build_files_args = [gyp.common.RelativePath(filename, options.toplevel_dir) - for filename in params['build_files_arg']] - build_files_args = [os.path.join('$(PRIVATE_LOCAL_PATH)', f) - for f in build_files_args] - gyp_binary = gyp.common.FixIfRelativePath(params['gyp_binary'], - options.toplevel_dir) - makefile_path = os.path.join('$(LOCAL_PATH)', makefile_name) - if not gyp_binary.startswith(os.sep): - gyp_binary = os.path.join('.', gyp_binary) - root_makefile.write('GYP_FILES := \\\n %s\n\n' % - '\\\n '.join(map(Sourceify, build_files))) - root_makefile.write('%s: PRIVATE_LOCAL_PATH := $(LOCAL_PATH)\n' % - makefile_path) - root_makefile.write('%s: $(GYP_FILES)\n' % makefile_path) - root_makefile.write('\techo ACTION Regenerating $@\n\t%s\n\n' % - gyp.common.EncodePOSIXShellList([gyp_binary, '-fandroid'] + - gyp.RegenerateFlags(options) + - build_files_args)) + makefile = os.path.abspath(os.path.join(options.toplevel_dir, + 'GypAndroid.mk')) + env = dict(os.environ) + env['ONE_SHOT_MAKEFILE'] = makefile + arguments = ['make', '-C', os.environ['ANDROID_BUILD_TOP'], 'gyp_all_modules'] + print 'Building: %s' % arguments + subprocess.check_call(arguments, env=env) def GenerateOutput(target_list, target_dicts, data, params): @@ -1004,7 +1006,7 @@ def GenerateOutput(target_list, target_dicts, data, params): default_configuration = 'Default' srcdir = '.' - makefile_name = 'GypAndroid.mk' + options.suffix + makefile_name = 'GypAndroid' + options.suffix + '.mk' makefile_path = os.path.join(options.toplevel_dir, makefile_name) assert not options.generator_output, ( 'The Android backend does not support options.generator_output.') @@ -1030,7 +1032,9 @@ def GenerateOutput(target_list, target_dicts, data, params): for qualified_target in target_list: build_file, target, toolset = gyp.common.ParseQualifiedTarget( qualified_target) - build_files.add(gyp.common.RelativePath(build_file, options.toplevel_dir)) + relative_build_file = gyp.common.RelativePath(build_file, + options.toplevel_dir) + build_files.add(relative_build_file) included_files = data[build_file]['included_files'] for included_file in included_files: # The included_files entries are relative to the dir of the build file @@ -1058,9 +1062,13 @@ def GenerateOutput(target_list, target_dicts, data, params): not int(spec.get('suppress_wildcard', False))) if limit_to_target_all and not part_of_all: continue + + relative_target = gyp.common.QualifiedTarget(relative_build_file, target, + toolset) writer = AndroidMkWriter(android_top_dir) - android_module = writer.Write(qualified_target, base_path, output_file, - spec, configs, part_of_all=part_of_all) + android_module = writer.Write(qualified_target, relative_target, base_path, + output_file, spec, configs, + part_of_all=part_of_all) if android_module in android_modules: print ('ERROR: Android module names must be unique. The following ' 'targets both generate Android module name %s.\n %s\n %s' % @@ -1077,6 +1085,8 @@ def GenerateOutput(target_list, target_dicts, data, params): # Some tools need to know the absolute path of the top directory. root_makefile.write('GYP_ABS_ANDROID_TOP_DIR := $(shell pwd)\n') + root_makefile.write('GYP_DEFAULT_CONFIGURATION := %s\n' % + default_configuration) # Write out the sorted list of includes. root_makefile.write('\n') @@ -1084,9 +1094,6 @@ def GenerateOutput(target_list, target_dicts, data, params): root_makefile.write('include $(LOCAL_PATH)/' + include_file + '\n') root_makefile.write('\n') - if generator_flags.get('auto_regeneration', True): - WriteAutoRegenerationRule(params, root_makefile, makefile_name, build_files) - root_makefile.write(SHARED_FOOTER) root_makefile.close() diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py index 0f90b5e..08425da 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py @@ -41,11 +41,11 @@ for unused in ['RULE_INPUT_PATH', 'RULE_INPUT_ROOT', 'RULE_INPUT_NAME', 'CONFIGURATION_NAME']: generator_default_variables[unused] = '' -# Include dirs will occasionaly use the SHARED_INTERMEDIATE_DIR variable as +# Include dirs will occasionally use the SHARED_INTERMEDIATE_DIR variable as # part of the path when dealing with generated headers. This value will be # replaced dynamically for each configuration. generator_default_variables['SHARED_INTERMEDIATE_DIR'] = \ - '$SHARED_INTERMEDIATES_DIR' + '$SHARED_INTERMEDIATE_DIR' def CalculateVariables(default_variables, params): @@ -65,7 +65,7 @@ def CalculateGeneratorInputInfo(params): def GetAllIncludeDirectories(target_list, target_dicts, - shared_intermediates_dir, config_name): + shared_intermediate_dirs, config_name): """Calculate the set of include directories to be used. Returns: @@ -96,17 +96,18 @@ def GetAllIncludeDirectories(target_list, target_dicts, # Find standard gyp include dirs. if config.has_key('include_dirs'): include_dirs = config['include_dirs'] - for include_dir in include_dirs: - include_dir = include_dir.replace('$SHARED_INTERMEDIATES_DIR', - shared_intermediates_dir) - if not os.path.isabs(include_dir): - base_dir = os.path.dirname(target_name) + for shared_intermediate_dir in shared_intermediate_dirs: + for include_dir in include_dirs: + include_dir = include_dir.replace('$SHARED_INTERMEDIATE_DIR', + shared_intermediate_dir) + if not os.path.isabs(include_dir): + base_dir = os.path.dirname(target_name) - include_dir = base_dir + '/' + include_dir - include_dir = os.path.abspath(include_dir) + include_dir = base_dir + '/' + include_dir + include_dir = os.path.abspath(include_dir) - if not include_dir in gyp_includes_set: - gyp_includes_set.add(include_dir) + if not include_dir in gyp_includes_set: + gyp_includes_set.add(include_dir) # Generate a list that has all the include dirs. @@ -234,7 +235,10 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, config_name) toplevel_build = os.path.join(options.toplevel_dir, build_dir) - shared_intermediate_dir = os.path.join(toplevel_build, 'obj', 'gen') + # Ninja uses out/Debug/gen while make uses out/Debug/obj/gen as the + # SHARED_INTERMEDIATE_DIR. Include both possible locations. + shared_intermediate_dirs = [os.path.join(toplevel_build, 'obj', 'gen'), + os.path.join(toplevel_build, 'gen')] if not os.path.exists(toplevel_build): os.makedirs(toplevel_build) @@ -246,7 +250,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, eclipse_langs = ['C++ Source File', 'C Source File', 'Assembly Source File', 'GNU C++', 'GNU C', 'Assembly'] include_dirs = GetAllIncludeDirectories(target_list, target_dicts, - shared_intermediate_dir, config_name) + shared_intermediate_dirs, config_name) WriteIncludePaths(out, eclipse_langs, include_dirs) defines = GetAllDefines(target_list, target_dicts, data, config_name) WriteMacros(out, eclipse_langs, defines) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py index 133d8f8..1eb9235 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py @@ -259,7 +259,7 @@ all_deps := # export LINK=g++ # # This will allow make to invoke N linker processes as specified in -jN. -LINK ?= %(flock)s $(builddir)/linker.lock $(CXX) +LINK ?= %(flock)s $(builddir)/linker.lock $(CXX.target) CC.target ?= %(CC.target)s CFLAGS.target ?= $(CFLAGS) @@ -395,15 +395,14 @@ command_changed = $(or $(subst $(cmd_$(1)),,$(cmd_$(call replace_spaces,$@))),\\ # $| -- order-only dependencies prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?)) -# Helper that executes all postbuilds, and deletes the output file when done -# if any of the postbuilds failed. +# Helper that executes all postbuilds until one fails. define do_postbuilds @E=0;\\ for p in $(POSTBUILDS); do\\ eval $$p;\\ - F=$$?;\\ - if [ $$F -ne 0 ]; then\\ - E=$$F;\\ + E=$$?;\\ + if [ $$E -ne 0 ]; then\\ + break;\\ fi;\\ done;\\ if [ $$E -ne 0 ]; then\\ @@ -619,21 +618,6 @@ def QuoteSpaces(s, quote=r'\ '): return s.replace(' ', quote) -def InvertRelativePath(path): - """Given a relative path like foo/bar, return the inverse relative path: - the path from the relative path back to the origin dir. - - E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path))) - should always produce the empty string.""" - - if not path: - return path - # Only need to handle relative paths into subdirectories for now. - assert '..' not in path, path - depth = len(path.split(os.path.sep)) - return os.path.sep.join(['..'] * depth) - - # Map from qualified target to path to output. target_outputs = {} # Map from qualified target to any linkable output. A subset @@ -1417,7 +1401,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD lambda p: Sourceify(self.Absolutify(p))) # TARGET_POSTBUILDS_$(BUILDTYPE) is added to postbuilds later on. - gyp_to_build = InvertRelativePath(self.path) + gyp_to_build = gyp.common.InvertRelativePath(self.path) target_postbuild = self.xcode_settings.GetTargetPostbuilds( configname, QuoteSpaces(os.path.normpath(os.path.join(gyp_to_build, @@ -1541,7 +1525,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD for link_dep in link_deps: assert ' ' not in link_dep, ( "Spaces in alink input filenames not supported (%s)" % link_dep) - if (self.flavor not in ('mac', 'win') and not + if (self.flavor not in ('mac', 'openbsd', 'win') and not self.is_standalone_static_library): self.WriteDoCmd([self.output_binary], link_deps, 'alink_thin', part_of_all, postbuilds=postbuilds) @@ -2003,6 +1987,7 @@ def GenerateOutput(target_list, target_dicts, data, params): 'extra_commands': SHARED_HEADER_SUN_COMMANDS, }) elif flavor == 'freebsd': + # Note: OpenBSD has sysutils/flock. lockf seems to be FreeBSD specific. header_params.update({ 'flock': 'lockf', }) @@ -2020,14 +2005,22 @@ def GenerateOutput(target_list, target_dicts, data, params): build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0]) make_global_settings_array = data[build_file].get('make_global_settings', []) + wrappers = {} + wrappers['LINK'] = '%s $(builddir)/linker.lock' % flock_command + for key, value in make_global_settings_array: + if key.endswith('_wrapper'): + wrappers[key[:-len('_wrapper')]] = '$(abspath %s)' % value make_global_settings = '' for key, value in make_global_settings_array: + if re.match('.*_wrapper', key): + continue if value[0] != '$': value = '$(abspath %s)' % value - if key == 'LINK': - make_global_settings += ('%s ?= %s $(builddir)/linker.lock %s\n' % - (key, flock_command, value)) - elif key in ('CC', 'CC.host', 'CXX', 'CXX.host'): + wrapper = wrappers.get(key) + if wrapper: + value = '%s %s' % (wrapper, value) + del wrappers[key] + if key in ('CC', 'CC.host', 'CXX', 'CXX.host'): make_global_settings += ( 'ifneq (,$(filter $(origin %s), undefined default))\n' % key) # Let gyp-time envvars win over global settings. @@ -2037,6 +2030,9 @@ def GenerateOutput(target_list, target_dicts, data, params): make_global_settings += 'endif\n' else: make_global_settings += '%s ?= %s\n' % (key, value) + # TODO(ukai): define cmd when only wrapper is specified in + # make_global_settings. + header_params['make_global_settings'] = make_global_settings ensure_directory_exists(makefile_path) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py index 0e62b79..60a5615 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py @@ -17,6 +17,7 @@ import gyp.MSVSProject as MSVSProject import gyp.MSVSSettings as MSVSSettings import gyp.MSVSToolFile as MSVSToolFile import gyp.MSVSUserFile as MSVSUserFile +import gyp.MSVSUtil as MSVSUtil import gyp.MSVSVersion as MSVSVersion from gyp.common import GypError @@ -63,6 +64,7 @@ generator_additional_path_sections = [ generator_additional_non_configuration_keys = [ 'msvs_cygwin_dirs', 'msvs_cygwin_shell', + 'msvs_large_pdb', 'msvs_shard', ] @@ -204,6 +206,10 @@ def _ConvertSourcesToFilterHierarchy(sources, prefix=None, excluded=None, def _ToolAppend(tools, tool_name, setting, value, only_if_unset=False): if not value: return + _ToolSetOrAppend(tools, tool_name, setting, value, only_if_unset) + + +def _ToolSetOrAppend(tools, tool_name, setting, value, only_if_unset=False): # TODO(bradnelson): ugly hack, fix this more generally!!! if 'Directories' in setting or 'Dependencies' in setting: if type(value) == str: @@ -232,7 +238,7 @@ def _ConfigPlatform(config_data): def _ConfigBaseName(config_name, platform_name): if config_name.endswith('_' + platform_name): - return config_name[0:-len(platform_name)-1] + return config_name[0:-len(platform_name) - 1] else: return config_name @@ -270,7 +276,7 @@ def _BuildCommandLineForRuleRaw(spec, cmd, cygwin_shell, has_input_path, '`cygpath -m "${INPUTPATH}"`') for i in direct_cmd] direct_cmd = ['\\"%s\\"' % i.replace('"', '\\\\\\"') for i in direct_cmd] - #direct_cmd = gyp.common.EncodePOSIXShellList(direct_cmd) + # direct_cmd = gyp.common.EncodePOSIXShellList(direct_cmd) direct_cmd = ' '.join(direct_cmd) # TODO(quote): regularize quoting path names throughout the module cmd = '' @@ -306,7 +312,7 @@ def _BuildCommandLineForRuleRaw(spec, cmd, cygwin_shell, has_input_path, # If the argument starts with a slash or dash, it's probably a command line # switch arguments = [i if (i[:1] in "/-") else _FixPath(i) for i in cmd[1:]] - arguments = [i.replace('$(InputDir)','%INPUTDIR%') for i in arguments] + arguments = [i.replace('$(InputDir)', '%INPUTDIR%') for i in arguments] arguments = [MSVSSettings.FixVCMacroSlashes(i) for i in arguments] if quote_cmd: # Support a mode for using cmd directly. @@ -720,7 +726,7 @@ def _EscapeCommandLineArgumentForMSBuild(s): """Escapes a Windows command-line argument for use by MSBuild.""" def _Replace(match): - return (len(match.group(1))/2*4)*'\\' + '\\"' + return (len(match.group(1)) / 2 * 4) * '\\' + '\\"' # Escape all quotes so that they are interpreted literally. s = quote_replacer_regex2.sub(_Replace, s) @@ -1001,12 +1007,12 @@ def _GetMSVSConfigurationType(spec, build_file): }[spec['type']] except KeyError: if spec.get('type'): - raise Exception('Target type %s is not a valid target type for ' - 'target %s in %s.' % - (spec['type'], spec['target_name'], build_file)) + raise GypError('Target type %s is not a valid target type for ' + 'target %s in %s.' % + (spec['type'], spec['target_name'], build_file)) else: - raise Exception('Missing type field for target %s in %s.' % - (spec['target_name'], build_file)) + raise GypError('Missing type field for target %s in %s.' % + (spec['target_name'], build_file)) return config_type @@ -1041,6 +1047,10 @@ def _AddConfigurationToMSVSProject(p, spec, config_type, config_name, config): # Add in user specified msvs_settings. msvs_settings = config.get('msvs_settings', {}) MSVSSettings.ValidateMSVSSettings(msvs_settings) + + # Prevent default library inheritance from the environment. + _ToolAppend(tools, 'VCLinkerTool', 'AdditionalDependencies', ['$(NOINHERIT)']) + for tool in msvs_settings: settings = config['msvs_settings'][tool] for setting in settings: @@ -1663,7 +1673,7 @@ def _CreateProjectObjects(target_list, target_dicts, options, msvs_version): for qualified_target in target_list: spec = target_dicts[qualified_target] if spec['toolset'] != 'target': - raise Exception( + raise GypError( 'Multiple toolsets not supported in msvs build (target %s)' % qualified_target) proj_path, fixpath_prefix = _GetPathOfProject(qualified_target, spec, @@ -1718,74 +1728,6 @@ def CalculateVariables(default_variables, params): default_variables['MSVS_OS_BITS'] = 32 -def _ShardName(name, number): - """Add a shard number to the end of a target. - - Arguments: - name: name of the target (foo#target) - number: shard number - Returns: - Target name with shard added (foo_1#target) - """ - parts = name.rsplit('#', 1) - parts[0] = '%s_%d' % (parts[0], number) - return '#'.join(parts) - - -def _ShardTargets(target_list, target_dicts): - """Shard some targets apart to work around the linkers limits. - - Arguments: - target_list: List of target pairs: 'base/base.gyp:base'. - target_dicts: Dict of target properties keyed on target pair. - Returns: - Tuple of the new sharded versions of the inputs. - """ - # Gather the targets to shard, and how many pieces. - targets_to_shard = {} - for t in target_dicts: - shards = int(target_dicts[t].get('msvs_shard', 0)) - if shards: - targets_to_shard[t] = shards - # Shard target_list. - new_target_list = [] - for t in target_list: - if t in targets_to_shard: - for i in range(targets_to_shard[t]): - new_target_list.append(_ShardName(t, i)) - else: - new_target_list.append(t) - # Shard target_dict. - new_target_dicts = {} - for t in target_dicts: - if t in targets_to_shard: - for i in range(targets_to_shard[t]): - name = _ShardName(t, i) - new_target_dicts[name] = copy.copy(target_dicts[t]) - new_target_dicts[name]['target_name'] = _ShardName( - new_target_dicts[name]['target_name'], i) - sources = new_target_dicts[name].get('sources', []) - new_sources = [] - for pos in range(i, len(sources), targets_to_shard[t]): - new_sources.append(sources[pos]) - new_target_dicts[name]['sources'] = new_sources - else: - new_target_dicts[t] = target_dicts[t] - # Shard dependencies. - for t in new_target_dicts: - dependencies = copy.copy(new_target_dicts[t].get('dependencies', [])) - new_dependencies = [] - for d in dependencies: - if d in targets_to_shard: - for i in range(targets_to_shard[d]): - new_dependencies.append(_ShardName(d, i)) - else: - new_dependencies.append(d) - new_target_dicts[t]['dependencies'] = new_dependencies - - return (new_target_list, new_target_dicts) - - def PerformBuild(data, configurations, params): options = params['options'] msvs_version = params['msvs_version'] @@ -1825,7 +1767,12 @@ def GenerateOutput(target_list, target_dicts, data, params): generator_flags = params.get('generator_flags', {}) # Optionally shard targets marked with 'msvs_shard': SHARD_COUNT. - (target_list, target_dicts) = _ShardTargets(target_list, target_dicts) + (target_list, target_dicts) = MSVSUtil.ShardTargets(target_list, target_dicts) + + # Optionally use the large PDB workaround for targets marked with + # 'msvs_large_pdb': 1. + (target_list, target_dicts) = MSVSUtil.InsertLargePdbShims( + target_list, target_dicts, generator_default_variables) # Prepare the set of configurations. configs = set() @@ -1872,9 +1819,9 @@ def GenerateOutput(target_list, target_dicts, data, params): error_message = "Missing input files:\n" + \ '\n'.join(set(missing_sources)) if generator_flags.get('msvs_error_on_missing_sources', False): - raise Exception(error_message) + raise GypError(error_message) else: - print >>sys.stdout, "Warning: " + error_message + print >> sys.stdout, "Warning: " + error_message def _GenerateMSBuildFiltersFile(filters_path, source_files, @@ -2815,8 +2762,10 @@ def _FinalizeMSBuildSettings(spec, configuration): 'AdditionalIncludeDirectories', include_dirs) _ToolAppend(msbuild_settings, 'ResourceCompile', 'AdditionalIncludeDirectories', resource_include_dirs) - # Add in libraries. - _ToolAppend(msbuild_settings, 'Link', 'AdditionalDependencies', libraries) + # Add in libraries, note that even for empty libraries, we want this + # set, to prevent inheriting default libraries from the enviroment. + _ToolSetOrAppend(msbuild_settings, 'Link', 'AdditionalDependencies', + libraries) if out_file: _ToolAppend(msbuild_settings, msbuild_tool, 'OutputFile', out_file, only_if_unset=True) @@ -2850,8 +2799,7 @@ def _GetValueFormattedForMSBuild(tool_name, name, value): if type(value) == list: # For some settings, VS2010 does not automatically extends the settings # TODO(jeanluc) Is this what we want? - if name in ['AdditionalDependencies', - 'AdditionalIncludeDirectories', + if name in ['AdditionalIncludeDirectories', 'AdditionalLibraryDirectories', 'AdditionalOptions', 'DelayLoadDLLs', diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py index f15b473..50126e7 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py @@ -1,4 +1,4 @@ -# Copyright (c) 2012 Google Inc. All rights reserved. +# Copyright (c) 2013 Google Inc. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. @@ -13,7 +13,7 @@ import sys import gyp import gyp.common import gyp.msvs_emulation -import gyp.MSVSVersion +import gyp.MSVSUtil as MSVSUtil import gyp.xcode_emulation from gyp.common import GetEnvironFallback @@ -97,21 +97,6 @@ def Define(d, flavor): return QuoteShellArgument(ninja_syntax.escape('-D' + d), flavor) -def InvertRelativePath(path): - """Given a relative path like foo/bar, return the inverse relative path: - the path from the relative path back to the origin dir. - - E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path))) - should always produce the empty string.""" - - if not path: - return path - # Only need to handle relative paths into subdirectories for now. - assert '..' not in path, path - depth = len(path.split(os.path.sep)) - return os.path.sep.join(['..'] * depth) - - class Target: """Target represents the paths used within a single gyp target. @@ -218,12 +203,12 @@ class Target: class NinjaWriter: def __init__(self, qualified_target, target_outputs, base_dir, build_dir, - output_file, flavor, abs_build_dir=None): + output_file, flavor, toplevel_dir=None): """ base_dir: path from source root to directory containing this gyp file, by gyp semantics, all input paths are relative to this build_dir: path from source root to build output - abs_build_dir: absolute path to the build directory + toplevel_dir: path to the toplevel directory """ self.qualified_target = qualified_target @@ -232,7 +217,10 @@ class NinjaWriter: self.build_dir = build_dir self.ninja = ninja_syntax.Writer(output_file) self.flavor = flavor - self.abs_build_dir = abs_build_dir + self.abs_build_dir = None + if toplevel_dir is not None: + self.abs_build_dir = os.path.abspath(os.path.join(toplevel_dir, + build_dir)) self.obj_ext = '.obj' if flavor == 'win' else '.o' if flavor == 'win': # See docstring of msvs_emulation.GenerateEnvironmentFiles(). @@ -241,9 +229,11 @@ class NinjaWriter: self.win_env[arch] = 'environment.' + arch # Relative path from build output dir to base dir. - self.build_to_base = os.path.join(InvertRelativePath(build_dir), base_dir) + build_to_top = gyp.common.InvertRelativePath(build_dir, toplevel_dir) + self.build_to_base = os.path.join(build_to_top, base_dir) # Relative path from base dir to build dir. - self.base_to_build = os.path.join(InvertRelativePath(base_dir), build_dir) + base_to_top = gyp.common.InvertRelativePath(base_dir, toplevel_dir) + self.base_to_build = os.path.join(base_to_top, build_dir) def ExpandSpecial(self, path, product_dir=None): """Expand specials like $!PRODUCT_DIR in |path|. @@ -378,8 +368,8 @@ class NinjaWriter: if self.flavor == 'win': self.msvs_settings = gyp.msvs_emulation.MsvsSettings(spec, generator_flags) - target_platform = self.msvs_settings.GetTargetPlatform(config_name) - self.ninja.variable('arch', self.win_env[target_platform]) + arch = self.msvs_settings.GetArch(config_name) + self.ninja.variable('arch', self.win_env[arch]) # Compute predepends for all rules. # actions_depends is the dependencies this target depends on before running @@ -428,14 +418,15 @@ class NinjaWriter: gyp.msvs_emulation.VerifyMissingSources( sources, self.abs_build_dir, generator_flags, self.GypPathToNinja) pch = gyp.msvs_emulation.PrecompiledHeader( - self.msvs_settings, config_name, self.GypPathToNinja) + self.msvs_settings, config_name, self.GypPathToNinja, + self.GypPathToUniqueOutput, self.obj_ext) else: pch = gyp.xcode_emulation.MacPrefixHeader( self.xcode_settings, self.GypPathToNinja, lambda path, lang: self.GypPathToUniqueOutput(path + '-' + lang)) link_deps = self.WriteSources( config_name, config, sources, compile_depends_stamp, pch, - case_sensitive_filesystem) + case_sensitive_filesystem, spec) # Some actions/rules output 'sources' that are already object files. link_deps += [self.GypPathToNinja(f) for f in sources if f.endswith(self.obj_ext)] @@ -509,7 +500,7 @@ class NinjaWriter: outputs += self.WriteRules(spec['rules'], extra_sources, prebuild, extra_mac_bundle_resources) if 'copies' in spec: - outputs += self.WriteCopies(spec['copies'], prebuild) + outputs += self.WriteCopies(spec['copies'], prebuild, mac_bundle_depends) if 'sources' in spec and self.flavor == 'win': outputs += self.WriteWinIdlFiles(spec, prebuild) @@ -664,7 +655,7 @@ class NinjaWriter: return all_outputs - def WriteCopies(self, copies, prebuild): + def WriteCopies(self, copies, prebuild, mac_bundle_depends): outputs = [] env = self.GetSortedXcodeEnv() for copy in copies: @@ -676,6 +667,15 @@ class NinjaWriter: dst = self.GypPathToNinja(os.path.join(copy['destination'], basename), env) outputs += self.ninja.build(dst, 'copy', src, order_only=prebuild) + if self.is_mac_bundle: + # gyp has mac_bundle_resources to copy things into a bundle's + # Resources folder, but there's no built-in way to copy files to other + # places in the bundle. Hence, some targets use copies for this. Check + # if this file is copied into the current bundle, and if so add it to + # the bundle depends so that dependent targets get rebuilt if the copy + # input changes. + if dst.startswith(self.xcode_settings.GetBundleContentsFolderPath()): + mac_bundle_depends.append(dst) return outputs @@ -712,7 +712,7 @@ class NinjaWriter: bundle_depends.append(out) def WriteSources(self, config_name, config, sources, predepends, - precompiled_header, case_sensitive_filesystem): + precompiled_header, case_sensitive_filesystem, spec): """Write build rules to compile all of |sources|.""" if self.toolset == 'host': self.ninja.variable('ar', '$ar_host') @@ -734,7 +734,15 @@ class NinjaWriter: cflags_c = self.msvs_settings.GetCflagsC(config_name) cflags_cc = self.msvs_settings.GetCflagsCC(config_name) extra_defines = self.msvs_settings.GetComputedDefines(config_name) - self.WriteVariableList('pdbname', [self.name + '.pdb']) + pdbpath = self.msvs_settings.GetCompilerPdbName( + config_name, self.ExpandSpecial) + if not pdbpath: + obj = 'obj' + if self.toolset != 'target': + obj += '.' + self.toolset + pdbpath = os.path.normpath(os.path.join(obj, self.base_dir, + self.name + '.pdb')) + self.WriteVariableList('pdbname', [pdbpath]) self.WriteVariableList('pchprefix', [self.name]) else: cflags = config.get('cflags', []) @@ -789,7 +797,8 @@ class NinjaWriter: elif ext == 's' and self.flavor != 'win': # Doesn't generate .o.d files. command = 'cc_s' elif (self.flavor == 'win' and ext == 'asm' and - self.msvs_settings.GetTargetPlatform(config_name) == 'Win32'): + self.msvs_settings.GetArch(config_name) == 'x86' and + not self.msvs_settings.HasExplicitAsmRules(spec)): # Asm files only get auto assembled for x86 (not x64). command = 'asm' # Add the _asm suffix as msvs is capable of handling .cc and @@ -814,9 +823,14 @@ class NinjaWriter: if not case_sensitive_filesystem: output = output.lower() implicit = precompiled_header.GetObjDependencies([input], [output]) + variables = [] + if self.flavor == 'win': + variables, output, implicit = precompiled_header.GetFlagsModifications( + input, output, implicit, command, cflags_c, cflags_cc, + self.ExpandSpecial) self.ninja.build(output, command, input, implicit=[gch for _, _, gch in implicit], - order_only=predepends) + order_only=predepends, variables=variables) outputs.append(output) self.WritePchTargets(pch_commands) @@ -838,8 +852,6 @@ class NinjaWriter: }[lang] map = { 'c': 'cc', 'cc': 'cxx', 'm': 'objc', 'mm': 'objcxx', } - if self.flavor == 'win': - map.update({'c': 'cc_pch', 'cc': 'cxx_pch'}) cmd = map.get(lang) self.ninja.build(gch, cmd, input, variables=[(var_name, lang_flag)]) @@ -893,16 +905,12 @@ class NinjaWriter: extra_bindings.append(('postbuilds', self.GetPostbuildCommand(spec, output, output))) + is_executable = spec['type'] == 'executable' if self.flavor == 'mac': ldflags = self.xcode_settings.GetLdflags(config_name, self.ExpandSpecial(generator_default_variables['PRODUCT_DIR']), self.GypPathToNinja) elif self.flavor == 'win': - libflags = self.msvs_settings.GetLibFlags(config_name, - self.GypPathToNinja) - self.WriteVariableList( - 'libflags', gyp.common.uniquer(map(self.ExpandSpecial, libflags))) - is_executable = spec['type'] == 'executable' manifest_name = self.GypPathToUniqueOutput( self.ComputeOutputFileName(spec)) ldflags, manifest_files = self.msvs_settings.GetLdflags(config_name, @@ -910,6 +918,9 @@ class NinjaWriter: self.WriteVariableList('manifests', manifest_files) else: ldflags = config.get('ldflags', []) + if is_executable and len(solibs): + ldflags.append('-Wl,-rpath=\$$ORIGIN/lib/') + ldflags.append('-Wl,-rpath-link=lib/') self.WriteVariableList('ldflags', gyp.common.uniquer(map(self.ExpandSpecial, ldflags))) @@ -965,6 +976,10 @@ class NinjaWriter: self.ninja.build(self.target.binary, 'alink_thin', link_deps, order_only=compile_deps, variables=variables) else: + if self.msvs_settings: + libflags = self.msvs_settings.GetLibFlags(config_name, + self.GypPathToNinja) + variables.append(('libflags', libflags)) self.ninja.build(self.target.binary, 'alink', link_deps, order_only=compile_deps, variables=variables) else: @@ -1036,10 +1051,9 @@ class NinjaWriter: env = self.ComputeExportEnvString(self.GetSortedXcodePostbuildEnv()) # G will be non-null if any postbuild fails. Run all postbuilds in a # subshell. - commands = env + ' (F=0; ' + \ - ' '.join([ninja_syntax.escape(command) + ' || F=$$?;' - for command in postbuilds]) - command_string = (commands + ' exit $$F); G=$$?; ' + commands = env + ' (' + \ + ' && '.join([ninja_syntax.escape(command) for command in postbuilds]) + command_string = (commands + '); G=$$?; ' # Remove the final output if any postbuild failed. '((exit $$G) || rm -rf %s) ' % output + '&& exit $$G)') if is_command_start: @@ -1305,6 +1319,13 @@ def OpenOutput(path, mode='w'): return open(path, mode) +def CommandWithWrapper(cmd, wrappers, prog): + wrapper = wrappers.get(cmd, '') + if wrapper: + return wrapper + ' ' + prog + return prog + + def GenerateOutputForConfig(target_list, target_dicts, data, params, config_name): options = params['options'] @@ -1362,7 +1383,14 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0]) make_global_settings = data[build_file].get('make_global_settings', []) - build_to_root = InvertRelativePath(build_dir) + build_to_root = gyp.common.InvertRelativePath(build_dir, + options.toplevel_dir) + flock = 'flock' + if flavor == 'mac': + flock = './gyp-mac-tool flock' + wrappers = {} + if flavor != 'win': + wrappers['LINK'] = flock + ' linker.lock' for key, value in make_global_settings: if key == 'CC': cc = os.path.join(build_to_root, value) @@ -1378,14 +1406,13 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, cxx_host_global_setting = value if key == 'LD.host': ld_host = os.path.join(build_to_root, value) + if key.endswith('_wrapper'): + wrappers[key[:-len('_wrapper')]] = os.path.join(build_to_root, value) - flock = 'flock' - if flavor == 'mac': - flock = './gyp-mac-tool flock' cc = GetEnvironFallback(['CC_target', 'CC'], cc) - master_ninja.variable('cc', cc) + master_ninja.variable('cc', CommandWithWrapper('CC', wrappers, cc)) cxx = GetEnvironFallback(['CXX_target', 'CXX'], cxx) - master_ninja.variable('cxx', cxx) + master_ninja.variable('cxx', CommandWithWrapper('CXX', wrappers, cxx)) ld = GetEnvironFallback(['LD_target', 'LD'], ld) if not cc_host: @@ -1402,7 +1429,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, master_ninja.variable('mt', 'mt.exe') master_ninja.variable('use_dep_database', '1') else: - master_ninja.variable('ld', flock + ' linker.lock ' + ld) + master_ninja.variable('ld', CommandWithWrapper('LINK', wrappers, ld)) master_ninja.variable('ar', GetEnvironFallback(['AR_target', 'AR'], 'ar')) master_ninja.variable('ar_host', GetEnvironFallback(['AR_host'], 'ar')) @@ -1416,12 +1443,15 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, cc_host = cc_host_global_setting.replace('$(CC)', cc) if '$(CXX)' in cxx_host and cxx_host_global_setting: cxx_host = cxx_host_global_setting.replace('$(CXX)', cxx) - master_ninja.variable('cc_host', cc_host) - master_ninja.variable('cxx_host', cxx_host) + master_ninja.variable('cc_host', + CommandWithWrapper('CC.host', wrappers, cc_host)) + master_ninja.variable('cxx_host', + CommandWithWrapper('CXX.host', wrappers, cxx_host)) if flavor == 'win': master_ninja.variable('ld_host', ld_host) else: - master_ninja.variable('ld_host', flock + ' linker.lock ' + ld_host) + master_ninja.variable('ld_host', CommandWithWrapper( + 'LINK', wrappers, ld_host)) master_ninja.newline() @@ -1444,45 +1474,25 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, '$cflags_pch_cc -c $in -o $out'), depfile='$out.d') else: - # Template for compile commands mostly shared between compiling files - # and generating PCH. In the case of PCH, the "output" is specified by /Fp - # rather than /Fo (for object files), but we still need to specify an /Fo - # when compiling PCH. - cc_template = ('ninja -t msvc -r . -o $out -e $arch ' + cc_command = ('ninja -t msvc -o $out -e $arch ' + '-- ' + '$cc /nologo /showIncludes /FC ' + '@$out.rsp /c $in /Fo$out /Fd$pdbname ') + cxx_command = ('ninja -t msvc -o $out -e $arch ' '-- ' - '$cc /nologo /showIncludes /FC ' - '@$out.rsp ' - '$cflags_pch_c /c $in %(outspec)s /Fd$pdbname ') - cxx_template = ('ninja -t msvc -r . -o $out -e $arch ' - '-- ' - '$cxx /nologo /showIncludes /FC ' - '@$out.rsp ' - '$cflags_pch_cc /c $in %(outspec)s $pchobj /Fd$pdbname ') + '$cxx /nologo /showIncludes /FC ' + '@$out.rsp /c $in /Fo$out /Fd$pdbname ') master_ninja.rule( 'cc', description='CC $out', - command=cc_template % {'outspec': '/Fo$out'}, - depfile='$out.d', - rspfile='$out.rsp', - rspfile_content='$defines $includes $cflags $cflags_c') - master_ninja.rule( - 'cc_pch', - description='CC PCH $out', - command=cc_template % {'outspec': '/Fp$out /Fo$out.obj'}, + command=cc_command, depfile='$out.d', rspfile='$out.rsp', rspfile_content='$defines $includes $cflags $cflags_c') master_ninja.rule( 'cxx', description='CXX $out', - command=cxx_template % {'outspec': '/Fo$out'}, - depfile='$out.d', - rspfile='$out.rsp', - rspfile_content='$defines $includes $cflags $cflags_cc') - master_ninja.rule( - 'cxx_pch', - description='CXX PCH $out', - command=cxx_template % {'outspec': '/Fp$out /Fo$out.obj'}, + command=cxx_command, depfile='$out.d', rspfile='$out.rsp', rspfile_content='$defines $includes $cflags $cflags_cc') @@ -1549,7 +1559,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, master_ninja.rule( 'link', description='LINK $out', - command=('$ld $ldflags -o $out -Wl,-rpath=\$$ORIGIN/lib ' + command=('$ld $ldflags -o $out ' '-Wl,--start-group $in $solibs -Wl,--end-group $libs')) elif flavor == 'win': master_ninja.rule( @@ -1565,6 +1575,9 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, '$ld /nologo $implibflag /DLL /OUT:$dll ' '/PDB:$dll.pdb @$dll.rsp' % sys.executable) dllcmd += (' && %s gyp-win-tool manifest-wrapper $arch ' + 'cmd /c if exist $dll.manifest del $dll.manifest' % + sys.executable) + dllcmd += (' && %s gyp-win-tool manifest-wrapper $arch ' '$mt -nologo -manifest $manifests -out:$dll.manifest' % sys.executable) master_ninja.rule('solink', description=dlldesc, command=dllcmd, @@ -1583,8 +1596,10 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, command=('%s gyp-win-tool link-wrapper $arch ' '$ld /nologo /OUT:$out /PDB:$out.pdb @$out.rsp && ' '%s gyp-win-tool manifest-wrapper $arch ' + 'cmd /c if exist $out.manifest del $out.manifest && ' + '%s gyp-win-tool manifest-wrapper $arch ' '$mt -nologo -manifest $manifests -out:$out.manifest' % - (sys.executable, sys.executable)), + (sys.executable, sys.executable, sys.executable)), rspfile='$out.rsp', rspfile_content='$in_newline $libs $ldflags') else: @@ -1719,7 +1734,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, abs_build_dir = os.path.abspath(toplevel_build) writer = NinjaWriter(qualified_target, target_outputs, base_path, build_dir, OpenOutput(os.path.join(toplevel_build, output_file)), - flavor, abs_build_dir=abs_build_dir) + flavor, toplevel_dir=options.toplevel_dir) master_ninja.subninja(output_file) target = writer.WriteSpec( @@ -1767,6 +1782,11 @@ def CallGenerateOutputForConfig(arglist): def GenerateOutput(target_list, target_dicts, data, params): user_config = params.get('generator_flags', {}).get('config', None) + if gyp.common.GetFlavor(params) == 'win': + target_list, target_dicts = MSVSUtil.ShardTargets(target_list, target_dicts) + target_list, target_dicts = MSVSUtil.InsertLargePdbShims( + target_list, target_dicts, generator_default_variables) + if user_config: GenerateOutputForConfig(target_list, target_dicts, data, params, user_config) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py index 7b21bae..ca3b01e 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py @@ -1110,20 +1110,29 @@ exit 1 AddHeaderToTarget(header, pbxp, xct, True) # Add "copies". + pbxcp_dict = {} for copy_group in spec.get('copies', []): - pbxcp = gyp.xcodeproj_file.PBXCopyFilesBuildPhase({ - 'name': 'Copy to ' + copy_group['destination'] - }, - parent=xct) dest = copy_group['destination'] if dest[0] not in ('/', '$'): # Relative paths are relative to $(SRCROOT). dest = '$(SRCROOT)/' + dest - pbxcp.SetDestination(dest) - # TODO(mark): The usual comment about this knowing too much about - # gyp.xcodeproj_file internals applies. - xct._properties['buildPhases'].insert(prebuild_index, pbxcp) + # Coalesce multiple "copies" sections in the same target with the same + # "destination" property into the same PBXCopyFilesBuildPhase, otherwise + # they'll wind up with ID collisions. + pbxcp = pbxcp_dict.get(dest, None) + if pbxcp is None: + pbxcp = gyp.xcodeproj_file.PBXCopyFilesBuildPhase({ + 'name': 'Copy to ' + copy_group['destination'] + }, + parent=xct) + pbxcp.SetDestination(dest) + + # TODO(mark): The usual comment about this knowing too much about + # gyp.xcodeproj_file internals applies. + xct._properties['buildPhases'].insert(prebuild_index, pbxcp) + + pbxcp_dict[dest] = pbxcp for file in copy_group['files']: pbxcp.AddFile(file) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py index 6523667..eca0eb9 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py @@ -46,21 +46,16 @@ base_path_sections = [ ] path_sections = [] +is_path_section_charset = set('=+?!') +is_path_section_match_re = re.compile('_(dir|file|path)s?$') def IsPathSection(section): # If section ends in one of these characters, it's applied to a section # without the trailing characters. '/' is notably absent from this list, # because there's no way for a regular expression to be treated as a path. - while section[-1:] in ('=', '+', '?', '!'): - section = section[0:-1] - - if section in path_sections or \ - section.endswith('_dir') or section.endswith('_dirs') or \ - section.endswith('_file') or section.endswith('_files') or \ - section.endswith('_path') or section.endswith('_paths'): - return True - return False - + while section[-1:] in is_path_section_charset: + section = section[:-1] + return section in path_sections or is_path_section_match_re.search(section) # base_non_configuraiton_keys is a list of key names that belong in the target # itself and should not be propagated into its configurations. It is merged @@ -269,7 +264,7 @@ def LoadBuildFileIncludesIntoDict(subdict, subdict_path, data, aux_data, aux_data[subdict_path]['included'] = [] aux_data[subdict_path]['included'].append(include) - gyp.DebugOutput(gyp.DEBUG_INCLUDES, "Loading Included File: '%s'" % include) + gyp.DebugOutput(gyp.DEBUG_INCLUDES, "Loading Included File: '%s'", include) MergeDicts(subdict, LoadOneBuildFile(include, data, aux_data, variables, None, @@ -359,7 +354,7 @@ def LoadTargetBuildFile(build_file_path, data, aux_data, variables, includes, data['target_build_files'].add(build_file_path) gyp.DebugOutput(gyp.DEBUG_INCLUDES, - "Loading Target Build File '%s'" % build_file_path) + "Loading Target Build File '%s'", build_file_path) build_file_data = LoadOneBuildFile(build_file_path, data, aux_data, variables, includes, True, check) @@ -494,7 +489,7 @@ def CallLoadTargetBuildFile(global_flags, aux_data_out, dependencies) except Exception, e: - print "Exception: ", e + print >>sys.stderr, 'Exception: ', e return None @@ -569,6 +564,12 @@ def LoadTargetBuildFileParallel(build_file_path, data, aux_data, parallel_state.condition.acquire() while parallel_state.dependencies or parallel_state.pending: if parallel_state.error: + print >>sys.stderr, ( + '\n' + 'Note: an error occurred while running gyp using multiprocessing.\n' + 'For more verbose output, set GYP_PARALLEL=0 in your environment.\n' + 'If the error only occurs when GYP_PARALLEL=1, ' + 'please report a bug!') break if not parallel_state.dependencies: parallel_state.condition.wait() @@ -608,32 +609,27 @@ def LoadTargetBuildFileParallel(build_file_path, data, aux_data, # the input is something like "<(foo <(bar)) blah", then it would # return (1, 13), indicating the entire string except for the leading # "<" and trailing " blah". -def FindEnclosingBracketGroup(input): - brackets = { '}': '{', - ']': '[', - ')': '(', } +LBRACKETS= set('{[(') +BRACKETS = {'}': '{', ']': '[', ')': '('} +def FindEnclosingBracketGroup(input_str): stack = [] - count = 0 start = -1 - for char in input: - if char in brackets.values(): + for index, char in enumerate(input_str): + if char in LBRACKETS: stack.append(char) if start == -1: - start = count - if char in brackets.keys(): - try: - last_bracket = stack.pop() - except IndexError: + start = index + elif char in BRACKETS: + if not stack: return (-1, -1) - if last_bracket != brackets[char]: + if stack.pop() != BRACKETS[char]: return (-1, -1) - if len(stack) == 0: - return (start, count + 1) - count = count + 1 + if not stack: + return (start, index + 1) return (-1, -1) -canonical_int_re = re.compile('^(0|-?[1-9][0-9]*)$') +canonical_int_re = re.compile('(0|-?[1-9][0-9]*)$') def IsStrCanonicalInt(string): @@ -641,10 +637,7 @@ def IsStrCanonicalInt(string): The canonical form is such that str(int(string)) == string. """ - if not isinstance(string, str) or not canonical_int_re.match(string): - return False - - return True + return isinstance(string, str) and canonical_int_re.match(string) # This matches things like "<(asdf)", " ! <| >| <@ # >@ !@), match['is_array'] contains a '[' for command @@ -839,8 +831,8 @@ def ExpandVariables(input, phase, variables, build_file): cached_value = cached_command_results.get(cache_key, None) if cached_value is None: gyp.DebugOutput(gyp.DEBUG_VARIABLES, - "Executing command '%s' in directory '%s'" % - (contents,build_file_dir)) + "Executing command '%s' in directory '%s'", + contents, build_file_dir) replacement = '' @@ -852,12 +844,17 @@ def ExpandVariables(input, phase, variables, build_file): # >sys.stderr, 'Using parallel processing (experimental).' + print >>sys.stderr, 'Using parallel processing.' LoadTargetBuildFileParallel(build_file, data, aux_data, variables, includes, depth, check) else: @@ -2564,6 +2576,10 @@ def Load(build_files, variables, includes, depth, generator_input_info, check, # Fully qualify all dependency links. QualifyDependencies(targets) + # Remove self-dependencies from targets that have 'prune_self_dependencies' + # set to 1. + RemoveSelfDependencies(targets) + # Expand dependencies specified as build_file:*. ExpandWildcardDependencies(targets, data) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py index 6926769..c06e3be 100755 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py @@ -80,6 +80,19 @@ class MacTool(object): def _CopyStringsFile(self, source, dest): """Copies a .strings file using iconv to reconvert the input into UTF-16.""" input_code = self._DetectInputEncoding(source) or "UTF-8" + + # Xcode's CpyCopyStringsFile / builtin-copyStrings seems to call + # CFPropertyListCreateFromXMLData() behind the scenes; at least it prints + # CFPropertyListCreateFromXMLData(): Old-style plist parser: missing + # semicolon in dictionary. + # on invalid files. Do the same kind of validation. + import CoreFoundation + s = open(source).read() + d = CoreFoundation.CFDataCreate(None, s, len(s)) + _, error = CoreFoundation.CFPropertyListCreateFromXMLData(None, d, 0, None) + if error: + return + fp = open(dest, 'w') args = ['/usr/bin/iconv', '--from-code', input_code, '--to-code', 'UTF-16', source] diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py index 41a3bc7..bc2afca 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py @@ -152,6 +152,7 @@ class MsvsSettings(object): ('msvs_disabled_warnings', list), ('msvs_precompiled_header', str), ('msvs_precompiled_source', str), + ('msvs_configuration_platform', str), ('msvs_target_platform', str), ] configs = spec['configurations'] @@ -165,11 +166,8 @@ class MsvsSettings(object): def GetVSMacroEnv(self, base_to_build=None, config=None): """Get a dict of variables mapping internal VS macro names to their gyp equivalents.""" - target_platform = self.GetTargetPlatform(config) - target_platform = {'x86': 'Win32'}.get(target_platform, target_platform) + target_platform = 'Win32' if self.GetArch(config) == 'x86' else 'x64' replacements = { - '$(VSInstallDir)': self.vs_version.Path(), - '$(VCInstallDir)': os.path.join(self.vs_version.Path(), 'VC') + '\\', '$(OutDir)\\': base_to_build + '\\' if base_to_build else '', '$(IntDir)': '$!INTERMEDIATE_DIR', '$(InputPath)': '${source}', @@ -178,6 +176,12 @@ class MsvsSettings(object): '$(PlatformName)': target_platform, '$(ProjectDir)\\': '', } + # '$(VSInstallDir)' and '$(VCInstallDir)' are available when and only when + # Visual Studio is actually installed. + if self.vs_version.Path(): + replacements['$(VSInstallDir)'] = self.vs_version.Path() + replacements['$(VCInstallDir)'] = os.path.join(self.vs_version.Path(), + 'VC') + '\\' # Chromium uses DXSDK_DIR in include/lib paths, but it may or may not be # set. This happens when the SDK is sync'd via src-internal, rather than # by typical end-user installation of the SDK. If it's not set, we don't @@ -215,29 +219,40 @@ class MsvsSettings(object): return self.parent._GetAndMunge(self.field, self.base_path + [name], default=default, prefix=prefix, append=self.append, map=map) - def GetTargetPlatform(self, config): - target_platform = self.msvs_target_platform.get(config, '') - if not target_platform: - target_platform = 'Win32' - return {'Win32': 'x86'}.get(target_platform, target_platform) - - def _RealConfig(self, config): - target_platform = self.GetTargetPlatform(config) - if target_platform == 'x64' and not config.endswith('_x64'): + def GetArch(self, config): + """Get architecture based on msvs_configuration_platform and + msvs_target_platform. Returns either 'x86' or 'x64'.""" + configuration_platform = self.msvs_configuration_platform.get(config, '') + platform = self.msvs_target_platform.get(config, '') + if not platform: # If no specific override, use the configuration's. + platform = configuration_platform + # Map from platform to architecture. + return {'Win32': 'x86', 'x64': 'x64'}.get(platform, 'x86') + + def _TargetConfig(self, config): + """Returns the target-specific configuration.""" + # There's two levels of architecture/platform specification in VS. The + # first level is globally for the configuration (this is what we consider + # "the" config at the gyp level, which will be something like 'Debug' or + # 'Release_x64'), and a second target-specific configuration, which is an + # override for the global one. |config| is remapped here to take into + # account the local target-specific overrides to the global configuration. + arch = self.GetArch(config) + if arch == 'x64' and not config.endswith('_x64'): config += '_x64' + if arch == 'x86' and config.endswith('_x64'): + config = config.rsplit('_', 1)[0] return config def _Setting(self, path, config, default=None, prefix='', append=None, map=None): """_GetAndMunge for msvs_settings.""" - config = self._RealConfig(config) return self._GetAndMunge( self.msvs_settings[config], path, default, prefix, append, map) def _ConfigAttrib(self, path, config, default=None, prefix='', append=None, map=None): """_GetAndMunge for msvs_configuration_attributes.""" - config = self._RealConfig(config) return self._GetAndMunge( self.msvs_configuration_attributes[config], path, default, prefix, append, map) @@ -245,7 +260,7 @@ class MsvsSettings(object): def AdjustIncludeDirs(self, include_dirs, config): """Updates include_dirs to expand VS specific paths, and adds the system include dirs used for platform SDK and similar.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) includes = include_dirs + self.msvs_system_include_dirs[config] includes.extend(self._Setting( ('VCCLCompilerTool', 'AdditionalIncludeDirectories'), config, default=[])) @@ -254,7 +269,7 @@ class MsvsSettings(object): def GetComputedDefines(self, config): """Returns the set of defines that are injected to the defines list based on other VS settings.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) defines = [] if self._ConfigAttrib(['CharacterSet'], config) == '1': defines.extend(('_UNICODE', 'UNICODE')) @@ -264,10 +279,20 @@ class MsvsSettings(object): ('VCCLCompilerTool', 'PreprocessorDefinitions'), config, default=[])) return defines + def GetCompilerPdbName(self, config, expand_special): + """Get the pdb file name that should be used for compiler invocations, or + None if there's no explicit name specified.""" + config = self._TargetConfig(config) + pdbname = self._Setting( + ('VCCLCompilerTool', 'ProgramDataBaseFileName'), config) + if pdbname: + pdbname = expand_special(self.ConvertVSMacros(pdbname)) + return pdbname + def GetOutputName(self, config, expand_special): """Gets the explicitly overridden output name for a target or returns None if it's not overridden.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) type = self.spec['type'] root = 'VCLibrarianTool' if type == 'static_library' else 'VCLinkerTool' # TODO(scottmg): Handle OutputDirectory without OutputFile. @@ -280,7 +305,7 @@ class MsvsSettings(object): def GetPDBName(self, config, expand_special): """Gets the explicitly overridden pdb name for a target or returns None if it's not overridden.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) output_file = self._Setting(('VCLinkerTool', 'ProgramDatabaseFile'), config) if output_file: output_file = expand_special(self.ConvertVSMacros( @@ -289,7 +314,7 @@ class MsvsSettings(object): def GetCflags(self, config): """Returns the flags that need to be added to .c and .cc compilations.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) cflags = [] cflags.extend(['/wd' + w for w in self.msvs_disabled_warnings[config]]) cl = self._GetWrapper(self, self.msvs_settings[config], @@ -298,6 +323,7 @@ class MsvsSettings(object): map={'0': 'd', '1': '1', '2': '2', '3': 'x'}, prefix='/O') cl('InlineFunctionExpansion', prefix='/Ob') cl('OmitFramePointers', map={'false': '-', 'true': ''}, prefix='/Oy') + cl('EnableIntrinsicFunctions', map={'false': '-', 'true': ''}, prefix='/Oi') cl('FavorSizeOrSpeed', map={'1': 't', '2': 's'}, prefix='/O') cl('WholeProgramOptimization', map={'true': '/GL'}) cl('WarningLevel', prefix='/W') @@ -312,8 +338,13 @@ class MsvsSettings(object): cl('RuntimeLibrary', map={'0': 'T', '1': 'Td', '2': 'D', '3': 'Dd'}, prefix='/M') cl('ExceptionHandling', map={'1': 'sc','2': 'a'}, prefix='/EH') + cl('DefaultCharIsUnsigned', map={'true': '/J'}) + cl('TreatWChar_tAsBuiltInType', + map={'false': '-', 'true': ''}, prefix='/Zc:wchar_t') cl('EnablePREfast', map={'true': '/analyze'}) cl('AdditionalOptions', prefix='') + cflags.extend(['/FI' + f for f in self._Setting( + ('VCCLCompilerTool', 'ForcedIncludeFiles'), config, default=[])]) # ninja handles parallelism by itself, don't have the compiler do it too. cflags = filter(lambda x: not x.startswith('/MP'), cflags) return cflags @@ -321,13 +352,13 @@ class MsvsSettings(object): def GetPrecompiledHeader(self, config, gyp_to_build_path): """Returns an object that handles the generation of precompiled header build steps.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) return _PchHelper(self, config, gyp_to_build_path) def _GetPchFlags(self, config, extension): """Get the flags to be added to the cflags for precompiled header support. """ - config = self._RealConfig(config) + config = self._TargetConfig(config) # The PCH is only built once by a particular source file. Usage of PCH must # only be for the same language (i.e. C vs. C++), so only include the pch # flags when the language matches. @@ -340,18 +371,18 @@ class MsvsSettings(object): def GetCflagsC(self, config): """Returns the flags that need to be added to .c compilations.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) return self._GetPchFlags(config, '.c') def GetCflagsCC(self, config): """Returns the flags that need to be added to .cc compilations.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) return ['/TP'] + self._GetPchFlags(config, '.cc') def _GetAdditionalLibraryDirectories(self, root, config, gyp_to_build_path): """Get and normalize the list of paths in AdditionalLibraryDirectories setting.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) libpaths = self._Setting((root, 'AdditionalLibraryDirectories'), config, default=[]) libpaths = [os.path.normpath( @@ -361,12 +392,13 @@ class MsvsSettings(object): def GetLibFlags(self, config, gyp_to_build_path): """Returns the flags that need to be added to lib commands.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) libflags = [] lib = self._GetWrapper(self, self.msvs_settings[config], 'VCLibrarianTool', append=libflags) libflags.extend(self._GetAdditionalLibraryDirectories( 'VCLibrarianTool', config, gyp_to_build_path)) + lib('LinkTimeCodeGeneration', map={'true': '/LTCG'}) lib('AdditionalOptions') return libflags @@ -385,7 +417,7 @@ class MsvsSettings(object): manifest_base_name, is_executable): """Returns the flags that need to be added to link commands, and the manifest files.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) ldflags = [] ld = self._GetWrapper(self, self.msvs_settings[config], 'VCLinkerTool', append=ldflags) @@ -403,6 +435,7 @@ class MsvsSettings(object): ldflags.append('/PDB:' + pdb) ld('AdditionalOptions', prefix='') ld('SubSystem', map={'1': 'CONSOLE', '2': 'WINDOWS'}, prefix='/SUBSYSTEM:') + ld('TerminalServerAware', map={'1': ':NO', '2': ''}, prefix='/TSAWARE') ld('LinkIncremental', map={'1': ':NO', '2': ''}, prefix='/INCREMENTAL') ld('FixedBaseAddress', map={'1': ':NO', '2': ''}, prefix='/FIXED') ld('RandomizedBaseAddress', @@ -415,13 +448,11 @@ class MsvsSettings(object): ld('IgnoreDefaultLibraryNames', prefix='/NODEFAULTLIB:') ld('ResourceOnlyDLL', map={'true': '/NOENTRY'}) ld('EntryPointSymbol', prefix='/ENTRY:') - ld('Profile', map={ 'true': '/PROFILE'}) + ld('Profile', map={'true': '/PROFILE'}) + ld('LargeAddressAware', + map={'1': ':NO', '2': ''}, prefix='/LARGEADDRESSAWARE') # TODO(scottmg): This should sort of be somewhere else (not really a flag). ld('AdditionalDependencies', prefix='') - # TODO(scottmg): These too. - ldflags.extend(('kernel32.lib', 'user32.lib', 'gdi32.lib', 'winspool.lib', - 'comdlg32.lib', 'advapi32.lib', 'shell32.lib', 'ole32.lib', - 'oleaut32.lib', 'uuid.lib', 'odbc32.lib', 'DelayImp.lib')) # If the base address is not specifically controlled, DYNAMICBASE should # be on by default. @@ -481,14 +512,14 @@ class MsvsSettings(object): def IsUseLibraryDependencyInputs(self, config): """Returns whether the target should be linked via Use Library Dependency Inputs (using component .objs of a given .lib).""" - config = self._RealConfig(config) + config = self._TargetConfig(config) uldi = self._Setting(('VCLinkerTool', 'UseLibraryDependencyInputs'), config) return uldi == 'true' def GetRcflags(self, config, gyp_to_ninja_path): """Returns the flags that need to be added to invocations of the resource compiler.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) rcflags = [] rc = self._GetWrapper(self, self.msvs_settings[config], 'VCResourceCompilerTool', append=rcflags) @@ -525,18 +556,27 @@ class MsvsSettings(object): return int(rule.get('msvs_cygwin_shell', self.spec.get('msvs_cygwin_shell', 1))) != 0 - def HasExplicitIdlRules(self, spec): - """Determine if there's an explicit rule for idl files. When there isn't we - need to generate implicit rules to build MIDL .idl files.""" + def _HasExplicitRuleForExtension(self, spec, extension): + """Determine if there's an explicit rule for a particular extension.""" for rule in spec.get('rules', []): - if rule['extension'] == 'idl' and int(rule.get('msvs_external_rule', 0)): + if rule['extension'] == extension: return True return False + def HasExplicitIdlRules(self, spec): + """Determine if there's an explicit rule for idl files. When there isn't we + need to generate implicit rules to build MIDL .idl files.""" + return self._HasExplicitRuleForExtension(spec, 'idl') + + def HasExplicitAsmRules(self, spec): + """Determine if there's an explicit rule for asm files. When there isn't we + need to generate implicit rules to assemble .asm files.""" + return self._HasExplicitRuleForExtension(spec, 'asm') + def GetIdlBuildData(self, source, config): """Determine the implicit outputs for an idl file. Returns output directory, outputs, and variables and flags that are required.""" - config = self._RealConfig(config) + config = self._TargetConfig(config) midl_get = self._GetWrapper(self, self.msvs_settings[config], 'VCMIDLTool') def midl(name, default=None): return self.ConvertVSMacros(midl_get(name, default=default), @@ -556,7 +596,8 @@ class MsvsSettings(object): ('iid', iid), ('proxy', proxy)] # TODO(scottmg): Are there configuration settings to set these flags? - flags = ['/char', 'signed', '/env', 'win32', '/Oicf'] + target_platform = 'win32' if self.GetArch(config) == 'x86' else 'x64' + flags = ['/char', 'signed', '/env', target_platform, '/Oicf'] return outdir, output, variables, flags @@ -566,29 +607,25 @@ def _LanguageMatchesForPch(source_ext, pch_source_ext): return ((source_ext in c_exts and pch_source_ext in c_exts) or (source_ext in cc_exts and pch_source_ext in cc_exts)) + class PrecompiledHeader(object): """Helper to generate dependencies and build rules to handle generation of precompiled headers. Interface matches the GCH handler in xcode_emulation.py. """ - def __init__(self, settings, config, gyp_to_build_path): + def __init__( + self, settings, config, gyp_to_build_path, gyp_to_unique_output, obj_ext): self.settings = settings self.config = config - self.gyp_to_build_path = gyp_to_build_path + pch_source = self.settings.msvs_precompiled_source[self.config] + self.pch_source = gyp_to_build_path(pch_source) + filename, _ = os.path.splitext(pch_source) + self.output_obj = gyp_to_unique_output(filename + obj_ext).lower() def _PchHeader(self): """Get the header that will appear in an #include line for all source files.""" return os.path.split(self.settings.msvs_precompiled_header[self.config])[1] - def _PchSource(self): - """Get the source file that is built once to compile the pch data.""" - return self.gyp_to_build_path( - self.settings.msvs_precompiled_source[self.config]) - - def _PchOutput(self): - """Get the name of the output of the compiled pch data.""" - return '${pchprefix}.' + self._PchHeader() + '.pch' - def GetObjDependencies(self, sources, objs): """Given a list of sources files and the corresponding object files, returns a list of the pch files that should be depended upon. The @@ -596,24 +633,30 @@ class PrecompiledHeader(object): with make.py on Mac, and xcode_emulation.py.""" if not self._PchHeader(): return [] - source = self._PchSource() - assert source - pch_ext = os.path.splitext(self._PchSource())[1] + pch_ext = os.path.splitext(self.pch_source)[1] for source in sources: if _LanguageMatchesForPch(os.path.splitext(source)[1], pch_ext): - return [(None, None, self._PchOutput())] + return [(None, None, self.output_obj)] return [] def GetPchBuildCommands(self): - """Returns [(path_to_pch, language_flag, language, header)]. - |path_to_gch| and |header| are relative to the build directory.""" - header = self._PchHeader() - source = self._PchSource() - if not source or not header: - return [] - ext = os.path.splitext(source)[1] - lang = 'c' if ext == '.c' else 'cc' - return [(self._PchOutput(), '/Yc' + header, lang, source)] + """Not used on Windows as there are no additional build steps required + (instead, existing steps are modified in GetFlagsModifications below).""" + return [] + + def GetFlagsModifications(self, input, output, implicit, command, + cflags_c, cflags_cc, expand_special): + """Get the modified cflags and implicit dependencies that should be used + for the pch compilation step.""" + if input == self.pch_source: + pch_output = ['/Yc' + self._PchHeader()] + if command == 'cxx': + return ([('cflags_cc', map(expand_special, cflags_cc + pch_output))], + self.output_obj, []) + elif command == 'cc': + return ([('cflags_c', map(expand_special, cflags_c + pch_output))], + self.output_obj, []) + return [], output, implicit vs_version = None @@ -691,7 +734,13 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags, open_out): of compiler tools (cl, link, lib, rc, midl, etc.) via win_tool.py which sets up the environment, and then we do not prefix the compiler with an absolute path, instead preferring something like "cl.exe" in the rule - which will then run whichever the environment setup has put in the path.""" + which will then run whichever the environment setup has put in the path. + When the following procedure to generate environment files does not + meet your requirement (e.g. for custom toolchains), you can pass + "-G ninja_use_custom_environment_files" to the gyp to suppress file + generation and use custom environment files prepared by yourself.""" + if generator_flags.get('ninja_use_custom_environment_files', 0): + return vs = GetVSVersion(generator_flags) for arch in ('x86', 'x64'): args = vs.SetupScript(arch) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py index ed5e27f..806f92b 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py @@ -363,11 +363,9 @@ class XcodeSettings(object): clang_cxx_language_standard = self._Settings().get( 'CLANG_CXX_LANGUAGE_STANDARD') - if clang_cxx_language_standard == 'c++0x': - cflags_cc.append('-std=c++11') - elif clang_cxx_language_standard == 'gnu++0x': - cflags_cc.append('-std=gnu++11') - elif clang_cxx_language_standard: + # Note: Don't make c++0x to c++11 so that c++0x can be used with older + # clangs that don't understand c++11 yet (like Xcode 4.2's). + if clang_cxx_language_standard: cflags_cc.append('-std=%s' % clang_cxx_language_standard) self._Appendf(cflags_cc, 'CLANG_CXX_LIBRARY', '-stdlib=%s') @@ -380,6 +378,7 @@ class XcodeSettings(object): cflags_cc.append('-fvisibility-inlines-hidden') if self._Test('GCC_THREADSAFE_STATICS', 'NO', default='YES'): cflags_cc.append('-fno-threadsafe-statics') + # Note: This flag is a no-op for clang, it only has an effect for gcc. if self._Test('GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO', 'NO', default='YES'): cflags_cc.append('-Wno-invalid-offsetof') diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py index ec4cb96..47712a7 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py @@ -1503,6 +1503,7 @@ class PBXFileReference(XCFileLikeElement, XCContainerPortal, XCRemoteObject): 'r': 'sourcecode.rez', 'rez': 'sourcecode.rez', 's': 'sourcecode.asm', + 'storyboard': 'file.storyboard', 'strings': 'text.plist.strings', 'ttf': 'file', 'xcconfig': 'text.xcconfig', diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el index e988a35..11b8497 100644 --- a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el +++ b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el @@ -26,11 +26,20 @@ (insert-file-contents-literally (concat filename ".fontified")) (read (current-buffer)))) +(defun equivalent-face (face) + "For the purposes of face comparison, we're not interested in the + differences between certain faces. For example, the difference between + font-lock-comment-delimiter and font-lock-comment-face." + (case face + ((font-lock-comment-delimiter-face) font-lock-comment-face) + (t face))) + (defun text-face-properties (s) "Extract the text properties from s" (let ((result (list t))) (dotimes (i (length s)) - (setq result (cons (get-text-property i 'face s) result))) + (setq result (cons (equivalent-face (get-text-property i 'face s)) + result))) (nreverse result))) (ert-deftest test-golden-samples () diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el index c20fc8d..f558b53 100644 --- a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el +++ b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el @@ -135,7 +135,7 @@ (setq sections (cdr sections)) ; pop out a level (cond ((looking-at-p "['\"]") ; a string (setq string-start (point)) - (forward-sexp 1) + (goto-char (scan-sexps (point) 1)) (if (gyp-inside-dictionary-p) ;; Look for sections inside a dictionary (let ((section (gyp-section-name diff --git a/deps/npm/node_modules/node-gyp/lib/configure.js b/deps/npm/node_modules/node-gyp/lib/configure.js index 437b839..37c9ad3 100644 --- a/deps/npm/node_modules/node-gyp/lib/configure.js +++ b/deps/npm/node_modules/node-gyp/lib/configure.js @@ -101,7 +101,12 @@ function configure (gyp, argv, callback) { log.silly('stripping "+" sign(s) from version') version = version.replace(/\+/g, '') } - if (semver.gte(version, '2.5.0') && semver.lt(version, '3.0.0')) { + if (~version.indexOf('rc')) { + log.silly('stripping "rc" identifier from version') + version = version.replace(/rc(.*)$/ig, '') + } + var range = semver.Range('>=2.5.0 <3.0.0'); + if (range.test(version)) { getNodeDir() } else { failPythonVersion(version) @@ -209,7 +214,11 @@ function configure (gyp, argv, callback) { } // make sure we have a valid version - version = semver.parse(versionStr) + try { + version = semver.parse(versionStr) + } catch (e) { + return callback(e) + } if (!version) { return callback(new Error('Invalid version number: ' + versionStr)) } diff --git a/deps/npm/node_modules/node-gyp/lib/remove.js b/deps/npm/node_modules/node-gyp/lib/remove.js index 44f3147..068d1e3 100644 --- a/deps/npm/node_modules/node-gyp/lib/remove.js +++ b/deps/npm/node_modules/node-gyp/lib/remove.js @@ -34,7 +34,7 @@ function remove (gyp, argv, callback) { } // flatten the version Array into a String - version = version.slice(1, 4).join('.') + version = version.version var versionPath = path.resolve(gyp.devDir, version) log.verbose('remove', 'removing development files for version:', version) diff --git a/deps/npm/node_modules/node-gyp/package.json b/deps/npm/node_modules/node-gyp/package.json index d6f1103..807454f 100644 --- a/deps/npm/node_modules/node-gyp/package.json +++ b/deps/npm/node_modules/node-gyp/package.json @@ -10,7 +10,7 @@ "bindings", "gyp" ], - "version": "0.10.2", + "version": "0.10.6", "installVersion": 9, "author": { "name": "Nathan Rajlich", @@ -28,7 +28,7 @@ "main": "./lib/node-gyp.js", "dependencies": { "glob": "3", - "graceful-fs": "1", + "graceful-fs": "2", "fstream": "0", "minimatch": "0", "mkdirp": "0", @@ -49,6 +49,6 @@ "bugs": { "url": "https://github.com/TooTallNate/node-gyp/issues" }, - "_id": "node-gyp@0.10.2", + "_id": "node-gyp@0.10.6", "_from": "node-gyp@latest" } diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json b/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json index c040007..b65ced0 100644 --- a/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json +++ b/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json @@ -27,9 +27,5 @@ "url": "https://github.com/isaacs/couch-login/issues" }, "_id": "couch-login@0.1.17", - "dist": { - "shasum": "ab3ac31dd56e1061ea5f7faa838c7bda32a2b2ed" - }, - "_from": "couch-login@~0.1.15", - "_resolved": "https://registry.npmjs.org/couch-login/-/couch-login-0.1.17.tgz" + "_from": "couch-login@~0.1.15" } diff --git a/deps/npm/node_modules/npm-registry-client/package.json b/deps/npm/node_modules/npm-registry-client/package.json index 37491a7..152ed87 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": "0.2.26", + "version": "0.2.27", "repository": { "url": "git://github.com/isaacs/npm-registry-client" }, @@ -16,7 +16,7 @@ }, "dependencies": { "request": "2 >=2.20.0", - "graceful-fs": "~1.2.0", + "graceful-fs": "~2.0.0", "semver": "~2.0.5", "slide": "~1.1.3", "chownr": "0", @@ -38,6 +38,6 @@ "bugs": { "url": "https://github.com/isaacs/npm-registry-client/issues" }, - "_id": "npm-registry-client@0.2.26", + "_id": "npm-registry-client@0.2.27", "_from": "npm-registry-client@latest" } diff --git a/deps/npm/node_modules/npmlog/log.js b/deps/npm/node_modules/npmlog/log.js index 752b81e..38b7c74 100644 --- a/deps/npm/node_modules/npmlog/log.js +++ b/deps/npm/node_modules/npmlog/log.js @@ -149,6 +149,6 @@ log.addLevel('silly', -Infinity, { inverse: true }, 'sill') log.addLevel('verbose', 1000, { fg: 'blue', bg: 'black' }, 'verb') log.addLevel('info', 2000, { fg: 'green' }) log.addLevel('http', 3000, { fg: 'green', bg: 'black' }) -log.addLevel('warn', 4000, { fg: 'black', bg: 'red' }, 'WARN') +log.addLevel('warn', 4000, { fg: 'black', bg: 'yellow' }, 'WARN') log.addLevel('error', 5000, { fg: 'red', bg: 'black' }, 'ERR!') log.addLevel('silent', Infinity) diff --git a/deps/npm/node_modules/npmlog/package.json b/deps/npm/node_modules/npmlog/package.json index e4e6cf1..e46b6e2 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": "0.0.3", + "version": "0.0.4", "repository": { "type": "git", "url": "git://github.com/isaacs/npmlog.git" @@ -27,6 +27,6 @@ "bugs": { "url": "https://github.com/isaacs/npmlog/issues" }, - "_id": "npmlog@0.0.3", + "_id": "npmlog@0.0.4", "_from": "npmlog@latest" } diff --git a/deps/npm/node_modules/npmlog/test/basic.js b/deps/npm/node_modules/npmlog/test/basic.js index 8b5e7eb..80c8c31 100644 --- a/deps/npm/node_modules/npmlog/test/basic.js +++ b/deps/npm/node_modules/npmlog/test/basic.js @@ -87,7 +87,7 @@ var resultExpect = '\u001b[0m', ' ', '\u001b[0m', - '\u001b[35m', + '\u001b[33m', 'warn prefix', '\u001b[0m', ' x = {"foo":{"bar":"baz"}}\n', diff --git a/deps/npm/package.json b/deps/npm/package.json index f35eb19..fa8b5ef 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "1.3.2", + "version": "1.3.3", "name": "npm", "publishConfig": { "proprietary-attribs": false @@ -38,33 +38,33 @@ "ini": "~1.1.0", "slide": "~1.1.4", "abbrev": "~1.0.4", - "graceful-fs": "~1.2.2", + "graceful-fs": "~2.0.0", "minimatch": "~0.2.12", "nopt": "~2.1.1", "rimraf": "~2.2.0", "request": "~2.21.0", "which": "1", "tar": "~0.1.17", - "fstream": "~0.1.22", + "fstream": "~0.1.23", "block-stream": "*", "inherits": "1", "mkdirp": "~0.3.3", "read": "~1.0.4", "lru-cache": "~2.3.0", - "node-gyp": "~0.10.2", + "node-gyp": "~0.10.6", "fstream-npm": "~0.1.3", "uid-number": "0", "archy": "0", "chownr": "0", - "npmlog": "0.0.3", + "npmlog": "0.0.4", "ansi": "~0.1.2", - "npm-registry-client": "~0.2.26", + "npm-registry-client": "~0.2.27", "read-package-json": "~1.1.0", "read-installed": "~0.2.2", - "glob": "~3.2.1", + "glob": "~3.2.3", "init-package-json": "0.0.10", "osenv": "0", - "lockfile": "~0.3.2", + "lockfile": "~0.4.0", "retry": "~0.6.0", "once": "~1.1.1", "npmconf": "~0.1.1", diff --git a/deps/npm/scripts/doc-build.sh b/deps/npm/scripts/doc-build.sh index 750c48d..4ca9732 100755 --- a/deps/npm/scripts/doc-build.sh +++ b/deps/npm/scripts/doc-build.sh @@ -41,11 +41,12 @@ version=$(node cli.js -v) mkdir -p $(dirname $dest) case $dest in - *.[13]) + *.[1357]) ./node_modules/.bin/ronn --roff $src \ | sed "s|@VERSION@|$version|g" \ - | perl -pi -e 's/npm\\-([^\(]*)\(1\)/npm help \1/g' \ - | perl -pi -e 's/npm\\-([^\(]*)\(3\)/npm apihelp \1/g' \ + | perl -pi -e 's/(npm\\-)?([^\(]*)\(1\)/npm help \2/g' \ + | perl -pi -e 's/(npm\\-)?([^\(]*)\([57]\)/npm help \3 \2/g' \ + | perl -pi -e 's/(npm\\-)?([^\(]*)\(3\)/npm apihelp \2/g' \ | perl -pi -e 's/npm\(1\)/npm help npm/g' \ | perl -pi -e 's/npm\(3\)/npm apihelp npm/g' \ > $dest @@ -53,21 +54,27 @@ case $dest in ;; *.html) (cat html/dochead.html && \ - ./node_modules/.bin/ronn -f $src && \ - cat html/docfoot.html )\ + ./node_modules/.bin/ronn -f $src && + cat html/docfoot.html)\ | sed "s|@NAME@|$name|g" \ | sed "s|@DATE@|$date|g" \ | sed "s|@VERSION@|$version|g" \ - | perl -pi -e 's/

    npm(-?[^\(]*\([0-9]\)) -- (.*?)<\/h1>/

    npm\1<\/h1>

    \2<\/p>/g' \ + | perl -pi -e 's/

    ([^\(]*\([0-9]\)) -- (.*?)<\/h1>/

    \1<\/h1>

    \2<\/p>/g' \ | perl -pi -e 's/npm-npm/npm/g' \ - | perl -pi -e 's/([^"-])(npm-)?README(\(1\))?/\1README<\/a>/g' \ - | perl -pi -e 's/<a href="..\/doc\/README.html">README<\/a><\/title>/<title>README<\/title>/g' \ - | perl -pi -e 's/([^"-])npm-([^\(]+)(\(1\))/\1<a href="..\/doc\/\2.html">\2\3<\/a>/g' \ - | perl -pi -e 's/([^"-])npm-([^\(]+)(\(3\))/\1<a href="..\/api\/\2.html">\2\3<\/a>/g' \ - | perl -pi -e 's/([^"-])npm\(1\)/\1<a href="..\/doc\/npm.html">npm(1)<\/a>/g' \ - | perl -pi -e 's/([^"-])npm\(3\)/\1<a href="..\/api\/npm.html">npm(3)<\/a>/g' \ - | perl -pi -e 's/\([13]\)<\/a><\/h1>/<\/a><\/h1>/g' \ - > $dest + | perl -pi -e 's/([^"-])(npm-)?README(\(1\))?/\1<a href="..\/..\/doc\/README.html">README<\/a>/g' \ + | perl -pi -e 's/<title><a href="[^"]+README.html">README<\/a><\/title>/<title>README<\/title>/g' \ + | perl -pi -e 's/([^"-])([^\(> ]+)(\(1\))/\1<a href="..\/cli\/\2.html">\2\3<\/a>/g' \ + | perl -pi -e 's/([^"-])([^\(> ]+)(\(3\))/\1<a href="..\/api\/\2.html">\2\3<\/a>/g' \ + | perl -pi -e 's/([^"-])([^\(> ]+)(\(5\))/\1<a href="..\/files\/\2.html">\2\3<\/a>/g' \ + | perl -pi -e 's/([^"-])([^\(> ]+)(\(7\))/\1<a href="..\/misc\/\2.html">\2\3<\/a>/g' \ + | perl -pi -e 's/\([1357]\)<\/a><\/h1>/<\/a><\/h1>/g' \ + | (if [ $(basename $(dirname $dest)) == "doc" ]; then + perl -pi -e 's/ href="\.\.\// href="/g' + else + cat + fi) \ + > $dest \ + && cat html/docfoot-script.html >> $dest exit $? ;; *) diff --git a/deps/npm/scripts/index-build.js b/deps/npm/scripts/index-build.js index 551bb1d..8031fe7 100755 --- a/deps/npm/scripts/index-build.js +++ b/deps/npm/scripts/index-build.js @@ -1,63 +1,62 @@ #!/usr/bin/env node var fs = require("fs") , path = require("path") - , cli = path.resolve(__dirname, "..", "doc", "cli") - , clidocs = null - , api = path.resolve(__dirname, "..", "doc", "api") - , apidocs = null - , readme = path.resolve(__dirname, "..", "README.md") - -fs.readdir(cli, done("cli")) -fs.readdir(api, done("api")) - -function done (which) { return function (er, docs) { - if (er) throw er - docs.sort() - if (which === "api") apidocs = docs - else clidocs = docs - - if (apidocs && clidocs) next() -}} - -function filter (d) { - return d !== "index.md" - && d.charAt(0) !== "." - && d.match(/\.md$/) -} - -function next () { + , root = path.resolve(__dirname, "..") + , glob = require("glob") + , conversion = { "cli": 1, "api": 3, "files": 5, "misc": 7 } + +glob(root + "/{README.md,doc/*/*.md}", function (er, files) { + if (er) + throw er + output(files.map(function (f) { + var b = path.basename(f) + if (b === "README.md") + return [0, b] + if (b === "index.md") + return null + var s = conversion[path.basename(path.dirname(f))] + return [s, f] + }).filter(function (f) { + return f + }).sort(function (a, b) { + return (a[0] === b[0]) + ? ( path.basename(a[1]) === "npm.md" ? -1 + : path.basename(b[1]) === "npm.md" ? 1 + : a[1] > b[1] ? 1 : -1 ) + : a[0] - b[0] + })) +}) + +return + +function output (files) { console.log( - "npm-index(1) -- Index of all npm documentation\n" + + "npm-index(7) -- Index of all npm documentation\n" + "==============================================\n") - apidocs = apidocs.filter(filter).map(function (d) { - return [3, path.resolve(api, d)] - }) - - clidocs = clidocs.filter(filter).map(function (d) { - return [1, path.resolve(cli, d)] - }) - - writeLine([1, readme]) - - console.log("# Command Line Documentation") - - clidocs.forEach(writeLine) + writeLines(files, 0) + writeLines(files, 1, "Command Line Documentation") + writeLines(files, 3, "API Documentation") + writeLines(files, 5, "Files") + writeLines(files, 7, "Misc") +} - console.log("# API Documentation") - apidocs.forEach(writeLine) +function writeLines (files, sxn, heading) { + if (heading) + console.log("# %s\n", heading) + files.filter(function (f) { + return f[0] === sxn + }).forEach(writeLine) } + function writeLine (sd) { - var sxn = sd[0] + var sxn = sd[0] || 1 , doc = sd[1] , d = path.basename(doc, ".md") - , s = fs.lstatSync(doc) - - if (s.isSymbolicLink()) return - var content = fs.readFileSync(doc, "utf8").split("\n")[0].split("--")[1] + var content = fs.readFileSync(doc, "utf8").split("\n")[0].split("-- ")[1] - console.log("## npm-%s(%d)\n", d, sxn) + console.log("## %s(%d)\n", d, sxn) console.log(content + "\n") }