- Notifications
You must be signed in to change notification settings - Fork745
License
cnpm/cnpmjs.org
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
‼️ ‼️ ‼️ ‼️ DEPRECATED, please usehttps://github.com/cnpm/cnpmcore instead‼️ ‼️ ‼️ ‼️
‼️ ‼️ ‼️ ‼️ DEPRECATED, please usehttps://github.com/cnpm/cnpmcore instead‼️ ‼️ ‼️ ‼️
‼️ ‼️ ‼️ ‼️ DEPRECATED, please usehttps://github.com/cnpm/cnpmcore instead‼️ ‼️ ‼️ ‼️
Private npm registry and web for Enterprise, base onkoa,MySQL andSimple Store Service.
Our goal is to provide a low cost maintenance, easy to use, and easy to scale solution for private npm.
- Build a private npm for your own enterprise. (alibaba is using
cnpmjs.org
now) - Build a npm mirror. (we use it to build a mirror in China:https://npmmirror.com/)
- Use the private npm service provided by Alibaba Cloud DevOps which build with cnpm.https://packages.aliyun.com/
- Support "scoped" packages:npm/npm#5239
- SupportCORS
- Simple to deploy: only need
mysql
and asimple store system. - Low cost and easy maintenance:
package.json
info can store in MySQL, MariaDB, SQLite or PostgreSQL.tarball(tgz file) can store in Amazon S3 or other object storage service. - Automatic synchronization: automatically sync from any registry specified. support two sync modes:
- Sync all modules from upstream
- Only sync the modules after first access.
- Manual synchronization: automatic synchronization may has little delay. you can sync manually on web page.
- Customized client: we provide a clientcnpmto extend
npm
with more features(sync
command,gzip support).And it is easy to wrap for your own registry which build withcnpmjs.org
. - Compatible with npm client: you can use the official npm client with
cnpmjs.org
.you only need to change the registry in client config. - Support http_proxy: if you're behind a firewall, you can provide a http proxy for cnpmjs.org.
- How to deploy
- cnpm client:cnpm,
npm install -g cnpm
- Sync packages through
http_proxy
- Migrating from 1.x to 2.x
- New features in 2.x.
- wiki
- node >= 8.0.0
- Databases: only required one type
# clone from git$ git clone https://github.com/cnpm/cnpmjs.org.git# install dependencies$ make install# test$ maketest# coverage$ make test-cov# update dependencies$ make autod# start server with development mode$ make dev
Cnpmjs.org shipped with a simple but pragmatic Docker Compose configuration.With the configuration, you can set up a MySQL backend cnpmjs.org instance by executing just one command on Docker installed environment.
- Install Docker
- Install Docker Compose (Docker for Mac, Docker for Windows include Docker Compose, so most Mac and Windows users do not need to install Docker Compose separately)
- (Optional) Speed up Docker images downloading by setting upDocker images download accelerator
Make sure your current working directory is the root of this GitHub repository.
$docker-compose up
This command will build a Docker image using the current code of repository. Then set up a dockerized MySQL instance with data initialized. After Docker container running, you can access your cnpmjs.org web portal athttp://127.0.0.1:7002 and npm register athttp://127.0.0.1:7001.
$docker-compose up -d
$docker-compose build
The current configuration set 2 named Docker Volume for your persistent data. If you haven't change the repository directory name, them will be "cnpmjsorg_cnpm-files-volume" & "cnpmjsorg_cnpm-db-volume".
Be Careful, the following commands will remove them.
$docker-compose rm$docker volume rm cnpmjsorg_cnpm-files-volume$docker volume rm cnpmjsorg_cnpm-db-volume
You can get more information about your data volumes using the below commands:
$docker volume ls // list all of your Docker volume$docker volume inspect cnpmjsorg_cnpm-files-volume$docker volume inspect cnpmjsorg_cnpm-db-volume
- Clone the project
- Checkout a new branch
- Add new features or fix bugs in the new branch
- Make a pull request and we will review it ASAP
Tips: make sure your code is following thenode-style-guide.
This project follows the git-contributorspec, auto updated atSun Mar 20 2022 09:50:54 GMT+0800
.