npm-registry-couchapp

couchapp bits of registry.npmjs.org

  • 所有者: npm/npm-registry-couchapp
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

npm-registry-couchapp

Build Status

deprecation notice: as npm has scaled, the registry architecture has gradually migrated towards
a complex distributed architecture, of which npm-registry-couchapp is only a small part. FOSS
is an important part of npm, and over time we plan on exposing more APIs, and better documenting
the existing API
.

npm-registry-couchapp is still a core part of our functionality, but all new registry features are
now added to the micro-services that now make up npm. For this reason, we will not be accepting any
pull requests, or making any changes to this codebase going forward.

For issues with the npmjs.com website, please open an issue on the
npm/www repo. For issues wih the registry
service (for example, slow package downloads, or inability to publish a
package), see the npm/registry repo.

The design doc for The npm Registry CouchApp

Installing

You need CouchDB version 1.4.0 or higher. 1.5.0 or higher is best.

Once you have CouchDB installed, create a new database:

curl -X PUT http://localhost:5984/registry

You'll need the following entries added in your local.ini

[couch_httpd_auth]
public_fields = appdotnet, avatar, avatarMedium, avatarLarge, date, email, fields, freenode, fullname, github, homepage, name, roles, twitter, type, _id, _rev
users_db_public = true

[httpd]
secure_rewrites = false

[couchdb]
delayed_commits = false

Clone the repository if you haven't already, and cd into it:

git clone git://github.com/npm/npm-registry-couchapp
cd npm-registry-couchapp

Now install the stuff:

npm install

Sync the ddoc to _design/scratch

npm start \
  --npm-registry-couchapp:couch=http://admin:password@localhost:5984/registry

Next, make sure that views are loaded:

npm run load \
  --npm-registry-couchapp:couch=http://admin:password@localhost:5984/registry

And finally, copy the ddoc from _design/scratch to _design/app

npm run copy \
  --npm-registry-couchapp:couch=http://admin:password@localhost:5984/registry

Of course, you can avoid the command-line flag by setting it in your
~/.npmrc file:

_npm-registry-couchapp:couch=http://admin:password@localhost:5984/registry

The _ prevents any other packages from seeing the setting (with a
password) in their environment when npm runs scripts for those other
packages.

Replicating the Registry

To replicate the registry without attachments, you can point your
CouchDB replicator at https://skimdb.npmjs.com/registry. Note that
attachments for public packages will still be loaded from the public
location, but anything you publish into your private registry will
stay private.

To replicate the registry with attachments, consider using
npm-fullfat-registry.
The fullfatdb CouchDB instance is
deprecated.

Using the registry with the npm client

With the setup so far, you can point the npm client at the registry by
putting this in your ~/.npmrc file:

registry = http://localhost:5984/registry/_design/app/_rewrite

You can also set the npm registry config property like:

npm config set \
  registry=http://localhost:5984/registry/_design/app/_rewrite

Or you can simple override the registry config on each call:

npm \
  --registry=http://localhost:5984/registry/_design/app/_rewrite \
  install <package>

Optional: top-of-host urls

To be snazzier, add a vhost config:

[vhosts]
registry.mydomain.com:5984 = /registry/_design/app/_rewrite

Where registry.mydomain.com is the hostname where you're running the
thing, and 5984 is the port that CouchDB is running on. If you're
running on port 80, then omit the port altogether.

Then for example you can reference the repository like so:

npm config set registry http://registry.mydomain.com:5984

主要指標

概覽
名稱與所有者npm/npm-registry-couchapp
主編程語言JavaScript
編程語言Makefile (語言數: 3)
平台
許可證Other
所有者活动
創建於2011-02-11 16:44:33
推送於2021-01-01 20:36:42
最后一次提交2020-03-11 17:48:45
發布數58
最新版本名稱v3.0.0 (發布於 2020-03-11 17:48:48)
第一版名稱v0.1.0 (發布於 )
用户参与
星數616
關注者數57
派生數169
提交數544
已啟用問題?
問題數172
打開的問題數43
拉請求數29
打開的拉請求數8
關閉的拉請求數73
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?