From 5aba569990639596113509727ede6cc1ac166994 Mon Sep 17 00:00:00 2001 From: isaacs Date: Sun, 12 Dec 2010 13:00:31 -0800 Subject: registry help topic --- man1/faq.1 | 5 ++-- man1/registry.1 | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 man1/registry.1 (limited to 'man1') diff --git a/man1/faq.1 b/man1/faq.1 index d603feb88..64861c20d 100644 --- a/man1/faq.1 +++ b/man1/faq.1 @@ -65,8 +65,6 @@ b) a gzipped tarball containing (a) . .IP "\(bu" 4 c) a url that resolves to (b) -. -.IP "\(bu" 4 d) a \fB@\fR that is published on the registry with (c) . .IP "\(bu" 4 @@ -140,6 +138,9 @@ lot of use cases, and is very easy to maintain\. .SH "How do I symlink to a dev folder so that I don\'t have to keep re\-installing?" \fBnpm link\fR . +.SH "The package registry website\. What is that exactly?" +See \fBnpm help registry\fR for more info\. +. .SH "What\'s up with the insecure channel warnings?" As of this writing, node has problems uploading files over HTTPS\. That means that publishes go over HTTP\. diff --git a/man1/registry.1 b/man1/registry.1 new file mode 100644 index 000000000..9f0b47abd --- /dev/null +++ b/man1/registry.1 @@ -0,0 +1,88 @@ +.\" Generated with Ronnjs/v0.1 +.\" http://github.com/kapouer/ronnjs/ +. +.TH "NPM\-REGISTRY" "1" "December 2010" "" "" +. +.SH "NAME" +\fBnpm-registry\fR \-\- The JavaScript Package Registry +. +.SH "DESCRIPTION" +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 +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\.couchone\.com/jsregistry\fR\|\. The code for the couchapp is +available at \fIhttp://github\.com/isaacs/js\-registry\fR\|\. npm user accounts +are CouchDB users, stored in the \fIhttp://isaacs\.couchone\.com/_users\fR +database\. +. +.P +The registry URL is supplied by the \fBregistry\fR config parameter\. See \fBnpm help config\fR for more on managing npm\'s configuration\. +. +.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 +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 "Will you replicate from my registry into the public one?" +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\. +. +.SH "I published something elsewhere, and want to tell the npm registry about it\." +That is supported, but not using the npm client\. You\'ll have to get +your hands dirty and do some HTTP\. The request looks something like +this: +. +.IP "" 4 +. +.nf +PUT /my\-foreign\-package +content\-type:application/json +accept:application/json +authorization:Basic $base_64_encoded +{ "name":"my\-foreign\-package" +, "maintainers":["owner","usernames"] +, "description":"A package that is hosted elsewhere" +, "keywords":["nih","my cheese smells the best"] +, "url":"http://my\-different\-registry\.com/blerg/my\-local\-package" +} +. +.fi +. +.IP "" 0 +. +.P +(Keywords and destription are optional, but recommended\. Name, +maintainers, and url are required\.) +. +.P +Then, when a user tries to install "my\-foreign\-package", it\'ll redirect +to your registry\. If that doesn\'t resolve to a valid package entry, +then it\'ll fail, so please make sure that you understand the spec, and +ask for help on the \fInpm\-@googlegroups\.com\fR mailing list\. +. +.SH "Is there a website or something to see package docs and such?" +No, but such a thing is planned, and a tiny bit developed\. +. +.P +Stay tuned! -- cgit v1.2.3