wangminhua-fe / unpkg

The CDN for everything on npm

Home Page:https://unpkg.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UNPKG (fork)

The goals of this fork are:

  • Make it easier to self-host Unpkg.
  • Keep it upstream compatible.
  • Keep dependencies up to date.
  • Make no functional changes or add new features.

UNPKG is a fast, global content delivery network for everything on npm.

Development

prepare:

git clone https://github.com/renxia/unpkg.git
cd unpkg
pnpm i
cp .env.sample .env.local # and edit the env.local config for local development

dev:

pnpm watch
pnpm serve

Build and deploy

cp .env.sample .env.prod # and edit the env.prod config for production
set NODE_ENV=production # or staging
pnpm build
pnpm pack

A file will be generated like unpkg-<version>.tgz. Deploy it in your server with pm2:

tar zxvf unpkg-<version>.tgz
cd package
npm i --omit dev
# pnpm i -P
pm2 -n unpkg start.js

Configuration with .env[.prod|.local]

Learn more from the file .env.sample.

# config for private registry url
NPM_REGISTRY_URL=https://registry.npmjs.org

# your unpkg website url
ORIGIN=https://npmcdn.lzw.me
# port to listen on. default 8080
PORT=8080

# enableDebugging
# DEBUG=1

# Google Analytics MEASUREMENT_ID. your can set empty to disable it.
GTAG_MEASUREMENT_ID=UA-140352188-1

# ENABLE_CLOUDFLARE=1
# CLOUDFLARE_EMAIL=test@lzw.me
# CLOUDFLARE_KEY=test

Documentation

Please visit the UNPKG website to learn more about how to use it.

Sponsors

Our sponsors and backers are listed in SPONSORS.md.

About

The CDN for everything on npm

https://unpkg.com

License:Other


Languages

Language:JavaScript 100.0%