diff options
Diffstat (limited to 'deps/npm/man/man7/registry.7')
-rw-r--r-- | deps/npm/man/man7/registry.7 | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/deps/npm/man/man7/registry.7 b/deps/npm/man/man7/registry.7 new file mode 100644 index 0000000000..c21d6d6e61 --- /dev/null +++ b/deps/npm/man/man7/registry.7 @@ -0,0 +1,104 @@ +.TH "REGISTRY" "7" "December 2019" "" "" +.SH "NAME" +\fBregistry\fR \- The JavaScript Package Registry +.SS 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 +npm is configured to use npm, Inc\.'s public registry at +https://registry\.npmjs\.org by default\. Use of the npm public registry is +subject to terms of use available at https://www\.npmjs\.com/policies/terms\|\. +.P +You can configure npm to use any compatible registry you like, and even run +your own registry\. Use of someone else's registry may be governed by their +terms of use\. +.P +npm's package registry implementation supports several +write APIs as well, to allow for publishing packages and managing user +account information\. +.P +The npm public registry is powered by a CouchDB database, +of which there is a public mirror at +https://skimdb\.npmjs\.com/registry\|\. The code for the couchapp is +available at https://github\.com/npm/npm\-registry\-couchapp\|\. +.P +The registry URL used is determined by the scope of the package (see +npm help \fBscope\fP\|\. If no scope is specified, the default registry is used, which is +supplied by the \fBregistry\fP config parameter\. See npm help \fBconfig\fP, +npm help \fBnpmrc\fP, and npm help \fBconfig\fP for more on managing npm's configuration\. +.SS Does npm send any information about me back to the registry? +.P +Yes\. +.P +When making requests of the registry npm adds two headers with information +about your environment: +.RS 0 +.IP \(bu 2 +\fBNpm\-Scope\fP – If your project is scoped, this header will contain its +scope\. In the future npm hopes to build registry features that use this +information to allow you to customize your experience for your +organization\. +.IP \(bu 2 +\fBNpm\-In\-CI\fP – Set to "true" if npm believes this install is running in a +continuous integration environment, "false" otherwise\. This is detected by +looking for the following environment variables: \fBCI\fP, \fBTDDIUM\fP, +\fBJENKINS_URL\fP, \fBbamboo\.buildKey\fP\|\. If you'd like to learn more you may find +the original PR \fIhttps://github\.com/npm/npm\-registry\-client/pull/129\fR +interesting\. +This is used to gather better metrics on how npm is used by humans, versus +build farms\. + +.RE +.P +The npm registry does not try to correlate the information in these headers +with any authenticated accounts that may be used in the same requests\. +.SS Can I run my own private registry? +.P +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 +to read any published packages, in addition to your private ones, and by +default will only publish internally\. +.P +If you then want to publish a package for the whole world to see, you can +simply override the \fB\-\-registry\fP option for that \fBpublish\fP command\. +.SS I don't want my package published in the official registry\. It's private\. +.P +Set \fB"private": true\fP in your package\.json to prevent it from being +published at all, or +\fB"publishConfig":{"registry":"http://my\-internal\-registry\.local"}\fP +to force it to be published only to your internal registry\. +.P +See npm help \fBpackage\.json\fP for more info on what goes in the package\.json file\. +.SS 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\. +.SS 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\. +.SS Is there a website or something to see package docs and such? +.P +Yes, head over to https://www\.npmjs\.com/ +.SS See also +.RS 0 +.IP \(bu 2 +npm help config +.IP \(bu 2 +npm help config +.IP \(bu 2 +npm help npmrc +.IP \(bu 2 +npm help developers +.IP \(bu 2 +npm help disputes + +.RE |