diff options
author | Timothy J Fontaine <tjfontaine@gmail.com> | 2014-09-24 14:41:07 -0700 |
---|---|---|
committer | Timothy J Fontaine <tjfontaine@gmail.com> | 2014-09-24 17:15:10 -0700 |
commit | 9fad8958df671c0e894506ef59b4c781c3dfb349 (patch) | |
tree | 4db7643b40c4ffd726fb27fb4aa276d420b3bfd8 /deps/npm/man | |
parent | b26dd4e5ab9192bad72b9dc61fa4ad2d8f215da2 (diff) | |
download | node-new-9fad8958df671c0e894506ef59b4c781c3dfb349.tar.gz |
deps: upgrade npm to 2.0.0
Diffstat (limited to 'deps/npm/man')
104 files changed, 5294 insertions, 7679 deletions
diff --git a/deps/npm/man/man1/npm-README.1 b/deps/npm/man/man1/npm-README.1 index cfa8b45983..8f7d01ba7a 100644 --- a/deps/npm/man/man1/npm-README.1 +++ b/deps/npm/man/man1/npm-README.1 @@ -1,221 +1,177 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm\fR \-\- node package manager then read on\. -. -.SH "Fancy Install (Unix)" -There\'s a pretty robust install script at \fIhttps://www\.npmjs\.org/install\.sh\fR\|\. You can download that and run it\. -. -.P -Here\'s an example using curl: -. -.IP "" 4 -. -.nf +.SH Fancy Install (Unix) +.P +There's a pretty robust install script at +https://www\.npmjs\.org/install\.sh\|\. You can download that and run it\. +.P +Here's an example using curl: +.P +.RS 2 +.EX curl \-L https://npmjs\.org/install\.sh | sh -. -.fi -. -.IP "" 0 -. -.SS "Slightly Fancier" +.EE +.RE +.SS Slightly Fancier +.P You can set any npm configuration params with that script: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm_config_prefix=/some/path sh install\.sh -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Or, you can run it in uber\-debuggery mode: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm_debug=1 sh install\.sh -. -.fi -. -.IP "" 0 -. -.SS "Even Fancier" +.EE +.RE +.SS Even Fancier +.P Get the code with git\. Use \fBmake\fR to build the docs and do other stuff\. If you plan on hacking on npm, \fBmake link\fR is your friend\. -. .P -If you\'ve got the npm source code, you can also semi\-permanently set +If you've got the npm source code, you can also semi\-permanently set arbitrary config keys using the \fB\|\./configure \-\-key=val \.\.\.\fR, and then run npm commands by doing \fBnode cli\.js <cmd> <args>\fR\|\. (This is helpful for testing, or running stuff without actually installing npm itself\.) -. -.SH "Fancy Windows Install" -You can download a zip file from \fIhttps://npmjs\.org/dist/\fR, and unpack it +.SH Fancy Windows Install +.P +You can download a zip file from https://npmjs\.org/dist/, and unpack it in the same folder where node\.exe lives\. -. .P -If that\'s not fancy enough for you, then you can fetch the code with +If that's not fancy enough for you, then you can fetch the code with git, and mess with it directly\. -. -.SH "Installing on Cygwin" +.SH Installing on Cygwin +.P No\. -. -.SH "Permissions when Using npm to Install Other Stuff" +.SH Permissions when Using npm to Install Other Stuff +.P \fBtl;dr\fR -. -.IP "\(bu" 4 -Use \fBsudo\fR for greater safety\. Or don\'t, if you prefer not to\. -. -.IP "\(bu" 4 -npm will downgrade permissions if it\'s root before running any build +.RS 0 +.IP \(bu 2 +Use \fBsudo\fR for greater safety\. Or don't, if you prefer not to\. +.IP \(bu 2 +npm will downgrade permissions if it's root before running any build scripts that package authors specified\. -. -.IP "" 0 -. -.SS "More details\.\.\." + +.RE +.SS More details\.\.\. +.P As of version 0\.3, it is recommended to run npm as root\. This allows npm to change the user identifier to the \fBnobody\fR user prior to running any package build or test commands\. -. .P If you are not the root user, or if you are on a platform that does not support uid switching, then npm will not attempt to change the userid\. -. .P If you would like to ensure that npm \fBalways\fR runs scripts as the "nobody" user, and have it fail if it cannot downgrade permissions, then set the following configuration param: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm config set unsafe\-perm false -. -.fi -. -.IP "" 0 -. +.EE +.RE .P This will prevent running in unsafe mode, even as non\-root users\. -. -.SH "Uninstalling" +.SH Uninstalling +.P So sad to see you go\. -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX sudo npm uninstall npm \-g -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Or, if that fails, -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX sudo make uninstall -. -.fi -. -.IP "" 0 -. -.SH "More Severe Uninstalling" +.EE +.RE +.SH More Severe Uninstalling +.P Usually, the above instructions are sufficient\. That will remove -npm, but leave behind anything you\'ve installed\. -. +npm, but leave behind anything you've installed\. .P If you would like to remove all the packages that you have installed, then you can use the \fBnpm ls\fR command to find them, and then \fBnpm rm\fR to remove them\. -. .P -To remove cruft left behind by npm 0\.x, you can use the included \fBclean\-old\.sh\fR script file\. You can run it conveniently like this: -. -.IP "" 4 -. -.nf +To remove cruft left behind by npm 0\.x, you can use the included +\fBclean\-old\.sh\fR script file\. You can run it conveniently like this: +.P +.RS 2 +.EX npm explore npm \-g \-\- sh scripts/clean\-old\.sh -. -.fi -. -.IP "" 0 -. +.EE +.RE .P npm uses two configuration files, one for per\-user configs, and another for global (every\-user) configs\. You can view them by doing: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm config get userconfig # defaults to ~/\.npmrc npm config get globalconfig # defaults to /usr/local/etc/npmrc -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Uninstalling npm does not remove configuration files by default\. You must remove them yourself manually if you want them gone\. Note that this means that future npm installs will not remember the settings that you have chosen\. -. -.SH "Using npm Programmatically" +.SH Using npm Programmatically +.P If you would like to use npm programmatically, you can do that\. -It\'s not very well documented, but it \fIis\fR rather simple\. -. +It's not very well documented, but it \fIis\fR rather simple\. .P Most of the time, unless you actually want to do all the things that -npm does, you should try using one of npm\'s dependencies rather than +npm does, you should try using one of npm's dependencies rather than using npm itself, if possible\. -. .P Eventually, npm will be just a thin cli wrapper around the modules that it depends on, but for now, there are some things that you must use npm itself to do\. -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX var npm = require("npm") npm\.load(myConfigObject, function (er) { if (er) return handlError(er) @@ -225,117 +181,98 @@ npm\.load(myConfigObject, function (er) { }) npm\.on("log", function (message) { \.\.\.\. }) }) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The \fBload\fR function takes an object hash of the command\-line configs\. The various \fBnpm\.commands\.<cmd>\fR functions take an \fBarray\fR of -positional argument \fBstrings\fR\|\. The last argument to any \fBnpm\.commands\.<cmd>\fR function is a callback\. Some commands take other +positional argument \fBstrings\fR\|\. The last argument to any +\fBnpm\.commands\.<cmd>\fR function is a callback\. Some commands take other optional arguments\. Read the source\. -. .P You cannot set configs individually for any single npm function at this time\. Since \fBnpm\fR is a singleton, any call to \fBnpm\.config\.set\fR will change the value for \fIall\fR npm commands in that process\. -. .P See \fB\|\./bin/npm\-cli\.js\fR for an example of pulling config values off of the command line arguments using nopt\. You may also want to check out \fBnpm help config\fR to learn about all the options you can set there\. -. -.SH "More Docs" +.SH More Docs +.P Check out the docs \fIhttps://www\.npmjs\.org/doc/\fR, especially the faq \fIhttps://www\.npmjs\.org/doc/faq\.html\fR\|\. -. .P You can use the \fBnpm help\fR command to read any of them\. -. .P -If you\'re a developer, and you want to use npm to publish your program, +If you're a developer, and you want to use npm to publish your program, you should read this \fIhttps://www\.npmjs\.org/doc/developers\.html\fR -. -.SH "Legal Stuff" +.SH Legal Stuff +.P "npm" and "The npm Registry" are owned by npm, Inc\. All rights reserved\. See the included LICENSE file for more details\. -. .P "Node\.js" and "node" are trademarks owned by Joyent, Inc\. -. .P Modules published on the npm registry are not officially endorsed by npm, Inc\. or the Node\.js project\. -. .P Data published to the npm registry is not part of npm itself, and is the sole property of the publisher\. While every effort is made to ensure accountability, there is absolutely no guarantee, warrantee, or assertion expressed or implied as to the quality, fitness for a specific purpose, or lack of malice in any given npm package\. -. .P If you have a complaint about a package in the public npm registry, and cannot resolve it with the package -owner \fIhttps://www\.npmjs\.org/doc/misc/npm\-disputes\.html\fR, please email \fIsupport@npmjs\.com\fR and explain the situation\. -. +owner \fIhttps://www\.npmjs\.org/doc/misc/npm\-disputes\.html\fR, please email +support@npmjs\.com and explain the situation\. .P Any data published to The npm Registry (including user account information) may be removed or modified at the sole discretion of the npm server administrators\. -. -.SS "In plainer english" +.SS In plainer english +.P npm is the property of npm, Inc\. -. .P -If you publish something, it\'s yours, and you are solely accountable +If you publish something, it's yours, and you are solely accountable for it\. -. .P -If other people publish something, it\'s theirs\. -. +If other people publish something, it's theirs\. .P Users can publish Bad Stuff\. It will be removed promptly if reported\. But there is no vetting process for published modules, and you use them at your own risk\. Please inspect the source\. -. .P If you publish Bad Stuff, we may delete it from the registry, or even -ban your account in extreme cases\. So don\'t do that\. -. -.SH "BUGS" +ban your account in extreme cases\. So don't do that\. +.SH BUGS +.P When you find issues, please report them: -. -.IP "\(bu" 4 -web: \fIhttps://github\.com/npm/npm/issues\fR -. -.IP "\(bu" 4 -email: \fInpm\-@googlegroups\.com\fR -. -.IP "" 0 -. -.P -Be sure to include \fIall\fR of the output from the npm command that didn\'t work +.RS 0 +.IP \(bu 2 +web: +https://github\.com/npm/npm/issues +.IP \(bu 2 +email: +npm\-@googlegroups\.com + +.RE +.P +Be sure to include \fIall\fR of the output from the npm command that didn't work as expected\. The \fBnpm\-debug\.log\fR file is also helpful to provide\. -. .P 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 "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help npm -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help help -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 index -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1 index da1dcdbc3f..5db7ee28a7 100644 --- a/deps/npm/man/man1/npm-adduser.1 +++ b/deps/npm/man/man1/npm-adduser.1 @@ -1,63 +1,67 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-ADDUSER" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-adduser\fR \-\- Add a registry user account -. -.SH "SYNOPSIS" -. -.nf -npm adduser -. -.fi -. -.SH "DESCRIPTION" -Create or verify a user named \fB<username>\fR in the npm registry, and -save the credentials to the \fB\|\.npmrc\fR file\. -. +\fBnpm-adduser\fR \- Add a registry user account +.SH SYNOPSIS +.P +.RS 2 +.EX +npm adduser [\-\-registry=url] [\-\-scope=@orgname] +.EE +.RE +.SH DESCRIPTION +.P +Create or verify a user named \fB<username>\fR in the specified registry, and +save the credentials to the \fB\|\.npmrc\fR file\. If no registry is specified, +the default registry will be used (see npm help 7 \fBnpm\-config\fR)\. .P The username, password, and email are read in from prompts\. -. .P You may use this command to change your email address, but not username or password\. -. .P -To reset your password, go to \fIhttps://npmjs\.org/forgot\fR -. +To reset your password, go to https://www\.npmjs\.org/forgot .P You may use this command multiple times with the same user account to authorize on a new machine\. -. -.SH "CONFIGURATION" -. -.SS "registry" +.P +\fBnpm login\fR is an alias to \fBadduser\fR and behaves exactly the same way\. +.SH CONFIGURATION +.SS registry +.P Default: http://registry\.npmjs\.org/ -. .P -The base URL of the npm package registry\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +The base URL of the npm package registry\. If \fBscope\fR is also specified, +this registry will only be used for packages with that scope\. See npm help 7 \fBnpm\-scope\fR\|\. +.SS scope +.P +Default: none +.P +If specified, the user and login credentials given will be associated +with the specified scope\. See npm help 7 \fBnpm\-scope\fR\|\. You can use both at the same time, +e\.g\. +.P +.RS 2 +.EX +npm adduser \-\-registry=http://myregistry\.example\.com \-\-scope=@myco +.EE +.RE +.P +This will set a registry for the given scope and login or create a user for +that registry at the same time\. +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help owner -. -.IP "\(bu" 4 +.IP \(bu 2 npm help whoami -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1 index 548bb6ad34..b4963914e9 100644 --- a/deps/npm/man/man1/npm-bin.1 +++ b/deps/npm/man/man1/npm-bin.1 @@ -1,40 +1,30 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-BIN" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-bin\fR \-\- Display npm bin folder -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-bin\fR \- Display npm bin folder +.SH SYNOPSIS +.P +.RS 2 +.EX npm bin -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Print the folder where npm will install executables\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help prefix -. -.IP "\(bu" 4 +.IP \(bu 2 npm help root -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1 index 328ac30451..67c0a6114b 100644 --- a/deps/npm/man/man1/npm-bugs.1 +++ b/deps/npm/man/man1/npm-bugs.1 @@ -1,78 +1,59 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-BUGS" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-bugs\fR \- Bugs for a package in a web browser maybe +.SH SYNOPSIS +.P +.RS 2 +.EX npm bugs <pkgname> npm bugs (with no args in a package dir) -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s +.EE +.RE +.SH DESCRIPTION +.P +This command tries to guess at the likely location of a package's bug tracker URL, and then tries to open it using the \fB\-\-browser\fR config param\. If no package name is provided, it will search for a \fBpackage\.json\fR in the current folder and use the \fBname\fR property\. -. -.SH "CONFIGURATION" -. -.SS "browser" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS browser +.RS 0 +.IP \(bu 2 Default: OS X: \fB"open"\fR, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P The browser that is called by the \fBnpm bugs\fR command to open websites\. -. -.SS "registry" -. -.IP "\(bu" 4 +.SS registry +.RS 0 +.IP \(bu 2 Default: https://registry\.npmjs\.org/ -. -.IP "\(bu" 4 +.IP \(bu 2 Type: url -. -.IP "" 0 -. + +.RE .P The base URL of the npm package registry\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help docs -. -.IP "\(bu" 4 +.IP \(bu 2 npm help view -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-build.1 b/deps/npm/man/man1/npm-build.1 index cc815b63b5..ed530b3860 100644 --- a/deps/npm/man/man1/npm-build.1 +++ b/deps/npm/man/man1/npm-build.1 @@ -1,43 +1,34 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-BUILD" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-build\fR \-\- Build a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-build\fR \- Build a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm build <package\-folder> -. -.fi -. -.IP "\(bu" 4 +.EE +.RE +.RS 0 +.IP \(bu 2 \fB<package\-folder>\fR: A folder containing a \fBpackage\.json\fR file in its root\. -. -.IP "" 0 -. -.SH "DESCRIPTION" + +.RE +.SH DESCRIPTION +.P This is the plumbing command called by \fBnpm link\fR and \fBnpm install\fR\|\. -. .P It should generally not be called directly\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help link -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-bundle.1 b/deps/npm/man/man1/npm-bundle.1 index 5799f4b19d..7a8355d888 100644 --- a/deps/npm/man/man1/npm-bundle.1 +++ b/deps/npm/man/man1/npm-bundle.1 @@ -1,23 +1,17 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-BUNDLE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-bundle\fR \-\- REMOVED -. -.SH "DESCRIPTION" +\fBnpm-bundle\fR \- REMOVED +.SH DESCRIPTION +.P The \fBnpm bundle\fR command has been removed in 1\.0, for the simple reason that it is no longer necessary, as the default behavior is now to install packages into the local space\. -. .P Just use \fBnpm install\fR now to do what \fBnpm bundle\fR used to do\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help install -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1 index 3977da0b1a..5a99d11a24 100644 --- a/deps/npm/man/man1/npm-cache.1 +++ b/deps/npm/man/man1/npm-cache.1 @@ -1,100 +1,86 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-CACHE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-cache\fR \-\- Manipulates packages cache -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-cache\fR \- Manipulates packages cache +.SH SYNOPSIS +.P +.RS 2 +.EX npm cache add <tarball file> npm cache add <folder> npm cache add <tarball url> npm cache add <name>@<version> + npm cache ls [<path>] + npm cache clean [<path>] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Used to add, list, or clear the npm cache folder\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 add: Add the specified package to the local cache\. This command is primarily intended to be used internally by npm, but it can provide a way to add data to the local installation cache explicitly\. -. -.IP "\(bu" 4 +.IP \(bu 2 ls: Show the data in the cache\. Argument is a path to show in the cache -folder\. Works a bit like the \fBfind\fR program, but limited by the \fBdepth\fR config\. -. -.IP "\(bu" 4 +folder\. Works a bit like the \fBfind\fR program, but limited by the +\fBdepth\fR config\. +.IP \(bu 2 clean: Delete data out of the cache folder\. If an argument is provided, then it specifies a subpath to delete\. If no argument is provided, then the entire cache is cleared\. -. -.IP "" 0 -. -.SH "DETAILS" + +.RE +.SH DETAILS +.P npm stores cache data in the directory specified in \fBnpm config get cache\fR\|\. For each package that is added to the cache, three pieces of information are stored in \fB{cache}/{name}/{version}\fR: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \|\.\.\./package/package\.json: The package\.json file, as npm sees it\. -. -.IP "\(bu" 4 +.IP \(bu 2 \|\.\.\./package\.tgz: The tarball for that version\. -. -.IP "" 0 -. + +.RE .P Additionally, whenever a registry request is made, a \fB\|\.cache\.json\fR file is placed at the corresponding URI, to store the ETag and the requested data\. This is stored in \fB{cache}/{hostname}/{path}/\.cache\.json\fR\|\. -. .P -Commands that make non\-essential registry requests (such as \fBsearch\fR and \fBview\fR, or the completion scripts) generally specify a minimum timeout\. +Commands that make non\-essential registry requests (such as \fBsearch\fR and +\fBview\fR, or the completion scripts) generally specify a minimum timeout\. If the \fB\|\.cache\.json\fR file is younger than the specified timeout, then they do not make an HTTP request to the registry\. -. -.SH "CONFIGURATION" -. -.SS "cache" +.SH CONFIGURATION +.SS cache +.P Default: \fB~/\.npm\fR on Posix, or \fB%AppData%/npm\-cache\fR on Windows\. -. .P The root cache folder\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help pack -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1 index 2ae25687a6..bbd224f76c 100644 --- a/deps/npm/man/man1/npm-completion.1 +++ b/deps/npm/man/man1/npm-completion.1 @@ -1,47 +1,37 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-COMPLETION" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-completion\fR \-\- Tab Completion for npm -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-completion\fR \- Tab Completion for npm +.SH SYNOPSIS +.P +.RS 2 +.EX \|\. <(npm completion) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Enables tab\-completion in all npm commands\. -. .P The synopsis above loads the completions into your current shell\. Adding it to your ~/\.bashrc or ~/\.zshrc will make the completions available everywhere\. -. .P You may of course also pipe the output of npm completion to a file such as \fB/usr/local/etc/bash_completion\.d/npm\fR if you have a system that will read that file for you\. -. .P When \fBCOMP_CWORD\fR, \fBCOMP_LINE\fR, and \fBCOMP_POINT\fR are defined in the environment, \fBnpm completion\fR acts in "plumbing mode", and outputs completions based on the arguments\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 developers -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help npm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1 index 0b019c7c02..ca7d69d1ba 100644 --- a/deps/npm/man/man1/npm-config.1 +++ b/deps/npm/man/man1/npm-config.1 @@ -1,14 +1,10 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-CONFIG" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-config\fR \-\- Manage the npm configuration files -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-config\fR \- Manage the npm configuration files +.SH SYNOPSIS +.P +.RS 2 +.EX npm config set <key> <value> [\-\-global] npm config get <key> npm config delete <key> @@ -17,97 +13,83 @@ npm config edit npm c [set|get|delete|list] npm get <key> npm set <key> <value> [\-\-global] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P npm gets its config settings from the command line, environment variables, \fBnpmrc\fR files, and in some cases, the \fBpackage\.json\fR file\. -. .P See npm help 5 npmrc for more information about the npmrc files\. -. .P See npm help 7 \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" +.SH Sub\-commands +.P Config supports the following sub\-commands: -. -.SS "set" -. -.nf +.SS set +.P +.RS 2 +.EX npm config set key value -. -.fi -. +.EE +.RE .P Sets the config key to the value\. -. .P If value is omitted, then it sets it to "true"\. -. -.SS "get" -. -.nf +.SS get +.P +.RS 2 +.EX npm config get key -. -.fi -. +.EE +.RE .P Echo the config value to stdout\. -. -.SS "list" -. -.nf +.SS list +.P +.RS 2 +.EX npm config list -. -.fi -. +.EE +.RE .P Show all the config settings\. -. -.SS "delete" -. -.nf +.SS delete +.P +.RS 2 +.EX npm config delete key -. -.fi -. +.EE +.RE .P Deletes the key from all configuration files\. -. -.SS "edit" -. -.nf +.SS edit +.P +.RS 2 +.EX npm config edit -. -.fi -. +.EE +.RE .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 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help npm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1 index cdfa3520f6..58c01ca287 100644 --- a/deps/npm/man/man1/npm-dedupe.1 +++ b/deps/npm/man/man1/npm-dedupe.1 @@ -1,96 +1,74 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-DEDUPE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-dedupe\fR \-\- Reduce duplication -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-dedupe\fR \- Reduce duplication +.SH SYNOPSIS +.P +.RS 2 +.EX npm dedupe [package names\.\.\.] npm ddp [package names\.\.\.] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Searches the local package tree and attempts to simplify the overall structure by moving dependencies further up the tree, where they can be more effectively shared by multiple dependent packages\. -. .P For example, consider this dependency graph: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX a +\-\- b <\-\- depends on c@1\.0\.x | `\-\- c@1\.0\.3 `\-\- d <\-\- depends on c@~1\.0\.9 `\-\- c@1\.0\.10 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P In this case, npm help \fBnpm\-dedupe\fR will transform the tree to: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX a +\-\- b +\-\- d `\-\- c@1\.0\.10 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -Because of the hierarchical nature of node\'s module lookup, b and d +Because of the hierarchical nature of node's module lookup, b and d will both get their dependency met by the single c package at the root level of the tree\. -. .P If a suitable version exists at the target location in the tree already, then it will be left untouched, but the other duplicates will be deleted\. -. .P If no suitable version can be found, then a warning is printed, and nothing is done\. -. .P If any arguments are supplied, then they are filters, and only the named packages will be touched\. -. .P Note that this operation transforms the dependency tree, and may result in packages getting updated versions, perhaps from the npm registry\. -. .P This feature is experimental, and may change in future versions\. -. .P The \fB\-\-tag\fR argument will apply to all of the affected dependencies\. If a tag with the given name exists, the tagged version is preferred over newer versions\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help ls -. -.IP "\(bu" 4 +.IP \(bu 2 npm help update -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1 index cc2d18ee52..3ff2f88e9c 100644 --- a/deps/npm/man/man1/npm-deprecate.1 +++ b/deps/npm/man/man1/npm-deprecate.1 @@ -1,48 +1,37 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-DEPRECATE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-deprecate\fR \-\- Deprecate a version of a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-deprecate\fR \- Deprecate a version of a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm deprecate <name>[@<version>] <message> -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command will update the npm registry entry for a package, providing a deprecation warning to all who attempt to install it\. -. .P It works on version ranges as well as specific versions, so you can do something like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm deprecate my\-thing@"< 0\.2\.3" "critical bug fixed in v0\.2\.3" -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -Note that you must be the package owner to deprecate something\. See the \fBowner\fR and \fBadduser\fR help topics\. -. +Note that you must be the package owner to deprecate something\. See the +\fBowner\fR and \fBadduser\fR help topics\. .P To un\-deprecate a package, specify an empty string (\fB""\fR) for the \fBmessage\fR argument\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1 index db3d4e768f..0a55953b0c 100644 --- a/deps/npm/man/man1/npm-docs.1 +++ b/deps/npm/man/man1/npm-docs.1 @@ -1,78 +1,60 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-DOCS" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-docs\fR \- Docs for a package in a web browser maybe +.SH SYNOPSIS +.P +.RS 2 +.EX npm docs [<pkgname> [<pkgname> \.\.\.]] npm docs (with no args in a package dir) npm home [<pkgname> [<pkgname> \.\.\.]] npm home (with no args in a package dir) -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s +.EE +.RE +.SH DESCRIPTION +.P +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\. You can pass multiple package names at once\. If no package name is provided, it will search for a \fBpackage\.json\fR in the current folder and use the \fBname\fR property\. -. -.SH "CONFIGURATION" -. -.SS "browser" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS browser +.RS 0 +.IP \(bu 2 Default: OS X: \fB"open"\fR, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P The browser that is called by the \fBnpm docs\fR command to open websites\. -. -.SS "registry" -. -.IP "\(bu" 4 +.SS registry +.RS 0 +.IP \(bu 2 Default: https://registry\.npmjs\.org/ -. -.IP "\(bu" 4 +.IP \(bu 2 Type: url -. -.IP "" 0 -. + +.RE .P The base URL of the npm package registry\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help view -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1 index 036d0715a4..d7f4056154 100644 --- a/deps/npm/man/man1/npm-edit.1 +++ b/deps/npm/man/man1/npm-edit.1 @@ -1,66 +1,50 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-EDIT" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-edit\fR \-\- Edit an installed package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-edit\fR \- Edit an installed package +.SH SYNOPSIS +.P +.RS 2 +.EX npm edit <name>[@<version>] -. -.fi -. -.SH "DESCRIPTION" -Opens the package folder in the default editor (or whatever you\'ve +.EE +.RE +.SH DESCRIPTION +.P +Opens the package folder in the default editor (or whatever you've configured as the npm \fBeditor\fR config \-\- see npm help 7 \fBnpm\-config\fR\|\.) -. .P After it has been edited, the package is rebuilt so as to pick up any changes in compiled packages\. -. .P For instance, you can do \fBnpm install connect\fR to install connect into your package, and then \fBnpm edit connect\fR to make a few changes to your locally installed copy\. -. -.SH "CONFIGURATION" -. -.SS "editor" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS editor +.RS 0 +.IP \(bu 2 Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix, or \fB"notepad"\fR on Windows\. -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help explore -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1 index c7d570745c..01f91bff91 100644 --- a/deps/npm/man/man1/npm-explore.1 +++ b/deps/npm/man/man1/npm-explore.1 @@ -1,76 +1,57 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-EXPLORE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-explore\fR \-\- Browse an installed package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-explore\fR \- Browse an installed package +.SH SYNOPSIS +.P +.RS 2 +.EX npm explore <name> [ \-\- <cmd>] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Spawn a subshell in the directory of the installed package specified\. -. .P If a command is specified, then it is run in the subshell, which then immediately terminates\. -. .P -This is particularly handy in the case of git submodules in the \fBnode_modules\fR folder: -. -.IP "" 4 -. -.nf +This is particularly handy in the case of git submodules in the +\fBnode_modules\fR folder: +.P +.RS 2 +.EX npm explore some\-dependency \-\- git pull origin master -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Note that the package is \fInot\fR automatically rebuilt afterwards, so be sure to use \fBnpm rebuild <pkg>\fR if you make any changes\. -. -.SH "CONFIGURATION" -. -.SS "shell" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS shell +.RS 0 +.IP \(bu 2 Default: SHELL environment variable, or "bash" on Posix, or "cmd" on Windows -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P The shell to run for the \fBnpm explore\fR command\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help submodule -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help edit -. -.IP "\(bu" 4 +.IP \(bu 2 npm help rebuild -. -.IP "\(bu" 4 +.IP \(bu 2 npm help build -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1 index 37ba03c796..78864694ac 100644 --- a/deps/npm/man/man1/npm-help-search.1 +++ b/deps/npm/man/man1/npm-help-search.1 @@ -1,59 +1,45 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-HELP\-SEARCH" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-help-search\fR \-\- Search npm help documentation -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-help-search\fR \- Search npm help documentation +.SH SYNOPSIS +.P +.RS 2 +.EX npm help\-search some search terms -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command will search the npm markdown documentation files for the terms provided, and then list the results, sorted by relevance\. -. .P If only one result is found, then it will show that help topic\. -. .P If the argument to \fBnpm help\fR is not a known help topic, then it will call \fBhelp\-search\fR\|\. It is rarely if ever necessary to call this command directly\. -. -.SH "CONFIGURATION" -. -.SS "long" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS long +.RS 0 +.IP \(bu 2 Type: Boolean -. -.IP "\(bu" 4 +.IP \(bu 2 Default false -. -.IP "" 0 -. + +.RE .P If true, the "long" flag will cause help\-search to output context around where the terms were found in the documentation\. -. .P If false, then help\-search will just list out the help topics found\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help npm -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help help -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1 index 7cc361f463..b0456ef22e 100644 --- a/deps/npm/man/man1/npm-help.1 +++ b/deps/npm/man/man1/npm-help.1 @@ -1,77 +1,57 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-HELP" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-help\fR \-\- Get help on npm -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-help\fR \- Get help on npm +.SH SYNOPSIS +.P +.RS 2 +.EX npm help <topic> npm help some search terms -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P If supplied a topic, then show the appropriate documentation page\. -. .P If the topic does not exist, or if multiple terms are provided, then run the \fBhelp\-search\fR command to find a match\. Note that, if \fBhelp\-search\fR finds a single subject, then it will run \fBhelp\fR on that topic, so unique matches are equivalent to specifying a topic name\. -. -.SH "CONFIGURATION" -. -.SS "viewer" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS viewer +.RS 0 +.IP \(bu 2 Default: "man" on Posix, "browser" on Windows -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .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\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help npm -. -.IP "\(bu" 4 +.IP \(bu 2 README -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help help\-search -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 index -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1 index 5091fdefd8..93e3845754 100644 --- a/deps/npm/man/man1/npm-init.1 +++ b/deps/npm/man/man1/npm-init.1 @@ -1,43 +1,33 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-INIT" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-init\fR \-\- Interactively create a package\.json file -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-init\fR \- Interactively create a package\.json file +.SH SYNOPSIS +.P +.RS 2 +.EX npm init -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This will ask you a bunch of questions, and then write a package\.json for you\. -. .P It attempts to make reasonable guesses about what you want things to be set to, -and then writes a package\.json file with the options you\'ve selected\. -. +and then writes a package\.json file with the options you've selected\. .P -If you already have a package\.json file, it\'ll read that first, and default to +If you already have a package\.json file, it'll read that first, and default to the options in there\. -. .P It is strictly additive, so it does not delete options from your package\.json without a really good reason to do so\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 -\fIhttps://github\.com/isaacs/init\-package\-json\fR -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 +https://github\.com/isaacs/init\-package\-json +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help version -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1 index 7e874f3490..ad6bdf55bb 100644 --- a/deps/npm/man/man1/npm-install.1 +++ b/deps/npm/man/man1/npm-install.1 @@ -1,335 +1,270 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-INSTALL" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-install\fR \-\- Install a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-install\fR \- Install a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm install (with no args in a package dir) npm install <tarball file> npm install <tarball url> npm install <folder> -npm install <name> [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact] -npm install <name>@<tag> -npm install <name>@<version> -npm install <name>@<version range> +npm install [@<scope>/]<name> [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact] +npm install [@<scope>/]<name>@<tag> +npm install [@<scope>/]<name>@<version> +npm install [@<scope>/]<name>@<version range> npm i (with any of the previous argument usage) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P 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\. -. .P A \fBpackage\fR is: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 a) a folder containing a program described by a package\.json file -. -.IP "\(bu" 4 +.IP \(bu 2 b) a gzipped tarball containing (a) -. -.IP "\(bu" 4 +.IP \(bu 2 c) a url that resolves to (b) -. -.IP "\(bu" 4 +.IP \(bu 2 d) a \fB<name>@<version>\fR that is published on the registry (see npm help 7 \fBnpm\-registry\fR) with (c) -. -.IP "\(bu" 4 +.IP \(bu 2 e) a \fB<name>@<tag>\fR that points to (d) -. -.IP "\(bu" 4 +.IP \(bu 2 f) a \fB<name>\fR that has a "latest" tag satisfying (e) -. -.IP "\(bu" 4 +.IP \(bu 2 g) a \fB<git remote url>\fR that resolves to (b) -. -.IP "" 0 -. + +.RE .P Even if you never publish your package, you can still get a lot of benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b)\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \fBnpm install\fR (in package directory, no arguments): -. -.IP -Install the dependencies in the local node_modules folder\. -. -.IP -In global mode (ie, with \fB\-g\fR or \fB\-\-global\fR appended to the command), -it installs the current package context (ie, the current working -directory) as a global package\. -. -.IP -By default, \fBnpm install\fR will install all modules listed as -dependencies\. With the \fB\-\-production\fR flag, -npm will not install modules listed in \fBdevDependencies\fR\|\. -. -.IP "\(bu" 4 + Install the dependencies in the local node_modules folder\. + In global mode (ie, with \fB\-g\fR or \fB\-\-global\fR appended to the command), + it installs the current package context (ie, the current working + directory) as a global package\. + By default, \fBnpm install\fR will install all modules listed as + dependencies\. With the \fB\-\-production\fR flag, + npm will not install modules listed in \fBdevDependencies\fR\|\. +.IP \(bu 2 \fBnpm install <folder>\fR: -. -.IP -Install a package that is sitting in a folder on the filesystem\. -. -.IP "\(bu" 4 + Install a package that is sitting in a folder on the filesystem\. +.IP \(bu 2 \fBnpm install <tarball file>\fR: -. -.IP -Install a package that is sitting on the filesystem\. Note: if you just want -to link a dev directory into your npm root, you can do this more easily by -using \fBnpm link\fR\|\. -. -.IP -Example: -. -.IP "" 4 -. -.nf - npm install \./package\.tgz -. -.fi -. -.IP "" 0 - -. -.IP "\(bu" 4 + Install a package that is sitting on the filesystem\. Note: if you just want + to link a dev directory into your npm root, you can do this more easily by + using \fBnpm link\fR\|\. + Example: +.P +.RS 2 +.EX + npm install \./package\.tgz +.EE +.RE +.IP \(bu 2 \fBnpm install <tarball url>\fR: -. -.IP -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://" -. -.IP -Example: -. -.IP "" 4 -. -.nf - npm install https://github\.com/indexzero/forever/tarball/v0\.5\.6 -. -.fi -. -.IP "" 0 - -. -.IP "\(bu" 4 -\fBnpm install <name> [\-\-save|\-\-save\-dev|\-\-save\-optional]\fR: -. -.IP -Do a \fB<name>@<tag>\fR install, where \fB<tag>\fR is the "tag" config\. (See npm help 7 \fBnpm\-config\fR\|\.) -. -.IP -In most cases, this will install the latest version -of the module published on npm\. -. -.IP -Example: -. -.IP - npm install sax -. -.IP -\fBnpm install\fR takes 3 exclusive, optional flags which save or update -the package version in your main package\.json: -. -.IP "\(bu" 4 + 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: +.P +.RS 2 +.EX + npm install https://github\.com/indexzero/forever/tarball/v0\.5\.6 +.EE +.RE +.IP \(bu 2 +\fBnpm install [@<scope>/]<name> [\-\-save|\-\-save\-dev|\-\-save\-optional]\fR: + Do a \fB<name>@<tag>\fR install, where \fB<tag>\fR is the "tag" config\. (See + npm help 7 \fBnpm\-config\fR\|\.) + In most cases, this will install the latest version + of the module published on npm\. + Example: +.P +.RS 2 +.EX + npm install sax +.EE +.RE + \fBnpm install\fR takes 3 exclusive, optional flags which save or update + the package version in your main package\.json: +.RS 0 +.IP \(bu 2 \fB\-\-save\fR: Package will appear in your \fBdependencies\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-\-save\-dev\fR: Package will appear in your \fBdevDependencies\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-\-save\-optional\fR: Package will appear in your \fBoptionalDependencies\fR\|\. -. -.IP When using any of the above options to save dependencies to your package\.json, there is an additional, optional flag: -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-\-save\-exact\fR: Saved dependencies will be configured with an -exact version rather than using npm\'s default semver range +exact version rather than using npm's default semver range operator\. -. -.IP +\fB<scope>\fR is optional\. The package will be downloaded from the registry +associated with the specified scope\. If no registry is associated with +the given scope the default registry is assumed\. See npm help 7 \fBnpm\-scope\fR\|\. +Note: if you do not include the @\-symbol on your scope name, npm will +interpret this as a GitHub repository instead, see below\. Scopes names +must also be followed by a slash\. Examples: -. -.IP - npm install sax \-\-save - npm install node\-tap \-\-save\-dev - npm install dtrace\-provider \-\-save\-optional - npm install readable\-stream \-\-save \-\-save\-exact -. -.IP -\fBNote\fR: If there is a file or folder named \fB<name>\fR in the current -working directory, then it will try to install that, and only try to -fetch the package by name if it is not valid\. -. -.IP "" 0 - -. -.IP "\(bu" 4 -\fBnpm install <name>@<tag>\fR: -. -.IP -Install the version of the package that is referenced by the specified tag\. -If the tag does not exist in the registry data for that package, then this -will fail\. -. -.IP -Example: -. -.IP "" 4 -. -.nf - npm install sax@latest -. -.fi -. -.IP "" 0 +.P +.RS 2 +.EX +npm install sax \-\-save +npm install githubname/reponame +npm install @myorg/privatepackage +npm install node\-tap \-\-save\-dev +npm install dtrace\-provider \-\-save\-optional +npm install readable\-stream \-\-save \-\-save\-exact +.EE +.RE -. -.IP "\(bu" 4 -\fBnpm install <name>@<version>\fR: -. -.IP -Install the specified version of the package\. This will fail if the version -has not been published to the registry\. -. -.IP -Example: -. -.IP "" 4 -. -.nf - npm install sax@0\.1\.1 -. -.fi -. -.IP "" 0 +.RE -. -.IP "\(bu" 4 -\fBnpm install <name>@<version range>\fR: -. -.IP -Install a version of the package matching the specified version range\. This -will follow the same rules for resolving dependencies described in npm help 5 \fBpackage\.json\fR\|\. -. -.IP -Note that most version ranges must be put in quotes so that your shell will -treat it as a single argument\. -. -.IP -Example: -. -.IP - npm install sax@">=0\.1\.0 <0\.2\.0" -. -.IP "\(bu" 4 +.RE +.P +.RS 2 +.EX +**Note**: If there is a file or folder named `<name>` in the current +working directory, then it will try to install that, and only try to +fetch the package by name if it is not valid\. +.EE +.RE +.RS 0 +.IP \(bu 2 +\fBnpm install [@<scope>/]<name>@<tag>\fR: + Install the version of the package that is referenced by the specified tag\. + If the tag does not exist in the registry data for that package, then this + will fail\. + Example: +.P +.RS 2 +.EX + npm install sax@latest + npm install @myorg/mypackage@latest +.EE +.RE +.IP \(bu 2 +\fBnpm install [@<scope>/]<name>@<version>\fR: + Install the specified version of the package\. This will fail if the + version has not been published to the registry\. + Example: +.P +.RS 2 +.EX + npm install sax@0\.1\.1 + npm install @myorg/privatepackage@1\.5\.0 +.EE +.RE +.IP \(bu 2 +\fBnpm install [@<scope>/]<name>@<version range>\fR: + Install a version of the package matching the specified version range\. This + will follow the same rules for resolving dependencies described in npm help 5 \fBpackage\.json\fR\|\. + Note that most version ranges must be put in quotes so that your shell will + treat it as a single argument\. + Example: +.P +.RS 2 +.EX + npm install sax@">=0\.1\.0 <0\.2\.0" + npm install @myorg/privatepackage@">=0\.1\.0 <0\.2\.0" +.EE +.RE +.IP \(bu 2 +\fBnpm install <githubname>/<githubrepo>\fR: + Install the package at \fBhttps://github\.com/githubname/githubrepo" by + attempting to clone it using\fRgit`\. + Example: +.P +.RS 2 +.EX + npm install mygithubuser/myproject +.EE +.RE + To reference a package in a git repo that is not on GitHub, see git + remote urls below\. +.IP \(bu 2 \fBnpm install <git remote url>\fR: -. -.IP -Install a package by cloning a git remote url\. The format of the git -url is: -. -.IP - <protocol>://[<user>@]<hostname><separator><path>[#<commit\-ish>] -. -.IP -\fB<protocol>\fR is one of \fBgit\fR, \fBgit+ssh\fR, \fBgit+http\fR, or \fBgit+https\fR\|\. If no \fB<commit\-ish>\fR is specified, then \fBmaster\fR is -used\. -. -.IP -Examples: -. -.IP "" 4 -. -.nf - git+ssh://git@github\.com:npm/npm\.git#v1\.0\.27 - git+https://isaacs@github\.com/npm/npm\.git - git://github\.com/npm/npm\.git#v1\.0\.27 -. -.fi -. -.IP "" 0 + Install a package by cloning a git remote url\. The format of the git + url is: +.P +.RS 2 +.EX + <protocol>://[<user>@]<hostname><separator><path>[#<commit\-ish>] +.EE +.RE + \fB<protocol>\fR is one of \fBgit\fR, \fBgit+ssh\fR, \fBgit+http\fR, or + \fBgit+https\fR\|\. If no \fB<commit\-ish>\fR is specified, then \fBmaster\fR is + used\. + Examples: +.P +.RS 2 +.EX + git+ssh://git@github\.com:npm/npm\.git#v1\.0\.27 + git+https://isaacs@github\.com/npm/npm\.git + git://github\.com/npm/npm\.git#v1\.0\.27 +.EE +.RE -. -.IP "" 0 -. +.RE .P You may combine multiple arguments, and even multiple types of arguments\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm install sax@">=0\.1\.0 <0\.2\.0" bench supervisor -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The \fB\-\-tag\fR argument will apply to all of the specified install targets\. If a tag with the given name exists, the tagged version is preferred over newer versions\. -. .P The \fB\-\-force\fR argument will force npm to fetch remote resources even if a local copy exists on disk\. -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm install sax \-\-force -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The \fB\-\-global\fR argument will cause npm to install the package globally rather than locally\. See npm help 5 \fBnpm\-folders\fR\|\. -. .P The \fB\-\-link\fR argument will cause npm to link global installs into the local space in some cases\. -. .P The \fB\-\-no\-bin\-links\fR argument will prevent npm from creating symlinks for any binaries the package might contain\. -. .P The \fB\-\-no\-optional\fR argument will prevent optional dependencies from being installed\. -. .P The \fB\-\-no\-shrinkwrap\fR argument, which will ignore an available shrinkwrap file and use the package\.json instead\. -. .P 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 npm help 7 \fBnpm\-config\fR\|\. Many of the configuration params have some -effect on installation, since that\'s most of what npm does\. -. -.SH "ALGORITHM" +effect on installation, since that's most of what npm does\. +.SH ALGORITHM +.P To install a package, npm uses the following algorithm: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX install(where, what, family, ancestors) fetch what, unpack to <where>/node_modules/<what> for each dep in what\.dependencies @@ -339,103 +274,78 @@ for each dep@version in what\.dependencies and not in <family> add precise version deps to <family> install(<where>/node_modules/<what>, dep, family) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P For this \fBpackage{dep}\fR structure: \fBA{B,C}, B{C}, C{D}\fR, this algorithm produces: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX A +\-\- B `\-\- C `\-\- D -. -.fi -. -.IP "" 0 -. +.EE +.RE .P 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 5 folders for a more detailed description of the specific folder structures that npm creates\. -. -.SS "Limitations of npm's Install Algorithm" +.SS Limitations of npm's Install Algorithm +.P There are some very rare and pathological edge\-cases where a cycle can cause npm to try to install a never\-ending tree of packages\. Here is the simplest case: -. -.IP "" 4 -. -.nf -A \-> B \-> A\' \-> B\' \-> A \-> B \-> A\' \-> B\' \-> A \-> \.\.\. -. -.fi -. -.IP "" 0 -. -.P -where \fBA\fR is some version of a package, and \fBA\'\fR is a different version +.P +.RS 2 +.EX +A \-> B \-> A' \-> B' \-> A \-> B \-> A' \-> B' \-> A \-> \.\.\. +.EE +.RE +.P +where \fBA\fR is some version of a package, and \fBA'\fR is a different version of the same package\. Because \fBB\fR depends on a different version of \fBA\fR than the one that is already in the tree, it must install a separate -copy\. The same is true of \fBA\'\fR, which must install \fBB\'\fR\|\. Because \fBB\'\fR +copy\. The same is true of \fBA'\fR, which must install \fBB'\fR\|\. Because \fBB'\fR depends on the original version of \fBA\fR, which has been overridden, the cycle falls into infinite regress\. -. .P -To avoid this situation, npm flat\-out refuses to install any \fBname@version\fR that is already present anywhere in the tree of package +To avoid this situation, npm flat\-out refuses to install any +\fBname@version\fR that is already present anywhere in the tree of package folder ancestors\. A more correct, but more complex, solution would be to symlink the existing version into the new location\. If this ever affects a real use\-case, it will be investigated\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help update -. -.IP "\(bu" 4 +.IP \(bu 2 npm help link -. -.IP "\(bu" 4 +.IP \(bu 2 npm help rebuild -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help build -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help tag -. -.IP "\(bu" 4 +.IP \(bu 2 npm help rm -. -.IP "\(bu" 4 +.IP \(bu 2 npm help shrinkwrap -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1 index 15d45e4e07..11ef2dca14 100644 --- a/deps/npm/man/man1/npm-link.1 +++ b/deps/npm/man/man1/npm-link.1 @@ -1,119 +1,100 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-LINK" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-link\fR \-\- Symlink a package folder -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-link\fR \- Symlink a package folder +.SH SYNOPSIS +.P +.RS 2 +.EX npm link (in package folder) -npm link <pkgname> +npm link [@<scope>/]<pkgname> npm ln (with any of the previous argument usage) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P 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\. -. +symbolic link from \fBprefix/package\-name\fR to the current folder (see +npm help 7 \fBnpm\-config\fR for the value of \fBprefix\fR)\. .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 Note that \fBpackage\-name\fR is taken from \fBpackage\.json\fR, not from directory name\. -. +.P +The package name can be optionally prefixed with a scope\. See npm help 7 \fBnpm\-scope\fR\|\. +The scope must by preceded by an @\-symbol and followed by a slash\. .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\. -. +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 +.P +.RS 2 +.EX 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 -. +.EE +.RE .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 +.P +.RS 2 +.EX 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 -. +.EE +.RE .P The second line is the equivalent of doing: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX (cd \.\./node\-redis; npm link) npm link redis -. -.fi -. -.IP "" 0 -. +.EE +.RE .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 +installation target into your project's \fBnode_modules\fR folder\. +.P +If your linked package is scoped (see npm help 7 \fBnpm\-scope\fR) your link command must +include that scope, e\.g\. +.P +.RS 2 +.EX +npm link @myorg/privatepackage +.EE +.RE +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 developers -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index 1584fb0f28..64db5a46eb 100644 --- a/deps/npm/man/man1/npm-ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -1,146 +1,111 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-LS" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-ls\fR \-\- List installed packages -. -.SH "SYNOPSIS" -. -.nf -npm list [<pkg> \.\.\.] -npm ls [<pkg> \.\.\.] -npm la [<pkg> \.\.\.] -npm ll [<pkg> \.\.\.] -. -.fi -. -.SH "DESCRIPTION" +\fBnpm-ls\fR \- List installed packages +.SH SYNOPSIS +.P +.RS 2 +.EX +npm list [[@<scope>/]<pkg> \.\.\.] +npm ls [[@<scope>/]<pkg> \.\.\.] +npm la [[@<scope>/]<pkg> \.\.\.] +npm ll [[@<scope>/]<pkg> \.\.\.] +.EE +.RE +.SH DESCRIPTION +.P 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.4.28 /path/to/npm +For example, running \fBnpm ls promzard\fR in npm's source tree will show: +.P +.RS 2 +.EX +npm@2.0.0 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P It will print out extraneous, missing, and invalid packages\. -. .P If a project specifies git urls for dependencies these are shown in parentheses after the name@version to make it easier for users to recognize potential forks of a project\. -. .P When run as \fBll\fR or \fBla\fR, it shows extended information by default\. -. -.SH "CONFIGURATION" -. -.SS "json" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS json +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show information in JSON format\. -. -.SS "long" -. -.IP "\(bu" 4 +.SS long +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show extended information\. -. -.SS "parseable" -. -.IP "\(bu" 4 +.SS parseable +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show parseable output instead of tree view\. -. -.SS "global" -. -.IP "\(bu" 4 +.SS global +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P List packages in the global install prefix instead of in the current project\. -. -.SS "depth" -. -.IP "\(bu" 4 +.SS depth +.RS 0 +.IP \(bu 2 Type: Int -. -.IP "" 0 -. + +.RE .P Max display depth of the dependency tree\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help link -. -.IP "\(bu" 4 +.IP \(bu 2 npm help prune -. -.IP "\(bu" 4 +.IP \(bu 2 npm help outdated -. -.IP "\(bu" 4 +.IP \(bu 2 npm help update -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1 index 7376fcd24a..589bd6d527 100644 --- a/deps/npm/man/man1/npm-outdated.1 +++ b/deps/npm/man/man1/npm-outdated.1 @@ -1,102 +1,79 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-OUTDATED" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-outdated\fR \-\- Check for outdated packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-outdated\fR \- Check for outdated packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm outdated [<name> [<name> \.\.\.]] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command will check the registry to see if any (or, specific) installed packages are currently outdated\. -. .P -The resulting field \'wanted\' shows the latest version according to the -version specified in the package\.json, the field \'latest\' the very latest +The resulting field 'wanted' shows the latest version according to the +version specified in the package\.json, the field 'latest' the very latest version of the package\. -. -.SH "CONFIGURATION" -. -.SS "json" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS json +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show information in JSON format\. -. -.SS "long" -. -.IP "\(bu" 4 +.SS long +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show extended information\. -. -.SS "parseable" -. -.IP "\(bu" 4 +.SS parseable +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show parseable output instead of tree view\. -. -.SS "global" -. -.IP "\(bu" 4 +.SS global +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Check packages in the global install prefix instead of in the current project\. -. -.SS "depth" -. -.IP "\(bu" 4 +.SS depth +.RS 0 +.IP \(bu 2 Type: Int -. -.IP "" 0 -. + +.RE .P Max depth for checking dependency tree\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help update -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1 index f204431e5d..c073a8b873 100644 --- a/deps/npm/man/man1/npm-owner.1 +++ b/deps/npm/man/man1/npm-owner.1 @@ -1,58 +1,47 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-OWNER" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-owner\fR \-\- Manage package owners -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-owner\fR \- Manage package owners +.SH SYNOPSIS +.P +.RS 2 +.EX npm owner ls <package name> npm owner add <user> <package name> npm owner rm <user> <package name> -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Manage ownership of published packages\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 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 +.IP \(bu 2 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 +.IP \(bu 2 rm: Remove a user from the package owner list\. This immediately revokes their privileges\. -. -.IP "" 0 -. + +.RE .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 +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 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 disputes -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1 index 951d209adb..e90f3789bd 100644 --- a/deps/npm/man/man1/npm-pack.1 +++ b/deps/npm/man/man1/npm-pack.1 @@ -1,48 +1,37 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PACK" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-pack\fR \-\- Create a tarball from a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-pack\fR \- Create a tarball from a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm pack [<pkg> [<pkg> \.\.\.]] -. -.fi -. -.SH "DESCRIPTION" -For anything that\'s installable (that is, a package folder, tarball, +.EE +.RE +.SH DESCRIPTION +.P +For anything that's installable (that is, a package folder, tarball, tarball url, name@tag, name@version, or name), this command will fetch it to the cache, and then copy the tarball to the current working directory as \fB<name>\-<version>\.tgz\fR, and then write the filenames out to stdout\. -. .P If the same package is specified multiple times, then the file will be overwritten the second time\. -. .P If no arguments are supplied, then npm packs the current package folder\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help cache -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1 index 9cc3f7cadd..373f5e4abe 100644 --- a/deps/npm/man/man1/npm-prefix.1 +++ b/deps/npm/man/man1/npm-prefix.1 @@ -1,40 +1,34 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PREFIX" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-prefix\fR \-\- Display prefix -. -.SH "SYNOPSIS" -. -.nf -npm prefix -. -.fi -. -.SH "DESCRIPTION" -Print the prefix to standard out\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +\fBnpm-prefix\fR \- Display prefix +.SH SYNOPSIS +.P +.RS 2 +.EX +npm prefix [\-g] +.EE +.RE +.SH DESCRIPTION +.P +Print the local prefix to standard out\. This is the closest parent directory +to contain a package\.json file unless \fB\-g\fR is also specified\. +.P +If \fB\-g\fR is specified, this will be the value of the global prefix\. See +npm help 7 \fBnpm\-config\fR for more detail\. +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help root -. -.IP "\(bu" 4 +.IP \(bu 2 npm help bin -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1 index 71bb77c407..3c8a66a7fc 100644 --- a/deps/npm/man/man1/npm-prune.1 +++ b/deps/npm/man/man1/npm-prune.1 @@ -1,42 +1,33 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PRUNE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-prune\fR \-\- Remove extraneous packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-prune\fR \- Remove extraneous packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm prune [<name> [<name \.\.\.]] npm prune [<name> [<name \.\.\.]] [\-\-production] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command removes "extraneous" packages\. If a package name is provided, then only packages matching one of the supplied names are removed\. -. .P Extraneous packages are packages that are not listed on the parent -package\'s dependencies list\. -. +package's dependencies list\. .P If the \fB\-\-production\fR flag is specified, this command will remove the packages specified in your \fBdevDependencies\fR\|\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help rm -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help ls -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1 index 547ad64ed6..ff5a14917a 100644 --- a/deps/npm/man/man1/npm-publish.1 +++ b/deps/npm/man/man1/npm-publish.1 @@ -1,64 +1,55 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PUBLISH" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-publish\fR \-\- Publish a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-publish\fR \- Publish a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm publish <tarball> [\-\-tag <tag>] npm publish <folder> [\-\-tag <tag>] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Publishes a package to the registry so that it can be installed by name\. -. -.IP "\(bu" 4 +.P +By default npm will publish to the public registry\. This can be overridden by +specifying a different default registry or using a npm help 7 \fBnpm\-scope\fR in the name +(see npm help 5 \fBpackage\.json\fR)\. +.RS 0 +.IP \(bu 2 \fB<folder>\fR: A folder containing a package\.json file -. -.IP "\(bu" 4 +.IP \(bu 2 \fB<tarball>\fR: A url or file path to a gzipped tar archive containing a single folder with a package\.json file inside\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fB[\-\-tag <tag>]\fR Registers the published package with the given tag, such that \fBnpm install <name>@<tag>\fR will install this version\. By default, \fBnpm publish\fR updates and \fBnpm install\fR installs the \fBlatest\fR tag\. -. -.IP "" 0 -. + +.RE .P Fails if the package name and version combination already exists in -the registry\. -. +the specified registry\. .P Once a package is published with a given name and version, that specific name and version combination can never be used again, even if it is removed with npm help unpublish\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "\(bu" 4 +.IP \(bu 2 npm help owner -. -.IP "\(bu" 4 +.IP \(bu 2 npm help deprecate -. -.IP "\(bu" 4 +.IP \(bu 2 npm help tag -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1 index 4130eb773f..f8d52a9a1a 100644 --- a/deps/npm/man/man1/npm-rebuild.1 +++ b/deps/npm/man/man1/npm-rebuild.1 @@ -1,37 +1,31 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-REBUILD" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-rebuild\fR \-\- Rebuild a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-rebuild\fR \- Rebuild a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm rebuild [<name> [<name> \.\.\.]] npm rb [<name> [<name> \.\.\.]] -. -.fi -. -.IP "\(bu" 4 +.EE +.RE +.RS 0 +.IP \(bu 2 \fB<name>\fR: The package to rebuild -. -.IP "" 0 -. -.SH "DESCRIPTION" + +.RE +.SH DESCRIPTION +.P This command runs the \fBnpm build\fR command on the matched folders\. This is useful when you install a new version of node, and must recompile all your C++ addons with the new binary\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help build -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1 index 557a3566ea..57c48fb3f5 100644 --- a/deps/npm/man/man1/npm-repo.1 +++ b/deps/npm/man/man1/npm-repo.1 @@ -1,47 +1,37 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-REPO" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-repo\fR \-\- Open package repository page in the browser -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-repo\fR \- Open package repository page in the browser +.SH SYNOPSIS +.P +.RS 2 +.EX npm repo <pkgname> npm repo (with no args in a package dir) -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s +.EE +.RE +.SH DESCRIPTION +.P +This command tries to guess at the likely location of a package's repository URL, and then tries to open it using the \fB\-\-browser\fR config param\. If no package name is provided, it will search for a \fBpackage\.json\fR in the current folder and use the \fBname\fR property\. -. -.SH "CONFIGURATION" -. -.SS "browser" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS browser +.RS 0 +.IP \(bu 2 Default: OS X: \fB"open"\fR, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P The browser that is called by the \fBnpm repo\fR command to open websites\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help docs -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1 index 828a43f30f..a4f95db758 100644 --- a/deps/npm/man/man1/npm-restart.1 +++ b/deps/npm/man/man1/npm-restart.1 @@ -1,42 +1,32 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-RESTART" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-restart\fR \-\- Start a package -. -.SH "SYNOPSIS" -. -.nf -npm restart <name> -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "restart" script, if one was provided\. -Otherwise it runs package\'s "stop" script, if one was provided, and then +\fBnpm-restart\fR \- Start a package +.SH SYNOPSIS +.P +.RS 2 +.EX +npm restart [\-\- <args>] +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "restart" script, if one was provided\. +Otherwise it runs package's "stop" script, if one was provided, and then the "start" script\. -. .P If no version is specified, then it restarts the "active" version\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help run\-script -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help test -. -.IP "\(bu" 4 +.IP \(bu 2 npm help start -. -.IP "\(bu" 4 +.IP \(bu 2 npm help stop -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-rm.1 b/deps/npm/man/man1/npm-rm.1 index 424314c7d5..e9df0ff14f 100644 --- a/deps/npm/man/man1/npm-rm.1 +++ b/deps/npm/man/man1/npm-rm.1 @@ -1,44 +1,34 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-RM" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-rm\fR \-\- Remove a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-rm\fR \- Remove a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm rm <name> npm r <name> npm uninstall <name> npm un <name> -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This uninstalls a package, completely removing everything npm installed on its behalf\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help prune -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1 index 463eeaf934..b80a8550e4 100644 --- a/deps/npm/man/man1/npm-root.1 +++ b/deps/npm/man/man1/npm-root.1 @@ -1,40 +1,30 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-ROOT" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-root\fR \-\- Display npm root -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-root\fR \- Display npm root +.SH SYNOPSIS +.P +.RS 2 +.EX npm root -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Print the effective \fBnode_modules\fR folder to standard out\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help prefix -. -.IP "\(bu" 4 +.IP \(bu 2 npm help bin -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1 index aa2740c119..7ee4fc7912 100644 --- a/deps/npm/man/man1/npm-run-script.1 +++ b/deps/npm/man/man1/npm-run-script.1 @@ -1,45 +1,35 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-RUN\-SCRIPT" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-run-script\fR \-\- Run arbitrary package scripts -. -.SH "SYNOPSIS" -. -.nf -npm run\-script [<pkg>] [command] -npm run [<pkg>] [command] -. -.fi -. -.SH "DESCRIPTION" -This runs an arbitrary command from a package\'s \fB"scripts"\fR object\. +\fBnpm-run-script\fR \- Run arbitrary package scripts +.SH SYNOPSIS +.P +.RS 2 +.EX +npm run\-script [command] [\-\- <args>] +npm run [command] [\-\- <args>] +.EE +.RE +.SH DESCRIPTION +.P +This runs an arbitrary command from a package's \fB"scripts"\fR object\. If no package name is provided, it will search for a \fBpackage\.json\fR in the current folder and use its \fB"scripts"\fR object\. If no \fB"command"\fR is provided, it will list the available top level scripts\. -. .P It is used by the test, start, restart, and stop commands, but can be called directly, as well\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help test -. -.IP "\(bu" 4 +.IP \(bu 2 npm help start -. -.IP "\(bu" 4 +.IP \(bu 2 npm help restart -. -.IP "\(bu" 4 +.IP \(bu 2 npm help stop -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1 index 2c7edcd2ad..16b3fa4fff 100644 --- a/deps/npm/man/man1/npm-search.1 +++ b/deps/npm/man/man1/npm-search.1 @@ -1,62 +1,48 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-SEARCH" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-search\fR \-\- Search for packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-search\fR \- Search for packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm search [\-\-long] [search terms \.\.\.] npm s [search terms \.\.\.] npm se [search terms \.\.\.] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Search the registry for packages matching the search terms\. -. .P -If a term starts with \fB/\fR, then it\'s interpreted as a regular expression\. +If a term starts with \fB/\fR, then it's interpreted as a regular expression\. A trailing \fB/\fR will be ignored in this case\. (Note that many regular expression characters must be escaped or quoted in most shells\.) -. -.SH "CONFIGURATION" -. -.SS "long" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS long +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Display full package descriptions and other long text across multiple lines\. When disabled (default) search results are truncated to fit neatly on a single line\. Modules with extremely long names will fall on multiple lines\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help view -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1 index 2a053a5b0b..e154851b21 100644 --- a/deps/npm/man/man1/npm-shrinkwrap.1 +++ b/deps/npm/man/man1/npm-shrinkwrap.1 @@ -1,44 +1,37 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-SHRINKWRAP" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-shrinkwrap\fR \-\- Lock down dependency versions -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-shrinkwrap\fR \- Lock down dependency versions +.SH SYNOPSIS +.P +.RS 2 +.EX npm shrinkwrap -. -.fi -. -.SH "DESCRIPTION" -This command locks down the versions of a package\'s dependencies so +.EE +.RE +.SH DESCRIPTION +.P +This command locks down the versions of a package's dependencies so that you can control exactly which versions of each dependency will be used when your package is installed\. The "package\.json" file is still required if you want to use "npm install"\. -. .P -By default, "npm install" recursively installs the target\'s +By default, "npm install" recursively installs the target's dependencies (as specified in package\.json), choosing the latest -available version that satisfies the dependency\'s semver pattern\. In +available version that satisfies the dependency's semver pattern\. In some situations, particularly when shipping software where each change -is tightly managed, it\'s desirable to fully specify each version of +is tightly managed, it's desirable to fully specify each version of each dependency recursively so that subsequent builds and deploys do not inadvertently pick up newer versions of a dependency that satisfy the semver pattern\. Specifying specific semver patterns in each -dependency\'s package\.json would facilitate this, but that\'s not always +dependency's package\.json would facilitate this, but that's not always possible or desirable, as when another author owns the npm package\. -It\'s also possible to check dependencies directly into source control, +It's also possible to check dependencies directly into source control, but that may be undesirable for other reasons\. -. .P As an example, consider package A: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "A", "version": "0\.1\.0", @@ -46,17 +39,13 @@ As an example, consider package A: "B": "<0\.1\.0" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P package B: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "B", "version": "0\.0\.1", @@ -64,83 +53,62 @@ package B: "C": "<0\.1\.0" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P and package C: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "C, "version": "0\.0\.1" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P If these are the only versions of A, B, and C available in the registry, then a normal "npm install A" will install: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX A@0\.1\.0 `\-\- B@0\.0\.1 `\-\- C@0\.0\.1 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P However, if B@0\.0\.2 is published, then a fresh "npm install A" will install: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX A@0\.1\.0 `\-\- B@0\.0\.2 `\-\- C@0\.0\.1 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -assuming the new version did not modify B\'s dependencies\. Of course, +assuming the new version did not modify B's dependencies\. Of course, the new version of B could include a new version of C and any number of new dependencies\. If such changes are undesirable, the author of A -could specify a dependency on B@0\.0\.1\. However, if A\'s author and B\'s -author are not the same person, there\'s no way for A\'s author to say +could specify a dependency on B@0\.0\.1\. However, if A's author and B's +author are not the same person, there's no way for A's author to say that he or she does not want to pull in newly published versions of C -when B hasn\'t changed at all\. -. +when B hasn't changed at all\. +.P +In this case, A's author can run .P -In this case, A\'s author can run -. -.IP "" 4 -. -.nf +.RS 2 +.EX npm shrinkwrap -. -.fi -. -.IP "" 0 -. +.EE +.RE .P This generates npm\-shrinkwrap\.json, which will look something like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "A", "version": "0\.1\.0", @@ -155,79 +123,68 @@ This generates npm\-shrinkwrap\.json, which will look something like this: } } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The shrinkwrap command has locked down the dependencies based on -what\'s currently installed in node_modules\. When "npm install" +what's currently installed in node_modules\. When "npm install" installs a package with a npm\-shrinkwrap\.json file in the package root, the shrinkwrap file (rather than package\.json files) completely drives the installation of that package and all of its dependencies (recursively)\. So now the author publishes A@0\.1\.0, and subsequent installs of this package will use B@0\.0\.1 and C@0\.1\.0, regardless the -dependencies and versions listed in A\'s, B\'s, and C\'s package\.json +dependencies and versions listed in A's, B's, and C's package\.json files\. -. -.SS "Using shrinkwrapped packages" +.SS Using shrinkwrapped packages +.P Using a shrinkwrapped package is no different than using any other package: you can "npm install" it by hand, or add a dependency to your package\.json file and "npm install" it\. -. -.SS "Building shrinkwrapped packages" +.SS Building shrinkwrapped packages +.P To shrinkwrap an existing package: -. -.IP "1" 4 +.RS 0 +.IP 1. 3 Run "npm install" in the package root to install the current versions of all dependencies\. -. -.IP "2" 4 +.IP 2. 3 Validate that the package works as expected with these versions\. -. -.IP "3" 4 +.IP 3. 3 Run "npm shrinkwrap", add npm\-shrinkwrap\.json to git, and publish your package\. -. -.IP "" 0 -. + +.RE .P To add or update a dependency in a shrinkwrapped package: -. -.IP "1" 4 +.RS 0 +.IP 1. 3 Run "npm install" in the package root to install the current versions of all dependencies\. -. -.IP "2" 4 +.IP 2. 3 Add or update dependencies\. "npm install" each new or updated package individually and then update package\.json\. Note that they must be explicitly named in order to be installed: running \fBnpm install\fR with no arguments will merely reproduce the existing shrinkwrap\. -. -.IP "3" 4 +.IP 3. 3 Validate that the package works as expected with the new dependencies\. -. -.IP "4" 4 +.IP 4. 3 Run "npm shrinkwrap", commit the new npm\-shrinkwrap\.json, and publish your package\. -. -.IP "" 0 -. + +.RE .P You can use npm help outdated to view dependencies with newer versions available\. -. -.SS "Other Notes" -A shrinkwrap file must be consistent with the package\'s package\.json +.SS Other Notes +.P +A shrinkwrap file must be consistent with the package's package\.json file\. "npm shrinkwrap" will fail if required dependencies are not already installed, since that would result in a shrinkwrap that -wouldn\'t actually work\. Similarly, the command will fail if there are +wouldn't actually work\. Similarly, the command will fail if there are extraneous packages (not referenced by package\.json), since that would indicate that package\.json is not correct\. -. .P Since "npm shrinkwrap" is intended to lock down your dependencies for production use, \fBdevDependencies\fR will not be included unless you @@ -235,31 +192,27 @@ explicitly set the \fB\-\-dev\fR flag when you run \fBnpm shrinkwrap\fR\|\. If installed \fBdevDependencies\fR are excluded, then npm will print a warning\. If you want them to be installed with your module by default, please consider adding them to \fBdependencies\fR instead\. -. .P -If shrinkwrapped package A depends on shrinkwrapped package B, B\'s +If shrinkwrapped package A depends on shrinkwrapped package B, B's shrinkwrap will not be used as part of the installation of A\. However, -because A\'s shrinkwrap is constructed from a valid installation of B -and recursively specifies all dependencies, the contents of B\'s -shrinkwrap will implicitly be included in A\'s shrinkwrap\. -. -.SS "Caveats" +because A's shrinkwrap is constructed from a valid installation of B +and recursively specifies all dependencies, the contents of B's +shrinkwrap will implicitly be included in A's shrinkwrap\. +.SS Caveats +.P If you wish to lock down the specific bytes included in a package, for example to have 100% confidence in being able to reproduce a deployment or build, then you ought to check your dependencies into source control, or pursue some other mechanism that can verify contents rather than versions\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help ls -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1 index bbcfee19eb..211225b259 100644 --- a/deps/npm/man/man1/npm-star.1 +++ b/deps/npm/man/man1/npm-star.1 @@ -1,39 +1,30 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-STAR" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-star\fR \-\- Mark your favorite packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-star\fR \- Mark your favorite packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm star <pkgname> [<pkg>, \.\.\.] npm unstar <pkgname> [<pkg>, \.\.\.] -. -.fi -. -.SH "DESCRIPTION" -"Starring" a package means that you have some interest in it\. It\'s +.EE +.RE +.SH DESCRIPTION +.P +"Starring" a package means that you have some interest in it\. It's a vaguely positive way to show that you care\. -. .P "Unstarring" is the same thing, but in reverse\. -. .P -It\'s a boolean thing\. Starring repeatedly has no additional effect\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +It's a boolean thing\. Starring repeatedly has no additional effect\. +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help view -. -.IP "\(bu" 4 +.IP \(bu 2 npm help whoami -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1 index 9b2d6d187e..455cf4fcbc 100644 --- a/deps/npm/man/man1/npm-stars.1 +++ b/deps/npm/man/man1/npm-stars.1 @@ -1,40 +1,31 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-STARS" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-stars\fR \-\- View packages marked as favorites -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-stars\fR \- View packages marked as favorites +.SH SYNOPSIS +.P +.RS 2 +.EX npm stars npm stars [username] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P If you have starred a lot of neat things and want to find them again quickly this command lets you do just that\. -. .P -You may also want to see your friend\'s favorite packages, in this case +You may also want to see your friend's favorite packages, in this case you will most certainly enjoy this command\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help star -. -.IP "\(bu" 4 +.IP \(bu 2 npm help view -. -.IP "\(bu" 4 +.IP \(bu 2 npm help whoami -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1 index c76e2c92a5..866cfd3a2a 100644 --- a/deps/npm/man/man1/npm-start.1 +++ b/deps/npm/man/man1/npm-start.1 @@ -1,37 +1,28 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-START" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-start\fR \-\- Start a package -. -.SH "SYNOPSIS" -. -.nf -npm start <name> -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "start" script, if one was provided\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +\fBnpm-start\fR \- Start a package +.SH SYNOPSIS +.P +.RS 2 +.EX +npm start [\-\- <args>] +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "start" script, if one was provided\. +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help run\-script -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help test -. -.IP "\(bu" 4 +.IP \(bu 2 npm help restart -. -.IP "\(bu" 4 +.IP \(bu 2 npm help stop -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1 index 37c1a5fe03..1c4a6a6775 100644 --- a/deps/npm/man/man1/npm-stop.1 +++ b/deps/npm/man/man1/npm-stop.1 @@ -1,37 +1,28 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-STOP" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-stop\fR \-\- Stop a package -. -.SH "SYNOPSIS" -. -.nf -npm stop <name> -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "stop" script, if one was provided\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +\fBnpm-stop\fR \- Stop a package +.SH SYNOPSIS +.P +.RS 2 +.EX +npm stop [\-\- <args>] +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "stop" script, if one was provided\. +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help run\-script -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help test -. -.IP "\(bu" 4 +.IP \(bu 2 npm help start -. -.IP "\(bu" 4 +.IP \(bu 2 npm help restart -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-submodule.1 b/deps/npm/man/man1/npm-submodule.1 index 71853335c5..bfb210d6eb 100644 --- a/deps/npm/man/man1/npm-submodule.1 +++ b/deps/npm/man/man1/npm-submodule.1 @@ -1,42 +1,35 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-SUBMODULE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-submodule\fR \-\- Add a package as a git submodule -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-submodule\fR \- Add a package as a git submodule +.SH SYNOPSIS +.P +.RS 2 +.EX npm submodule <pkg> -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P If the specified package has a git repository url in its package\.json -description, then this command will add it as a git submodule at \fBnode_modules/<pkg name>\fR\|\. -. +description, then this command will add it as a git submodule at +\fBnode_modules/<pkg name>\fR\|\. .P -This is a convenience only\. From then on, it\'s up to you to manage +This is a convenience only\. From then on, it's up to you to manage updates by using the appropriate git commands\. npm will stubbornly refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder in it\. -. .P This command also does not install missing dependencies, if the package does not include them in its git repository\. If \fBnpm ls\fR reports that things are missing, you can either install, link, or submodule them yourself, or you can do \fBnpm explore <pkgname> \-\- npm install\fR to install the dependencies into the submodule folder\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 git help submodule -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-tag.1 b/deps/npm/man/man1/npm-tag.1 index c1d463f8ce..03fdbdb428 100644 --- a/deps/npm/man/man1/npm-tag.1 +++ b/deps/npm/man/man1/npm-tag.1 @@ -1,74 +1,54 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-TAG" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-tag\fR \-\- Tag a published version -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-tag\fR \- Tag a published version +.SH SYNOPSIS +.P +.RS 2 +.EX npm tag <name>@<version> [<tag>] -. -.fi -. -.SH "DESCRIPTION" -Tags the specified version of the package with the specified tag, or the \fB\-\-tag\fR config if not specified\. -. +.EE +.RE +.SH DESCRIPTION +.P +Tags the specified version of the package with the specified tag, or the +\fB\-\-tag\fR config if not specified\. .P A tag can be used when installing packages as a reference to a version instead of using a specific version number: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm install <name>@<tag> -. -.fi -. -.IP "" 0 -. +.EE +.RE .P When installing dependencies, a preferred tagged version may be specified: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm install \-\-tag <tag> -. -.fi -. -.IP "" 0 -. +.EE +.RE .P This also applies to \fBnpm dedupe\fR\|\. -. .P Publishing a package always sets the "latest" tag to the published version\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help dedupe -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1 index 063fc92679..8e92115ac4 100644 --- a/deps/npm/man/man1/npm-test.1 +++ b/deps/npm/man/man1/npm-test.1 @@ -1,42 +1,32 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-TEST" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-test\fR \-\- Test a package -. -.SH "SYNOPSIS" -. -.nf - npm test <name> - npm tst <name> -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "test" script, if one was provided\. -. +\fBnpm-test\fR \- Test a package +.SH SYNOPSIS +.P +.RS 2 +.EX + npm test [\-\- <args>] + npm tst [\-\- <args>] +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "test" script, if one was provided\. .P To run tests as a condition of installation, set the \fBnpat\fR config to true\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help run\-script -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help start -. -.IP "\(bu" 4 +.IP \(bu 2 npm help restart -. -.IP "\(bu" 4 +.IP \(bu 2 npm help stop -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1 index 364d9c1d7c..2ade4acd03 100644 --- a/deps/npm/man/man1/npm-uninstall.1 +++ b/deps/npm/man/man1/npm-uninstall.1 @@ -1,87 +1,68 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-RM" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-rm\fR \-\- Remove a package -. -.SH "SYNOPSIS" -. -.nf -npm uninstall <name> [\-\-save|\-\-save\-dev|\-\-save\-optional] +\fBnpm-rm\fR \- Remove a package +.SH SYNOPSIS +.P +.RS 2 +.EX +npm uninstall [@<scope>/]<package> [\-\-save|\-\-save\-dev|\-\-save\-optional] npm rm (with any of the previous argument usage) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This uninstalls a package, completely removing everything npm installed on its behalf\. -. .P Example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm uninstall sax -. -.fi -. -.IP "" 0 -. +.EE +.RE .P In global mode (ie, with \fB\-g\fR or \fB\-\-global\fR appended to the command), it uninstalls the current package context as a global package\. -. .P \fBnpm uninstall\fR takes 3 exclusive, optional flags which save or update the package version in your main package\.json: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \fB\-\-save\fR: Package will be removed from your \fBdependencies\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-\-save\-dev\fR: Package will be removed from your \fBdevDependencies\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-\-save\-optional\fR: Package will be removed from your \fBoptionalDependencies\fR\|\. -. -.IP "" 0 -. + +.RE +.P +Scope is optional and follows the usual rules for npm help 7 \fBnpm\-scope\fR\|\. .P Examples: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm uninstall sax \-\-save +npm uninstall @myorg/privatepackage \-\-save npm uninstall node\-tap \-\-save\-dev npm uninstall dtrace\-provider \-\-save\-optional -. -.fi -. -.IP "" 0 -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.EE +.RE +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help prune -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1 index e5b8a65601..9aec7540b0 100644 --- a/deps/npm/man/man1/npm-unpublish.1 +++ b/deps/npm/man/man1/npm-unpublish.1 @@ -1,58 +1,47 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-UNPUBLISH" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-unpublish\fR \-\- Remove a package from the registry -. -.SH "SYNOPSIS" -. -.nf -npm unpublish <name>[@<version>] -. -.fi -. -.SH "WARNING" +\fBnpm-unpublish\fR \- Remove a package from the registry +.SH SYNOPSIS +.P +.RS 2 +.EX +npm unpublish [@<scope>/]<name>[@<version>] +.EE +.RE +.SH WARNING +.P \fBIt is generally considered bad behavior to remove versions of a library that others are depending on!\fR -. .P Consider using the \fBdeprecate\fR command instead, if your intent is to encourage users to upgrade\. -. .P There is plenty of room on the registry\. -. -.SH "DESCRIPTION" +.SH DESCRIPTION +.P This removes a package version from the registry, deleting its entry and removing the tarball\. -. .P If no version is specified, or if all versions are removed then the root package entry is removed from the registry entirely\. -. .P Even if a package version is unpublished, that specific name and version combination can never be reused\. In order to publish the package again, a new version number must be used\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.P +The scope is optional and follows the usual rules for npm help 7 \fBnpm\-scope\fR\|\. +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help deprecate -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "\(bu" 4 +.IP \(bu 2 npm help owner -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1 index de2201209f..4edfab3206 100644 --- a/deps/npm/man/man1/npm-update.1 +++ b/deps/npm/man/man1/npm-update.1 @@ -1,45 +1,37 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-UPDATE" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-update\fR \-\- Update a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-update\fR \- Update a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm update [\-g] [<name> [<name> \.\.\.]] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command will update all the packages listed to the latest version (specified by the \fBtag\fR config)\. -. .P It will also install missing packages\. -. .P -If the \fB\-g\fR flag is specified, this command will update globally installed packages\. -If no package name is specified, all packages in the specified location (global or local) will be updated\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +If the \fB\-g\fR flag is specified, this command will update globally installed +packages\. +.P +If no package name is specified, all packages in the specified location (global +or local) will be updated\. +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help outdated -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help ls -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1 index fc52da6e8f..5c05aab9bd 100644 --- a/deps/npm/man/man1/npm-version.1 +++ b/deps/npm/man/man1/npm-version.1 @@ -1,75 +1,61 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-VERSION" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-version\fR \-\- Bump a package version -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-version\fR \- Bump a package version +.SH SYNOPSIS +.P +.RS 2 +.EX npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease] -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Run this in a package directory to bump the version and write the new data back to the package\.json file\. -. .P The \fBnewversion\fR argument should be a valid semver string, \fIor\fR a valid second argument to semver\.inc (one of "patch", "minor", "major", "prepatch", "preminor", "premajor", "prerelease")\. In the second case, the existing version will be incremented by 1 in the specified field\. -. .P If run in a git repo, it will also create a version commit and tag, and fail if the repo is not clean\. -. .P If supplied with \fB\-\-message\fR (shorthand: \fB\-m\fR) config option, npm will -use it as a commit message when creating a version commit\. If the \fBmessage\fR config contains \fB%s\fR then that will be replaced with the +use it as a commit message when creating a version commit\. If the +\fBmessage\fR config contains \fB%s\fR then that will be replaced with the resulting version number\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm version patch \-m "Upgrade to %s for reasons" -. -.fi -. -.IP "" 0 -. +.EE +.RE .P If the \fBsign\-git\-tag\fR config is set, then the tag will be signed using the \fB\-s\fR flag to git\. Note that you must have a default GPG key set up in your git config for this to work properly\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX $ npm config set sign\-git\-tag true $ npm version patch + You need a passphrase to unlock the secret key for user: "isaacs (http://blog\.izs\.me/) <i@izs\.me>" 2048\-bit RSA key, ID 6C481CF6, created 2010\-08\-31 + Enter passphrase: -. -.fi -. -.IP "" 0 -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.EE +.RE +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help init -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 semver -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1 index 44b42b308d..af435f023d 100644 --- a/deps/npm/man/man1/npm-view.1 +++ b/deps/npm/man/man1/npm-view.1 @@ -1,186 +1,136 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-VIEW" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-view\fR \-\- View registry info -. -.SH "SYNOPSIS" -. -.nf -npm view <name>[@<version>] [<field>[\.<subfield>]\.\.\.] -npm v <name>[@<version>] [<field>[\.<subfield>]\.\.\.] -. -.fi -. -.SH "DESCRIPTION" +\fBnpm-view\fR \- View registry info +.SH SYNOPSIS +.P +.RS 2 +.EX +npm view [@<scope>/]<name>[@<version>] [<field>[\.<subfield>]\.\.\.] +npm v [@<scope>/]<name>[@<version>] [<field>[\.<subfield>]\.\.\.] +.EE +.RE +.SH DESCRIPTION +.P This command shows data about a package and prints it to the stream referenced by the \fBoutfd\fR config, which defaults to stdout\. -. .P To show the package registry entry for the \fBconnect\fR package, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view connect -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The default version is "latest" if unspecified\. -. .P Field names can be specified after the package descriptor\. For example, to show the dependencies of the \fBronn\fR package at version 0\.3\.5, you could do the following: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view ronn@0\.3\.5 dependencies -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You can view child field by separating them with a period\. To view the git repository URL for the latest version of npm, you could do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view npm repository\.url -. -.fi -. -.IP "" 0 -. +.EE +.RE .P This makes it easy to view information about a dependency with a bit of shell scripting\. For example, to view all the data about the version of opts that ronn depends on, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view opts@$(npm view ronn dependencies\.opts) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P For fields that are arrays, requesting a non\-numeric field will return all of the values from the objects in the list\. For example, to get all the contributor names for the "express" project, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view express contributors\.email -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You may also use numeric indices in square braces to specifically select an item in an array field\. To just get the email address of the first contributor in the list, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view express contributors[0]\.email -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Multiple fields may be specified, and will be printed one after another\. For exampls, to get all the contributor names and email addresses, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view express contributors\.name contributors\.email -. -.fi -. -.IP "" 0 -. +.EE +.RE .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 npm help 5 \fBpackage\.json\fR for more on this\.) -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm view npm contributors -. -.fi -. -.IP "" 0 -. +.EE +.RE .P If a version range is provided, then data will be printed for every matching version of the package\. This will show which version of jsdom was required by each matching version of yui3: -. -.IP "" 4 -. -.nf -npm view yui3@\'>0\.5\.4\' dependencies\.jsdom -. -.fi -. -.IP "" 0 -. -.SH "OUTPUT" +.P +.RS 2 +.EX +npm view yui3@'>0\.5\.4' dependencies\.jsdom +.EE +.RE +.SH OUTPUT +.P If only a single string field for a single version is output, then it will not be colorized or quoted, so as to enable piping the output to another command\. If the field is an object, it will be output as a JavaScript object literal\. -. .P If the \-\-json flag is given, the outputted fields will be JSON\. -. .P If the version range matches multiple versions, than each printed value will be prefixed with the version it applies to\. -. .P If multiple fields are requested, than each of them are prefixed with the field name\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help search -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help docs -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1 index bf43ae7eee..0d44c8b66a 100644 --- a/deps/npm/man/man1/npm-whoami.1 +++ b/deps/npm/man/man1/npm-whoami.1 @@ -1,34 +1,26 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-WHOAMI" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-whoami\fR \-\- Display npm username -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-whoami\fR \- Display npm username +.SH SYNOPSIS +.P +.RS 2 +.EX npm whoami -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Print the \fBusername\fR config to standard output\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 5a0f94c740..a44acfeae0 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -1,244 +1,212 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm\fR \-\- node package manager -. -.SH "SYNOPSIS" -. -.nf +\fBnpm\fR \- node package manager +.SH SYNOPSIS +.P +.RS 2 +.EX npm <command> [args] -. -.fi -. -.SH "VERSION" -1.4.28 -. -.SH "DESCRIPTION" +.EE +.RE +.SH VERSION +.P +2.0.0 +.SH DESCRIPTION +.P npm is the package manager for the Node JavaScript platform\. It puts modules in place so that node can find them, and manages dependency conflicts intelligently\. -. .P It is extremely configurable to support a wide variety of use cases\. Most commonly, it is used to publish, discover, install, and develop node programs\. -. .P Run \fBnpm help\fR to get a list of available commands\. -. -.SH "INTRODUCTION" +.SH INTRODUCTION +.P 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 npm help \fBnpm\-install\fR for more info\. It can do a lot of stuff\. -. +Use \fBnpm install blerg\fR to install the latest version of "blerg"\. Check out +npm help \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 DEPENDENCIES .P -Use the \fBnpm search\fR command to show everything that\'s available\. -Use \fBnpm ls\fR to show everything you\'ve installed\. -. -.SH "DEPENDENCIES" If a package references to another package with a git URL, npm depends on a preinstalled git\. -. .P If one of the packages npm tries to install is a native node module and -requires compiling of C++ Code, npm will use node\-gyp \fIhttps://github\.com/TooTallNate/node\-gyp\fR for that task\. +requires compiling of C++ Code, npm will use +node\-gyp \fIhttps://github\.com/TooTallNate/node\-gyp\fR for that task\. For a Unix system, node\-gyp \fIhttps://github\.com/TooTallNate/node\-gyp\fR needs Python, make and a buildchain like GCC\. On Windows, Python and Microsoft Visual Studio C++ is needed\. Python 3 is not supported by node\-gyp \fIhttps://github\.com/TooTallNate/node\-gyp\fR\|\. -For more information visit the node\-gyp repository \fIhttps://github\.com/TooTallNate/node\-gyp\fR and +For more information visit +the node\-gyp repository \fIhttps://github\.com/TooTallNate/node\-gyp\fR and the node\-gyp Wiki \fIhttps://github\.com/TooTallNate/node\-gyp/wiki\fR\|\. -. -.SH "DIRECTORIES" +.SH DIRECTORIES +.P See npm help 5 \fBnpm\-folders\fR to learn about where npm puts stuff\. -. .P In particular, npm has two modes of operation: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 global mode: -. .br -npm installs packages into the install prefix at \fBprefix/lib/node_modules\fR and bins are installed in \fBprefix/bin\fR\|\. -. -.IP "\(bu" 4 +npm installs packages into the install prefix at +\fBprefix/lib/node_modules\fR and bins are installed in \fBprefix/bin\fR\|\. +.IP \(bu 2 local mode: -. .br npm installs packages into the current project directory, which -defaults to the current working directory\. Packages are installed to \fB\|\./node_modules\fR, and bins are installed to \fB\|\./node_modules/\.bin\fR\|\. -. -.IP "" 0 -. +defaults to the current working directory\. Packages are installed to +\fB\|\./node_modules\fR, and bins are installed to \fB\|\./node_modules/\.bin\fR\|\. + +.RE .P Local mode is the default\. Use \fB\-\-global\fR or \fB\-g\fR on any command to operate in global mode instead\. -. -.SH "DEVELOPER USAGE" -If you\'re using npm to develop and publish your code, check out the +.SH DEVELOPER USAGE +.P +If you're using npm to develop and publish your code, check out the following help topics: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 json: Make a package\.json file\. See npm help 5 \fBpackage\.json\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 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 \fBnpm link\fR to do this\. -. -.IP "\(bu" 4 +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 +\fBnpm link\fR to do this\. +.IP \(bu 2 install: -It\'s a good idea to install things if you don\'t need the symbolic link\. -Especially, installing other peoples code from the registry is done via \fBnpm install\fR -. -.IP "\(bu" 4 +It's a good idea to install things if you don't need the symbolic link\. +Especially, installing other peoples code from the registry is done via +\fBnpm install\fR +.IP \(bu 2 adduser: Create an account or log in\. Credentials are stored in the user config file\. -. -.IP "\(bu" 4 +.IP \(bu 2 publish: Use the \fBnpm publish\fR command to upload your code to the registry\. -. -.IP "" 0 -. -.SH "CONFIGURATION" + +.RE +.SH CONFIGURATION +.P npm is extremely configurable\. It reads its configuration options from 5 places\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 Command line switches: -. .br Set a config with \fB\-\-key val\fR\|\. All keys take a value, even if they -are booleans (the config parser doesn\'t know what the options are at +are booleans (the config parser doesn't know what the options are at the time of parsing\.) If no value is provided, then the option is set to boolean \fBtrue\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 Environment Variables: -. .br -Set any config by prefixing the name in an environment variable with \fBnpm_config_\fR\|\. For example, \fBexport npm_config_key=val\fR\|\. -. -.IP "\(bu" 4 +Set any config by prefixing the name in an environment variable with +\fBnpm_config_\fR\|\. For example, \fBexport npm_config_key=val\fR\|\. +.IP \(bu 2 User Configs: -. .br The file at $HOME/\.npmrc is an ini\-formatted list of configs\. If present, it is parsed\. If the \fBuserconfig\fR option is set in the cli or env, then that will be used instead\. -. -.IP "\(bu" 4 +.IP \(bu 2 Global Configs: -. .br The file found at \.\./etc/npmrc (from the node executable, by default this resolves to /usr/local/etc/npmrc) will be parsed if it is found\. If the \fBglobalconfig\fR option is set in the cli, env, or user config, then that file is parsed instead\. -. -.IP "\(bu" 4 +.IP \(bu 2 Defaults: -. .br -npm\'s default configuration options are defined in +npm's default configuration options are defined in lib/utils/config\-defs\.js\. These must not be changed\. -. -.IP "" 0 -. + +.RE .P See npm help 7 \fBnpm\-config\fR for much much more information\. -. -.SH "CONTRIBUTIONS" +.SH CONTRIBUTIONS +.P Patches welcome! -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 code: Read through npm help 7 \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 +You don't have to agree with it, but you do have to follow it\. +.IP \(bu 2 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\.) -. -.IP "" 0 -. +file in the "doc" folder\. (Don't worry about generating the man page\.) + +.RE .P -Contributors are listed in npm\'s \fBpackage\.json\fR file\. You can view them +Contributors are listed in npm's \fBpackage\.json\fR file\. You can view them easily by doing \fBnpm view npm contributors\fR\|\. -. .P -If you would like to contribute, but don\'t know what to work on, check +If you would like to contribute, but don't know what to work on, check the issues list or ask on the mailing list\. -. -.IP "\(bu" 4 -\fIhttp://github\.com/npm/npm/issues\fR -. -.IP "\(bu" 4 -\fInpm\-@googlegroups\.com\fR -. -.IP "" 0 -. -.SH "BUGS" +.RS 0 +.IP \(bu 2 +http://github\.com/npm/npm/issues +.IP \(bu 2 +npm\-@googlegroups\.com + +.RE +.SH BUGS +.P When you find issues, please report them: -. -.IP "\(bu" 4 -web: \fIhttp://github\.com/npm/npm/issues\fR -. -.IP "\(bu" 4 -email: \fInpm\-@googlegroups\.com\fR -. -.IP "" 0 -. -.P -Be sure to include \fIall\fR of the output from the npm command that didn\'t work +.RS 0 +.IP \(bu 2 +web: +http://github\.com/npm/npm/issues +.IP \(bu 2 +email: +npm\-@googlegroups\.com + +.RE +.P +Be sure to include \fIall\fR of the output from the npm command that didn't work as expected\. The \fBnpm\-debug\.log\fR file is also helpful to provide\. -. .P 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 "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 -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH AUTHOR +.P +Isaac Z\. Schlueter \fIhttp://blog\.izs\.me/\fR :: +isaacs \fIhttps://github\.com/isaacs/\fR :: +@izs \fIhttp://twitter\.com/izs\fR :: +i@izs\.me +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help help -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 README -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 index -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp npm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-bin.3 b/deps/npm/man/man3/npm-bin.3 index 97de75de85..704b17c761 100644 --- a/deps/npm/man/man3/npm-bin.3 +++ b/deps/npm/man/man3/npm-bin.3 @@ -1,21 +1,17 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-BIN" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-bin\fR \-\- Display npm bin folder -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-bin\fR \- Display npm bin folder +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.bin(args, cb) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Print the folder where npm will install executables\. -. .P This function should not be used programmatically\. Instead, just refer to the \fBnpm\.bin\fR member\. + diff --git a/deps/npm/man/man3/npm-bugs.3 b/deps/npm/man/man3/npm-bugs.3 index bb85060afe..c0809e6596 100644 --- a/deps/npm/man/man3/npm-bugs.3 +++ b/deps/npm/man/man3/npm-bugs.3 @@ -1,28 +1,23 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-BUGS" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-bugs\fR \- Bugs for a package in a web browser maybe +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.bugs(package, callback) -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s +.EE +.RE +.SH DESCRIPTION +.P +This command tries to guess at the likely location of a package's bug tracker 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/npm-cache.3 b/deps/npm/man/man3/npm-cache.3 index b3396446ff..125fcf7396 100644 --- a/deps/npm/man/man3/npm-cache.3 +++ b/deps/npm/man/man3/npm-cache.3 @@ -1,40 +1,34 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-CACHE" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-cache\fR \-\- manage the npm cache programmatically -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-cache\fR \- manage the npm cache programmatically +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.cache([args], callback) + // helpers npm\.commands\.cache\.clean([args], callback) npm\.commands\.cache\.add([args], callback) npm\.commands\.cache\.read(name, version, forceBypass, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This acts much the same ways as the npm help cache command line functionality\. -. .P The callback is called with the package\.json data of the thing that is eventually added to or read from the cache\. -. .P The top level \fBnpm\.commands\.cache(\.\.\.)\fR functionality is a public interface, and like all commands on the \fBnpm\.commands\fR object, it will match the command line behavior exactly\. -. .P However, the cache folder structure and the cache helper functions are considered \fBinternal\fR API surface, and as such, may change in future releases of npm, potentially without warning or significant version incrementation\. -. .P Use at your own risk\. + diff --git a/deps/npm/man/man3/npm-commands.3 b/deps/npm/man/man3/npm-commands.3 index 003f5e5ab4..396b1c76f5 100644 --- a/deps/npm/man/man3/npm-commands.3 +++ b/deps/npm/man/man3/npm-commands.3 @@ -1,35 +1,28 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-COMMANDS" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-commands\fR \-\- npm commands -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-commands\fR \- npm commands +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands[<command>](args, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P npm comes with a full set of commands, and each of the commands takes a similar set of arguments\. -. .P In general, all commands on the command object take an \fBarray\fR of positional argument \fBstrings\fR\|\. The last argument to any function is a callback\. Some commands are special and take other optional arguments\. -. .P All commands have their own man page\. See \fBman npm\-<command>\fR for command\-line usage, or \fBman 3 npm\-<command>\fR for programmatic usage\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 index -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-config.3 b/deps/npm/man/man3/npm-config.3 index 578b939a63..0e8e3641a4 100644 --- a/deps/npm/man/man3/npm-config.3 +++ b/deps/npm/man/man3/npm-config.3 @@ -1,69 +1,49 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-CONFIG" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-config\fR \-\- Manage the npm configuration files -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-config\fR \- Manage the npm configuration files +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.config(args, callback) var val = npm\.config\.get(key) npm\.config\.set(key, val) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P 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 +.RS 0 +.IP \(bu 2 \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 + 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 2 \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 + Gets the value of a config parameter\. The second element in \fBargs\fR is the + key to get the value of\. +.IP \(bu 2 \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 + Deletes a parameter from the config\. The second element in \fBargs\fR is the + key to delete\. +.IP \(bu 2 \fBlist\fR (\fBls\fR) -. -.IP -Show all configs that aren\'t secret\. No parameters necessary\. -. -.IP "\(bu" 4 + Show all configs that aren't secret\. No parameters necessary\. +.IP \(bu 2 \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 -. + Opens the config file in the default editor\. This command isn't very useful + programmatically, but it is made available\. + +.RE .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 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm apihelp npm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-deprecate.3 b/deps/npm/man/man3/npm-deprecate.3 index 29e4c34515..ba5ffbdf27 100644 --- a/deps/npm/man/man3/npm-deprecate.3 +++ b/deps/npm/man/man3/npm-deprecate.3 @@ -1,57 +1,43 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-DEPRECATE" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-deprecate\fR \-\- Deprecate a version of a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-deprecate\fR \- Deprecate a version of a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.deprecate(args, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command will update the npm registry entry for a package, providing a deprecation warning to all who attempt to install it\. -. .P -The \'args\' parameter must have exactly two elements: -. -.IP "\(bu" 4 +The 'args' parameter must have exactly two elements: +.RS 0 +.IP \(bu 2 \fBpackage[@version]\fR -. -.IP -The \fBversion\fR portion is optional, and may be either a range, or a -specific version, or a tag\. -. -.IP "\(bu" 4 + The \fBversion\fR portion is optional, and may be either a range, or a + specific version, or a tag\. +.IP \(bu 2 \fBmessage\fR -. -.IP -The warning message that will be printed whenever a user attempts to -install the package\. -. -.IP "" 0 -. + The warning message that will be printed whenever a user attempts to + install the package\. + +.RE .P -Note that you must be the package owner to deprecate something\. See the \fBowner\fR and \fBadduser\fR help topics\. -. +Note that you must be the package owner to deprecate something\. See the +\fBowner\fR and \fBadduser\fR help topics\. .P To un\-deprecate a package, specify an empty string (\fB""\fR) for the \fBmessage\fR argument\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm apihelp publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp unpublish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-docs.3 b/deps/npm/man/man3/npm-docs.3 index e3039c2ef5..6aec6d76ab 100644 --- a/deps/npm/man/man3/npm-docs.3 +++ b/deps/npm/man/man3/npm-docs.3 @@ -1,28 +1,23 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-DOCS" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-docs\fR \- Docs for a package in a web browser maybe +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.docs(package, callback) -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s +.EE +.RE +.SH DESCRIPTION +.P +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/npm-edit.3 b/deps/npm/man/man3/npm-edit.3 index bcdabb6f23..0c52d96429 100644 --- a/deps/npm/man/man3/npm-edit.3 +++ b/deps/npm/man/man3/npm-edit.3 @@ -1,35 +1,28 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-EDIT" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-edit\fR \-\- Edit an installed package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-edit\fR \- Edit an installed package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.edit(package, callback) -. -.fi -. -.SH "DESCRIPTION" -Opens the package folder in the default editor (or whatever you\'ve +.EE +.RE +.SH DESCRIPTION +.P +Opens the package folder in the default editor (or whatever you've configured as the npm \fBeditor\fR config \-\- see \fBnpm help config\fR\|\.) -. .P After it has been edited, the package is rebuilt so as to pick up any changes in compiled packages\. -. .P For instance, you can do \fBnpm install connect\fR to install connect into your package, and then \fBnpm\.commands\.edit(["connect"], callback)\fR to make a few changes to your locally installed copy\. -. .P The first parameter is a string array with a single element, the package to open\. The package can optionally have a version number attached\. -. .P Since this command opens an editor in a new process, be careful about where and how this is used\. + diff --git a/deps/npm/man/man3/npm-explore.3 b/deps/npm/man/man3/npm-explore.3 index 0918dae972..8b0cb72bf4 100644 --- a/deps/npm/man/man3/npm-explore.3 +++ b/deps/npm/man/man3/npm-explore.3 @@ -1,28 +1,22 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-EXPLORE" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-explore\fR \-\- Browse an installed package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-explore\fR \- Browse an installed package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.explore(args, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Spawn a subshell in the directory of the installed package specified\. -. .P If a command is specified, then it is run in the subshell, which then immediately terminates\. -. .P Note that the package is \fInot\fR automatically rebuilt afterwards, so be sure to use \fBnpm rebuild <pkg>\fR if you make any changes\. -. .P -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\. +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/man/man3/npm-help-search.3 b/deps/npm/man/man3/npm-help-search.3 index 2c39f5c7b4..8b92f90b5e 100644 --- a/deps/npm/man/man3/npm-help-search.3 +++ b/deps/npm/man/man3/npm-help-search.3 @@ -1,51 +1,41 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-HELP\-SEARCH" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-help-search\fR \-\- Search the help pages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-help-search\fR \- Search the help pages +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.helpSearch(args, [silent,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command is rarely useful, but it exists in the rare case that it is\. -. .P This command takes an array of search terms and returns the help pages that match in order of best match\. -. .P If there is only one match, then npm displays that help section\. If there are multiple results, the results are printed to the screen formatted and the array of results is returned\. Each result is an object with these properties: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 hits: A map of args to number of hits on that arg\. For example, {"npm": 3} -. -.IP "\(bu" 4 +.IP \(bu 2 found: Total number of unique args that matched\. -. -.IP "\(bu" 4 +.IP \(bu 2 totalHits: Total number of hits\. -. -.IP "\(bu" 4 +.IP \(bu 2 lines: An array of all matching lines (and some adjacent lines)\. -. -.IP "\(bu" 4 +.IP \(bu 2 file: Name of the file that matched -. -.IP "" 0 -. + +.RE .P The silent parameter is not neccessary not used, but it may in the future\. + diff --git a/deps/npm/man/man3/npm-init.3 b/deps/npm/man/man3/npm-init.3 index d4eba22052..87059d957b 100644 --- a/deps/npm/man/man3/npm-init.3 +++ b/deps/npm/man/man3/npm-init.3 @@ -1,39 +1,32 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. -.TH "INIT" "3" "September 2014" "" "" -. +.TH "NPM" "" "September 2014" "" "" .SH "NAME" -\fBinit\fR \-\- Interactively create a package\.json file -. -.SH "SYNOPSIS" -. -.nf +\fBnpm\fR +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.init(args, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This will ask you a bunch of questions, and then write a package\.json for you\. -. .P It attempts to make reasonable guesses about what you want things to be set to, -and then writes a package\.json file with the options you\'ve selected\. -. +and then writes a package\.json file with the options you've selected\. .P -If you already have a package\.json file, it\'ll read that first, and default to +If you already have a package\.json file, it'll read that first, and default to the options in there\. -. .P It is strictly additive, so it does not delete options from your package\.json without a really good reason to do so\. -. .P -Since this function expects to be run on the command\-line, it doesn\'t work very +Since this function expects to be run on the command\-line, it doesn't work very well as a programmatically\. The best option is to roll your own, and since JavaScript makes it stupid simple to output formatted JSON, that is the -preferred method\. If you\'re sure you want to handle command\-line prompting, +preferred method\. If you're sure you want to handle command\-line prompting, then go ahead and use this programmatically\. -. -.SH "SEE ALSO" +.SH SEE ALSO +.P npm help 5 package\.json + diff --git a/deps/npm/man/man3/npm-install.3 b/deps/npm/man/man3/npm-install.3 index 4b09fbe80f..3202bdffe7 100644 --- a/deps/npm/man/man3/npm-install.3 +++ b/deps/npm/man/man3/npm-install.3 @@ -1,29 +1,23 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-INSTALL" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-install\fR \-\- install a package programmatically -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-install\fR \- install a package programmatically +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.install([where,] packages, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This acts much the same ways as installing on the command\-line\. -. .P -The \'where\' parameter is optional and only used internally, and it specifies +The 'where' parameter is optional and only used internally, and it specifies where the packages should be installed to\. -. .P -The \'packages\' parameter is an array of strings\. Each element in the array is +The 'packages' parameter is an array of strings\. Each element in the array is the name of a package to be installed\. -. .P -Finally, \'callback\' is a function that will be called when all packages have been +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/man/man3/npm-link.3 b/deps/npm/man/man3/npm-link.3 index dbecc0edb7..ff5ea0f799 100644 --- a/deps/npm/man/man3/npm-link.3 +++ b/deps/npm/man/man3/npm-link.3 @@ -1,53 +1,41 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-LINK" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-link\fR \-\- Symlink a package folder -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-link\fR \- Symlink a package folder +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.link(callback) npm\.commands\.link(packages, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P 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 +.P +.RS 2 +.EX 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 -. +npm\.commands\.link('redis', cb) # link\-install the package +.EE +.RE .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/npm-load.3 b/deps/npm/man/man3/npm-load.3 index 4180127d7e..8189b5abcf 100644 --- a/deps/npm/man/man3/npm-load.3 +++ b/deps/npm/man/man3/npm-load.3 @@ -1,44 +1,34 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-LOAD" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-load\fR \-\- Load config settings -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-load\fR \- Load config settings +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.load(conf, cb) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P npm\.load() must be called before any other function call\. Both parameters are optional, but the second is recommended\. -. .P The first parameter is an object hash of command\-line config params, and the second parameter is a callback that will be called when npm is loaded and ready to serve\. -. .P The first parameter should follow a similar structure as the package\.json config object\. -. .P For example, to emulate the \-\-dev flag, pass an object that looks like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "dev": true } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P For a list of all the available command\-line configs, see \fBnpm help config\fR + diff --git a/deps/npm/man/man3/npm-ls.3 b/deps/npm/man/man3/npm-ls.3 index 723e2bc45b..a8ce7f7117 100644 --- a/deps/npm/man/man3/npm-ls.3 +++ b/deps/npm/man/man3/npm-ls.3 @@ -1,86 +1,68 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-LS" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-ls\fR \-\- List installed packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-ls\fR \- List installed packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.ls(args, [silent,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P 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\. -. .P Callback is provided an error if one occurred, the full data about which packages are installed and which dependencies they will receive, and a "lite" data object which just shows which versions are installed where\. Note that the full data object is a circular structure, so care must be taken if it is serialized to JSON\. -. -.SH "CONFIGURATION" -. -.SS "long" -. -.IP "\(bu" 4 +.SH CONFIGURATION +.SS long +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show extended information\. -. -.SS "parseable" -. -.IP "\(bu" 4 +.SS parseable +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show parseable output instead of tree view\. -. -.SS "global" -. -.IP "\(bu" 4 +.SS global +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .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\. +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/npm-outdated.3 b/deps/npm/man/man3/npm-outdated.3 index 3da841dc3d..ac653f9259 100644 --- a/deps/npm/man/man3/npm-outdated.3 +++ b/deps/npm/man/man3/npm-outdated.3 @@ -1,21 +1,17 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-OUTDATED" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-outdated\fR \-\- Check for outdated packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-outdated\fR \- Check for outdated packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.outdated([packages,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command will check the registry to see if the specified packages are currently outdated\. -. .P -If the \'packages\' parameter is left out, npm will check all packages\. +If the 'packages' parameter is left out, npm will check all packages\. + diff --git a/deps/npm/man/man3/npm-owner.3 b/deps/npm/man/man3/npm-owner.3 index 38cc42d699..ac4ad14259 100644 --- a/deps/npm/man/man3/npm-owner.3 +++ b/deps/npm/man/man3/npm-owner.3 @@ -1,52 +1,43 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-OWNER" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-owner\fR \-\- Manage package owners -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-owner\fR \- Manage package owners +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.owner(args, callback) -. -.fi -. -.SH "DESCRIPTION" -The first element of the \'args\' parameter defines what to do, and the subsequent +.EE +.RE +.SH DESCRIPTION +.P +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 +.RS 0 +.IP \(bu 2 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 +.IP \(bu 2 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 +.IP \(bu 2 rm (user, package): Remove a user from the package owner list\. This immediately revokes their privileges\. -. -.IP "" 0 -. + +.RE .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 +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 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm apihelp publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-pack.3 b/deps/npm/man/man3/npm-pack.3 index a7ccab0a73..07b6399482 100644 --- a/deps/npm/man/man3/npm-pack.3 +++ b/deps/npm/man/man3/npm-pack.3 @@ -1,28 +1,23 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PACK" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-pack\fR \-\- Create a tarball from a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-pack\fR \- Create a tarball from a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.pack([packages,] callback) -. -.fi -. -.SH "DESCRIPTION" -For anything that\'s installable (that is, a package folder, tarball, +.EE +.RE +.SH DESCRIPTION +.P +For anything that's installable (that is, a package folder, tarball, tarball url, name@tag, name@version, or name), this command will fetch it to the cache, and then copy the tarball to the current working directory as \fB<name>\-<version>\.tgz\fR, and then write the filenames out to stdout\. -. .P If the same package is specified multiple times, then the file will be overwritten the second time\. -. .P If no arguments are supplied, then npm packs the current package folder\. + diff --git a/deps/npm/man/man3/npm-prefix.3 b/deps/npm/man/man3/npm-prefix.3 index 3e80055657..d83aea1ef2 100644 --- a/deps/npm/man/man3/npm-prefix.3 +++ b/deps/npm/man/man3/npm-prefix.3 @@ -1,24 +1,19 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PREFIX" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-prefix\fR \-\- Display prefix -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-prefix\fR \- Display prefix +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.prefix(args, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Print the prefix to standard out\. -. .P -\'args\' is never used and callback is never called with data\. -\'args\' must be present or things will break\. -. +\|'args' is never used and callback is never called with data\. +\|'args' must be present or things will break\. .P This function is not useful programmatically + diff --git a/deps/npm/man/man3/npm-prune.3 b/deps/npm/man/man3/npm-prune.3 index f9aff4ad32..7ad7ebc053 100644 --- a/deps/npm/man/man3/npm-prune.3 +++ b/deps/npm/man/man3/npm-prune.3 @@ -1,27 +1,21 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PRUNE" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-prune\fR \-\- Remove extraneous packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-prune\fR \- Remove extraneous packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.prune([packages,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command removes "extraneous" packages\. -. .P The first parameter is optional, and it specifies packages to be removed\. -. .P No packages are specified, then all packages will be checked\. -. .P Extraneous packages are packages that are not listed on the parent -package\'s dependencies list\. +package's dependencies list\. + diff --git a/deps/npm/man/man3/npm-publish.3 b/deps/npm/man/man3/npm-publish.3 index 842da1bb80..877ab41d2f 100644 --- a/deps/npm/man/man3/npm-publish.3 +++ b/deps/npm/man/man3/npm-publish.3 @@ -1,51 +1,41 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-PUBLISH" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-publish\fR \-\- Publish a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-publish\fR \- Publish a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.publish([packages,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Publishes a package to the registry so that it can be installed by name\. -Possible values in the \'packages\' array are: -. -.IP "\(bu" 4 +Possible values in the 'packages' array are: +.RS 0 +.IP \(bu 2 \fB<folder>\fR: A folder containing a package\.json file -. -.IP "\(bu" 4 +.IP \(bu 2 \fB<tarball>\fR: A url or file path to a gzipped tar archive containing a single folder with a package\.json file inside\. -. -.IP "" 0 -. + +.RE .P If the package array is empty, npm will try to publish something in the current working directory\. -. .P This command could fails if one of the packages specified already exists in the registry\. Overwrites when the "force" environment variable is set\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp owner -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-rebuild.3 b/deps/npm/man/man3/npm-rebuild.3 index f6233c2f29..1a0387f6e2 100644 --- a/deps/npm/man/man3/npm-rebuild.3 +++ b/deps/npm/man/man3/npm-rebuild.3 @@ -1,22 +1,19 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-REBUILD" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-rebuild\fR \-\- Rebuild a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-rebuild\fR \- Rebuild a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.rebuild([packages,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command runs the \fBnpm build\fR command on each of the matched packages\. This is useful when you install a new version of node, and must recompile all your C++ addons with -the new binary\. If no \'packages\' parameter is specify, every package will be rebuilt\. -. -.SH "CONFIGURATION" +the new binary\. If no 'packages' parameter is specify, every package will be rebuilt\. +.SH CONFIGURATION +.P See \fBnpm help build\fR + diff --git a/deps/npm/man/man3/npm-repo.3 b/deps/npm/man/man3/npm-repo.3 index 06db0d50a2..e88952853a 100644 --- a/deps/npm/man/man3/npm-repo.3 +++ b/deps/npm/man/man3/npm-repo.3 @@ -1,28 +1,23 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-REPO" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-repo\fR \-\- Open package repository page in the browser -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-repo\fR \- Open package repository page in the browser +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.repo(package, callback) -. -.fi -. -.SH "DESCRIPTION" -This command tries to guess at the likely location of a package\'s +.EE +.RE +.SH DESCRIPTION +.P +This command tries to guess at the likely location of a package's repository 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/npm-restart.3 b/deps/npm/man/man3/npm-restart.3 index 5c0ed9ca0e..90854364d7 100644 --- a/deps/npm/man/man3/npm-restart.3 +++ b/deps/npm/man/man3/npm-restart.3 @@ -1,37 +1,29 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-RESTART" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-restart\fR \-\- Start a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-restart\fR \- Start a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.restart(packages, callback) -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "restart" script, if one was provided\. -Otherwise it runs package\'s "stop" script, if one was provided, and then +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "restart" script, if one was provided\. +Otherwise it runs package's "stop" script, if one was provided, and then the "start" script\. -. .P If no version is specified, then it restarts the "active" version\. -. .P npm can run tests on multiple packages\. Just specify multiple packages in the \fBpackages\fR parameter\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm apihelp start -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp stop -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-root.3 b/deps/npm/man/man3/npm-root.3 index 5772cb40d3..36ce0019d9 100644 --- a/deps/npm/man/man3/npm-root.3 +++ b/deps/npm/man/man3/npm-root.3 @@ -1,24 +1,19 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-ROOT" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-root\fR \-\- Display npm root -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-root\fR \- Display npm root +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.root(args, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Print the effective \fBnode_modules\fR folder to standard out\. -. .P -\'args\' is never used and callback is never called with data\. -\'args\' must be present or things will break\. -. +\|'args' is never used and callback is never called with data\. +\|'args' must be present or things will break\. .P This function is not useful programmatically\. + diff --git a/deps/npm/man/man3/npm-run-script.3 b/deps/npm/man/man3/npm-run-script.3 index 5c5d435a30..2ec3a679a3 100644 --- a/deps/npm/man/man3/npm-run-script.3 +++ b/deps/npm/man/man3/npm-run-script.3 @@ -1,48 +1,37 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-RUN\-SCRIPT" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-run-script\fR \-\- Run arbitrary package scripts -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-run-script\fR \- Run arbitrary package scripts +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.run\-script(args, callback) -. -.fi -. -.SH "DESCRIPTION" -This runs an arbitrary command from a package\'s "scripts" object\. -. +.EE +.RE +.SH DESCRIPTION +.P +This runs an arbitrary command from a package's "scripts" object\. .P It is used by the test, start, restart, and stop commands, but can be called directly, as well\. -. .P -The \'args\' parameter is an array of strings\. Behavior depends on the number +The 'args' parameter is an array of strings\. Behavior depends on the number of elements\. If there is only one element, npm assumes that the element represents a command to be run on the local repository\. If there is more than one element, then the first is assumed to be the package and the second is assumed to be the command to run\. All other elements are ignored\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp test -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp start -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp restart -. -.IP "\(bu" 4 +.IP \(bu 2 npm apihelp stop -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-search.3 b/deps/npm/man/man3/npm-search.3 index f7692a637c..e508a01630 100644 --- a/deps/npm/man/man3/npm-search.3 +++ b/deps/npm/man/man3/npm-search.3 @@ -1,64 +1,52 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-SEARCH" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-search\fR \-\- Search for packages -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-search\fR \- Search for packages +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.search(searchTerms, [silent,] [staleness,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Search the registry for packages matching the search terms\. The available parameters are: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 searchTerms: Array of search terms\. These terms are case\-insensitive\. -. -.IP "\(bu" 4 +.IP \(bu 2 silent: If true, npm will not log anything to the console\. -. -.IP "\(bu" 4 +.IP \(bu 2 staleness: This is the threshold for stale packages\. "Fresh" packages are not refreshed from the registry\. This value is measured in seconds\. -. -.IP "\(bu" 4 +.IP \(bu 2 callback: Returns an object where each key is the name of a package, and the value -is information about that package along with a \'words\' property, which is +is information about that package along with a 'words' property, which is a space\-delimited string of all of the interesting words in that package\. The only properties included are those that are searched, which generally include: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 name -. -.IP "\(bu" 4 +.IP \(bu 2 description -. -.IP "\(bu" 4 +.IP \(bu 2 maintainers -. -.IP "\(bu" 4 +.IP \(bu 2 url -. -.IP "\(bu" 4 +.IP \(bu 2 keywords -. -.IP "" 0 -. -.IP "" 0 -. +.RE + +.RE .P A search on the registry excludes any result that does not match all of the search terms\. It also removes any items from the results that contain an excluded term (the "searchexclude" config)\. The search is case insensitive -and doesn\'t try to read your mind (it doesn\'t do any verb tense matching or the +and doesn't try to read your mind (it doesn't do any verb tense matching or the like)\. + diff --git a/deps/npm/man/man3/npm-shrinkwrap.3 b/deps/npm/man/man3/npm-shrinkwrap.3 index e5cdb59d9c..d7e4ba84f7 100644 --- a/deps/npm/man/man3/npm-shrinkwrap.3 +++ b/deps/npm/man/man3/npm-shrinkwrap.3 @@ -1,30 +1,24 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-SHRINKWRAP" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-shrinkwrap\fR \-\- programmatically generate package shrinkwrap file -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-shrinkwrap\fR \- programmatically generate package shrinkwrap file +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.shrinkwrap(args, [silent,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This acts much the same ways as shrinkwrapping on the command\-line\. -. .P -This command does not take any arguments, but \'args\' must be defined\. +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\. -. .P -If the \'silent\' parameter is set to true, nothing will be output to the screen, +If the 'silent' parameter is set to true, nothing will be output to the screen, but the shrinkwrap file will still be written\. -. .P -Finally, \'callback\' is a function that will be called when the shrinkwrap has +Finally, 'callback' is a function that will be called when the shrinkwrap has been saved\. + diff --git a/deps/npm/man/man3/npm-start.3 b/deps/npm/man/man3/npm-start.3 index 6e2cb64771..7942fbd3e9 100644 --- a/deps/npm/man/man3/npm-start.3 +++ b/deps/npm/man/man3/npm-start.3 @@ -1,21 +1,17 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-START" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-start\fR \-\- Start a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-start\fR \- Start a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.start(packages, callback) -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "start" script, if one was provided\. -. +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "start" script, if one was provided\. .P npm can run tests on multiple packages\. Just specify multiple packages in the \fBpackages\fR parameter\. + diff --git a/deps/npm/man/man3/npm-stop.3 b/deps/npm/man/man3/npm-stop.3 index b1f4ee7503..b7d2d6d796 100644 --- a/deps/npm/man/man3/npm-stop.3 +++ b/deps/npm/man/man3/npm-stop.3 @@ -1,21 +1,17 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-STOP" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-stop\fR \-\- Stop a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-stop\fR \- Stop a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.stop(packages, callback) -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "stop" script, if one was provided\. -. +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "stop" script, if one was provided\. .P npm can run stop on multiple packages\. Just specify multiple packages in the \fBpackages\fR parameter\. + diff --git a/deps/npm/man/man3/npm-submodule.3 b/deps/npm/man/man3/npm-submodule.3 index 95739ce3b0..7ade6d2ab8 100644 --- a/deps/npm/man/man3/npm-submodule.3 +++ b/deps/npm/man/man3/npm-submodule.3 @@ -1,42 +1,35 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-SUBMODULE" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-submodule\fR \-\- Add a package as a git submodule -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-submodule\fR \- Add a package as a git submodule +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.submodule(packages, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P For each package specified, npm will check if it has a git repository url -in its package\.json description then add it as a git submodule at \fBnode_modules/<pkg name>\fR\|\. -. +in its package\.json description then add it as a git submodule at +\fBnode_modules/<pkg name>\fR\|\. .P -This is a convenience only\. From then on, it\'s up to you to manage +This is a convenience only\. From then on, it's up to you to manage updates by using the appropriate git commands\. npm will stubbornly refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder in it\. -. .P This command also does not install missing dependencies, if the package does not include them in its git repository\. If \fBnpm ls\fR reports that things are missing, you can either install, link, or submodule them yourself, or you can do \fBnpm explore <pkgname> \-\- npm install\fR to install the dependencies into the submodule folder\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help json -. -.IP "\(bu" 4 +.IP \(bu 2 git help submodule -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man3/npm-tag.3 b/deps/npm/man/man3/npm-tag.3 index fe00dbcc2e..a6d34762fb 100644 --- a/deps/npm/man/man3/npm-tag.3 +++ b/deps/npm/man/man3/npm-tag.3 @@ -1,31 +1,27 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-TAG" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-tag\fR \-\- Tag a published version -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-tag\fR \- Tag a published version +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.tag(package@version, tag, callback) -. -.fi -. -.SH "DESCRIPTION" -Tags the specified version of the package with the specified tag, or the \fB\-\-tag\fR config if not specified\. -. +.EE +.RE +.SH DESCRIPTION +.P +Tags the specified version of the package with the specified tag, or the +\fB\-\-tag\fR config if not specified\. .P -The \'package@version\' is an array of strings, but only the first two elements are +The 'package@version' is an array of strings, but only the first two elements are currently used\. -. .P The first element must be in the form package@version, where package is the package name and version is the version number (much like installing a specific version)\. -. .P The second element is the name of the tag to tag this version with\. If this parameter is missing or falsey (empty), the default froom the config will be -used\. For more information about how to set this config, check \fBman 3 npm\-config\fR for programmatic usage or \fBman npm\-config\fR for cli usage\. +used\. For more information about how to set this config, check +\fBman 3 npm\-config\fR for programmatic usage or \fBman npm\-config\fR for cli usage\. + diff --git a/deps/npm/man/man3/npm-test.3 b/deps/npm/man/man3/npm-test.3 index 86aa780ac1..02f4de01ff 100644 --- a/deps/npm/man/man3/npm-test.3 +++ b/deps/npm/man/man3/npm-test.3 @@ -1,25 +1,20 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-TEST" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-test\fR \-\- Test a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-test\fR \- Test a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.test(packages, callback) -. -.fi -. -.SH "DESCRIPTION" -This runs a package\'s "test" script, if one was provided\. -. +.EE +.RE +.SH DESCRIPTION +.P +This runs a package's "test" script, if one was provided\. .P To run tests as a condition of installation, set the \fBnpat\fR config to true\. -. .P npm can run tests on multiple packages\. Just specify multiple packages in the \fBpackages\fR parameter\. + diff --git a/deps/npm/man/man3/npm-uninstall.3 b/deps/npm/man/man3/npm-uninstall.3 index 7ae1368423..883deaf4ac 100644 --- a/deps/npm/man/man3/npm-uninstall.3 +++ b/deps/npm/man/man3/npm-uninstall.3 @@ -1,25 +1,20 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-UNINSTALL" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-uninstall\fR \-\- uninstall a package programmatically -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-uninstall\fR \- uninstall a package programmatically +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.uninstall(packages, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P 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 '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 +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/npm-unpublish.3 b/deps/npm/man/man3/npm-unpublish.3 index 63be8506ee..8420247493 100644 --- a/deps/npm/man/man3/npm-unpublish.3 +++ b/deps/npm/man/man3/npm-unpublish.3 @@ -1,30 +1,24 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-UNPUBLISH" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-unpublish\fR \-\- Remove a package from the registry -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-unpublish\fR \- Remove a package from the registry +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.unpublish(package, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This removes a package version from the registry, deleting its entry and removing the tarball\. -. .P The package parameter must be defined\. -. .P Only the first element in the package parameter is used\. If there is no first element, then npm assumes that the package at the current working directory is what is meant\. -. .P 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/man/man3/npm-update.3 b/deps/npm/man/man3/npm-update.3 index 740038b419..55fb3d1a37 100644 --- a/deps/npm/man/man3/npm-update.3 +++ b/deps/npm/man/man3/npm-update.3 @@ -1,18 +1,18 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-UPDATE" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-update\fR \-\- Update a package -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-update\fR \- Update a package +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.update(packages, callback) -. -.fi +.EE +.RE +.TH "DESCRIPTION" "" "September 2014" "" "" +.SH "NAME" +\fBDESCRIPTION\fR +.P Updates a package, upgrading it to the latest version\. It also installs any missing packages\. -. .P -The \'packages\' argument is an array of packages to update\. The \'callback\' parameter will be called when done or when an error occurs\. +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/man/man3/npm-version.3 b/deps/npm/man/man3/npm-version.3 index 2c79f3782f..0cbf79c909 100644 --- a/deps/npm/man/man3/npm-version.3 +++ b/deps/npm/man/man3/npm-version.3 @@ -1,27 +1,22 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-VERSION" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-version\fR \-\- Bump a package version -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-version\fR \- Bump a package version +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.version(newversion, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Run this in a package directory to bump the version and write the new data back to the package\.json file\. -. .P If run in a git repo, it will also create a version commit and tag, and fail if the repo is not clean\. -. .P Like all other commands, this function takes a string array as its first 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/man/man3/npm-view.3 b/deps/npm/man/man3/npm-view.3 index 3e91ce6716..2201f54544 100644 --- a/deps/npm/man/man3/npm-view.3 +++ b/deps/npm/man/man3/npm-view.3 @@ -1,176 +1,131 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-VIEW" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-view\fR \-\- View registry info -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-view\fR \- View registry info +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.view(args, [silent,] callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P This command shows data about a package and prints it to the stream referenced by the \fBoutfd\fR config, which defaults to stdout\. -. .P The "args" parameter is an ordered list that closely resembles the command\-line usage\. The elements should be ordered such that the first element is the package and version (package@version)\. The version is optional\. After that, the rest of the parameters are fields with optional subfields ("field\.subfield") which can be used to get only the information desired from the registry\. -. .P The callback will be passed all of the data returned by the query\. -. .P For example, to get the package registry entry for the \fBconnect\fR package, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm\.commands\.view(["connect"], callback) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P If no version is specified, "latest" is assumed\. -. .P Field names can be specified after the package descriptor\. For example, to show the dependencies of the \fBronn\fR package at version 0\.3\.5, you could do the following: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm\.commands\.view(["ronn@0\.3\.5", "dependencies"], callback) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You can view child field by separating them with a period\. To view the git repository URL for the latest version of npm, you could do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm\.commands\.view(["npm", "repository\.url"], callback) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P For fields that are arrays, requesting a non\-numeric field will return all of the values from the objects in the list\. For example, to get all the contributor names for the "express" project, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm\.commands\.view(["express", "contributors\.email"], callback) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You may also use numeric indices in square braces to specifically select an item in an array field\. To just get the email address of the first contributor in the list, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm\.commands\.view(["express", "contributors[0]\.email"], callback) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Multiple fields may be specified, and will be printed one after another\. For exampls, to get all the contributor names and email addresses, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm\.commands\.view(["express", "contributors\.name", "contributors\.email"], callback) -. -.fi -. -.IP "" 0 -. +.EE +.RE .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\.) -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm\.commands\.view(["npm", "contributors"], callback) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P If a version range is provided, then data will be printed for every matching version of the package\. This will show which version of jsdom was required by each matching version of yui3: -. -.IP "" 4 -. -.nf -npm\.commands\.view(["yui3@\'>0\.5\.4\'", "dependencies\.jsdom"], callback) -. -.fi -. -.IP "" 0 -. -.SH "OUTPUT" +.P +.RS 2 +.EX +npm\.commands\.view(["yui3@'>0\.5\.4'", "dependencies\.jsdom"], callback) +.EE +.RE +.SH OUTPUT +.P If only a single string field for a single version is output, then it will not be colorized or quoted, so as to enable piping the output to another command\. -. .P If the version range matches multiple versions, than each printed value will be prefixed with the version it applies to\. -. .P If multiple fields are requested, than each of them are prefixed with the field name\. -. .P -Console output can be disabled by setting the \'silent\' parameter to true\. -. -.SH "RETURN VALUE" +Console output can be disabled by setting the 'silent' parameter to true\. +.SH RETURN VALUE +.P The data returned will be an object in this formation: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { <version>: { <field>: <value> , \.\.\. } , \.\.\. } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P corresponding to the list of fields selected\. + diff --git a/deps/npm/man/man3/npm-whoami.3 b/deps/npm/man/man3/npm-whoami.3 index 1a0a43cf51..272d6b16bf 100644 --- a/deps/npm/man/man3/npm-whoami.3 +++ b/deps/npm/man/man3/npm-whoami.3 @@ -1,24 +1,19 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-WHOAMI" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm-whoami\fR \-\- Display npm username -. -.SH "SYNOPSIS" -. -.nf +\fBnpm-whoami\fR \- Display npm username +.SH SYNOPSIS +.P +.RS 2 +.EX npm\.commands\.whoami(args, callback) -. -.fi -. -.SH "DESCRIPTION" +.EE +.RE +.SH DESCRIPTION +.P Print the \fBusername\fR config to standard output\. -. .P -\'args\' is never used and callback is never called with data\. -\'args\' must be present or things will break\. -. +\|'args' is never used and callback is never called with data\. +\|'args' must be present or things will break\. .P This function is not useful programmatically + diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3 index e762dc4851..41103a0c52 100644 --- a/deps/npm/man/man3/npm.3 +++ b/deps/npm/man/man3/npm.3 @@ -1,162 +1,125 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM" "3" "September 2014" "" "" -. .SH "NAME" -\fBnpm\fR \-\- node package manager -. -.SH "SYNOPSIS" -. -.nf +\fBnpm\fR \- node package manager +.SH SYNOPSIS +.P +.RS 2 +.EX var npm = require("npm") npm\.load([configObject, ]function (er, npm) { - // use the npm object, now that it\'s loaded\. + // use the npm object, now that it's loaded\. + npm\.config\.set(key, val) val = npm\.config\.get(key) + console\.log("prefix = %s", npm\.prefix) + npm\.commands\.install(["package"], cb) }) -. -.fi -. -.SH "VERSION" -1.4.28 -. -.SH "DESCRIPTION" +.EE +.RE +.SH VERSION +.P +2.0.0 +.SH DESCRIPTION +.P This is the API documentation for npm\. To find documentation of the command line client, see npm help \fBnpm\fR\|\. -. .P -Prior to using npm\'s commands, \fBnpm\.load()\fR must be called\. +Prior to using npm's commands, \fBnpm\.load()\fR must be called\. 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 npm help \fBnpm\-config\fR, npm help 7 \fBnpm\-config\fR, and npm help 5 \fBnpmrc\fR for more information\. -. +params are loaded from two configuration files\. See npm help \fBnpm\-config\fR, +npm help 7 \fBnpm\-config\fR, and npm help 5 \fBnpmrc\fR for more information\. .P After that, each of the functions are accessible in the commands object: \fBnpm\.commands\.<cmd>\fR\|\. See npm help 7 \fBnpm\-index\fR for a list of all possible commands\. -. .P -All commands on the command object take an \fBarray\fR of positional argument \fBstrings\fR\|\. The last argument to any function is a callback\. Some +All commands on the command object take an \fBarray\fR of positional argument +\fBstrings\fR\|\. The last argument to any function is a callback\. Some commands take other optional arguments\. -. .P Configs cannot currently be set on a per function basis, as each call to npm\.config\.set will change the value for \fIall\fR npm commands in that process\. -. .P To find API documentation for a specific command, run the \fBnpm apihelp\fR command\. -. -.SH "METHODS AND PROPERTIES" -. -.IP "\(bu" 4 +.SH METHODS AND PROPERTIES +.RS 0 +.IP \(bu 2 \fBnpm\.load(configs, cb)\fR -. -.IP -Load the configuration params, and call the \fBcb\fR function once the -globalconfig and userconfig files have been loaded as well, or on -nextTick if they\'ve already been loaded\. -. -.IP "\(bu" 4 + Load the configuration params, and call the \fBcb\fR function once the + globalconfig and userconfig files have been loaded as well, or on + nextTick if they've already been loaded\. +.IP \(bu 2 \fBnpm\.config\fR -. -.IP -An object for accessing npm configuration parameters\. -. -.IP "\(bu" 4 + An object for accessing npm configuration parameters\. +.RS 0 +.IP \(bu 2 \fBnpm\.config\.get(key)\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBnpm\.config\.set(key, val)\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBnpm\.config\.del(key)\fR -. -.IP "" 0 -. -.IP "\(bu" 4 +.RE +.IP \(bu 2 \fBnpm\.dir\fR or \fBnpm\.root\fR -. -.IP -The \fBnode_modules\fR directory where npm will operate\. -. -.IP "\(bu" 4 + The \fBnode_modules\fR directory where npm will operate\. +.IP \(bu 2 \fBnpm\.prefix\fR -. -.IP -The prefix where npm is operating\. (Most often the current working -directory\.) -. -.IP "\(bu" 4 + The prefix where npm is operating\. (Most often the current working + directory\.) +.IP \(bu 2 \fBnpm\.cache\fR -. -.IP -The place where npm keeps JSON and tarballs it fetches from the -registry (or uploads to the registry)\. -. -.IP "\(bu" 4 + The place where npm keeps JSON and tarballs it fetches from the + registry (or uploads to the registry)\. +.IP \(bu 2 \fBnpm\.tmp\fR -. -.IP -npm\'s temporary working directory\. -. -.IP "\(bu" 4 + npm's temporary working directory\. +.IP \(bu 2 \fBnpm\.deref\fR -. -.IP -Get the "real" name for a command that has either an alias or -abbreviation\. -. -.IP "" 0 -. -.SH "MAGIC" + Get the "real" name for a command that has either an alias or + abbreviation\. + +.RE +.SH MAGIC +.P For each of the methods in the \fBnpm\.commands\fR hash, a method is added to the npm object, which takes a set of positional string arguments rather than an array and a callback\. -. .P If the last argument is a callback, then it will use the supplied callback\. However, if no callback is provided, then it will print out the error or results\. -. .P For example, this would work in a node repl: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX > npm = require("npm") > npm\.load() // wait a sec\.\.\. > npm\.install("dnode", "express") -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -Note that that \fIwon\'t\fR work in a node program, since the \fBinstall\fR +Note that that \fIwon't\fR work in a node program, since the \fBinstall\fR method will get called before the configuration load is completed\. -. -.SH "ABBREVS" -In order to support \fBnpm ins foo\fR instead of \fBnpm install foo\fR, the \fBnpm\.commands\fR object has a set of abbreviations as well as the full +.SH ABBREVS +.P +In order to support \fBnpm ins foo\fR instead of \fBnpm install foo\fR, the +\fBnpm\.commands\fR object has a set of abbreviations as well as the full method names\. Use the \fBnpm\.deref\fR method to find the real name\. -. .P For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX var cmd = npm\.deref("unp") // cmd === "unpublish" -. -.fi -. -.IP "" 0 +.EE +.RE diff --git a/deps/npm/man/man5/npm-folders.5 b/deps/npm/man/man5/npm-folders.5 index d349c1f43a..4f4d2cc325 100644 --- a/deps/npm/man/man5/npm-folders.5 +++ b/deps/npm/man/man5/npm-folders.5 @@ -1,141 +1,132 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-FOLDERS" "5" "September 2014" "" "" -. .SH "NAME" -\fBnpm-folders\fR \-\- Folder Structures Used by npm -. -.SH "DESCRIPTION" -npm puts various things on your computer\. That\'s its job\. -. +\fBnpm-folders\fR \- Folder Structures Used by npm +.SH DESCRIPTION +.P +npm puts various things on your computer\. That's its job\. .P This document will tell you what it puts where\. -. -.SS "tl;dr" -. -.IP "\(bu" 4 +.SS tl;dr +.RS 0 +.IP \(bu 2 Local install (default): puts stuff in \fB\|\./node_modules\fR of the current package root\. -. -.IP "\(bu" 4 +.IP \(bu 2 Global install (with \fB\-g\fR): puts stuff in /usr/local or wherever node is installed\. -. -.IP "\(bu" 4 -Install it \fBlocally\fR if you\'re going to \fBrequire()\fR it\. -. -.IP "\(bu" 4 -Install it \fBglobally\fR if you\'re going to run it on the command line\. -. -.IP "\(bu" 4 +.IP \(bu 2 +Install it \fBlocally\fR if you're going to \fBrequire()\fR it\. +.IP \(bu 2 +Install it \fBglobally\fR if you're going to run it on the command line\. +.IP \(bu 2 If you need both, then install it in both places, or use \fBnpm link\fR\|\. -. -.IP "" 0 -. -.SS "prefix Configuration" + +.RE +.SS prefix Configuration +.P The \fBprefix\fR config defaults to the location where node is installed\. On most systems, this is \fB/usr/local\fR, and most of the time is the same -as node\'s \fBprocess\.installPrefix\fR\|\. -. +as node's \fBprocess\.installPrefix\fR\|\. .P 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 \fB{prefix}/bin/node\fR rather than \fB{prefix}/node\.exe\fR\|\. -. +systems, it's one level up, since node is typically installed at +\fB{prefix}/bin/node\fR rather than \fB{prefix}/node\.exe\fR\|\. .P When the \fBglobal\fR 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\. -. -.SS "Node Modules" +.SS Node Modules +.P Packages are dropped into the \fBnode_modules\fR folder under the \fBprefix\fR\|\. -When installing locally, this means that you can \fBrequire("packagename")\fR to load its main module, or \fBrequire("packagename/lib/path/to/sub/module")\fR to load other modules\. -. +When installing locally, this means that you can +\fBrequire("packagename")\fR to load its main module, or +\fBrequire("packagename/lib/path/to/sub/module")\fR to load other modules\. .P Global installs on Unix systems go to \fB{prefix}/lib/node_modules\fR\|\. -Global installs on Windows go to \fB{prefix}/node_modules\fR (that is, no \fBlib\fR folder\.) -. +Global installs on Windows go to \fB{prefix}/node_modules\fR (that is, no +\fBlib\fR folder\.) +.P +Scoped packages are installed the same way, except they are grouped together +in a sub\-folder of the relevant \fBnode_modules\fR folder with the name of that +scope prefix by the @ symbol, e\.g\. \fBnpm install @myorg/package\fR would place +the package in \fB{prefix}/node_modules/@myorg/package\fR\|\. See npm help 7 \fBscopes\fR for +more details\. .P If you wish to \fBrequire()\fR a package, then install it locally\. -. -.SS "Executables" +.SS Executables +.P When in global mode, executables are linked into \fB{prefix}/bin\fR on Unix, or directly into \fB{prefix}\fR on Windows\. -. .P -When in local mode, executables are linked into \fB\|\./node_modules/\.bin\fR so that they can be made available to scripts run +When in local mode, executables are linked into +\fB\|\./node_modules/\.bin\fR 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 \fBnpm test\fR\|\.) -. -.SS "Man Pages" +.SS Man Pages +.P When in global mode, man pages are linked into \fB{prefix}/share/man\fR\|\. -. .P When in local mode, man pages are not installed\. -. .P Man pages are not installed on Windows systems\. -. -.SS "Cache" -See npm help \fBnpm\-cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\. -. +.SS Cache +.P +See npm help \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\. -. -.SS "Temp Files" -Temporary files are stored by default in the folder specified by the \fBtmp\fR config, which defaults to the TMPDIR, TMP, or TEMP environment +.SS Temp Files +.P +Temporary files are stored by default in the folder specified by the +\fBtmp\fR config, which defaults to the TMPDIR, TMP, or TEMP environment variables, or \fB/tmp\fR on Unix and \fBc:\\windows\\temp\fR on Windows\. -. .P Temp files are given a unique folder under this root for each run of the program, and are deleted upon successful exit\. -. -.SH "More Information" -When installing locally, npm first tries to find an appropriate \fBprefix\fR folder\. This is so that \fBnpm install foo@1\.2\.3\fR will install +.SH More Information +.P +When installing locally, npm first tries to find an appropriate +\fBprefix\fR folder\. This is so that \fBnpm install foo@1\.2\.3\fR will install to the sensible root of your package, even if you happen to have \fBcd\fRed into some other folder\. -. .P Starting at the $PWD, npm will walk up the folder tree checking for a folder that contains either a \fBpackage\.json\fR file, or a \fBnode_modules\fR 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 +behavior is inspired by and similar to git's \.git\-folder seeking logic when running git commands in a working dir\.) -. .P If no package root is found, then the current folder is used\. -. .P When you run \fBnpm install foo@1\.2\.3\fR, then the package is loaded into the cache, and then unpacked into \fB\|\./node_modules/foo\fR\|\. Then, any of -foo\'s dependencies are similarly unpacked into \fB\|\./node_modules/foo/node_modules/\.\.\.\fR\|\. -. +foo's dependencies are similarly unpacked into +\fB\|\./node_modules/foo/node_modules/\.\.\.\fR\|\. .P Any bin files are symlinked to \fB\|\./node_modules/\.bin/\fR, so that they may be found by npm scripts when necessary\. -. -.SS "Global Installation" +.SS Global Installation +.P If the \fBglobal\fR configuration is set to true, then npm will install packages "globally"\. -. .P For global installation, packages are installed roughly the same way, but using the folders described above\. -. -.SS "Cycles, Conflicts, and Folder Parsimony" -Cycles are handled using the property of node\'s module system that it +.SS Cycles, Conflicts, and Folder Parsimony +.P +Cycles are handled using the property of node's module system that it walks up the directories looking for \fBnode_modules\fR folders\. So, at every stage, if a package is already installed in an ancestor \fBnode_modules\fR folder, then it is not installed at the current location\. -. .P Consider the case above, where \fBfoo \-> bar \-> baz\fR\|\. Imagine if, in -addition to that, baz depended on bar, so you\'d have: \fBfoo \-> bar \-> baz \-> bar \-> baz \.\.\.\fR\|\. However, since the folder -structure is: \fBfoo/node_modules/bar/node_modules/baz\fR, there\'s no need to +addition to that, baz depended on bar, so you'd have: +\fBfoo \-> bar \-> baz \-> bar \-> baz \.\.\.\fR\|\. However, since the folder +structure is: \fBfoo/node_modules/bar/node_modules/baz\fR, there's no need to put another copy of bar into \fB\|\.\.\./baz/node_modules\fR, since when it calls -require("bar"), it will get the copy that is installed in \fBfoo/node_modules/bar\fR\|\. -. +require("bar"), it will get the copy that is installed in +\fBfoo/node_modules/bar\fR\|\. .P This shortcut is only used if the exact same version would be installed in multiple nested \fBnode_modules\fR folders\. It @@ -143,17 +134,15 @@ is still possible to have \fBa/node_modules/b/node_modules/a\fR if the two "a" packages are different versions\. However, without repeating the exact same package multiple times, an infinite regress will always be prevented\. -. .P Another optimization can be made by installing dependencies at the highest level possible, below the localized "target" folder\. -. -.SS "\fIExample\fR" +.SS Example +.P Consider this dependency graph: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX foo +\-\- blerg@1\.2\.5 +\-\- bar@1\.2\.3 @@ -165,17 +154,13 @@ foo `\-\- baz@1\.2\.3 `\-\- quux@3\.x `\-\- bar -. -.fi -. -.IP "" 0 -. +.EE +.RE .P In this case, we might expect a folder structure like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX foo +\-\- node_modules +\-\- blerg (1\.2\.5) <\-\-\-[A] @@ -188,77 +173,59 @@ foo `\-\- baz (1\.2\.3) <\-\-\-[D] `\-\- node_modules `\-\- quux (3\.2\.0) <\-\-\-[E] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P 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\. -. +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 satisfies bar\'s dependency on \fBblerg@1\.x\fR, +parent installation of blerg satisfies bar's dependency on \fBblerg@1\.x\fR, it does not install another copy under [B]\. -. .P Bar [B] also has dependencies on baz and asdf, so those are installed in -bar\'s \fBnode_modules\fR folder\. Because it depends on \fBbaz@2\.x\fR, it cannot +bar's \fBnode_modules\fR folder\. Because it depends on \fBbaz@2\.x\fR, it cannot re\-use the \fBbaz@1\.2\.3\fR installed in the parent \fBnode_modules\fR folder [D], and must install its own copy [C]\. -. .P Underneath bar, the \fBbaz \-> quux \-> bar\fR dependency creates a cycle\. -However, because bar is already in quux\'s ancestry [B], it does not +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 For a graphical breakdown of what is installed where, use \fBnpm ls\fR\|\. -. -.SS "Publishing" +.SS Publishing +.P Upon publishing, npm will look in the \fBnode_modules\fR folder\. If any of the items there are not in the \fBbundledDependencies\fR array, then they will 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 npm help 5 \fBpackage\.json\fR for more information\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help pack -. -.IP "\(bu" 4 +.IP \(bu 2 npm help cache -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man5/npm-global.5 b/deps/npm/man/man5/npm-global.5 index d349c1f43a..4f4d2cc325 100644 --- a/deps/npm/man/man5/npm-global.5 +++ b/deps/npm/man/man5/npm-global.5 @@ -1,141 +1,132 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-FOLDERS" "5" "September 2014" "" "" -. .SH "NAME" -\fBnpm-folders\fR \-\- Folder Structures Used by npm -. -.SH "DESCRIPTION" -npm puts various things on your computer\. That\'s its job\. -. +\fBnpm-folders\fR \- Folder Structures Used by npm +.SH DESCRIPTION +.P +npm puts various things on your computer\. That's its job\. .P This document will tell you what it puts where\. -. -.SS "tl;dr" -. -.IP "\(bu" 4 +.SS tl;dr +.RS 0 +.IP \(bu 2 Local install (default): puts stuff in \fB\|\./node_modules\fR of the current package root\. -. -.IP "\(bu" 4 +.IP \(bu 2 Global install (with \fB\-g\fR): puts stuff in /usr/local or wherever node is installed\. -. -.IP "\(bu" 4 -Install it \fBlocally\fR if you\'re going to \fBrequire()\fR it\. -. -.IP "\(bu" 4 -Install it \fBglobally\fR if you\'re going to run it on the command line\. -. -.IP "\(bu" 4 +.IP \(bu 2 +Install it \fBlocally\fR if you're going to \fBrequire()\fR it\. +.IP \(bu 2 +Install it \fBglobally\fR if you're going to run it on the command line\. +.IP \(bu 2 If you need both, then install it in both places, or use \fBnpm link\fR\|\. -. -.IP "" 0 -. -.SS "prefix Configuration" + +.RE +.SS prefix Configuration +.P The \fBprefix\fR config defaults to the location where node is installed\. On most systems, this is \fB/usr/local\fR, and most of the time is the same -as node\'s \fBprocess\.installPrefix\fR\|\. -. +as node's \fBprocess\.installPrefix\fR\|\. .P 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 \fB{prefix}/bin/node\fR rather than \fB{prefix}/node\.exe\fR\|\. -. +systems, it's one level up, since node is typically installed at +\fB{prefix}/bin/node\fR rather than \fB{prefix}/node\.exe\fR\|\. .P When the \fBglobal\fR 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\. -. -.SS "Node Modules" +.SS Node Modules +.P Packages are dropped into the \fBnode_modules\fR folder under the \fBprefix\fR\|\. -When installing locally, this means that you can \fBrequire("packagename")\fR to load its main module, or \fBrequire("packagename/lib/path/to/sub/module")\fR to load other modules\. -. +When installing locally, this means that you can +\fBrequire("packagename")\fR to load its main module, or +\fBrequire("packagename/lib/path/to/sub/module")\fR to load other modules\. .P Global installs on Unix systems go to \fB{prefix}/lib/node_modules\fR\|\. -Global installs on Windows go to \fB{prefix}/node_modules\fR (that is, no \fBlib\fR folder\.) -. +Global installs on Windows go to \fB{prefix}/node_modules\fR (that is, no +\fBlib\fR folder\.) +.P +Scoped packages are installed the same way, except they are grouped together +in a sub\-folder of the relevant \fBnode_modules\fR folder with the name of that +scope prefix by the @ symbol, e\.g\. \fBnpm install @myorg/package\fR would place +the package in \fB{prefix}/node_modules/@myorg/package\fR\|\. See npm help 7 \fBscopes\fR for +more details\. .P If you wish to \fBrequire()\fR a package, then install it locally\. -. -.SS "Executables" +.SS Executables +.P When in global mode, executables are linked into \fB{prefix}/bin\fR on Unix, or directly into \fB{prefix}\fR on Windows\. -. .P -When in local mode, executables are linked into \fB\|\./node_modules/\.bin\fR so that they can be made available to scripts run +When in local mode, executables are linked into +\fB\|\./node_modules/\.bin\fR 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 \fBnpm test\fR\|\.) -. -.SS "Man Pages" +.SS Man Pages +.P When in global mode, man pages are linked into \fB{prefix}/share/man\fR\|\. -. .P When in local mode, man pages are not installed\. -. .P Man pages are not installed on Windows systems\. -. -.SS "Cache" -See npm help \fBnpm\-cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\. -. +.SS Cache +.P +See npm help \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\. -. -.SS "Temp Files" -Temporary files are stored by default in the folder specified by the \fBtmp\fR config, which defaults to the TMPDIR, TMP, or TEMP environment +.SS Temp Files +.P +Temporary files are stored by default in the folder specified by the +\fBtmp\fR config, which defaults to the TMPDIR, TMP, or TEMP environment variables, or \fB/tmp\fR on Unix and \fBc:\\windows\\temp\fR on Windows\. -. .P Temp files are given a unique folder under this root for each run of the program, and are deleted upon successful exit\. -. -.SH "More Information" -When installing locally, npm first tries to find an appropriate \fBprefix\fR folder\. This is so that \fBnpm install foo@1\.2\.3\fR will install +.SH More Information +.P +When installing locally, npm first tries to find an appropriate +\fBprefix\fR folder\. This is so that \fBnpm install foo@1\.2\.3\fR will install to the sensible root of your package, even if you happen to have \fBcd\fRed into some other folder\. -. .P Starting at the $PWD, npm will walk up the folder tree checking for a folder that contains either a \fBpackage\.json\fR file, or a \fBnode_modules\fR 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 +behavior is inspired by and similar to git's \.git\-folder seeking logic when running git commands in a working dir\.) -. .P If no package root is found, then the current folder is used\. -. .P When you run \fBnpm install foo@1\.2\.3\fR, then the package is loaded into the cache, and then unpacked into \fB\|\./node_modules/foo\fR\|\. Then, any of -foo\'s dependencies are similarly unpacked into \fB\|\./node_modules/foo/node_modules/\.\.\.\fR\|\. -. +foo's dependencies are similarly unpacked into +\fB\|\./node_modules/foo/node_modules/\.\.\.\fR\|\. .P Any bin files are symlinked to \fB\|\./node_modules/\.bin/\fR, so that they may be found by npm scripts when necessary\. -. -.SS "Global Installation" +.SS Global Installation +.P If the \fBglobal\fR configuration is set to true, then npm will install packages "globally"\. -. .P For global installation, packages are installed roughly the same way, but using the folders described above\. -. -.SS "Cycles, Conflicts, and Folder Parsimony" -Cycles are handled using the property of node\'s module system that it +.SS Cycles, Conflicts, and Folder Parsimony +.P +Cycles are handled using the property of node's module system that it walks up the directories looking for \fBnode_modules\fR folders\. So, at every stage, if a package is already installed in an ancestor \fBnode_modules\fR folder, then it is not installed at the current location\. -. .P Consider the case above, where \fBfoo \-> bar \-> baz\fR\|\. Imagine if, in -addition to that, baz depended on bar, so you\'d have: \fBfoo \-> bar \-> baz \-> bar \-> baz \.\.\.\fR\|\. However, since the folder -structure is: \fBfoo/node_modules/bar/node_modules/baz\fR, there\'s no need to +addition to that, baz depended on bar, so you'd have: +\fBfoo \-> bar \-> baz \-> bar \-> baz \.\.\.\fR\|\. However, since the folder +structure is: \fBfoo/node_modules/bar/node_modules/baz\fR, there's no need to put another copy of bar into \fB\|\.\.\./baz/node_modules\fR, since when it calls -require("bar"), it will get the copy that is installed in \fBfoo/node_modules/bar\fR\|\. -. +require("bar"), it will get the copy that is installed in +\fBfoo/node_modules/bar\fR\|\. .P This shortcut is only used if the exact same version would be installed in multiple nested \fBnode_modules\fR folders\. It @@ -143,17 +134,15 @@ is still possible to have \fBa/node_modules/b/node_modules/a\fR if the two "a" packages are different versions\. However, without repeating the exact same package multiple times, an infinite regress will always be prevented\. -. .P Another optimization can be made by installing dependencies at the highest level possible, below the localized "target" folder\. -. -.SS "\fIExample\fR" +.SS Example +.P Consider this dependency graph: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX foo +\-\- blerg@1\.2\.5 +\-\- bar@1\.2\.3 @@ -165,17 +154,13 @@ foo `\-\- baz@1\.2\.3 `\-\- quux@3\.x `\-\- bar -. -.fi -. -.IP "" 0 -. +.EE +.RE .P In this case, we might expect a folder structure like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX foo +\-\- node_modules +\-\- blerg (1\.2\.5) <\-\-\-[A] @@ -188,77 +173,59 @@ foo `\-\- baz (1\.2\.3) <\-\-\-[D] `\-\- node_modules `\-\- quux (3\.2\.0) <\-\-\-[E] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P 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\. -. +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 satisfies bar\'s dependency on \fBblerg@1\.x\fR, +parent installation of blerg satisfies bar's dependency on \fBblerg@1\.x\fR, it does not install another copy under [B]\. -. .P Bar [B] also has dependencies on baz and asdf, so those are installed in -bar\'s \fBnode_modules\fR folder\. Because it depends on \fBbaz@2\.x\fR, it cannot +bar's \fBnode_modules\fR folder\. Because it depends on \fBbaz@2\.x\fR, it cannot re\-use the \fBbaz@1\.2\.3\fR installed in the parent \fBnode_modules\fR folder [D], and must install its own copy [C]\. -. .P Underneath bar, the \fBbaz \-> quux \-> bar\fR dependency creates a cycle\. -However, because bar is already in quux\'s ancestry [B], it does not +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 For a graphical breakdown of what is installed where, use \fBnpm ls\fR\|\. -. -.SS "Publishing" +.SS Publishing +.P Upon publishing, npm will look in the \fBnode_modules\fR folder\. If any of the items there are not in the \fBbundledDependencies\fR array, then they will 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 npm help 5 \fBpackage\.json\fR for more information\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help pack -. -.IP "\(bu" 4 +.IP \(bu 2 npm help cache -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man5/npm-json.5 b/deps/npm/man/man5/npm-json.5 index 8233dc1731..8ab713ccc0 100644 --- a/deps/npm/man/man5/npm-json.5 +++ b/deps/npm/man/man5/npm-json.5 @@ -1,466 +1,385 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "PACKAGE\.JSON" "5" "September 2014" "" "" -. .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 +\fBpackage.json\fR \- Specifics of npm's package\.json handling +.SH DESCRIPTION +.P +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 settings described in npm help 7 \fBnpm\-config\fR\|\. -. -.SH "name" +.SH name +.P 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 +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 +.RS 0 +.IP \(bu 2 +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 +.IP \(bu 2 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 +Also, it can't start with a dot or an underscore\. +.IP \(bu 2 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 +.IP \(bu 2 +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" + +.RE +.P +A name can be optionally prefixed by a scope, e\.g\. \fB@myorg/mypackage\fR\|\. See +npm help 7 \fBnpm\-scope\fR for more detail\. +.SH version +.P 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 +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 +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 More on version numbers and ranges at npm help 7 semver\. -. -.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" +.SH description +.P +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 +.P +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 +.P 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 +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 +Literally\. Spit\. I'm so not kidding\. +.SH bugs +.P +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 +.P +.RS 2 +.EX { "url" : "http://github\.com/owner/project/issues" , "email" : "project@hostname\.com" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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" +.SH license +.P 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\. -. +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\-3\-Clause -or MIT, is to just specify the standard SPDX ID of the license you\'re using, +The simplest way, assuming you're using a common license such as BSD\-3\-Clause +or MIT, is to just specify the standard SPDX ID of the license you're using, like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "license" : "BSD\-3\-Clause" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You can check the full list of SPDX license IDs \fIhttps://spdx\.org/licenses/\fR\|\. -Ideally you should pick one that is OSI \fIhttp://opensource\.org/licenses/alphabetical\fR approved\. -. +Ideally you should pick one that is +OSI \fIhttp://opensource\.org/licenses/alphabetical\fR approved\. .P -It\'s also a good idea to include a LICENSE file at the top level in +It's also a good idea to include a LICENSE file at the top level in your package\. -. -.SH "people fields: author, contributors" +.SH people fields: author, contributors +.P 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 +.P +.RS 2 +.EX { "name" : "Barney Rubble" , "email" : "b@rubble\.com" , "url" : "http://barnyrubble\.tumblr\.com/" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Or you can shorten that all into a single string, and npm will parse it for you: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "Barney Rubble <b@rubble\.com> (http://barnyrubble\.tumblr\.com/) -. -.fi -. -.IP "" 0 -. +.EE +.RE .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" +.SH files +.P 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" +.SH main +.P 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\. -. +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 +.SH bin +.P +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 +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 +.P +.RS 2 +.EX { "bin" : { "npm" : "\./cli\.js" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -So, when you install npm, it\'ll create a symlink from the \fBcli\.js\fR script to \fB/usr/local/bin/npm\fR\|\. -. +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 +.P +.RS 2 +.EX { "name": "my\-program" , "version": "1\.2\.5" , "bin": "\./path/to/program" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P would be the same as this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "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 +.EE +.RE +.SH man +.P +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 <pkgname>\fR, regardless of its actual filename\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name" : "foo" , "version" : "1\.2\.3" , "description" : "A packaged foo fooer for fooing foos" , "main" : "foo\.js" , "man" : "\./man/doc\.1" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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\. +If the filename doesn't start with the package name, then it's prefixed\. So, this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "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 -. +.EE +.RE .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 +.P +.RS 2 +.EX { "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 -. +.EE +.RE .P will create entries for \fBman foo\fR and \fBman 2 foo\fR -. -.SH "directories" +.SH directories +.P The CommonJS Packages \fIhttp://wiki\.commonjs\.org/wiki/Packages/1\.0\fR spec details a few ways that you can indicate the structure of your package using a \fBdirectories\fR -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\. -. +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" +.SS directories\.lib +.P 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" +with the lib folder in any way, but it's useful meta info\. +.SS directories\.bin +.P 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" +.SS directories\.man +.P A folder that is full of man pages\. Sugar to generate a "man" array by walking the folder\. -. -.SS "directories\.doc" +.SS directories\.doc +.P Put markdown files in here\. Eventually, these will be displayed nicely, maybe, someday\. -. -.SS "directories\.example" +.SS directories\.example +.P Put example scripts in here\. Someday, it might be exposed in some clever way\. -. -.SH "repository" +.SH repository +.P 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 +.P +.RS 2 +.EX "repository" : { "type" : "git" , "url" : "http://github\.com/npm/npm\.git" } + "repository" : { "type" : "svn" , "url" : "http://v8\.googlecode\.com/svn/trunk/" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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" +html project page that you put in your browser\. It's for computers\. +.SH scripts +.P 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 See npm help 7 \fBnpm\-scripts\fR to find out more about writing package scripts\. -. -.SH "config" +.SH config +.P 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 +.P +.RS 2 +.EX { "name" : "foo" , "config" : { "port" : "8080" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -and then had a "start" command that then referenced the \fBnpm_package_config_port\fR environment variable, then the user could +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 See npm help 7 \fBnpm\-config\fR and npm help 7 \fBnpm\-scripts\fR for more on package configs\. -. -.SH "dependencies" +.SH dependencies +.P Dependencies are specified with a simple hash of package name to version range\. The version range is a string which has one or more space\-separated descriptors\. Dependencies can also be identified with a tarball or git URL\. -. .P -\fBPlease do not put test harnesses or transpilers in your \fBdependencies\fR hash\.\fR See \fBdevDependencies\fR, below\. -. +\fBPlease do not put test harnesses or transpilers in your +\fBdependencies\fR hash\.\fR See \fBdevDependencies\fR, below\. .P See npm help 7 semver for more details about specifying version ranges\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \fBversion\fR Must match \fBversion\fR exactly -. -.IP "\(bu" 4 +.IP \(bu 2 \fB>version\fR Must be greater than \fBversion\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB>=version\fR etc -. -.IP "\(bu" 4 +.IP \(bu 2 \fB<version\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB<=version\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB~version\fR "Approximately equivalent to version" See npm help 7 semver -. -.IP "\(bu" 4 +.IP \(bu 2 \fB^version\fR "Compatible with version" See npm help 7 semver -. -.IP "\(bu" 4 +.IP \(bu 2 \fB1\.2\.x\fR 1\.2\.0, 1\.2\.1, etc\., but not 1\.3\.0 -. -.IP "\(bu" 4 -\fBhttp://\.\.\.\fR See \'URLs as Dependencies\' below -. -.IP "\(bu" 4 +.IP \(bu 2 +\fBhttp://\.\.\.\fR See 'URLs as Dependencies' below +.IP \(bu 2 \fB*\fR Matches any version -. -.IP "\(bu" 4 +.IP \(bu 2 \fB""\fR (just an empty string) Same as \fB*\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBversion1 \- version2\fR Same as \fB>=version1 <=version2\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fBrange1 || range2\fR Passes if either range1 or range2 are satisfied\. -. -.IP "\(bu" 4 -\fBgit\.\.\.\fR See \'Git URLs as Dependencies\' below -. -.IP "\(bu" 4 -\fBuser/repo\fR See \'GitHub URLs\' below -. -.IP "" 0 -. +.IP \(bu 2 +\fBgit\.\.\.\fR See 'Git URLs as Dependencies' below +.IP \(bu 2 +\fBuser/repo\fR See 'GitHub URLs' below +.IP \(bu 2 +\fBtag\fR A specific version tagged and published as \fBtag\fR See npm help \fBnpm\-tag\fR +.IP \(bu 2 +\fBpath/path/path\fR See Local Paths below + +.RE .P For example, these are all valid: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "dependencies" : { "foo" : "1\.0\.0 \- 2\.9999\.9999" , "bar" : ">=1\.0\.2 <2\.1\.2" @@ -472,46 +391,40 @@ For example, these are all valid: , "elf" : "~1\.2\.3" , "two" : "2\.x" , "thr" : "3\.3\.x" + , "lat" : "latest" + , "dyl" : "~/projects/dyl" } } -. -.fi -. -.IP "" 0 -. -.SS "URLs as Dependencies" +.EE +.RE +.SS URLs as Dependencies +.P 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" +.SS Git URLs as Dependencies +.P Git urls can be of the form: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX 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 -. +.EE +.RE .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 "GitHub URLs" +.SH GitHub URLs +.P As of version 1\.1\.65, you can refer to GitHub urls as just "foo": "user/foo\-project"\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "foo", "version": "0\.0\.0", @@ -519,35 +432,47 @@ As of version 1\.1\.65, you can refer to GitHub urls as just "foo": "user/foo\-p "express": "visionmedia/express" } } -. -.fi -. -.IP "" 0 -. -.SH "devDependencies" +.EE +.RE +.SH Local Paths +.P +As of version 2\.0\.0 you can provide a path to a local directory that +contains a package\. Local paths can be in the form: +.P +.RS 2 +.EX +\|\.\./foo/bar +~/foo/bar +\|\./foo/bar +/foo/bar +.EE +.RE +.P +This feature is helpful for local offline development and creating +tests that require npm installing where you don't want to hit an +external server, but should not be used when publishing packages +to the public registry\. +.SH devDependencies +.P 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 +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\. -. +In this case, it's best to list these additional items in a +\fBdevDependencies\fR hash\. .P These things will be installed when doing \fBnpm link\fR or \fBnpm install\fR from the root of a package, and can be managed like any other npm configuration param\. See npm help 7 \fBnpm\-config\fR for more on the topic\. -. .P For build steps that are not platform\-specific, such as compiling CoffeeScript or other languages to JavaScript, use the \fBprepublish\fR script to do this, and make the required package a devDependency\. -. .P For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "ethopia\-waza", "description": "a delightfully fruity coffee varietal", "version": "1\.2\.3", @@ -559,29 +484,24 @@ For example: }, "main": "lib/waza\.js" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The \fBprepublish\fR script will be run before publishing, so that users can consume the functionality without requiring them to compile it -themselves\. In dev mode (ie, locally running \fBnpm install\fR), it\'ll +themselves\. In dev mode (ie, locally running \fBnpm install\fR), it'll run this script as well, so that you can test it easily\. -. -.SH "peerDependencies" +.SH peerDependencies +.P In some cases, you want to express the compatibility of your package with an host tool or library, while not necessarily doing a \fBrequire\fR of this host\. This is usually refered to as a \fIplugin\fR\|\. Notably, your module may be exposing a specific interface, expected and specified by the host documentation\. -. .P For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "tea\-latte", "version": "1\.3\.5" @@ -589,283 +509,223 @@ For example: "tea": "2\.x" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P This ensures your package \fBtea\-latte\fR can be installed \fIalong\fR with the second major version of the host package \fBtea\fR only\. The host package is automatically installed if needed\. \fBnpm install tea\-latte\fR could possibly yield the following dependency graph: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX ├── tea\-latte@1\.3\.5 └── tea@2\.2\.0 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Trying to install another plugin with a conflicting requirement will cause an error\. For this reason, make sure your plugin requirement is as broad as possible, and not to lock it down to specific patch versions\. -. .P Assuming the host complies with semver \fIhttp://semver\.org/\fR, only changes in -the host package\'s major version will break your plugin\. Thus, if you\'ve worked +the host package's major version will break your plugin\. Thus, if you've worked with every 1\.x version of the host package, use \fB"^1\.0"\fR or \fB"1\.x"\fR to express this\. If you depend on features introduced in 1\.5\.2, use \fB">= 1\.5\.2 < 2"\fR\|\. -. -.SH "bundledDependencies" +.SH bundledDependencies +.P 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" +.SH optionalDependencies +.P 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 +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 +It is still your program's responsibility to handle the lack of the dependency\. For example, something like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX try { - var foo = require(\'foo\') - var fooVersion = require(\'foo/package\.json\')\.version + 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" +.EE +.RE +.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 +.P You can specify the version of node that your stuff works on: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "engines" : { "node" : ">=0\.10\.3 <0\.12" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -And, like with dependencies, if you don\'t specify the version (or if you +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 +.P +.RS 2 +.EX { "engines" : { "npm" : "~1\.0\.20" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Note that, unless the user has set the \fBengine\-strict\fR config flag, this field is advisory only\. -. -.SH "engineStrict" +.SH engineStrict +.P If you are sure that your module will \fIdefinitely not\fR run properly on versions of Node/npm other than those specified in the \fBengines\fR 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\. -. +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" +.SH os +.P You can specify which operating systems your module will run on: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "os" : [ "darwin", "linux" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You can also blacklist instead of whitelist operating systems, -just prepend the blacklisted os with a \'!\': -. -.IP "" 4 -. -.nf +just prepend the blacklisted os with a '!': +.P +.RS 2 +.EX "os" : [ "!win32" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .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 +It is allowed to both blacklist, and whitelist, although there isn't any good reason to do this\. -. -.SH "cpu" +.SH cpu +.P If your code only runs on certain cpu architectures, you can specify which ones\. -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "cpu" : [ "x64", "ia32" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Like the \fBos\fR option, you can also blacklist architectures: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "cpu" : [ "!arm", "!mips" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The host architecture is determined by \fBprocess\.arch\fR -. -.SH "preferGlobal" +.SH preferGlobal +.P 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" +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 +.P 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 +.SH publishConfig +.P +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 See npm help 7 \fBnpm\-config\fR to see the list of config options that can be overridden\. -. -.SH "DEFAULT VALUES" +.SH DEFAULT VALUES +.P npm will default some values based on package contents\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \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 +.IP \(bu 2 \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 +.IP \(bu 2 \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 <email> (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 "SEE ALSO" -. -.IP "\(bu" 4 + +.RE +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 semver -. -.IP "\(bu" 4 +.IP \(bu 2 npm help init -. -.IP "\(bu" 4 +.IP \(bu 2 npm help version -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help help -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help rm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5 index d0b6323657..569b7c5c6b 100644 --- a/deps/npm/man/man5/npmrc.5 +++ b/deps/npm/man/man5/npmrc.5 @@ -1,103 +1,83 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPMRC" "5" "September 2014" "" "" -. .SH "NAME" -\fBnpmrc\fR \-\- The npm config files -. -.SH "DESCRIPTION" +\fBnpmrc\fR \- The npm config files +.SH DESCRIPTION +.P 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 For a list of available configuration options, see npm help 7 config\. -. -.SH "FILES" +.SH FILES +.P The four relevant files are: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 per\-project config file (/path/to/my/project/\.npmrc) -. -.IP "\(bu" 4 +.IP \(bu 2 per\-user config file (~/\.npmrc) -. -.IP "\(bu" 4 +.IP \(bu 2 global config file ($PREFIX/npmrc) -. -.IP "\(bu" 4 +.IP \(bu 2 npm builtin config file (/path/to/npm/npmrc) -. -.IP "" 0 -. + +.RE .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 +parameters\. Environment variables can be replaced using +\fB${VARIABLE_NAME}\fR\|\. For example: +.P +.RS 2 +.EX prefix = ${HOME}/\.npm\-packages -. -.fi -. -.IP "" 0 -. +.EE +.RE .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\-project config file" +.SS Per\-project config file +.P When working locally in a project, a \fB\|\.npmrc\fR file in the root of the project (ie, a sibling of \fBnode_modules\fR and \fBpackage\.json\fR) will set config values specific to this project\. -. .P -Note that this only applies to the root of the project that you\'re +Note that this only applies to the root of the project that you're running npm in\. It has no effect when your module is published\. For -example, you can\'t publish a module that forces itself to install +example, you can't publish a module that forces itself to install globally, or in a different location\. -. -.SS "Per\-user config file" +.SS Per\-user config file +.P \fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set in the environment or on the command line) -. -.SS "Global config file" +.SS Global config file +.P \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" +.SS Built\-in config file +.P \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 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help npm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man5/package.json.5 b/deps/npm/man/man5/package.json.5 index 8233dc1731..8ab713ccc0 100644 --- a/deps/npm/man/man5/package.json.5 +++ b/deps/npm/man/man5/package.json.5 @@ -1,466 +1,385 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "PACKAGE\.JSON" "5" "September 2014" "" "" -. .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 +\fBpackage.json\fR \- Specifics of npm's package\.json handling +.SH DESCRIPTION +.P +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 settings described in npm help 7 \fBnpm\-config\fR\|\. -. -.SH "name" +.SH name +.P 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 +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 +.RS 0 +.IP \(bu 2 +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 +.IP \(bu 2 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 +Also, it can't start with a dot or an underscore\. +.IP \(bu 2 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 +.IP \(bu 2 +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" + +.RE +.P +A name can be optionally prefixed by a scope, e\.g\. \fB@myorg/mypackage\fR\|\. See +npm help 7 \fBnpm\-scope\fR for more detail\. +.SH version +.P 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 +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 +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 More on version numbers and ranges at npm help 7 semver\. -. -.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" +.SH description +.P +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 +.P +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 +.P 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 +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 +Literally\. Spit\. I'm so not kidding\. +.SH bugs +.P +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 +.P +.RS 2 +.EX { "url" : "http://github\.com/owner/project/issues" , "email" : "project@hostname\.com" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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" +.SH license +.P 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\. -. +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\-3\-Clause -or MIT, is to just specify the standard SPDX ID of the license you\'re using, +The simplest way, assuming you're using a common license such as BSD\-3\-Clause +or MIT, is to just specify the standard SPDX ID of the license you're using, like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "license" : "BSD\-3\-Clause" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You can check the full list of SPDX license IDs \fIhttps://spdx\.org/licenses/\fR\|\. -Ideally you should pick one that is OSI \fIhttp://opensource\.org/licenses/alphabetical\fR approved\. -. +Ideally you should pick one that is +OSI \fIhttp://opensource\.org/licenses/alphabetical\fR approved\. .P -It\'s also a good idea to include a LICENSE file at the top level in +It's also a good idea to include a LICENSE file at the top level in your package\. -. -.SH "people fields: author, contributors" +.SH people fields: author, contributors +.P 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 +.P +.RS 2 +.EX { "name" : "Barney Rubble" , "email" : "b@rubble\.com" , "url" : "http://barnyrubble\.tumblr\.com/" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Or you can shorten that all into a single string, and npm will parse it for you: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "Barney Rubble <b@rubble\.com> (http://barnyrubble\.tumblr\.com/) -. -.fi -. -.IP "" 0 -. +.EE +.RE .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" +.SH files +.P 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" +.SH main +.P 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\. -. +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 +.SH bin +.P +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 +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 +.P +.RS 2 +.EX { "bin" : { "npm" : "\./cli\.js" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -So, when you install npm, it\'ll create a symlink from the \fBcli\.js\fR script to \fB/usr/local/bin/npm\fR\|\. -. +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 +.P +.RS 2 +.EX { "name": "my\-program" , "version": "1\.2\.5" , "bin": "\./path/to/program" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P would be the same as this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "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 +.EE +.RE +.SH man +.P +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 <pkgname>\fR, regardless of its actual filename\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name" : "foo" , "version" : "1\.2\.3" , "description" : "A packaged foo fooer for fooing foos" , "main" : "foo\.js" , "man" : "\./man/doc\.1" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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\. +If the filename doesn't start with the package name, then it's prefixed\. So, this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "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 -. +.EE +.RE .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 +.P +.RS 2 +.EX { "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 -. +.EE +.RE .P will create entries for \fBman foo\fR and \fBman 2 foo\fR -. -.SH "directories" +.SH directories +.P The CommonJS Packages \fIhttp://wiki\.commonjs\.org/wiki/Packages/1\.0\fR spec details a few ways that you can indicate the structure of your package using a \fBdirectories\fR -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\. -. +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" +.SS directories\.lib +.P 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" +with the lib folder in any way, but it's useful meta info\. +.SS directories\.bin +.P 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" +.SS directories\.man +.P A folder that is full of man pages\. Sugar to generate a "man" array by walking the folder\. -. -.SS "directories\.doc" +.SS directories\.doc +.P Put markdown files in here\. Eventually, these will be displayed nicely, maybe, someday\. -. -.SS "directories\.example" +.SS directories\.example +.P Put example scripts in here\. Someday, it might be exposed in some clever way\. -. -.SH "repository" +.SH repository +.P 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 +.P +.RS 2 +.EX "repository" : { "type" : "git" , "url" : "http://github\.com/npm/npm\.git" } + "repository" : { "type" : "svn" , "url" : "http://v8\.googlecode\.com/svn/trunk/" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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" +html project page that you put in your browser\. It's for computers\. +.SH scripts +.P 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 See npm help 7 \fBnpm\-scripts\fR to find out more about writing package scripts\. -. -.SH "config" +.SH config +.P 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 +.P +.RS 2 +.EX { "name" : "foo" , "config" : { "port" : "8080" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -and then had a "start" command that then referenced the \fBnpm_package_config_port\fR environment variable, then the user could +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 See npm help 7 \fBnpm\-config\fR and npm help 7 \fBnpm\-scripts\fR for more on package configs\. -. -.SH "dependencies" +.SH dependencies +.P Dependencies are specified with a simple hash of package name to version range\. The version range is a string which has one or more space\-separated descriptors\. Dependencies can also be identified with a tarball or git URL\. -. .P -\fBPlease do not put test harnesses or transpilers in your \fBdependencies\fR hash\.\fR See \fBdevDependencies\fR, below\. -. +\fBPlease do not put test harnesses or transpilers in your +\fBdependencies\fR hash\.\fR See \fBdevDependencies\fR, below\. .P See npm help 7 semver for more details about specifying version ranges\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \fBversion\fR Must match \fBversion\fR exactly -. -.IP "\(bu" 4 +.IP \(bu 2 \fB>version\fR Must be greater than \fBversion\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB>=version\fR etc -. -.IP "\(bu" 4 +.IP \(bu 2 \fB<version\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB<=version\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB~version\fR "Approximately equivalent to version" See npm help 7 semver -. -.IP "\(bu" 4 +.IP \(bu 2 \fB^version\fR "Compatible with version" See npm help 7 semver -. -.IP "\(bu" 4 +.IP \(bu 2 \fB1\.2\.x\fR 1\.2\.0, 1\.2\.1, etc\., but not 1\.3\.0 -. -.IP "\(bu" 4 -\fBhttp://\.\.\.\fR See \'URLs as Dependencies\' below -. -.IP "\(bu" 4 +.IP \(bu 2 +\fBhttp://\.\.\.\fR See 'URLs as Dependencies' below +.IP \(bu 2 \fB*\fR Matches any version -. -.IP "\(bu" 4 +.IP \(bu 2 \fB""\fR (just an empty string) Same as \fB*\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBversion1 \- version2\fR Same as \fB>=version1 <=version2\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fBrange1 || range2\fR Passes if either range1 or range2 are satisfied\. -. -.IP "\(bu" 4 -\fBgit\.\.\.\fR See \'Git URLs as Dependencies\' below -. -.IP "\(bu" 4 -\fBuser/repo\fR See \'GitHub URLs\' below -. -.IP "" 0 -. +.IP \(bu 2 +\fBgit\.\.\.\fR See 'Git URLs as Dependencies' below +.IP \(bu 2 +\fBuser/repo\fR See 'GitHub URLs' below +.IP \(bu 2 +\fBtag\fR A specific version tagged and published as \fBtag\fR See npm help \fBnpm\-tag\fR +.IP \(bu 2 +\fBpath/path/path\fR See Local Paths below + +.RE .P For example, these are all valid: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "dependencies" : { "foo" : "1\.0\.0 \- 2\.9999\.9999" , "bar" : ">=1\.0\.2 <2\.1\.2" @@ -472,46 +391,40 @@ For example, these are all valid: , "elf" : "~1\.2\.3" , "two" : "2\.x" , "thr" : "3\.3\.x" + , "lat" : "latest" + , "dyl" : "~/projects/dyl" } } -. -.fi -. -.IP "" 0 -. -.SS "URLs as Dependencies" +.EE +.RE +.SS URLs as Dependencies +.P 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" +.SS Git URLs as Dependencies +.P Git urls can be of the form: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX 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 -. +.EE +.RE .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 "GitHub URLs" +.SH GitHub URLs +.P As of version 1\.1\.65, you can refer to GitHub urls as just "foo": "user/foo\-project"\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "foo", "version": "0\.0\.0", @@ -519,35 +432,47 @@ As of version 1\.1\.65, you can refer to GitHub urls as just "foo": "user/foo\-p "express": "visionmedia/express" } } -. -.fi -. -.IP "" 0 -. -.SH "devDependencies" +.EE +.RE +.SH Local Paths +.P +As of version 2\.0\.0 you can provide a path to a local directory that +contains a package\. Local paths can be in the form: +.P +.RS 2 +.EX +\|\.\./foo/bar +~/foo/bar +\|\./foo/bar +/foo/bar +.EE +.RE +.P +This feature is helpful for local offline development and creating +tests that require npm installing where you don't want to hit an +external server, but should not be used when publishing packages +to the public registry\. +.SH devDependencies +.P 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 +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\. -. +In this case, it's best to list these additional items in a +\fBdevDependencies\fR hash\. .P These things will be installed when doing \fBnpm link\fR or \fBnpm install\fR from the root of a package, and can be managed like any other npm configuration param\. See npm help 7 \fBnpm\-config\fR for more on the topic\. -. .P For build steps that are not platform\-specific, such as compiling CoffeeScript or other languages to JavaScript, use the \fBprepublish\fR script to do this, and make the required package a devDependency\. -. .P For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "ethopia\-waza", "description": "a delightfully fruity coffee varietal", "version": "1\.2\.3", @@ -559,29 +484,24 @@ For example: }, "main": "lib/waza\.js" } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The \fBprepublish\fR script will be run before publishing, so that users can consume the functionality without requiring them to compile it -themselves\. In dev mode (ie, locally running \fBnpm install\fR), it\'ll +themselves\. In dev mode (ie, locally running \fBnpm install\fR), it'll run this script as well, so that you can test it easily\. -. -.SH "peerDependencies" +.SH peerDependencies +.P In some cases, you want to express the compatibility of your package with an host tool or library, while not necessarily doing a \fBrequire\fR of this host\. This is usually refered to as a \fIplugin\fR\|\. Notably, your module may be exposing a specific interface, expected and specified by the host documentation\. -. .P For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name": "tea\-latte", "version": "1\.3\.5" @@ -589,283 +509,223 @@ For example: "tea": "2\.x" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P This ensures your package \fBtea\-latte\fR can be installed \fIalong\fR with the second major version of the host package \fBtea\fR only\. The host package is automatically installed if needed\. \fBnpm install tea\-latte\fR could possibly yield the following dependency graph: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX ├── tea\-latte@1\.3\.5 └── tea@2\.2\.0 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Trying to install another plugin with a conflicting requirement will cause an error\. For this reason, make sure your plugin requirement is as broad as possible, and not to lock it down to specific patch versions\. -. .P Assuming the host complies with semver \fIhttp://semver\.org/\fR, only changes in -the host package\'s major version will break your plugin\. Thus, if you\'ve worked +the host package's major version will break your plugin\. Thus, if you've worked with every 1\.x version of the host package, use \fB"^1\.0"\fR or \fB"1\.x"\fR to express this\. If you depend on features introduced in 1\.5\.2, use \fB">= 1\.5\.2 < 2"\fR\|\. -. -.SH "bundledDependencies" +.SH bundledDependencies +.P 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" +.SH optionalDependencies +.P 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 +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 +It is still your program's responsibility to handle the lack of the dependency\. For example, something like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX try { - var foo = require(\'foo\') - var fooVersion = require(\'foo/package\.json\')\.version + 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" +.EE +.RE +.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 +.P You can specify the version of node that your stuff works on: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "engines" : { "node" : ">=0\.10\.3 <0\.12" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -And, like with dependencies, if you don\'t specify the version (or if you +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 +.P +.RS 2 +.EX { "engines" : { "npm" : "~1\.0\.20" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Note that, unless the user has set the \fBengine\-strict\fR config flag, this field is advisory only\. -. -.SH "engineStrict" +.SH engineStrict +.P If you are sure that your module will \fIdefinitely not\fR run properly on versions of Node/npm other than those specified in the \fBengines\fR 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\. -. +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" +.SH os +.P You can specify which operating systems your module will run on: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "os" : [ "darwin", "linux" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You can also blacklist instead of whitelist operating systems, -just prepend the blacklisted os with a \'!\': -. -.IP "" 4 -. -.nf +just prepend the blacklisted os with a '!': +.P +.RS 2 +.EX "os" : [ "!win32" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .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 +It is allowed to both blacklist, and whitelist, although there isn't any good reason to do this\. -. -.SH "cpu" +.SH cpu +.P If your code only runs on certain cpu architectures, you can specify which ones\. -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "cpu" : [ "x64", "ia32" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Like the \fBos\fR option, you can also blacklist architectures: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX "cpu" : [ "!arm", "!mips" ] -. -.fi -. -.IP "" 0 -. +.EE +.RE .P The host architecture is determined by \fBprocess\.arch\fR -. -.SH "preferGlobal" +.SH preferGlobal +.P 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" +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 +.P 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 +.SH publishConfig +.P +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 See npm help 7 \fBnpm\-config\fR to see the list of config options that can be overridden\. -. -.SH "DEFAULT VALUES" +.SH DEFAULT VALUES +.P npm will default some values based on package contents\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \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 +.IP \(bu 2 \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 +.IP \(bu 2 \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 <email> (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 "SEE ALSO" -. -.IP "\(bu" 4 + +.RE +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 semver -. -.IP "\(bu" 4 +.IP \(bu 2 npm help init -. -.IP "\(bu" 4 +.IP \(bu 2 npm help version -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help help -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help rm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/index.7 b/deps/npm/man/man7/index.7 deleted file mode 100644 index 911d8efab0..0000000000 --- a/deps/npm/man/man7/index.7 +++ /dev/null @@ -1,298 +0,0 @@ -.\" 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/man7/npm-coding-style.7 b/deps/npm/man/man7/npm-coding-style.7 index 385a390872..304dd4954e 100644 --- a/deps/npm/man/man7/npm-coding-style.7 +++ b/deps/npm/man/man7/npm-coding-style.7 @@ -1,122 +1,93 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-CODING\-STYLE" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-coding-style\fR \-\- npm\'s "funny" coding style -. -.SH "DESCRIPTION" -npm\'s coding style is a bit unconventional\. It is not different for -difference\'s sake, but rather a carefully crafted style that is +\fBnpm-coding-style\fR \- npm's "funny" coding style +.SH DESCRIPTION +.P +npm's coding style is a bit unconventional\. It is not different for +difference's sake, but rather a carefully crafted style that is designed to reduce visual clutter and make bugs more apparent\. -. .P If you want to contribute to npm (which is very encouraged), you should -make your code conform to npm\'s style\. -. +make your code conform to npm's style\. +.P +Note: this concerns npm's code not the specific packages at npmjs\.org +.SH Line Length .P -Note: this concerns npm\'s code not the specific packages at npmjs\.org -. -.SH "Line Length" -Keep lines shorter than 80 characters\. It\'s better for lines to be +Keep lines shorter than 80 characters\. It's better for lines to be too short than to be too long\. Break up long lists, objects, and other statements onto multiple lines\. -. -.SH "Indentation" +.SH Indentation +.P Two\-spaces\. Tabs are better, but they look like hell in web browsers -(and on github), and node uses 2 spaces, so that\'s that\. -. +(and on github), and node uses 2 spaces, so that's that\. .P Configure your editor appropriately\. -. -.SH "Curly braces" +.SH Curly braces +.P Curly braces belong on the same line as the thing that necessitates them\. -. .P Bad: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX function () { -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Good: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX function () { -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -If a block needs to wrap to the next line, use a curly brace\. Don\'t -use it if it doesn\'t\. -. +If a block needs to wrap to the next line, use a curly brace\. Don't +use it if it doesn't\. .P Bad: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX if (foo) { bar() } while (foo) bar() -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Good: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX if (foo) bar() while (foo) { bar() } -. -.fi -. -.IP "" 0 -. -.SH "Semicolons" -Don\'t use them except in four situations: -. -.IP "\(bu" 4 -\fBfor (;;)\fR loops\. They\'re actually required\. -. -.IP "\(bu" 4 -null loops like: \fBwhile (something) ;\fR (But you\'d better have a good +.EE +.RE +.SH Semicolons +.P +Don't use them except in four situations: +.RS 0 +.IP \(bu 2 +\fBfor (;;)\fR loops\. They're actually required\. +.IP \(bu 2 +null loops like: \fBwhile (something) ;\fR (But you'd better have a good reason for doing that\.) -. -.IP "\(bu" 4 +.IP \(bu 2 \fBcase "foo": doSomething(); break\fR -. -.IP "\(bu" 4 +.IP \(bu 2 In front of a leading \fB(\fR or \fB[\fR at the start of the line\. This prevents the expression from being interpreted as a function call or property access, respectively\. -. -.IP "" 0 -. + +.RE .P Some examples of good semicolon usage: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX ;(x || y)\.doSomething() ;[a, b, c]\.forEach(doSomething) for (var i = 0; i < 10; i ++) { @@ -127,24 +98,20 @@ for (var i = 0; i < 10; i ++) { } end() } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Note that starting lines with \fB\-\fR and \fB+\fR also should be prefixed with a semicolon, but this is much less common\. -. -.SH "Comma First" +.SH Comma First +.P If there is a list of things separated by commas, and it wraps across multiple lines, put the comma at the start of the next line, directly below the token that starts the list\. Put the final token in the list on a line by itself\. For example: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX var magicWords = [ "abracadabra" , "gesundheit" , "ventrilo" @@ -156,99 +123,82 @@ var magicWords = [ "abracadabra" , b = "abc" , etc , somethingElse -. -.fi -. -.IP "" 0 -. -.SH "Whitespace" +.EE +.RE +.SH Whitespace +.P Put a single space in front of ( for anything other than a function call\. Also use a single space wherever it makes things more readable\. -. .P -Don\'t leave trailing whitespace at the end of lines\. Don\'t indent empty -lines\. Don\'t use more spaces than are helpful\. -. -.SH "Functions" +Don't leave trailing whitespace at the end of lines\. Don't indent empty +lines\. Don't use more spaces than are helpful\. +.SH Functions +.P Use named functions\. They make stack traces a lot easier to read\. -. -.SH "Callbacks, Sync/async Style" +.SH Callbacks, Sync/async Style +.P Use the asynchronous/non\-blocking versions of things as much as possible\. It might make more sense for npm to use the synchronous fs APIs, but this way, the fs and http and child process stuff all uses the same callback\-passing methodology\. -. .P The callback should always be the last argument in the list\. Its first argument is the Error or null\. -. .P -Be very careful never to ever ever throw anything\. It\'s worse than useless\. +Be very careful never to ever ever throw anything\. It's worse than useless\. Just send the error message back as the first argument to the callback\. -. -.SH "Errors" -Always create a new Error object with your message\. Don\'t just return a +.SH Errors +.P +Always create a new Error object with your message\. Don't just return a string message to the callback\. Stack traces are handy\. -. -.SH "Logging" +.SH Logging +.P Logging is done using the npmlog \fIhttps://github\.com/npm/npmlog\fR utility\. -. .P Please clean up logs when they are no longer helpful\. In particular, 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 +report what's happening so that it's easier to track down where a fault occurs\. -. .P Use appropriate log levels\. See npm help 7 \fBnpm\-config\fR and search for "loglevel"\. -. -.SH "Case, naming, etc\." +.SH Case, naming, etc\. +.P Use \fBlowerCamelCase\fR for multiword identifiers when they refer to objects, functions, methods, members, or anything not specified in this section\. -. .P -Use \fBUpperCamelCase\fR for class names (things that you\'d pass to "new")\. -. +Use \fBUpperCamelCase\fR for class names (things that you'd pass to "new")\. .P Use \fBall\-lower\-hyphen\-css\-case\fR for multiword filenames and config keys\. -. .P Use named functions\. They make stack traces easier to follow\. -. .P Use \fBCAPS_SNAKE_CASE\fR for constants, things that should never change and are rarely used\. -. .P Use a single uppercase letter for function names where the function would normally be anonymous, but needs to call itself recursively\. It -makes it clear that it\'s a "throwaway" function\. -. -.SH "null, undefined, false, 0" -Boolean variables and functions should always be either \fBtrue\fR or \fBfalse\fR\|\. Don\'t set it to 0 unless it\'s supposed to be a number\. -. +makes it clear that it's a "throwaway" function\. +.SH null, undefined, false, 0 +.P +Boolean variables and functions should always be either \fBtrue\fR or +\fBfalse\fR\|\. Don't set it to 0 unless it's supposed to be a number\. .P When something is intentionally missing or removed, set it to \fBnull\fR\|\. -. .P -Don\'t set things to \fBundefined\fR\|\. Reserve that value to mean "not yet +Don't set things to \fBundefined\fR\|\. Reserve that value to mean "not yet set to anything\." -. .P Boolean objects are verboten\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 developers -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help npm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/npm-config.7 b/deps/npm/man/man7/npm-config.7 index 7bdf1c0059..f759d94bfd 100644 --- a/deps/npm/man/man7/npm-config.7 +++ b/deps/npm/man/man7/npm-config.7 @@ -1,1520 +1,1198 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-CONFIG" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-config\fR \-\- More than you probably want to know about npm configuration -. -.SH "DESCRIPTION" +\fBnpm-config\fR \- More than you probably want to know about npm configuration +.SH DESCRIPTION +.P npm gets its configuration values from 6 sources, in this priority: -. -.SS "Command Line Flags" +.SS Command Line Flags +.P 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" +.SS Environment Variables +.P 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 +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 "npmrc Files" +.SS npmrc Files +.P The four relevant files are: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 per\-project config file (/path/to/my/project/\.npmrc) -. -.IP "\(bu" 4 +.IP \(bu 2 per\-user config file (~/\.npmrc) -. -.IP "\(bu" 4 +.IP \(bu 2 global config file ($PREFIX/npmrc) -. -.IP "\(bu" 4 +.IP \(bu 2 npm builtin config file (/path/to/npm/npmrc) -. -.IP "" 0 -. + +.RE .P See npm help 5 npmrc for more details\. -. -.SS "Default Configs" +.SS Default Configs +.P A set of configuration parameters that are internal to npm, and are defaults if nothing else is specified\. -. -.SH "Shorthands and Other CLI Niceties" +.SH Shorthands and Other CLI Niceties +.P The following shorthands are parsed on the command\-line: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \fB\-v\fR: \fB\-\-version\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-h\fR, \fB\-?\fR, \fB\-\-help\fR, \fB\-H\fR: \fB\-\-usage\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-s\fR, \fB\-\-silent\fR: \fB\-\-loglevel silent\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-q\fR, \fB\-\-quiet\fR: \fB\-\-loglevel warn\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-d\fR: \fB\-\-loglevel info\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-dd\fR, \fB\-\-verbose\fR: \fB\-\-loglevel verbose\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-ddd\fR: \fB\-\-loglevel silly\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-g\fR: \fB\-\-global\fR -. -.IP "\(bu" 4 +.IP \(bu 2 +\fB\-C\fR: \fB\-\-prefix\fR +.IP \(bu 2 \fB\-l\fR: \fB\-\-long\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-m\fR: \fB\-\-message\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-p\fR, \fB\-\-porcelain\fR: \fB\-\-parseable\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-reg\fR: \fB\-\-registry\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-v\fR: \fB\-\-version\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-f\fR: \fB\-\-force\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-desc\fR: \fB\-\-description\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-S\fR: \fB\-\-save\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-D\fR: \fB\-\-save\-dev\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-O\fR: \fB\-\-save\-optional\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-B\fR: \fB\-\-save\-bundle\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-E\fR: \fB\-\-save\-exact\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-y\fR: \fB\-\-yes\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\-n\fR: \fB\-\-yes false\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBll\fR and \fBla\fR commands: \fBls \-\-long\fR -. -.IP "" 0 -. + +.RE .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 +.P +.RS 2 +.EX npm ls \-\-par # same as: npm ls \-\-parseable -. -.fi -. -.IP "" 0 -. +.EE +.RE .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 +.P +.RS 2 +.EX npm ls \-gpld # same as: npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info -. -.fi -. -.IP "" 0 -. -.SH "Per\-Package Config Settings" +.EE +.RE +.SH Per\-Package Config Settings +.P When running scripts (see npm help 7 \fBnpm\-scripts\fR) the package\.json "config" -keys are overwritten in the environment if there is a config param of \fB<name>[@<version>]:<key>\fR\|\. For example, if the package\.json has +keys are overwritten in the environment if there is a config param of +\fB<name>[@<version>]:<key>\fR\|\. For example, if the package\.json has this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name" : "foo" , "config" : { "port" : "8080" } , "scripts" : { "start" : "node server\.js" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P and the server\.js is this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P then the user could change the behavior by doing: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm config set foo:port 80 -. -.fi -. -.IP "" 0 -. +.EE +.RE .P See npm help 5 package\.json for more information\. -. -.SH "Config Settings" -. -.SS "always\-auth" -. -.IP "\(bu" 4 +.SH Config Settings +.SS always\-auth +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Force npm to always require authentication when accessing the registry, even for \fBGET\fR requests\. -. -.SS "bin\-links" -. -.IP "\(bu" 4 +.SS bin\-links +.RS 0 +.IP \(bu 2 Default: \fBtrue\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Tells npm to create symlinks (or \fB\|\.cmd\fR shims on Windows) for package executables\. -. .P Set to false to have it not do this\. This can be used to work around -the fact that some file systems don\'t support symlinks, even on +the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -. -.SS "browser" -. -.IP "\(bu" 4 +.SS browser +.RS 0 +.IP \(bu 2 Default: OS X: \fB"open"\fR, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P The browser that is called by the \fBnpm docs\fR command to open websites\. -. -.SS "ca" -. -.IP "\(bu" 4 +.SS ca +.RS 0 +.IP \(bu 2 Default: The npm CA certificate -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String or null -. -.IP "" 0 -. + +.RE .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 "cafile" -. -.IP "\(bu" 4 +.SS cafile +.RS 0 +.IP \(bu 2 Default: \fBnull\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P A path to a file containing one or multiple Certificate Authority signing -certificates\. Similar to the \fBca\fR setting, but allows for multiple CA\'s, as +certificates\. Similar to the \fBca\fR setting, but allows for multiple CA's, as well as for the CA information to be stored in a file on disk\. -. -.SS "cache" -. -.IP "\(bu" 4 +.SS cache +.RS 0 +.IP \(bu 2 Default: Windows: \fB%AppData%\\npm\-cache\fR, Posix: \fB~/\.npm\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. -.P -The location of npm\'s cache directory\. See npm help \fBnpm\-cache\fR -. -.SS "cache\-lock\-stale" -. -.IP "\(bu" 4 + +.RE +.P +The location of npm's cache directory\. See npm help \fBnpm\-cache\fR +.SS cache\-lock\-stale +.RS 0 +.IP \(bu 2 Default: 60000 (1 minute) -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P The number of ms before cache folder lockfiles are considered stale\. -. -.SS "cache\-lock\-retries" -. -.IP "\(bu" 4 +.SS cache\-lock\-retries +.RS 0 +.IP \(bu 2 Default: 10 -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P Number of times to retry to acquire a lock on cache folder lockfiles\. -. -.SS "cache\-lock\-wait" -. -.IP "\(bu" 4 +.SS cache\-lock\-wait +.RS 0 +.IP \(bu 2 Default: 10000 (10 seconds) -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P Number of ms to wait for cache lock files to expire\. -. -.SS "cache\-max" -. -.IP "\(bu" 4 +.SS cache\-max +.RS 0 +.IP \(bu 2 Default: Infinity -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P The maximum time (in seconds) to keep items in the registry cache before re\-checking against the registry\. -. .P Note that no purging is done unless the \fBnpm cache clean\fR command is explicitly used, and that only GET requests use the cache\. -. -.SS "cache\-min" -. -.IP "\(bu" 4 +.SS cache\-min +.RS 0 +.IP \(bu 2 Default: 10 -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P The minimum time (in seconds) to keep items in the registry cache before re\-checking against the registry\. -. .P Note that no purging is done unless the \fBnpm cache clean\fR command is explicitly used, and that only GET requests use the cache\. -. -.SS "cert" -. -.IP "\(bu" 4 +.SS cert +.RS 0 +.IP \(bu 2 Default: \fBnull\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P A client certificate to pass when accessing the registry\. -. -.SS "color" -. -.IP "\(bu" 4 +.SS color +.RS 0 +.IP \(bu 2 Default: true on Posix, false on Windows -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean or \fB"always"\fR -. -.IP "" 0 -. + +.RE .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 +.SS depth +.RS 0 +.IP \(bu 2 Default: Infinity -. -.IP "\(bu" 4 +.IP \(bu 2 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 + +.RE +.P +The depth to go when recursing directories for \fBnpm ls\fR and +\fBnpm cache ls\fR\|\. +.SS description +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show the description in \fBnpm search\fR -. -.SS "dev" -. -.IP "\(bu" 4 +.SS dev +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .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 +.SS editor +.RS 0 +.IP \(bu 2 Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix, or \fB"notepad"\fR on Windows\. -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\. -. -.SS "email" -The email of the logged\-in user\. -. -.P -Set by the \fBnpm adduser\fR command\. Should not be set explicitly\. -. -.SS "engine\-strict" -. -.IP "\(bu" 4 +.SS engine\-strict +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P If set to true, then npm will stubbornly refuse to install (or even consider installing) any package that claims to not be compatible with the current Node\.js version\. -. -.SS "force" -. -.IP "\(bu" 4 +.SS force +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Makes various commands more forceful\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 lifecycle script failure does not block progress\. -. -.IP "\(bu" 4 +.IP \(bu 2 publishing clobbers previously published versions\. -. -.IP "\(bu" 4 +.IP \(bu 2 skips cache when requesting from the registry\. -. -.IP "\(bu" 4 +.IP \(bu 2 prevents checks against clobbering non\-npm files\. -. -.IP "" 0 -. -.SS "fetch\-retries" -. -.IP "\(bu" 4 + +.RE +.SS fetch\-retries +.RS 0 +.IP \(bu 2 Default: 2 -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P The "retries" config for the \fBretry\fR module to use when fetching packages from the registry\. -. -.SS "fetch\-retry\-factor" -. -.IP "\(bu" 4 +.SS fetch\-retry\-factor +.RS 0 +.IP \(bu 2 Default: 10 -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P The "factor" config for the \fBretry\fR module to use when fetching packages\. -. -.SS "fetch\-retry\-mintimeout" -. -.IP "\(bu" 4 +.SS fetch\-retry\-mintimeout +.RS 0 +.IP \(bu 2 Default: 10000 (10 seconds) -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P The "minTimeout" config for the \fBretry\fR module to use when fetching packages\. -. -.SS "fetch\-retry\-maxtimeout" -. -.IP "\(bu" 4 +.SS fetch\-retry\-maxtimeout +.RS 0 +.IP \(bu 2 Default: 60000 (1 minute) -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Number -. -.IP "" 0 -. + +.RE .P The "maxTimeout" config for the \fBretry\fR module to use when fetching packages\. -. -.SS "git" -. -.IP "\(bu" 4 +.SS git +.RS 0 +.IP \(bu 2 Default: \fB"git"\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P The command to use for git commands\. If git is installed on the computer, but is not in the \fBPATH\fR, then set this to the full path to the git binary\. -. -.SS "git\-tag\-version" -. -.IP "\(bu" 4 +.SS git\-tag\-version +.RS 0 +.IP \(bu 2 Default: \fBtrue\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Tag the commit when using the \fBnpm version\fR command\. -. -.SS "global" -. -.IP "\(bu" 4 +.SS global +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P -Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See npm help 5 \fBnpm\-folders\fR for more on the differences in behavior\. -. -.IP "\(bu" 4 +Operates in "global" mode, so that packages are installed into the +\fBprefix\fR folder instead of the current working directory\. See +npm help 5 \fBnpm\-folders\fR for more on the differences in behavior\. +.RS 0 +.IP \(bu 2 packages are installed into the \fB{prefix}/lib/node_modules\fR folder, instead of the current working directory\. -. -.IP "\(bu" 4 +.IP \(bu 2 bin files are linked to \fB{prefix}/bin\fR -. -.IP "\(bu" 4 +.IP \(bu 2 man pages are linked to \fB{prefix}/share/man\fR -. -.IP "" 0 -. -.SS "globalconfig" -. -.IP "\(bu" 4 + +.RE +.SS globalconfig +.RS 0 +.IP \(bu 2 Default: {prefix}/etc/npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P The config file to read for global config options\. -. -.SS "group" -. -.IP "\(bu" 4 +.SS group +.RS 0 +.IP \(bu 2 Default: GID of the current process -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String or Number -. -.IP "" 0 -. + +.RE .P The group to use when running package scripts in global mode as the root user\. -. -.SS "heading" -. -.IP "\(bu" 4 +.SS heading +.RS 0 +.IP \(bu 2 Default: \fB"npm"\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P The string that starts all the debugging log output\. -. -.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 +.SS https\-proxy +.RS 0 +.IP \(bu 2 +Default: the \fBHTTPS_PROXY\fR or \fBhttps_proxy\fR or \fBHTTP_PROXY\fR or +\fBhttp_proxy\fR environment variables\. +.IP \(bu 2 Type: url -. -.IP "" 0 -. + +.RE .P A proxy to use for outgoing https requests\. -. -.SS "ignore\-scripts" -. -.IP "\(bu" 4 +.SS ignore\-scripts +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P If true, npm does not run scripts specified in package\.json files\. -. -.SS "init\-module" -. -.IP "\(bu" 4 +.SS init\-module +.RS 0 +.IP \(bu 2 Default: ~/\.npm\-init\.js -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .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 +documentation for the +init\-package\-json \fIhttps://github\.com/isaacs/init\-package\-json\fR module for more information, or npm help init\. -. -.SS "init\.author\.name" -. -.IP "\(bu" 4 +.SS init\.author\.name +.RS 0 +.IP \(bu 2 Default: "" -. -.IP "\(bu" 4 +.IP \(bu 2 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 + +.RE +.P +The value \fBnpm init\fR should use by default for the package author's name\. +.SS init\.author\.email +.RS 0 +.IP \(bu 2 Default: "" -. -.IP "\(bu" 4 +.IP \(bu 2 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 + +.RE +.P +The value \fBnpm init\fR should use by default for the package author's email\. +.SS init\.author\.url +.RS 0 +.IP \(bu 2 Default: "" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. -.P -The value \fBnpm init\fR should use by default for the package author\'s homepage\. -. -.SS "init\.license" -. -.IP "\(bu" 4 + +.RE +.P +The value \fBnpm init\fR should use by default for the package author's homepage\. +.SS init\.license +.RS 0 +.IP \(bu 2 Default: "ISC" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P The value \fBnpm init\fR should use by default for the package license\. -. -.SS "json" -. -.IP "\(bu" 4 +.SS init\.version +.RS 0 +.IP \(bu 2 +Default: "0\.0\.0" +.IP \(bu 2 +Type: semver + +.RE +.P +The value that \fBnpm init\fR should use by default for the package +version number, if not already set in package\.json\. +.SS json +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Whether or not to output JSON data, rather than the normal output\. -. .P This feature is currently experimental, and the output data structures for many commands is either not implemented in JSON yet, or subject to change\. Only the output from \fBnpm ls \-\-json\fR is currently valid\. -. -.SS "key" -. -.IP "\(bu" 4 +.SS key +.RS 0 +.IP \(bu 2 Default: \fBnull\fR -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P A client key to pass when accessing the registry\. -. -.SS "link" -. -.IP "\(bu" 4 +.SS link +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .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 +.RS 0 +.IP \(bu 2 The package is not already installed globally, or -. -.IP "\(bu" 4 +.IP \(bu 2 the globally installed version is identical to the version that is being installed locally\. -. -.IP "" 0 -. -.SS "local\-address" -. -.IP "\(bu" 4 + +.RE +.SS local\-address +.RS 0 +.IP \(bu 2 Default: undefined -. -.IP "\(bu" 4 +.IP \(bu 2 Type: IP Address -. -.IP "" 0 -. + +.RE .P The IP address of the local interface to use when making connections to the npm registry\. Must be IPv4 in versions of Node prior to 0\.12\. -. -.SS "loglevel" -. -.IP "\(bu" 4 +.SS loglevel +.RS 0 +.IP \(bu 2 Default: "http" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "\(bu" 4 -Values: "silent", "win", "error", "warn", "http", "info", "verbose", "silly" -. -.IP "" 0 -. +.IP \(bu 2 +Values: "silent", "error", "warn", "http", "info", "verbose", "silly" + +.RE .P -What level of logs to report\. On failure, \fIall\fR logs are written to \fBnpm\-debug\.log\fR in the current working directory\. -. +What level of logs to report\. On failure, \fIall\fR logs are written to +\fBnpm\-debug\.log\fR in the current working directory\. .P Any logs of a higher level than the setting are shown\. The default is "http", which shows http, warn, and error output\. -. -.SS "logstream" -. -.IP "\(bu" 4 +.SS logstream +.RS 0 +.IP \(bu 2 Default: process\.stderr -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Stream -. -.IP "" 0 -. + +.RE .P -This is the stream that is passed to the npmlog \fIhttps://github\.com/npm/npmlog\fR module at run time\. -. +This is the stream that is passed to the +npmlog \fIhttps://github\.com/npm/npmlog\fR module at run time\. .P It cannot be set from the command line, but if you are using npm programmatically, you may wish to send logs to somewhere other than stderr\. -. .P If the \fBcolor\fR config is set to true, then this stream will receive colored output if it is a TTY\. -. -.SS "long" -. -.IP "\(bu" 4 +.SS long +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Show extended information in \fBnpm ls\fR and \fBnpm search\fR\|\. -. -.SS "message" -. -.IP "\(bu" 4 +.SS message +.RS 0 +.IP \(bu 2 Default: "%s" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .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 +.SS node\-version +.RS 0 +.IP \(bu 2 Default: process\.version -. -.IP "\(bu" 4 +.IP \(bu 2 Type: semver or false -. -.IP "" 0 -. -.P -The node version to use when checking package\'s "engines" hash\. -. -.SS "npat" -. -.IP "\(bu" 4 + +.RE +.P +The node version to use when checking package's "engines" hash\. +.SS npat +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Run tests on installation\. -. -.SS "onload\-script" -. -.IP "\(bu" 4 +.SS onload\-script +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P A node module to \fBrequire()\fR when npm loads\. Useful for programmatic usage\. -. -.SS "optional" -. -.IP "\(bu" 4 +.SS optional +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Attempt to install packages in the \fBoptionalDependencies\fR hash\. Note that if these packages fail to install, the overall installation process is not aborted\. -. -.SS "parseable" -. -.IP "\(bu" 4 +.SS parseable +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Output parseable results from commands that write to standard output\. -. -.SS "prefix" -. -.IP "\(bu" 4 +.SS prefix +.RS 0 +.IP \(bu 2 Default: see npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .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 +.SS production +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Set to true to run in "production" mode\. -. -.IP "1" 4 +.RS 0 +.IP 1. 3 devDependencies are not installed at the topmost level when running local \fBnpm install\fR without any arguments\. -. -.IP "2" 4 +.IP 2. 3 Set the NODE_ENV="production" for lifecycle scripts\. -. -.IP "" 0 -. -.SS "proprietary\-attribs" -. -.IP "\(bu" 4 + +.RE +.SS proprietary\-attribs +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Whether or not to include proprietary extended attributes in the tarballs created by npm\. -. .P Unless you are expecting to unpack package tarballs with something other than npm \-\- particularly a very outdated tar implementation \-\- leave this as true\. -. -.SS "proxy" -. -.IP "\(bu" 4 +.SS proxy +.RS 0 +.IP \(bu 2 Default: \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variable, or null -. -.IP "\(bu" 4 +.IP \(bu 2 Type: url -. -.IP "" 0 -. + +.RE .P A proxy to use for outgoing http requests\. -. -.SS "rebuild\-bundle" -. -.IP "\(bu" 4 +.SS rebuild\-bundle +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Rebuild bundled dependencies after installation\. -. -.SS "registry" -. -.IP "\(bu" 4 +.SS registry +.RS 0 +.IP \(bu 2 Default: https://registry\.npmjs\.org/ -. -.IP "\(bu" 4 +.IP \(bu 2 Type: url -. -.IP "" 0 -. + +.RE .P The base URL of the npm package registry\. -. -.SS "rollback" -. -.IP "\(bu" 4 +.SS rollback +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Remove failed installs\. -. -.SS "save" -. -.IP "\(bu" 4 +.SS save +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Save installed packages to a package\.json file as dependencies\. -. .P When used with the \fBnpm rm\fR command, it removes it from the dependencies hash\. -. .P Only works if there is already a package\.json file present\. -. -.SS "save\-bundle" -. -.IP "\(bu" 4 +.SS save\-bundle +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P -If a package would be saved at install time by the use of \fB\-\-save\fR, \fB\-\-save\-dev\fR, or \fB\-\-save\-optional\fR, then also put it in the \fBbundleDependencies\fR list\. -. +If a package would be saved at install time by the use of \fB\-\-save\fR, +\fB\-\-save\-dev\fR, or \fB\-\-save\-optional\fR, then also put it in the +\fBbundleDependencies\fR list\. .P When used with the \fBnpm rm\fR command, it removes it from the bundledDependencies list\. -. -.SS "save\-dev" -. -.IP "\(bu" 4 +.SS save\-dev +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Save installed packages to a package\.json file as devDependencies\. -. .P When used with the \fBnpm rm\fR command, it removes it from the devDependencies hash\. -. .P Only works if there is already a package\.json file present\. -. -.SS "save\-exact" -. -.IP "\(bu" 4 +.SS save\-exact +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. -.P -Dependencies saved to package\.json using \fB\-\-save\fR, \fB\-\-save\-dev\fR or \fB\-\-save\-optional\fR will be configured with an exact version rather than -using npm\'s default semver range operator\. -. -.SS "save\-optional" -. -.IP "\(bu" 4 + +.RE +.P +Dependencies saved to package\.json using \fB\-\-save\fR, \fB\-\-save\-dev\fR or +\fB\-\-save\-optional\fR will be configured with an exact version rather than +using npm's default semver range operator\. +.SS save\-optional +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Save installed packages to a package\.json file as optionalDependencies\. -. .P When used with the \fBnpm rm\fR command, it removes it from the devDependencies hash\. -. .P Only works if there is already a package\.json file present\. -. -.SS "save\-prefix" -. -.IP "\(bu" 4 -Default: \'^\' -. -.IP "\(bu" 4 +.SS save\-prefix +.RS 0 +.IP \(bu 2 +Default: '^' +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P -Configure how versions of packages installed to a package\.json file via \fB\-\-save\fR or \fB\-\-save\-dev\fR get prefixed\. -. +Configure how versions of packages installed to a package\.json file via +\fB\-\-save\fR or \fB\-\-save\-dev\fR get prefixed\. .P -For example if a package has version \fB1\.2\.3\fR, by default it\'s version is +For example if a package has version \fB1\.2\.3\fR, by default it's version is set to \fB^1\.2\.3\fR which allows minor upgrades for that package, but after -. -.br -\fBnpm config set save\-prefix=\'~\'\fR it would be set to \fB~1\.2\.3\fR which only allows +\fBnpm config set save\-prefix='~'\fR it would be set to \fB~1\.2\.3\fR which only allows patch upgrades\. -. -.SS "searchopts" -. -.IP "\(bu" 4 +.SS scope +.RS 0 +.IP \(bu 2 Default: "" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE +.P +Associate an operation with a scope for a scoped registry\. Useful when logging +in to a private registry for the first time: +\fBnpm login \-\-scope=@organization \-\-registry=registry\.organization\.com\fR, which +will cause \fB@organization\fR to be mapped to the registry for future installation +of packages specified according to the pattern \fB@organization/package\fR\|\. +.SS searchopts +.RS 0 +.IP \(bu 2 +Default: "" +.IP \(bu 2 +Type: String + +.RE .P Space\-separated options that are always passed to search\. -. -.SS "searchexclude" -. -.IP "\(bu" 4 +.SS searchexclude +.RS 0 +.IP \(bu 2 Default: "" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P Space\-separated options that limit the results from search\. -. -.SS "searchsort" -. -.IP "\(bu" 4 +.SS searchsort +.RS 0 +.IP \(bu 2 Default: "name" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "\(bu" 4 +.IP \(bu 2 Values: "name", "\-name", "date", "\-date", "description", "\-description", "keywords", "\-keywords" -. -.IP "" 0 -. + +.RE .P Indication of which field to sort search results by\. Prefix with a \fB\-\fR character to indicate reverse sort\. -. -.SS "shell" -. -.IP "\(bu" 4 +.SS shell +.RS 0 +.IP \(bu 2 Default: SHELL environment variable, or "bash" on Posix, or "cmd" on Windows -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P The shell to run for the \fBnpm explore\fR command\. -. -.SS "shrinkwrap" -. -.IP "\(bu" 4 +.SS shrinkwrap +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P If set to false, then ignore \fBnpm\-shrinkwrap\.json\fR files when installing\. -. -.SS "sign\-git\-tag" -. -.IP "\(bu" 4 +.SS sign\-git\-tag +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P If set to true, then the \fBnpm version\fR command will tag the version using \fB\-s\fR to add a signature\. -. .P Note that git requires you to have set up GPG keys in your git configs for this to work properly\. -. -.SS "spin" -. -.IP "\(bu" 4 +.SS spin +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean or \fB"always"\fR -. -.IP "" 0 -. + +.RE .P When set to \fBtrue\fR, npm will display an ascii spinner while it is doing things, if \fBprocess\.stderr\fR is a TTY\. -. .P Set to \fBfalse\fR to suppress the spinner, or set to \fBalways\fR to output the spinner even for non\-TTY outputs\. -. -.SS "strict\-ssl" -. -.IP "\(bu" 4 +.SS strict\-ssl +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .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 +.SS tag +.RS 0 +.IP \(bu 2 Default: latest -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P -If you ask npm to install a package and don\'t tell it a specific version, then +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 +.SS tmp +.RS 0 +.IP \(bu 2 Default: TMPDIR environment variable, or "/tmp" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .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 +.SS unicode +.RS 0 +.IP \(bu 2 Default: true -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .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 +.SS unsafe\-perm +.RS 0 +.IP \(bu 2 Default: false if running as root, true otherwise -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .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 +.SS usage +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Boolean -. -.IP "" 0 -. + +.RE .P Set to show short usage output (like the \-H output) instead of complete help when doing npm help \fBnpm\-help\fR\|\. -. -.SS "user" -. -.IP "\(bu" 4 +.SS user +.RS 0 +.IP \(bu 2 Default: "nobody" -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String or Number -. -.IP "" 0 -. + +.RE .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 +.SS userconfig +.RS 0 +.IP \(bu 2 Default: ~/\.npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .P The location of user\-level configuration settings\. -. -.SS "umask" -. -.IP "\(bu" 4 +.SS umask +.RS 0 +.IP \(bu 2 Default: 022 -. -.IP "\(bu" 4 +.IP \(bu 2 Type: Octal numeric string -. -.IP "" 0 -. + +.RE .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 "user\-agent" -. -.IP "\(bu" 4 +.SS user\-agent +.RS 0 +.IP \(bu 2 Default: node/{process\.version} {process\.platform} {process\.arch} -. -.IP "\(bu" 4 +.IP \(bu 2 Type: String -. -.IP "" 0 -. + +.RE .P Sets a User\-Agent to the request header -. -.SS "version" -. -.IP "\(bu" 4 +.SS version +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: boolean -. -.IP "" 0 -. + +.RE .P If true, output the npm version and exit successfully\. -. .P Only relevant when specified explicitly on the command line\. -. -.SS "versions" -. -.IP "\(bu" 4 +.SS versions +.RS 0 +.IP \(bu 2 Default: false -. -.IP "\(bu" 4 +.IP \(bu 2 Type: boolean -. -.IP "" 0 -. + +.RE .P -If true, output the npm version as well as node\'s \fBprocess\.versions\fR +If true, output the npm version as well as node's \fBprocess\.versions\fR hash, and exit successfully\. -. .P Only relevant when specified explicitly on the command line\. -. -.SS "viewer" -. -.IP "\(bu" 4 +.SS viewer +.RS 0 +.IP \(bu 2 Default: "man" on Posix, "browser" on Windows -. -.IP "\(bu" 4 +.IP \(bu 2 Type: path -. -.IP "" 0 -. + +.RE .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\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "\(bu" 4 +.IP \(bu 2 npm help npm -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/npm-developers.7 b/deps/npm/man/man7/npm-developers.7 index 071b8c2d79..fbf7a3c10b 100644 --- a/deps/npm/man/man7/npm-developers.7 +++ b/deps/npm/man/man7/npm-developers.7 @@ -1,335 +1,258 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-DEVELOPERS" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-developers\fR \-\- Developer Guide -. -.SH "DESCRIPTION" -So, you\'ve decided to use npm to develop (and maybe publish/deploy) +\fBnpm-developers\fR \- Developer Guide +.SH DESCRIPTION +.P +So, you've decided to use npm to develop (and maybe publish/deploy) your project\. -. .P Fantastic! -. .P There are a few things that you need to do above the simple steps that your users will do to install your program\. -. -.SH "About These Documents" +.SH About These Documents +.P These are man pages\. If you install npm, you should be able to then do \fBman npm\-thing\fR to get the documentation on a particular topic, or \fBnpm help thing\fR to see the same information\. -. -.SH "What is a " +.SH What is a \fBpackage\fR +.P A package is: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 a) a folder containing a program described by a package\.json file -. -.IP "\(bu" 4 +.IP \(bu 2 b) a gzipped tarball containing (a) -. -.IP "\(bu" 4 +.IP \(bu 2 c) a url that resolves to (b) -. -.IP "\(bu" 4 +.IP \(bu 2 d) a \fB<name>@<version>\fR that is published on the registry with (c) -. -.IP "\(bu" 4 +.IP \(bu 2 e) a \fB<name>@<tag>\fR that points to (d) -. -.IP "\(bu" 4 +.IP \(bu 2 f) a \fB<name>\fR that has a "latest" tag satisfying (e) -. -.IP "\(bu" 4 +.IP \(bu 2 g) a \fBgit\fR url that, when cloned, results in (a)\. -. -.IP "" 0 -. + +.RE .P Even if you never publish your package, you can still get a lot of benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b)\. -. .P Git urls can be of the form: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX git://github\.com/user/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 -. +.EE +.RE .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 "The package\.json File" +.SH The package\.json File +.P 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 npm help 5 \fBpackage\.json\fR for details about what goes in that file\. At the very least, you need: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 name: This should be a string that identifies your project\. Please do not use the name to specify that it runs on node, or is in JavaScript\. You can use the "engines" field to explicitly state the versions of -node (or whatever else) that your program requires, and it\'s pretty -well assumed that it\'s javascript\. -. -.IP +node (or whatever else) that your program requires, and it's pretty +well assumed that it's javascript\. It does not necessarily need to match your github repository name\. -. -.IP So, \fBnode\-foo\fR and \fBbar\-js\fR are bad names\. \fBfoo\fR or \fBbar\fR are better\. -. -.IP "\(bu" 4 +.IP \(bu 2 version: A semver\-compatible version\. -. -.IP "\(bu" 4 +.IP \(bu 2 engines: Specify the versions of node (or whatever else) that your program runs on\. The node API changes a lot, and there may be bugs or new functionality that you depend on\. Be explicit\. -. -.IP "\(bu" 4 +.IP \(bu 2 author: Take some credit\. -. -.IP "\(bu" 4 +.IP \(bu 2 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 7 scripts\. -. -.IP "\(bu" 4 +.IP \(bu 2 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\. -. -.IP "\(bu" 4 +.IP \(bu 2 directories: This is a hash of folders\. The best ones to include are "lib" and "doc", but if you specify a folder full of man pages in "man", then -they\'ll get installed just like these ones\. -. -.IP "" 0 -. +they'll get installed just like these ones\. + +.RE .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 npm help \fBnpm\-init\fR for more info\. -. -.SH "Keeping files " -Use a \fB\|\.npmignore\fR file to keep stuff out of your package\. If there\'s +.SH Keeping files \fIout\fR of your package +.P +Use a \fB\|\.npmignore\fR file to keep stuff out of your package\. If there's no \fB\|\.npmignore\fR file, but there \fIis\fR a \fB\|\.gitignore\fR file, then npm will ignore the stuff matched by the \fB\|\.gitignore\fR file\. If you \fIwant\fR to include something that is excluded by your \fB\|\.gitignore\fR file, you can create an empty \fB\|\.npmignore\fR file to override it\. -. .P -By default, the following paths and files are ignored, so there\'s no +By default, the following paths and files are ignored, so there's no need to add them to \fB\|\.npmignore\fR explicitly: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \fB\|\.*\.swp\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\|\._*\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\|\.DS_Store\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\|\.git\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\|\.hg\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\|\.lock\-wscript\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\|\.svn\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fB\|\.wafpickle\-*\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBCVS\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBnpm\-debug\.log\fR -. -.IP "" 0 -. + +.RE .P Additionally, everything in \fBnode_modules\fR is ignored, except for -bundled dependencies\. npm automatically handles this for you, so don\'t +bundled dependencies\. npm automatically handles this for you, so don't bother adding \fBnode_modules\fR to \fB\|\.npmignore\fR\|\. -. .P -The following paths and files are never ignored, so adding them to \fB\|\.npmignore\fR is pointless: -. -.IP "\(bu" 4 +The following paths and files are never ignored, so adding them to +\fB\|\.npmignore\fR is pointless: +.RS 0 +.IP \(bu 2 \fBpackage\.json\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBREADME\.*\fR -. -.IP "" 0 -. -.SH "Link Packages" + +.RE +.SH Link Packages +.P \fBnpm link\fR is designed to install a development package and see the changes in real time without having to keep re\-installing it\. (You do need to either re\-link or \fBnpm rebuild \-g\fR to update compiled packages, of course\.) -. .P More info at npm help \fBnpm\-link\fR\|\. -. -.SH "Before Publishing: Make Sure Your Package Installs and Works" +.SH Before Publishing: Make Sure Your Package Installs and Works +.P \fBThis is important\.\fR -. .P -If you can not install it locally, you\'ll have -problems trying to publish it\. Or, worse yet, you\'ll be able to -publish it, but you\'ll be publishing a broken or pointless package\. -So don\'t do that\. -. +If you can not install it locally, you'll have +problems trying to publish it\. Or, worse yet, you'll be able to +publish it, but you'll be publishing a broken or pointless package\. +So don't do that\. .P In the root of your package, do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm install \. \-g -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -That\'ll show you that it\'s working\. If you\'d rather just create a symlink +That'll show you that it's working\. If you'd rather just create a symlink package that points to your working directory, then do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm link -. -.fi -. -.IP "" 0 -. +.EE +.RE .P -Use \fBnpm ls \-g\fR to see if it\'s there\. -. +Use \fBnpm ls \-g\fR to see if it's there\. .P To test a local install, go into some other folder, and then do: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX cd \.\./some\-other\-folder npm install \.\./my\-package -. -.fi -. -.IP "" 0 -. +.EE +.RE .P to install it locally into the node_modules folder in that other place\. -. .P Then go into the node\-repl, and try using require("my\-thing") to -bring in your module\'s main module\. -. -.SH "Create a User Account" +bring in your module's main module\. +.SH Create a User Account +.P Create a user with the adduser command\. It works like this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm adduser -. -.fi -. -.IP "" 0 -. +.EE +.RE .P and then follow the prompts\. -. .P This is documented better in npm help adduser\. -. -.SH "Publish your package" -This part\'s easy\. IN the root of your folder, do this: -. -.IP "" 4 -. -.nf +.SH Publish your package +.P +This part's easy\. IN the root of your folder, do this: +.P +.RS 2 +.EX npm publish -. -.fi -. -.IP "" 0 -. +.EE +.RE .P You can give publish a url to a tarball, or a filename of a tarball, or a path to a folder\. -. .P Note that pretty much \fBeverything in that folder will be exposed\fR -by default\. So, if you have secret stuff in there, use a \fB\|\.npmignore\fR file to list out the globs to ignore, or publish +by default\. So, if you have secret stuff in there, use a +\fB\|\.npmignore\fR file to list out the globs to ignore, or publish from a fresh checkout\. -. -.SH "Brag about it" +.SH Brag about it +.P Send emails, write blogs, blab in IRC\. -. .P Tell the world how easy it is to install your program! -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 faq -. -.IP "\(bu" 4 +.IP \(bu 2 npm help npm -. -.IP "\(bu" 4 +.IP \(bu 2 npm help init -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 scripts -. -.IP "\(bu" 4 +.IP \(bu 2 npm help publish -. -.IP "\(bu" 4 +.IP \(bu 2 npm help adduser -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 registry -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/npm-disputes.7 b/deps/npm/man/man7/npm-disputes.7 index a3163bcaec..fb7fd25f0a 100644 --- a/deps/npm/man/man7/npm-disputes.7 +++ b/deps/npm/man/man7/npm-disputes.7 @@ -1,92 +1,78 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-DISPUTES" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-disputes\fR \-\- Handling Module Name Disputes -. -.SH "SYNOPSIS" -. -.IP "1" 4 +\fBnpm-disputes\fR \- Handling Module Name Disputes +.SH SYNOPSIS +.RS 0 +.IP 1. 3 Get the author email with \fBnpm owner ls <pkgname>\fR -. -.IP "2" 4 -Email the author, CC \fIsupport@npmjs\.com\fR -. -.IP "3" 4 -After a few weeks, if there\'s no resolution, we\'ll sort it out\. -. -.IP "" 0 -. +.IP 2. 3 +Email the author, CC support@npmjs\.com +.IP 3. 3 +After a few weeks, if there's no resolution, we'll sort it out\. + +.RE +.P +Don't squat on package names\. Publish code or move out of the way\. +.SH DESCRIPTION .P -Don\'t squat on package names\. Publish code or move out of the way\. -. -.SH "DESCRIPTION" There sometimes arise cases where a user publishes a module, and then later, some other user wants to use that name\. Here are some common ways that happens (each of these is based on actual events\.) -. -.IP "1" 4 +.RS 0 +.IP 1. 3 Joe writes a JavaScript module \fBfoo\fR, which is not node\-specific\. -Joe doesn\'t use node at all\. Bob wants to use \fBfoo\fR in node, so he +Joe doesn't use node at all\. Bob wants to use \fBfoo\fR in node, so he wraps it in an npm module\. Some time later, Joe starts using node, and wants to take over management of his program\. -. -.IP "2" 4 +.IP 2. 3 Bob writes an npm module \fBfoo\fR, and publishes it\. Perhaps much later, Joe finds a bug in \fBfoo\fR, and fixes it\. He sends a pull -request to Bob, but Bob doesn\'t have the time to deal with it, +request to Bob, but Bob doesn't have the time to deal with it, because he has a new job and a new baby and is focused on his new erlang project, and kind of not involved with node any more\. Joe -would like to publish a new \fBfoo\fR, but can\'t, because the name is +would like to publish a new \fBfoo\fR, but can't, because the name is taken\. -. -.IP "3" 4 +.IP 3. 3 Bob writes a 10\-line flow\-control library, and calls it \fBfoo\fR, and publishes it to the npm registry\. Being a simple little thing, it never really has to be updated\. Joe works for Foo Inc, the makers of the critically acclaimed and widely\-marketed \fBfoo\fR JavaScript toolkit framework\. They publish it to npm as \fBfoojs\fR, but people are routinely confused when \fBnpm install foo\fR is some different thing\. -. -.IP "4" 4 +.IP 4. 3 Bob writes a parser for the widely\-known \fBfoo\fR file format, because he needs it for work\. Then, he gets a new job, and never updates the prototype\. Later on, Joe writes a much more complete \fBfoo\fR parser, -but can\'t publish, because Bob\'s \fBfoo\fR is in the way\. -. -.IP "" 0 -. +but can't publish, because Bob's \fBfoo\fR is in the way\. + +.RE .P -The validity of Joe\'s claim in each situation can be debated\. However, -Joe\'s appropriate course of action in each case is the same\. -. -.IP "1" 4 +The validity of Joe's claim in each situation can be debated\. However, +Joe's appropriate course of action in each case is the same\. +.RS 0 +.IP 1. 3 \fBnpm owner ls foo\fR\|\. This will tell Joe the email address of the owner (Bob)\. -. -.IP "2" 4 +.IP 2. 3 Joe emails Bob, explaining the situation \fBas respectfully as possible\fR, and what he would like to do with the module name\. He -adds the npm support staff \fIsupport@npmjs\.com\fR to the CC list of +adds the npm support staff support@npmjs\.com to the CC list of the email\. Mention in the email that Bob can run \fBnpm owner add joe foo\fR to add Joe as an owner of the \fBfoo\fR package\. -. -.IP "3" 4 +.IP 3. 3 After a reasonable amount of time, if Bob has not responded, or if -Bob and Joe can\'t come to any sort of resolution, email support \fIsupport@npmjs\.com\fR and we\'ll sort it out\. ("Reasonable" is +Bob and Joe can't come to any sort of resolution, email support +support@npmjs\.com and we'll sort it out\. ("Reasonable" is usually at least 4 weeks, but extra time is allowed around common holidays\.) -. -.IP "" 0 -. -.SH "REASONING" + +.RE +.SH REASONING +.P In almost every case so far, the parties involved have been able to reach an amicable resolution without any major intervention\. Most people really do want to be reasonable, and are probably not even aware that -they\'re in your way\. -. +they're in your way\. .P Module ecosystems are most vibrant and powerful when they are as self\-directed as possible\. If an admin one day deletes something you @@ -94,53 +80,45 @@ had worked on, then that is going to make most people quite upset, regardless of the justification\. When humans solve their problems by talking to other humans with respect, everyone has the chance to end up feeling good about the interaction\. -. -.SH "EXCEPTIONS" +.SH EXCEPTIONS +.P Some things are not allowed, and will be removed without discussion if they are brought to the attention of the npm registry admins, including but not limited to: -. -.IP "1" 4 +.RS 0 +.IP 1. 3 Malware (that is, a package designed to exploit or harm the machine on which it is installed)\. -. -.IP "2" 4 +.IP 2. 3 Violations of copyright or licenses (for example, cloning an MIT\-licensed program, and then removing or changing the copyright and license statement)\. -. -.IP "3" 4 +.IP 3. 3 Illegal content\. -. -.IP "4" 4 -"Squatting" on a package name that you \fIplan\fR to use, but aren\'t -actually using\. Sorry, I don\'t care how great the name is, or how +.IP 4. 3 +"Squatting" on a package name that you \fIplan\fR to use, but aren't +actually using\. Sorry, I don't care how great the name is, or how perfect a fit it is for the thing that someday might happen\. If -someone wants to use it today, and you\'re just taking up space with -an empty tarball, you\'re going to be evicted\. -. -.IP "5" 4 +someone wants to use it today, and you're just taking up space with +an empty tarball, you're going to be evicted\. +.IP 5. 3 Putting empty packages in the registry\. Packages must have SOME -functionality\. It can be silly, but it can\'t be \fInothing\fR\|\. (See +functionality\. It can be silly, but it can't be \fInothing\fR\|\. (See also: squatting\.) -. -.IP "6" 4 +.IP 6. 3 Doing weird things with the registry, like using it as your own personal application database or otherwise putting non\-packagey things into it\. -. -.IP "" 0 -. + +.RE .P If you see bad behavior like this, please report it right away\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help 7 registry -. -.IP "\(bu" 4 +.IP \(bu 2 npm help owner -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/npm-faq.7 b/deps/npm/man/man7/npm-faq.7 index 5eefee8d06..942d3c0140 100644 --- a/deps/npm/man/man7/npm-faq.7 +++ b/deps/npm/man/man7/npm-faq.7 @@ -1,145 +1,118 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-FAQ" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-faq\fR \-\- Frequently Asked Questions -. -.SH "Where can I find these docs in HTML?" -\fIhttps://www\.npmjs\.org/doc/\fR, or run: -. -.IP "" 4 -. -.nf +\fBnpm-faq\fR \- Frequently Asked Questions +.SH Where can I find these docs in HTML? +.P +https://www\.npmjs\.org/doc/, or run: +.P +.RS 2 +.EX npm config set viewer browser -. -.fi -. -.IP "" 0 -. +.EE +.RE .P to open these documents in your default web browser rather than \fBman\fR\|\. -. -.SH "It didn't work\." -That\'s not really a question\. -. -.SH "Why didn't it work?" -I don\'t know yet\. -. -.P -Read the error output, and if you can\'t figure out what it means, +.SH It didn't work\. +.P +That's not really a question\. +.SH Why didn't it work? +.P +I don't know yet\. +.P +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?" +.SH Where does npm put stuff? +.P See npm help 5 \fBnpm\-folders\fR -. .P tl;dr: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 Use the \fBnpm root\fR command to see where modules go, and the \fBnpm bin\fR command to see where executables go -. -.IP "\(bu" 4 +.IP \(bu 2 Global installs are different from local installs\. If you install something with the \fB\-g\fR flag, then its executables go in \fBnpm bin \-g\fR and its modules go in \fBnpm root \-g\fR\|\. -. -.IP "" 0 -. -.SH "How do I install something on my computer in a central location?" + +.RE +.SH How do I install something on my computer in a central location? +.P Install it globally by tacking \fB\-g\fR or \fB\-\-global\fR to the command\. (This is especially important for command line utilities that need to add their bins to the global system \fBPATH\fR\|\.) -. -.SH "I installed something globally, but I can't " +.SH I installed something globally, but I can't \fBrequire()\fR it +.P Install it locally\. -. .P The global install location is a place for command\-line utilities -to put their bins in the system \fBPATH\fR\|\. It\'s not for use with \fBrequire()\fR\|\. -. +to put their bins in the system \fBPATH\fR\|\. It's not for use with \fBrequire()\fR\|\. .P -If you \fBrequire()\fR a module in your code, then that means it\'s a +If you \fBrequire()\fR a module in your code, then that means it's a dependency, and a part of your program\. You need to install it locally in your program\. -. -.SH "Why can't npm just put everything in one place, like other package managers?" +.SH Why can't npm just put everything in one place, like other package managers? +.P Not every change is an improvement, but every improvement is a change\. -This would be like asking git to do network IO for every commit\. It\'s -not going to happen, because it\'s a terrible idea that causes more +This would be like asking git to do network IO for every commit\. It's +not going to happen, because it's a terrible idea that causes more 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 npm help 5 \fBnpm\-folders\fR for more details\. -. .P If you want a package to be installed in one place, and have all your programs reference the same copy of it, then use the \fBnpm link\fR command\. -That\'s what it\'s for\. Install it globally, then link it into each +That's what it's for\. Install it globally, then link it into each program that uses it\. -. -.SH "Whatever, I really want the old style 'everything global' style\." +.SH Whatever, I really want the old style 'everything global' style\. +.P Write your own package manager\. You could probably even wrap up \fBnpm\fR in a shell script if you really wanted to\. -. .P npm will not help you do something that is known to be a bad idea\. -. -.SH "Should I check my " -Mikeal Rogers answered this question very well: -. -.P -\fIhttp://www\.futurealoof\.com/posts/nodemodules\-in\-git\.html\fR -. -.P -tl;dr -. -.IP "\(bu" 4 -Check \fBnode_modules\fR into git for things you \fBdeploy\fR, such as -websites and apps\. -. -.IP "\(bu" 4 -Do not check \fBnode_modules\fR into git for libraries and modules -intended to be reused\. -. -.IP "\(bu" 4 -Use npm to manage dependencies in your dev environment, but not in -your deployment scripts\. -. -.IP "" 0 -. -.SH "Is it 'npm' or 'NPM' or 'Npm'?" +.SH Should I check my \fBnode_modules\fR folder into git? +.P +Usually, no\. Allow npm to resolve dependencies for your packages\. +.P +For packages you \fBdeploy\fR, such as websites and apps, +you should use npm shrinkwrap to lock down your full dependency tree: +.P +https://www\.npmjs\.org/doc/cli/npm\-shrinkwrap\.html +.P +If you are paranoid about depending on the npm ecosystem, +you should run a private npm mirror or a private cache\. +.P +If you want 100% confidence in being able to reproduce the specific bytes +included in a deployment, you should use an additional mechanism that can +verify contents rather than versions\. For example, +Amazon machine images, DigitalOcean snapshots, Heroku slugs, or simple tarballs\. +.SH Is it 'npm' or 'NPM' or 'Npm'? +.P npm should never be capitalized unless it is being displayed in a location that is customarily all\-caps (such as the title of man pages\.) -. -.SH "If 'npm' is an acronym, why is it never capitalized?" +.SH If 'npm' is an acronym, why is it never capitalized? +.P Contrary to the belief of many, "npm" is not in fact an abbreviation for "Node Package Manager"\. It is a recursive bacronymic abbreviation for "npm is not an acronym"\. (If it was "ninaa", then it would be an acronym, and thus incorrectly named\.) -. .P "NPM", however, \fIis\fR an acronym (more precisely, a capitonym) for the National Association of Pastoral Musicians\. You can learn more -about them at \fIhttp://npm\.org/\fR\|\. -. +about them at http://npm\.org/\|\. .P In software, "NPM" is a Non\-Parametric Mapping utility written by Chris Rorden\. You can analyze pictures of brains with it\. Learn more -about the (capitalized) NPM program at \fIhttp://www\.cabiatl\.com/mricro/npm/\fR\|\. -. +about the (capitalized) NPM program at http://www\.cabiatl\.com/mricro/npm/\|\. .P The first seed that eventually grew into this flower was a bash utility named "pm", which was a shortened descendent of "pkgmakeinst", a bash function that was used to install various different things on different -platforms, most often using Yahoo\'s \fByinst\fR\|\. If \fBnpm\fR was ever an +platforms, most often using Yahoo's \fByinst\fR\|\. If \fBnpm\fR was ever an acronym for anything, it was \fBnode pm\fR or maybe \fBnew pm\fR\|\. -. .P So, in all seriousness, the "npm" project is named after its command\-line utility, which was organically selected to be easily typed by a right\-handed @@ -147,183 +120,151 @@ programmer using a US QWERTY keyboard layout, ending with the right\-ring\-finger in a postition to type the \fB\-\fR key for flags and other command\-line arguments\. That command\-line utility is always lower\-case, though it starts most sentences it is a part of\. -. -.SH "How do I list installed packages?" +.SH How do I list installed packages? +.P \fBnpm ls\fR -. -.SH "How do I search for packages?" +.SH How do I search for packages? +.P \fBnpm search\fR -. .P Arguments are greps\. \fBnpm search jsdom\fR shows jsdom packages\. -. -.SH "How do I update npm?" -. -.nf +.SH How do I update npm? +.P +.RS 2 +.EX npm update npm \-g -. -.fi -. +.EE +.RE .P You can also update all outdated local packages by doing \fBnpm update\fR without any arguments, or global packages by doing \fBnpm update \-g\fR\|\. -. .P Occasionally, the version of npm will progress such that the current version cannot be properly installed with the version that you have installed already\. (Consider, if there is ever a bug in the \fBupdate\fR command\.) -. .P In those cases, you can do this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX curl https://www\.npmjs\.org/install\.sh | sh -. -.fi -. -.IP "" 0 -. -.SH "What is a " +.EE +.RE +.SH What is a \fBpackage\fR? +.P A package is: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 a) a folder containing a program described by a package\.json file -. -.IP "\(bu" 4 +.IP \(bu 2 b) a gzipped tarball containing (a) -. -.IP "\(bu" 4 +.IP \(bu 2 c) a url that resolves to (b) -. -.IP "\(bu" 4 +.IP \(bu 2 d) a \fB<name>@<version>\fR that is published on the registry with (c) -. -.IP "\(bu" 4 +.IP \(bu 2 e) a \fB<name>@<tag>\fR that points to (d) -. -.IP "\(bu" 4 +.IP \(bu 2 f) a \fB<name>\fR that has a "latest" tag satisfying (e) -. -.IP "\(bu" 4 +.IP \(bu 2 g) a \fBgit\fR url that, when cloned, results in (a)\. -. -.IP "" 0 -. + +.RE .P Even if you never publish your package, you can still get a lot of benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b)\. -. .P Git urls can be of the form: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX git://github\.com/user/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 -. +.EE +.RE .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 "What is a " +.SH What is a \fBmodule\fR? +.P A module is anything that can be loaded with \fBrequire()\fR in a Node\.js program\. The following things are all examples of things that can be loaded as modules: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 A folder with a \fBpackage\.json\fR file containing a \fBmain\fR field\. -. -.IP "\(bu" 4 +.IP \(bu 2 A folder with an \fBindex\.js\fR file in it\. -. -.IP "\(bu" 4 +.IP \(bu 2 A JavaScript file\. -. -.IP "" 0 -. + +.RE .P Most npm packages are modules, because they are libraries that you -load with \fBrequire\fR\|\. However, there\'s no requirement that an npm +load with \fBrequire\fR\|\. However, there's no requirement that an npm package be a module! Some only contain an executable command\-line -interface, and don\'t provide a \fBmain\fR field for use in Node programs\. -. +interface, and don't provide a \fBmain\fR field for use in Node programs\. .P -Almost all npm packages (at least, those that are Node programs) \fIcontain\fR many modules within them (because every file they load with \fBrequire()\fR is a module)\. -. +Almost all npm packages (at least, those that are Node programs) +\fIcontain\fR many modules within them (because every file they load with +\fBrequire()\fR is a module)\. .P In the context of a Node program, the \fBmodule\fR is also the thing that was loaded \fIfrom\fR a file\. For example, in the following program: -. -.IP "" 4 -. -.nf -var req = require(\'request\') -. -.fi -. -.IP "" 0 -. +.P +.RS 2 +.EX +var req = require('request') +.EE +.RE .P we might say that "The variable \fBreq\fR refers to the \fBrequest\fR module"\. -. -.SH "So, why is it the "" +.SH So, why is it the "\fBnode_modules\fR" folder, but "\fBpackage\.json\fR" file? Why not \fBnode_packages\fR or \fBmodule\.json\fR? +.P The \fBpackage\.json\fR file defines the package\. (See "What is a package?" above\.) -. .P The \fBnode_modules\fR folder is the place Node\.js looks for modules\. (See "What is a module?" above\.) -. .P For example, if you create a file at \fBnode_modules/foo\.js\fR and then -had a program that did \fBvar f = require(\'foo\.js\')\fR then it would load +had a program that did \fBvar f = require('foo\.js')\fR then it would load the module\. However, \fBfoo\.js\fR is not a "package" in this case, because it does not have a package\.json\. -. .P -Alternatively, if you create a package which does not have an \fBindex\.js\fR or a \fB"main"\fR field in the \fBpackage\.json\fR file, then it is -not a module\. Even if it\'s installed in \fBnode_modules\fR, it can\'t be +Alternatively, if you create a package which does not have an +\fBindex\.js\fR or a \fB"main"\fR field in the \fBpackage\.json\fR file, then it is +not a module\. Even if it's installed in \fBnode_modules\fR, it can't be an argument to \fBrequire()\fR\|\. -. -.SH "<code>"node_modules"</code>" +.SH \fB"node_modules"\fR is the name of my deity's arch\-rival, and a Forbidden Word in my religion\. Can I configure npm to use a different folder? +.P No\. This will never happen\. This question comes up sometimes, -because it seems silly from the outside that npm couldn\'t just be +because it seems silly from the outside that npm couldn't just be configured to put stuff somewhere else, and then npm could load them -from there\. It\'s an arbitrary spelling choice, right? What\'s the big +from there\. It's an arbitrary spelling choice, right? What's the big deal? -. .P -At the time of this writing, the string \fB\'node_modules\'\fR appears 151 +At the time of this writing, the string \fB\|'node_modules'\fR appears 151 times in 53 separate files in npm and node core (excluding tests and documentation)\. -. .P -Some of these references are in node\'s built\-in module loader\. Since +Some of these references are in node's built\-in module loader\. Since npm is not involved \fBat all\fR at run\-time, node itself would have to -be configured to know where you\'ve decided to stick stuff\. Complexity +be configured to know where you've decided to stick stuff\. Complexity hurdle #1\. Since the Node module system is locked, this cannot be -changed, and is enough to kill this request\. But I\'ll continue, in -deference to your deity\'s delicate feelings regarding spelling\. -. +changed, and is enough to kill this request\. But I'll continue, in +deference to your deity's delicate feelings regarding spelling\. .P Many of the others are in dependencies that npm uses, which are not necessarily tightly coupled to npm (in the sense that they do not read -npm\'s configuration files, etc\.) Each of these would have to be +npm's configuration files, etc\.) Each of these would have to be configured to take the name of the \fBnode_modules\fR folder as a parameter\. Complexity hurdle #2\. -. .P Furthermore, npm has the ability to "bundle" dependencies by adding the dep names to the \fB"bundledDependencies"\fR list in package\.json, @@ -332,148 +273,127 @@ if the author of a module bundles its dependencies, and they use a different spelling for \fBnode_modules\fR? npm would have to rename the folder at publish time, and then be smart enough to unpack it using your locally configured name\. Complexity hurdle #3\. -. .P -Furthermore, what happens when you \fIchange\fR this name? Fine, it\'s -easy enough the first time, just rename the \fBnode_modules\fR folders to \fB\|\./blergyblerp/\fR or whatever name you choose\. But what about when you -change it again? npm doesn\'t currently track any state about past +Furthermore, what happens when you \fIchange\fR this name? Fine, it's +easy enough the first time, just rename the \fBnode_modules\fR folders to +\fB\|\./blergyblerp/\fR or whatever name you choose\. But what about when you +change it again? npm doesn't currently track any state about past configuration settings, so this would be rather difficult to do properly\. It would have to track every previous value for this -config, and always accept any of them, or else yesterday\'s install may +config, and always accept any of them, or else yesterday's install may be broken tomorrow\. Complexity hurdle #4\. -. .P Never going to happen\. The folder is named \fBnode_modules\fR\|\. It is written indelibly in the Node Way, handed down from the ancient times of Node 0\.3\. -. -.SH "How do I install node with npm?" -You don\'t\. Try one of these node version managers: -. +.SH How do I install node with npm? +.P +You don't\. Try one of these node version managers: .P Unix: -. -.IP "\(bu" 4 -\fIhttp://github\.com/isaacs/nave\fR -. -.IP "\(bu" 4 -\fIhttp://github\.com/visionmedia/n\fR -. -.IP "\(bu" 4 -\fIhttp://github\.com/creationix/nvm\fR -. -.IP "" 0 -. +.RS 0 +.IP \(bu 2 +http://github\.com/isaacs/nave +.IP \(bu 2 +http://github\.com/visionmedia/n +.IP \(bu 2 +http://github\.com/creationix/nvm + +.RE .P Windows: -. -.IP "\(bu" 4 -\fIhttp://github\.com/marcelklehr/nodist\fR -. -.IP "\(bu" 4 -\fIhttps://github\.com/hakobera/nvmw\fR -. -.IP "\(bu" 4 -\fIhttps://github\.com/nanjingboy/nvmw\fR -. -.IP "" 0 -. -.SH "How can I use npm for development?" +.RS 0 +.IP \(bu 2 +http://github\.com/marcelklehr/nodist +.IP \(bu 2 +https://github\.com/hakobera/nvmw +.IP \(bu 2 +https://github\.com/nanjingboy/nvmw + +.RE +.SH How can I use npm for development? +.P See npm help 7 \fBnpm\-developers\fR and npm help 5 \fBpackage\.json\fR\|\. -. .P -You\'ll most likely want to \fBnpm link\fR your development folder\. That\'s +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 npm help 7 \fBnpm\-registry\fR\|\. -. -.SH "Can I list a url as a dependency?" +.SH Can I list a url as a dependency? +.P Yes\. It should be a url to a gzipped tarball containing a single folder 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?" +.SH How do I symlink to a dev folder so I don't have to keep re\-installing? +.P See npm help \fBnpm\-link\fR -. -.SH "The package registry website\. What is that exactly?" +.SH The package registry website\. What is that exactly? +.P See npm help 7 \fBnpm\-registry\fR\|\. -. -.SH "I forgot my password, and can't publish\. How do I reset it?" -Go to \fIhttps://npmjs\.org/forgot\fR\|\. -. -.SH "I get ECONNREFUSED a lot\. What's up?" -Either the registry is down, or node\'s DNS isn\'t able to reach out\. -. -.P -To check if the registry is down, open up \fIhttps://registry\.npmjs\.org/\fR in a web browser\. This will also tell +.SH I forgot my password, and can't publish\. How do I reset it? +.P +Go to https://npmjs\.org/forgot\|\. +.SH I get ECONNREFUSED a lot\. What's up? +.P +Either the registry is down, or node's DNS isn't able to reach out\. +.P +To check if the registry is down, open up +https://registry\.npmjs\.org/ in a web browser\. This will also tell you if you are just unable to access the internet for some reason\. -. .P -If the registry IS down, let us know by emailing \fIsupport@npmjs\.com\fR -or posting an issue at \fIhttps://github\.com/npm/npm/issues\fR\|\. If it\'s -down for the world (and not just on your local network) then we\'re +If the registry IS down, let us know by emailing support@npmjs\.com +or posting an issue at https://github\.com/npm/npm/issues\|\. If it's +down for the world (and not just on your local network) then we're probably already being pinged about it\. -. .P You can also often get a faster response by visiting the #npm channel on Freenode IRC\. -. -.SH "Why no namespaces?" -Please see this discussion: \fIhttps://github\.com/npm/npm/issues/798\fR -. +.SH Why no namespaces? +.P +Please see this discussion: https://github\.com/npm/npm/issues/798 .P -tl;dr \- It doesn\'t actually make things better, and can make them worse\. -. +tl;dr \- It doesn't actually make things better, and can make them worse\. .P -If you want to namespace your own packages, you may: simply use the \fB\-\fR character to separate the names\. npm is a mostly anarchic system\. +If you want to namespace your own packages, you may: simply use the +\fB\-\fR character to separate the names\. npm is a mostly anarchic system\. There is not sufficient need to impose namespace rules on everyone\. -. -.SH "Who does npm?" +.SH Who does npm? +.P npm was originally written by Isaac Z\. Schlueter, and many others have contributed to it, some of them quite substantially\. -. .P The npm open source project, The npm Registry, and the community website \fIhttps://www\.npmjs\.org\fR are maintained and operated by the good folks at npm, Inc\. \fIhttp://www\.npmjs\.com\fR -. -.SH "I have a question or request not addressed here\. Where should I put it?" +.SH I have a question or request not addressed here\. Where should I put it? +.P Post an issue on the github project: -. -.IP "\(bu" 4 -\fIhttps://github\.com/npm/npm/issues\fR -. -.IP "" 0 -. -.SH "Why does npm hate me?" +.RS 0 +.IP \(bu 2 +https://github\.com/npm/npm/issues + +.RE +.SH Why does npm hate me? +.P npm is not capable of hatred\. It loves everyone, especially you\. -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help npm -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 developers -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 folders -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/npm-index.7 b/deps/npm/man/man7/npm-index.7 index 763b3dd3e5..5667722b27 100644 --- a/deps/npm/man/man7/npm-index.7 +++ b/deps/npm/man/man7/npm-index.7 @@ -1,322 +1,322 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-INDEX" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-index\fR \-\- Index of all npm documentation -. -.SS "npm help README" +\fBnpm-index\fR \- Index of all npm documentation +.SS npm help README +.P node package manager -. -.SH "Command Line Documentation" +.SH Command Line Documentation +.P Using npm on the command line -. -.SS "npm help npm" +.SS npm help npm +.P node package manager -. -.SS "npm help adduser" +.SS npm help adduser +.P Add a registry user account -. -.SS "npm help bin" +.SS npm help bin +.P Display npm bin folder -. -.SS "npm help bugs" +.SS npm help bugs +.P Bugs for a package in a web browser maybe -. -.SS "npm help build" +.SS npm help build +.P Build a package -. -.SS "npm help bundle" +.SS npm help bundle +.P REMOVED -. -.SS "npm help cache" +.SS npm help cache +.P Manipulates packages cache -. -.SS "npm help completion" +.SS npm help completion +.P Tab Completion for npm -. -.SS "npm help config" +.SS npm help config +.P Manage the npm configuration files -. -.SS "npm help dedupe" +.SS npm help dedupe +.P Reduce duplication -. -.SS "npm help deprecate" +.SS npm help deprecate +.P Deprecate a version of a package -. -.SS "npm help docs" +.SS npm help docs +.P Docs for a package in a web browser maybe -. -.SS "npm help edit" +.SS npm help edit +.P Edit an installed package -. -.SS "npm help explore" +.SS npm help explore +.P Browse an installed package -. -.SS "npm help help\-search" +.SS npm help help\-search +.P Search npm help documentation -. -.SS "npm help help" +.SS npm help help +.P Get help on npm -. -.SS "npm help init" +.SS npm help init +.P Interactively create a package\.json file -. -.SS "npm help install" +.SS npm help install +.P Install a package -. -.SS "npm help link" +.SS npm help link +.P Symlink a package folder -. -.SS "npm help ls" +.SS npm help ls +.P List installed packages -. -.SS "npm help outdated" +.SS npm help outdated +.P Check for outdated packages -. -.SS "npm help owner" +.SS npm help owner +.P Manage package owners -. -.SS "npm help pack" +.SS npm help pack +.P Create a tarball from a package -. -.SS "npm help prefix" +.SS npm help prefix +.P Display prefix -. -.SS "npm help prune" +.SS npm help prune +.P Remove extraneous packages -. -.SS "npm help publish" +.SS npm help publish +.P Publish a package -. -.SS "npm help rebuild" +.SS npm help rebuild +.P Rebuild a package -. -.SS "npm help repo" +.SS npm help repo +.P Open package repository page in the browser -. -.SS "npm help restart" +.SS npm help restart +.P Start a package -. -.SS "npm help rm" +.SS npm help rm +.P Remove a package -. -.SS "npm help root" +.SS npm help root +.P Display npm root -. -.SS "npm help run\-script" +.SS npm help run\-script +.P Run arbitrary package scripts -. -.SS "npm help search" +.SS npm help search +.P Search for packages -. -.SS "npm help shrinkwrap" +.SS npm help shrinkwrap +.P Lock down dependency versions -. -.SS "npm help star" +.SS npm help star +.P Mark your favorite packages -. -.SS "npm help stars" +.SS npm help stars +.P View packages marked as favorites -. -.SS "npm help start" +.SS npm help start +.P Start a package -. -.SS "npm help stop" +.SS npm help stop +.P Stop a package -. -.SS "npm help submodule" +.SS npm help submodule +.P Add a package as a git submodule -. -.SS "npm help tag" +.SS npm help tag +.P Tag a published version -. -.SS "npm help test" +.SS npm help test +.P Test a package -. -.SS "npm help uninstall" +.SS npm help uninstall +.P Remove a package -. -.SS "npm help unpublish" +.SS npm help unpublish +.P Remove a package from the registry -. -.SS "npm help update" +.SS npm help update +.P Update a package -. -.SS "npm help version" +.SS npm help version +.P Bump a package version -. -.SS "npm help view" +.SS npm help view +.P View registry info -. -.SS "npm help whoami" +.SS npm help whoami +.P Display npm username -. -.SH "API Documentation" +.SH API Documentation +.P Using npm in your Node programs -. -.SS "npm apihelp npm" +.SS npm apihelp npm +.P node package manager -. -.SS "npm apihelp bin" +.SS npm apihelp bin +.P Display npm bin folder -. -.SS "npm apihelp bugs" +.SS npm apihelp bugs +.P Bugs for a package in a web browser maybe -. -.SS "npm apihelp cache" +.SS npm apihelp cache +.P manage the npm cache programmatically -. -.SS "npm apihelp commands" +.SS npm apihelp commands +.P npm commands -. -.SS "npm apihelp config" +.SS npm apihelp config +.P Manage the npm configuration files -. -.SS "npm apihelp deprecate" +.SS npm apihelp deprecate +.P Deprecate a version of a package -. -.SS "npm apihelp docs" +.SS npm apihelp docs +.P Docs for a package in a web browser maybe -. -.SS "npm apihelp edit" +.SS npm apihelp edit +.P Edit an installed package -. -.SS "npm apihelp explore" +.SS npm apihelp explore +.P Browse an installed package -. -.SS "npm apihelp help\-search" +.SS npm apihelp help\-search +.P Search the help pages -. -.SS "npm apihelp init" +.SS npm apihelp init +.P Interactively create a package\.json file -. -.SS "npm apihelp install" +.SS npm apihelp install +.P install a package programmatically -. -.SS "npm apihelp link" +.SS npm apihelp link +.P Symlink a package folder -. -.SS "npm apihelp load" +.SS npm apihelp load +.P Load config settings -. -.SS "npm apihelp ls" +.SS npm apihelp ls +.P List installed packages -. -.SS "npm apihelp outdated" +.SS npm apihelp outdated +.P Check for outdated packages -. -.SS "npm apihelp owner" +.SS npm apihelp owner +.P Manage package owners -. -.SS "npm apihelp pack" +.SS npm apihelp pack +.P Create a tarball from a package -. -.SS "npm apihelp prefix" +.SS npm apihelp prefix +.P Display prefix -. -.SS "npm apihelp prune" +.SS npm apihelp prune +.P Remove extraneous packages -. -.SS "npm apihelp publish" +.SS npm apihelp publish +.P Publish a package -. -.SS "npm apihelp rebuild" +.SS npm apihelp rebuild +.P Rebuild a package -. -.SS "npm apihelp repo" +.SS npm apihelp repo +.P Open package repository page in the browser -. -.SS "npm apihelp restart" +.SS npm apihelp restart +.P Start a package -. -.SS "npm apihelp root" +.SS npm apihelp root +.P Display npm root -. -.SS "npm apihelp run\-script" +.SS npm apihelp run\-script +.P Run arbitrary package scripts -. -.SS "npm apihelp search" +.SS npm apihelp search +.P Search for packages -. -.SS "npm apihelp shrinkwrap" +.SS npm apihelp shrinkwrap +.P programmatically generate package shrinkwrap file -. -.SS "npm apihelp start" +.SS npm apihelp start +.P Start a package -. -.SS "npm apihelp stop" +.SS npm apihelp stop +.P Stop a package -. -.SS "npm apihelp submodule" +.SS npm apihelp submodule +.P Add a package as a git submodule -. -.SS "npm apihelp tag" +.SS npm apihelp tag +.P Tag a published version -. -.SS "npm apihelp test" +.SS npm apihelp test +.P Test a package -. -.SS "npm apihelp uninstall" +.SS npm apihelp uninstall +.P uninstall a package programmatically -. -.SS "npm apihelp unpublish" +.SS npm apihelp unpublish +.P Remove a package from the registry -. -.SS "npm apihelp update" +.SS npm apihelp update +.P Update a package -. -.SS "npm apihelp version" +.SS npm apihelp version +.P Bump a package version -. -.SS "npm apihelp view" +.SS npm apihelp view +.P View registry info -. -.SS "npm apihelp whoami" +.SS npm apihelp whoami +.P Display npm username -. -.SH "Files" +.SH Files +.P File system structures npm uses -. -.SS "npm help 5 folders" +.SS npm help 5 folders +.P Folder Structures Used by npm -. -.SS "npm help 5 npmrc" +.SS npm help 5 npmrc +.P The npm config files -. -.SS "npm help 5 package\.json" -Specifics of npm\'s package\.json handling -. -.SH "Misc" +.SS npm help 5 package\.json +.P +Specifics of npm's package\.json handling +.SH Misc +.P Various other bits and bobs -. -.SS "npm help 7 coding\-style" -npm\'s "funny" coding style -. -.SS "npm help 7 config" +.SS npm help 7 coding\-style +.P +npm's "funny" coding style +.SS npm help 7 config +.P More than you probably want to know about npm configuration -. -.SS "npm help 7 developers" +.SS npm help 7 developers +.P Developer Guide -. -.SS "npm help 7 disputes" +.SS npm help 7 disputes +.P Handling Module Name Disputes -. -.SS "npm help 7 faq" +.SS npm help 7 faq +.P Frequently Asked Questions -. -.SS "npm help 7 index" +.SS npm help 7 index +.P Index of all npm documentation -. -.SS "npm help 7 registry" +.SS npm help 7 registry +.P The JavaScript Package Registry -. -.SS "npm help 7 scripts" +.SS npm help 7 scope +.P +Scoped packages +.SS npm help 7 scripts +.P How npm handles the "scripts" field -. -.SS "npm help 7 removing\-npm" +.SS npm help 7 removing\-npm +.P Cleaning the Slate -. -.SS "npm help 7 semver" +.SS npm help 7 semver +.P The semantic versioner for npm + diff --git a/deps/npm/man/man7/npm-registry.7 b/deps/npm/man/man7/npm-registry.7 index c190779ad1..ac3059cae2 100644 --- a/deps/npm/man/man7/npm-registry.7 +++ b/deps/npm/man/man7/npm-registry.7 @@ -1,82 +1,70 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-REGISTRY" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-registry\fR \-\- The JavaScript Package Registry -. -.SH "DESCRIPTION" +\fBnpm-registry\fR \- The JavaScript Package Registry +.SH DESCRIPTION +.P To resolve packages by name and version, npm talks to a registry website that implements the CommonJS Package Registry specification for reading package info\. -. .P -Additionally, npm\'s package registry implementation supports several +Additionally, npm's package registry implementation supports several write APIs as well, to allow for publishing packages and managing user account information\. -. .P -The official public npm registry is at \fIhttp://registry\.npmjs\.org/\fR\|\. It -is powered by a CouchDB database at \fIhttp://isaacs\.iriscouch\.com/registry\fR\|\. The code for the couchapp is -available at \fIhttp://github\.com/npm/npmjs\.org\fR\|\. npm user accounts -are CouchDB users, stored in the \fIhttp://isaacs\.iriscouch\.com/_users\fR -database\. -. +The official public npm registry is at http://registry\.npmjs\.org/\|\. It +is powered by a CouchDB database, of which there is a public mirror at +http://skimdb\.npmjs\.com/registry\|\. The code for the couchapp is +available at http://github\.com/npm/npm\-registry\-couchapp\|\. +.P +The registry URL used is determined by the scope of the package (see +npm help 7 \fBnpm\-scope\fR)\. If no scope is specified, the default registry is used, which is +supplied by the \fBregistry\fR config parameter\. See npm help \fBnpm\-config\fR, +npm help 5 \fBnpmrc\fR, and npm help 7 \fBnpm\-config\fR for more on managing npm's configuration\. +.SH Can I run my own private registry? .P -The registry URL is supplied by the \fBregistry\fR config parameter\. See npm help \fBnpm\-config\fR, npm help 5 \fBnpmrc\fR, and npm help 7 \fBnpm\-config\fR for more on managing -npm\'s configuration\. -. -.SH "Can I run my own private registry?" Yes! -. .P The easiest way is to replicate the couch database, and use the same (or similar) design doc to implement the APIs\. -. .P If you set up continuous replication from the official CouchDB, and then -set your internal CouchDB as the registry config, then you\'ll be able +set your internal CouchDB as the registry config, then you'll be able to read any published packages, in addition to your private ones, and by default will only publish internally\. If you then want to publish a -package for the whole world to see, you can simply override the \fB\-\-registry\fR config for that command\. -. -.SH "I don't want my package published in the official registry\. It's private\." +package for the whole world to see, you can simply override the +\fB\-\-registry\fR config for that command\. +.SH I don't want my package published in the official registry\. It's private\. +.P Set \fB"private": true\fR in your package\.json to prevent it from being -published at all, or \fB"publishConfig":{"registry":"http://my\-internal\-registry\.local"}\fR +published at all, or +\fB"publishConfig":{"registry":"http://my\-internal\-registry\.local"}\fR to force it to be published only to your internal registry\. -. .P See npm help 5 \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?" +.SH Will you replicate from my registry into the public one? +.P No\. If you want things to be public, then publish them into the public registry using npm\. What little security there is would be for nought otherwise\. -. -.SH "Do I have to use couchdb to build a registry that npm can talk to?" -No, but it\'s way easier\. Basically, yes, you do, or you have to +.SH Do I have to use couchdb to build a registry that npm can talk to? +.P +No, but it's way easier\. Basically, yes, you do, or you have to effectively implement the entire CouchDB API anyway\. -. -.SH "Is there a website or something to see package docs and such?" -Yes, head over to \fIhttps://npmjs\.org/\fR -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH Is there a website or something to see package docs and such? +.P +Yes, head over to https://npmjs\.org/ +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 config -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 npmrc -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 developers -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 disputes -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/npm-scripts.7 b/deps/npm/man/man7/npm-scripts.7 index d4d045f870..4cc93a6469 100644 --- a/deps/npm/man/man7/npm-scripts.7 +++ b/deps/npm/man/man7/npm-scripts.7 @@ -1,77 +1,64 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-SCRIPTS" "7" "September 2014" "" "" -. .SH "NAME" -\fBnpm-scripts\fR \-\- How npm handles the "scripts" field -. -.SH "DESCRIPTION" +\fBnpm-scripts\fR \- How npm handles the "scripts" field +.SH DESCRIPTION +.P npm supports the "scripts" member of the package\.json script, for the following scripts: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 prepublish: Run BEFORE the package is published\. (Also run on local \fBnpm install\fR without any arguments\.) -. -.IP "\(bu" 4 +.IP \(bu 2 publish, postpublish: Run AFTER the package is published\. -. -.IP "\(bu" 4 +.IP \(bu 2 preinstall: Run BEFORE the package is installed -. -.IP "\(bu" 4 +.IP \(bu 2 install, postinstall: Run AFTER the package is installed\. -. -.IP "\(bu" 4 +.IP \(bu 2 preuninstall, uninstall: Run BEFORE the package is uninstalled\. -. -.IP "\(bu" 4 +.IP \(bu 2 postuninstall: Run AFTER the package is uninstalled\. -. -.IP "\(bu" 4 +.IP \(bu 2 preupdate: Run BEFORE the package is updated with the update command\. -. -.IP "\(bu" 4 +.IP \(bu 2 update, postupdate: Run AFTER the package is updated with the update command\. -. -.IP "\(bu" 4 +.IP \(bu 2 pretest, test, posttest: Run by the \fBnpm test\fR command\. -. -.IP "\(bu" 4 +.IP \(bu 2 prestop, stop, poststop: Run by the \fBnpm stop\fR command\. -. -.IP "\(bu" 4 +.IP \(bu 2 prestart, start, poststart: Run by the \fBnpm start\fR command\. -. -.IP "\(bu" 4 +.IP \(bu 2 prerestart, restart, postrestart: Run by the \fBnpm restart\fR command\. Note: \fBnpm restart\fR will run the stop and start scripts if no \fBrestart\fR script is provided\. -. -.IP "" 0 -. + +.RE +.P +Additionally, arbitrary scripts can be executed by running `npm run\-script +.P +<pkg> <stage>\fB\|\. *Pre* and *post* commands with matching names will be run for +those as well (e\.g\.\fRpremyscript\fB,\fRmyscript\fB,\fRpostmyscript`)\. +.SH NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN .P -Additionally, arbitrary scripts can be run by doing \fBnpm run\-script <pkg> <stage>\fR\|\. -. -.SH "NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN" -\fBtl;dr\fR Don\'t use \fBinstall\fR\|\. Use a \fB\|\.gyp\fR file for compilation, and \fBprepublish\fR for anything else\. -. +\fBtl;dr\fR Don't use \fBinstall\fR\|\. Use a \fB\|\.gyp\fR file for compilation, and +\fBprepublish\fR for anything else\. .P -You should almost never have to explicitly set a \fBpreinstall\fR or \fBinstall\fR script\. If you are doing this, please consider if there is +You should almost never have to explicitly set a \fBpreinstall\fR or +\fBinstall\fR script\. If you are doing this, please consider if there is another option\. -. .P The only valid use of \fBinstall\fR or \fBpreinstall\fR scripts is for compilation which must be done on the target architecture\. In early @@ -79,276 +66,233 @@ versions of node, this was often done using the \fBnode\-waf\fR scripts, or a standalone \fBMakefile\fR, and early versions of npm required that it be explicitly set in package\.json\. This was not portable, and harder to do properly\. -. .P -In the current version of node, the standard way to do this is using a \fB\|\.gyp\fR file\. If you have a file with a \fB\|\.gyp\fR extension in the root +In the current version of node, the standard way to do this is using a +\fB\|\.gyp\fR file\. If you have a file with a \fB\|\.gyp\fR extension in the root of your package, then npm will run the appropriate \fBnode\-gyp\fR commands automatically at install time\. This is the only officially supported method for compiling binary addons, and does not require that you add anything to your package\.json file\. -. .P If you have to do other things before your package is used, in a way that is not dependent on the operating system or architecture of the target system, then use a \fBprepublish\fR script instead\. This includes tasks such as: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 Compile CoffeeScript source code into JavaScript\. -. -.IP "\(bu" 4 +.IP \(bu 2 Create minified versions of JavaScript source code\. -. -.IP "\(bu" 4 +.IP \(bu 2 Fetching remote resources that your package will use\. -. -.IP "" 0 -. + +.RE .P -The advantage of doing these things at \fBprepublish\fR time instead of \fBpreinstall\fR or \fBinstall\fR time is that they can be done once, in a +The advantage of doing these things at \fBprepublish\fR time instead of +\fBpreinstall\fR or \fBinstall\fR time is that they can be done once, in a single place, and thus greatly reduce complexity and variability\. Additionally, this means that: -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 You can depend on \fBcoffee\-script\fR as a \fBdevDependency\fR, and thus -your users don\'t need to have it installed\. -. -.IP "\(bu" 4 -You don\'t need to include the minifiers in your package, reducing +your users don't need to have it installed\. +.IP \(bu 2 +You don't need to include the minifiers in your package, reducing the size for your users\. -. -.IP "\(bu" 4 -You don\'t need to rely on your users having \fBcurl\fR or \fBwget\fR or +.IP \(bu 2 +You don't need to rely on your users having \fBcurl\fR or \fBwget\fR or other system tools on the target machines\. -. -.IP "" 0 -. -.SH "DEFAULT VALUES" + +.RE +.SH DEFAULT VALUES +.P npm will default some script values based on package contents\. -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 \fB"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 +.IP \(bu 2 \fB"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 "" 0 -. -.SH "USER" + +.RE +.SH USER +.P 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" +.SH ENVIRONMENT +.P 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" +.SS path +.P 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 -. -.nf +.P +.RS 2 +.EX { "name" : "foo" , "dependencies" : { "bar" : "0\.1\.x" } , "scripts": { "start" : "bar \./test" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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\|\. -. -.SS "package\.json vars" +.SS package\.json vars +.P 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 +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 +.P +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" +.SS Special: package\.json "config" hash +.P The package\.json "config" keys are overwritten in the environment if there is a config param of \fB<name>[@<version>]:<key>\fR\|\. For example, if the package\.json has this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "name" : "foo" , "config" : { "port" : "8080" } , "scripts" : { "start" : "node server\.js" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .P and the server\.js is this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port) -. -.fi -. -.IP "" 0 -. +.EE +.RE .P then the user could change the behavior by doing: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX npm config set foo:port 80 -. -.fi -. -.IP "" 0 -. -.SS "current lifecycle event" +.EE +.RE +.SS current lifecycle event +.P 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\. -. +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 +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 -. -.nf +.P +.RS 2 +.EX process\.env\.npm_package_scripts_install === "foo\.js" -. -.fi -. -.IP "" 0 -. -.SH "EXAMPLES" +.EE +.RE +.SH EXAMPLES +.P For example, if your package\.json contains this: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "scripts" : { "install" : "scripts/install\.js" , "postinstall" : "scripts/install\.js" , "uninstall" : "scripts/uninstall\.js" } } -. -.fi -. -.IP "" 0 -. +.EE +.RE .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 +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: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX { "scripts" : { "preinstall" : "\./configure" , "install" : "make && make install" , "test" : "make test" } } -. -.fi -. -.IP "" 0 -. -.SH "EXITING" +.EE +.RE +.SH EXITING +.P Scripts are run by passing the line as a script argument to \fBsh\fR\|\. -. .P 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 +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" +.SH HOOK SCRIPTS +.P 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 +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\. -. -.SH "BEST PRACTICES" -. -.IP "\(bu" 4 -Don\'t exit with a non\-zero error code unless you \fIreally\fR mean it\. +.SH BEST PRACTICES +.RS 0 +.IP \(bu 2 +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 -only will prevent some optional features, then it\'s better to just +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 npm help 5 \fBpackage\.json\fR to see all the things that you can specify and enable +.IP \(bu 2 +Try not to use scripts to do what npm can do for you\. Read through +npm help 5 \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 +.IP \(bu 2 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 +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 +.IP \(bu 2 +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 -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 + +.RE +.SH SEE ALSO +.RS 0 +.IP \(bu 2 npm help run\-script -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 5 package\.json -. -.IP "\(bu" 4 +.IP \(bu 2 npm help 7 developers -. -.IP "\(bu" 4 +.IP \(bu 2 npm help install -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/removing-npm.7 b/deps/npm/man/man7/removing-npm.7 index e8a60cdf95..ae3513c4df 100644 --- a/deps/npm/man/man7/removing-npm.7 +++ b/deps/npm/man/man7/removing-npm.7 @@ -1,107 +1,78 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "NPM\-REMOVAL" "1" "September 2014" "" "" -. .SH "NAME" -\fBnpm-removal\fR \-\- Cleaning the Slate -. -.SH "SYNOPSIS" +\fBnpm-removal\fR \- Cleaning the Slate +.SH SYNOPSIS +.P So sad to see you go\. -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX sudo npm uninstall npm \-g -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Or, if that fails, get the npm source code, and do: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX sudo make uninstall -. -.fi -. -.IP "" 0 -. -.SH "More Severe Uninstalling" +.EE +.RE +.SH More Severe Uninstalling +.P Usually, the above instructions are sufficient\. That will remove -npm, but leave behind anything you\'ve installed\. -. +npm, but leave behind anything you've installed\. .P -If that doesn\'t work, or if you require more drastic measures, +If that doesn't work, or if you require more drastic measures, continue reading\. -. .P Note that this is only necessary for globally\-installed packages\. Local -installs are completely contained within a project\'s \fBnode_modules\fR -folder\. Delete that folder, and everything is gone (unless a package\'s +installs are completely contained within a project's \fBnode_modules\fR +folder\. Delete that folder, and everything is gone (unless a package's install script is particularly ill\-behaved)\. -. .P This assumes that you installed node and npm in the default place\. If you configured node with a different \fB\-\-prefix\fR, or installed npm with a -different prefix setting, then adjust the paths accordingly, replacing \fB/usr/local\fR with your install prefix\. -. +different prefix setting, then adjust the paths accordingly, replacing +\fB/usr/local\fR with your install prefix\. .P To remove everything npm\-related manually: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX rm \-rf /usr/local/{lib/node{,/\.npm,_modules},bin,share/man}/npm* -. -.fi -. -.IP "" 0 -. +.EE +.RE .P If you installed things \fIwith\fR npm, then your best bet is to uninstall them with npm first, and then install them again once you have a proper install\. This can help find any symlinks that are lying around: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX ls \-laF /usr/local/{lib/node{,/\.npm},bin,share/man} | grep npm -. -.fi -. -.IP "" 0 -. +.EE +.RE .P Prior to version 0\.3, npm used shim files for executables and node modules\. To track those down, you can do the following: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX find /usr/local/{lib/node,bin} \-exec grep \-l npm \\{\\} \\; ; -. -.fi -. -.IP "" 0 -. +.EE +.RE .P (This is also in the README file\.) -. -.SH "SEE ALSO" -. -.IP "\(bu" 4 +.SH SEE ALSO +.RS 0 +.IP \(bu 2 README -. -.IP "\(bu" 4 +.IP \(bu 2 npm help rm -. -.IP "\(bu" 4 +.IP \(bu 2 npm help prune -. -.IP "" 0 + +.RE diff --git a/deps/npm/man/man7/semver.7 b/deps/npm/man/man7/semver.7 index 1e64a8df20..c2efd3d2cf 100644 --- a/deps/npm/man/man7/semver.7 +++ b/deps/npm/man/man7/semver.7 @@ -1,243 +1,343 @@ -.\" Generated with Ronnjs 0.3.8 -.\" http://github.com/kapouer/ronnjs/ -. .TH "SEMVER" "7" "September 2014" "" "" -. .SH "NAME" -\fBsemver\fR \-\- The semantic versioner for npm -. -.SH "Usage" -. -.nf +\fBsemver\fR \- The semantic versioner for npm +.SH Usage +.P +.RS 2 +.EX $ npm install semver -semver\.valid(\'1\.2\.3\') // \'1\.2\.3\' -semver\.valid(\'a\.b\.c\') // null -semver\.clean(\' =v1\.2\.3 \') // \'1\.2\.3\' -semver\.satisfies(\'1\.2\.3\', \'1\.x || >=2\.5\.0 || 5\.0\.0 \- 7\.2\.3\') // true -semver\.gt(\'1\.2\.3\', \'9\.8\.7\') // false -semver\.lt(\'1\.2\.3\', \'9\.8\.7\') // true -. -.fi -. + +semver\.valid('1\.2\.3') // '1\.2\.3' +semver\.valid('a\.b\.c') // null +semver\.clean(' =v1\.2\.3 ') // '1\.2\.3' +semver\.satisfies('1\.2\.3', '1\.x || >=2\.5\.0 || 5\.0\.0 \- 7\.2\.3') // true +semver\.gt('1\.2\.3', '9\.8\.7') // false +semver\.lt('1\.2\.3', '9\.8\.7') // true +.EE +.RE .P As a command\-line utility: -. -.IP "" 4 -. -.nf +.P +.RS 2 +.EX $ semver \-h + 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, 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, then exits failure\. + Versions are printed in ascending order, so supplying multiple versions to the utility will just sort them\. -. -.fi -. -.IP "" 0 -. -.SH "Versions" -A "version" is described by the \fBv2\.0\.0\fR specification found at \fIhttp://semver\.org/\fR\|\. -. +.EE +.RE +.SH Versions +.P +A "version" is described by the \fBv2\.0\.0\fR specification found at +http://semver\.org/\|\. .P A leading \fB"="\fR or \fB"v"\fR character is stripped off and ignored\. -. -.SH "Ranges" -The following range styles are supported: -. -.IP "\(bu" 4 -\fB1\.2\.3\fR A specific version\. When nothing else will do\. Must be a full -version number, with major, minor, and patch versions specified\. -Note that build metadata is still ignored, so \fB1\.2\.3+build2012\fR will -satisfy this range\. -. -.IP "\(bu" 4 -\fB>1\.2\.3\fR Greater than a specific version\. -. -.IP "\(bu" 4 -\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 -\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 -\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 +.SH Ranges +.P +A \fBversion range\fR is a set of \fBcomparators\fR which specify versions +that satisfy the range\. +.P +A \fBcomparator\fR is composed of an \fBoperator\fR and a \fBversion\fR\|\. The set +of primitive \fBoperators\fR is: +.RS 0 +.IP \(bu 2 +\fB<\fR Less than +.IP \(bu 2 +\fB<=\fR Less than or equal to +.IP \(bu 2 +\fB>\fR Greater than +.IP \(bu 2 +\fB>=\fR Greater than or equal to +.IP \(bu 2 +\fB=\fR Equal\. If no operator is specified, then equality is assumed, +so this operator is optional, but MAY be included\. + +.RE +.P +For example, the comparator \fB>=1\.2\.7\fR would match the versions +\fB1\.2\.7\fR, \fB1\.2\.8\fR, \fB2\.5\.3\fR, and \fB1\.3\.9\fR, but not the versions \fB1\.2\.6\fR +or \fB1\.1\.0\fR\|\. +.P +Comparators can be joined by whitespace to form a \fBcomparator set\fR, +which is satisfied by the \fBintersection\fR of all of the comparators +it includes\. +.P +A range is composed of one or more comparator sets, joined by \fB||\fR\|\. A +version matches a range if and only if every comparator in at least +one of the \fB||\fR\-separated comparator sets is satisfied by the version\. +.P +For example, the range \fB>=1\.2\.7 <1\.3\.0\fR would match the versions +\fB1\.2\.7\fR, \fB1\.2\.8\fR, and \fB1\.2\.99\fR, but not the versions \fB1\.2\.6\fR, \fB1\.3\.0\fR, +or \fB1\.1\.0\fR\|\. +.P +The range \fB1\.2\.7 || >=1\.2\.9 <2\.0\.0\fR would match the versions \fB1\.2\.7\fR, +\fB1\.2\.9\fR, and \fB1\.4\.6\fR, but not the versions \fB1\.2\.8\fR or \fB2\.0\.0\fR\|\. +.SS Prerelease Tags +.P +If a version has a prerelease tag (for example, \fB1\.2\.3\-alpha\.3\fR) then +it will only be allowed to satisfy comparator sets if at least one +comparator with the same \fB[major, minor, patch]\fR tuple also has a +prerelease tag\. +.P +For example, the range \fB>1\.2\.3\-alpha\.3\fR would be allowed to match the +version \fB1\.2\.3\-alpha\.7\fR, but it would \fInot\fR be satisfied by +\fB3\.4\.5\-alpha\.9\fR, even though \fB3\.4\.5\-alpha\.9\fR is technically "greater +than" \fB1\.2\.3\-alpha\.3\fR according to the SemVer sort rules\. The version +range only accepts prerelease tags on the \fB1\.2\.3\fR version\. The +version \fB3\.4\.5\fR \fIwould\fR satisfy the range, because it does not have a +prerelease flag, and \fB3\.4\.5\fR is greater than \fB1\.2\.3\-alpha\.7\fR\|\. +.P +The purpose for this behavior is twofold\. First, prerelease versions +frequently are updated very quickly, and contain many breaking changes +that are (by the author's design) not yet fit for public consumption\. +Therefore, by default, they are excluded from range matching +semantics\. +.P +Second, a user who has opted into using a prerelease version has +clearly indicated the intent to use \fIthat specific\fR set of +alpha/beta/rc versions\. By including a prerelease tag in the range, +the user is indicating that they are aware of the risk\. However, it +is still not appropriate to assume that they have opted into taking a +similar risk on the \fInext\fR set of prerelease versions\. +.SS Advanced Range Syntax +.P +Advanced range syntax desugars to primitive comparators in +deterministic ways\. +.P +Advanced ranges may be combined in the same way as primitive +comparators using white space or \fB||\fR\|\. +.SS Hyphen Ranges \fBX\.Y\.Z \- A\.B\.C\fR +.P +Specifies an inclusive set\. +.RS 0 +.IP \(bu 2 \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\-0 <1\.3\.0\-0\fR "Reasonably close to \fB1\.2\.3\fR"\. 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\.3\fR := \fB>=1\.2\.3\-0 <2\.0\.0\-0\fR "Compatible with \fB1\.2\.3\fR"\. When -using caret operators, anything from the specified version (including -prerelease) will be supported up to, but not including, the next -major version (or its prereleases)\. \fB1\.5\.1\fR will satisfy \fB^1\.2\.3\fR, -while \fB1\.2\.2\fR and \fB2\.0\.0\-beta\fR will not\. -. -.IP "\(bu" 4 -\fB^0\.1\.3\fR := \fB>=0\.1\.3\-0 <0\.2\.0\-0\fR "Compatible with \fB0\.1\.3\fR"\. \fB0\.x\.x\fR versions are -special: the first non\-zero component indicates potentially breaking changes, -meaning the caret operator matches any version with the same first non\-zero -component starting at the specified version\. -. -.IP "\(bu" 4 -\fB^0\.0\.2\fR := \fB=0\.0\.2\fR "Only the version \fB0\.0\.2\fR is considered compatible" -. -.IP "\(bu" 4 -\fB~1\.2\fR := \fB>=1\.2\.0\-0 <1\.3\.0\-0\fR "Any version starting with \fB1\.2\fR" -. -.IP "\(bu" 4 -\fB^1\.2\fR := \fB>=1\.2\.0\-0 <2\.0\.0\-0\fR "Any version compatible with \fB1\.2\fR" -. -.IP "\(bu" 4 -\fB1\.2\.x\fR := \fB>=1\.2\.0\-0 <1\.3\.0\-0\fR "Any version starting with \fB1\.2\fR" -. -.IP "\(bu" 4 -\fB1\.2\.*\fR Same as \fB1\.2\.x\fR\|\. -. -.IP "\(bu" 4 -\fB1\.2\fR Same as \fB1\.2\.x\fR\|\. -. -.IP "\(bu" 4 -\fB~1\fR := \fB>=1\.0\.0\-0 <2\.0\.0\-0\fR "Any version starting with \fB1\fR" -. -.IP "\(bu" 4 -\fB^1\fR := \fB>=1\.0\.0\-0 <2\.0\.0\-0\fR "Any version compatible with \fB1\fR" -. -.IP "\(bu" 4 -\fB1\.x\fR := \fB>=1\.0\.0\-0 <2\.0\.0\-0\fR "Any version starting with \fB1\fR" -. -.IP "\(bu" 4 -\fB1\.*\fR Same as \fB1\.x\fR\|\. -. -.IP "\(bu" 4 -\fB1\fR Same as \fB1\.x\fR\|\. -. -.IP "\(bu" 4 -\fB*\fR Any version whatsoever\. -. -.IP "\(bu" 4 -\fBx\fR Same as \fB*\fR\|\. -. -.IP "\(bu" 4 -\fB""\fR (just an empty string) Same as \fB*\fR\|\. -. -.IP "" 0 -. -.P -Ranges can be joined with either a space (which implies "and") or a \fB||\fR (which implies "or")\. -. -.SH "Functions" + +.RE +.P +If a partial version is provided as the first version in the inclusive +range, then the missing pieces are replaced with zeroes\. +.RS 0 +.IP \(bu 2 +\fB1\.2 \- 2\.3\.4\fR := \fB>=1\.2\.0 <=2\.3\.4\fR + +.RE +.P +If a partial version is provided as the second version in the +inclusive range, then all versions that start with the supplied parts +of the tuple are accepted, but nothing that would be greater than the +provided tuple parts\. +.RS 0 +.IP \(bu 2 +\fB1\.2\.3 \- 2\.3\fR := \fB>=1\.2\.3 <2\.4\.0\fR +.IP \(bu 2 +\fB1\.2\.3 \- 2\fR := \fB>=1\.2\.3 <3\.0\.0\fR + +.RE +.SS X\-Ranges \fB1\.2\.x\fR \fB1\.X\fR \fB1\.2\.*\fR \fB*\fR +.P +Any of \fBX\fR, \fBx\fR, or \fB*\fR may be used to "stand in" for one of the +numeric values in the \fB[major, minor, patch]\fR tuple\. +.RS 0 +.IP \(bu 2 +\fB*\fR := \fB>=0\.0\.0\fR (Any version satisfies) +.IP \(bu 2 +\fB1\.x\fR := \fB>=1\.0\.0 <2\.0\.0\fR (Matching major version) +.IP \(bu 2 +\fB1\.2\.x\fR := \fB>=1\.2\.0 <1\.3\.0\fR (Matching major and minor versions) + +.RE +.P +A partial version range is treated as an X\-Range, so the special +character is in fact optional\. +.RS 0 +.IP \(bu 2 +\fB` (empty string) :=\fR*\fB:=\fR>=0\.0\.0` +.IP \(bu 2 +\fB1\fR := \fB1\.x\.x\fR := \fB>=1\.0\.0 <2\.0\.0\fR +.IP \(bu 2 +\fB1\.2\fR := \fB1\.2\.x\fR := \fB>=1\.2\.0 <1\.3\.0\fR + +.RE +.SS Tilde Ranges \fB~1\.2\.3\fR \fB~1\.2\fR \fB~1\fR +.P +Allows patch\-level changes if a minor version is specified on the +comparator\. Allows minor\-level changes if not\. +.RS 0 +.IP \(bu 2 +\fB~1\.2\.3\fR := \fB>=1\.2\.3 <1\.(2+1)\.0\fR := \fB>=1\.2\.3 <1\.3\.0\fR +.IP \(bu 2 +\fB~1\.2\fR := \fB>=1\.2\.0 <1\.(2+1)\.0\fR := \fB>=1\.2\.0 <1\.3\.0\fR (Same as \fB1\.2\.x\fR) +.IP \(bu 2 +\fB~1\fR := \fB>=1\.0\.0 <(1+1)\.0\.0\fR := \fB>=1\.0\.0 <2\.0\.0\fR (Same as \fB1\.x\fR) +.IP \(bu 2 +\fB~0\.2\.3\fR := \fB>=0\.2\.3 <0\.(2+1)\.0\fR := \fB>=0\.2\.3 <0\.3\.0\fR +.IP \(bu 2 +\fB~0\.2\fR := \fB>=0\.2\.0 <0\.(2+1)\.0\fR := \fB>=0\.2\.0 <0\.3\.0\fR (Same as \fB0\.2\.x\fR) +.IP \(bu 2 +\fB~0\fR := \fB>=0\.0\.0 <(0+1)\.0\.0\fR := \fB>=0\.0\.0 <1\.0\.0\fR (Same as \fB0\.x\fR) +.IP \(bu 2 +\fB~1\.2\.3\-beta\.2\fR := \fB>=1\.2\.3\-beta\.2 <1\.3\.0\fR Note that prereleases in +the \fB1\.2\.3\fR version will be allowed, if they are greater than or +equal to \fBbeta\.2\fR\|\. So, \fB1\.2\.3\-beta\.4\fR would be allowed, but +\fB1\.2\.4\-beta\.2\fR would not, because it is a prerelease of a +different \fB[major, minor, patch]\fR tuple\. + +.RE +.P +Note: this is the same as the \fB~>\fR operator in rubygems\. +.SS Caret Ranges \fB^1\.2\.3\fR \fB^0\.2\.5\fR \fB^0\.0\.4\fR +.P +Allows changes that do not modify the left\-most non\-zero digit in the +\fB[major, minor, patch]\fR tuple\. In other words, this allows patch and +minor updates for versions \fB1\.0\.0\fR and above, patch updates for +versions \fB0\.X >=0\.1\.0\fR, and \fIno\fR updates for versions \fB0\.0\.X\fR\|\. +.P +Many authors treat a \fB0\.x\fR version as if the \fBx\fR were the major +"breaking\-change" indicator\. +.P +Caret ranges are ideal when an author may make breaking changes +between \fB0\.2\.4\fR and \fB0\.3\.0\fR releases, which is a common practice\. +However, it presumes that there will \fInot\fR be breaking changes between +\fB0\.2\.4\fR and \fB0\.2\.5\fR\|\. It allows for changes that are presumed to be +additive (but non\-breaking), according to commonly observed practices\. +.RS 0 +.IP \(bu 2 +\fB^1\.2\.3\fR := \fB>=1\.2\.3 <2\.0\.0\fR +.IP \(bu 2 +\fB^0\.2\.3\fR := \fB>=0\.2\.3 <0\.3\.0\fR +.IP \(bu 2 +\fB^0\.0\.3\fR := \fB>=0\.0\.3 <0\.0\.4\fR +.IP \(bu 2 +\fB^1\.2\.3\-beta\.2\fR := \fB>=1\.2\.3\-beta\.2 <2\.0\.0\fR Note that prereleases in +the \fB1\.2\.3\fR version will be allowed, if they are greater than or +equal to \fBbeta\.2\fR\|\. So, \fB1\.2\.3\-beta\.4\fR would be allowed, but +\fB1\.2\.4\-beta\.2\fR would not, because it is a prerelease of a +different \fB[major, minor, patch]\fR tuple\. +.IP \(bu 2 +\fB^0\.0\.3\-beta\fR := \fB>=0\.0\.3\-beta <0\.0\.4\fR Note that prereleases in the +\fB0\.0\.3\fR version \fIonly\fR will be allowed, if they are greater than or +equal to \fBbeta\fR\|\. So, \fB0\.0\.3\-pr\.2\fR would be allowed\. + +.RE +.P +When parsing caret ranges, a missing \fBpatch\fR value desugars to the +number \fB0\fR, but will allow flexibility within that value, even if the +major and minor versions are both \fB0\fR\|\. +.RS 0 +.IP \(bu 2 +\fB^1\.2\.x\fR := \fB>=1\.2\.0 <2\.0\.0\fR +.IP \(bu 2 +\fB^0\.0\.x\fR := \fB>=0\.0\.0 <0\.1\.0\fR +.IP \(bu 2 +\fB^0\.0\fR := \fB>=0\.0\.0 <0\.1\.0\fR + +.RE +.P +A missing \fBminor\fR and \fBpatch\fR values will desugar to zero, but also +allow flexibility within those values, even if the major version is +zero\. +.RS 0 +.IP \(bu 2 +\fB^1\.x\fR := \fB>=1\.0\.0 <2\.0\.0\fR +.IP \(bu 2 +\fB^0\.x\fR := \fB>=0\.0\.0 <1\.0\.0\fR + +.RE +.SH Functions +.P 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 -\fBvalid(v)\fR: Return the parsed version, or null if it\'s not valid\. -. -.IP "\(bu" 4 -\fBinc(v, release)\fR\fBmajor\fR\fBpremajor\fR\fBminor\fR\fBpreminor\fR\fBpatch\fR\fBprepatch\fR\fBprerelease\fR -. -.IP "\(bu" 4 +.RS 0 +.IP \(bu 2 +\fBvalid(v)\fR: Return the parsed version, or null if it's not valid\. +.IP \(bu 2 +\fBinc(v, release)\fR: Return the version incremented by the release +type (\fBmajor\fR, \fBpremajor\fR, \fBminor\fR, \fBpreminor\fR, \fBpatch\fR, +\fBprepatch\fR, or \fBprerelease\fR), or null if it's not valid +.RS 0 +.IP \(bu 2 \fBpremajor\fR in one call will bump the version up to the next major -version and down to a prerelease of that major version\. \fBpreminor\fR, and \fBprepatch\fR work the same way\. -. -.IP "\(bu" 4 +version and down to a prerelease of that major version\. +\fBpreminor\fR, and \fBprepatch\fR work the same way\. +.IP \(bu 2 If called from a non\-prerelease version, the \fBprerelease\fR will work the same as \fBprepatch\fR\|\. It increments the patch version, then makes a prerelease\. If the input version is already a prerelease it simply increments it\. -. -.IP "" 0 - -. -.IP "" 0 -. -.SS "Comparison" -. -.IP "\(bu" 4 + +.RE + +.RE +.SS Comparison +.RS 0 +.IP \(bu 2 \fBgt(v1, v2)\fR: \fBv1 > v2\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBgte(v1, v2)\fR: \fBv1 >= v2\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBlt(v1, v2)\fR: \fBv1 < v2\fR -. -.IP "\(bu" 4 +.IP \(bu 2 \fBlte(v1, v2)\fR: \fBv1 <= v2\fR -. -.IP "\(bu" 4 -\fBeq(v1, v2)\fR: \fBv1 == v2\fR This is true if they\'re logically equivalent, -even if they\'re not the exact same string\. You already know how to +.IP \(bu 2 +\fBeq(v1, v2)\fR: \fBv1 == v2\fR This is true if they're logically equivalent, +even if they're not the exact same string\. You already know how to compare strings\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fBneq(v1, v2)\fR: \fBv1 != v2\fR The opposite of \fBeq\fR\|\. -. -.IP "\(bu" 4 -\fBcmp(v1, comparator, v2)\fR: Pass in a comparison string, and it\'ll call +.IP \(bu 2 +\fBcmp(v1, comparator, v2)\fR: Pass in a comparison string, and it'll call the corresponding function above\. \fB"==="\fR and \fB"!=="\fR do simple string comparison, but are included for completeness\. Throws if an invalid comparison string is provided\. -. -.IP "\(bu" 4 -\fBcompare(v1, v2)\fR: Return \fB0\fR if \fBv1 == v2\fR, or \fB1\fR if \fBv1\fR is greater, or \fB\-1\fR if \fBv2\fR is greater\. Sorts in ascending order if passed to \fBArray\.sort()\fR\|\. -. -.IP "\(bu" 4 +.IP \(bu 2 +\fBcompare(v1, v2)\fR: Return \fB0\fR if \fBv1 == v2\fR, or \fB1\fR if \fBv1\fR is greater, or \fB\-1\fR if +\fBv2\fR is greater\. Sorts in ascending order if passed to \fBArray\.sort()\fR\|\. +.IP \(bu 2 \fBrcompare(v1, v2)\fR: The reverse of compare\. Sorts an array of versions in descending order when passed to \fBArray\.sort()\fR\|\. -. -.IP "" 0 -. -.SS "Ranges" -. -.IP "\(bu" 4 -\fBvalidRange(range)\fR: Return the valid range or null if it\'s not valid -. -.IP "\(bu" 4 + +.RE +.SS Ranges +.RS 0 +.IP \(bu 2 +\fBvalidRange(range)\fR: Return the valid range or null if it's not valid +.IP \(bu 2 \fBsatisfies(version, range)\fR: Return true if the version satisfies the range\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fBmaxSatisfying(versions, range)\fR: Return the highest version in the list that satisfies the range, or \fBnull\fR if none of them do\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fBgtr(version, range)\fR: Return \fBtrue\fR if version is greater than all the versions possible in the range\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fBltr(version, range)\fR: Return \fBtrue\fR if version is less than all the versions possible in the range\. -. -.IP "\(bu" 4 +.IP \(bu 2 \fBoutside(version, range, hilo)\fR: Return true if the version is outside -the bounds of the range in either the high or low direction\. The \fBhilo\fR argument must be either the string \fB\'>\'\fR or \fB\'<\'\fR\|\. (This is +the bounds of the range in either the high or low direction\. The +\fBhilo\fR argument must be either the string \fB\|'>'\fR or \fB\|'<'\fR\|\. (This is the function called by \fBgtr\fR and \fBltr\fR\|\.) -. -.IP "" 0 -. + +.RE .P Note that, since ranges may be non\-contiguous, a version might not be greater than a range, less than a range, \fIor\fR satisfy a range! For @@ -246,7 +346,7 @@ until \fB2\.0\.0\fR, so the version \fB1\.2\.10\fR would not be greater than the range (because \fB2\.0\.1\fR satisfies, which is higher), nor less than the range (since \fB1\.2\.8\fR satisfies, which is lower), and it also does not satisfy the range\. -. .P If you want to know if a version satisfies or does not satisfy a range, use the \fBsatisfies(version, range)\fR function\. + |