summaryrefslogtreecommitdiff
path: root/deps/npm/man/man7/registry.7
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/man/man7/registry.7')
-rw-r--r--deps/npm/man/man7/registry.7104
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