Skip to content
cnpmPublic

Repository files navigation

🪞 cnpmweb

PRs Welcome CodeRabbit Pull Request Reviews

🚀 在线示例

cnpmweb: A missing UI for custom registry.

screenshot

  • 🏗️ 支持一键部署
  • 🛠️ 支持二次集成开发,支持任意 npm registry
  • 🚀 基于 Next.js 纯静态部署

Deploy with Vercel

项目简介

cnpmweb 是独立的前端应用,npmmirror 提供一个新的制品库界面,可在 config.js 中定义自定义 registry 地址。

开发指南

# 使用你的首选的包管理工具进行依赖安装
$ cnpm i

# 启动本地开发环境
$ cnpm run dev

# 使用 tsrs 进行类型检查
$ cnpm run typecheck

# 生产构建(包含 tsrs 类型检查)
$ cnpm run build

部署到 Void

访问地址:cnpmweb.void.app。

使用 Node.js 24.22.0(npm 11),再登录具有 cnpmweb 项目权限的 Void 账号。通过 npm exec 直接调用固定版本的 Void CLI,独立于应用的 Vite 依赖:

$ npm install
$ npm exec --yes --package=void@1.1.11 -- void connect https://api.void.cloud
$ npm exec --yes --package=void@1.1.11 -- void deploy --platform void --project cnpmweb

void.config.ts 指定执行 npm run build 并部署 out/ 中的静态文件。路由规则将包详情、用户页面和搜索页面映射到 Next.js 导出的 HTML;短包名和 ~用户名 路径使用兜底规则。动态页面的 JavaScript 文件另有规则,将 URL 中编码后的方括号映射到实际文件名。

根据 Void 的 GitHub 部署文档,.github/workflows/void-deploy.yml 在推送到 master 时自动构建和部署,也支持在 master 上手动触发。工作流使用 GitHub OIDC 获取短期部署令牌,无需保存 VOID_TOKEN 密钥。

仓库变量 VOID_API_URL 设置为 https://api.void.cloud,Void 项目 cnpmweb 的 GitHub executor 设置为 github_actions,并授权上述工作流。项目管理员可以使用以下命令查看连接:

$ npm exec --yes --package=void@1.1.11 -- void github status cnpmweb

功能计划

  • 产物预览
  • 依赖信息
  • 版本列表
  • 版本选择
  • 搜索结果

License

MIT

贡献者

Contributors

Made with contributors-img.

Used by

Contributors

Languages