v0.5.1 已可用

一条命令。
所有仓库。

一步发布到 npm、jsr、crates.io 和私有仓库。任何一步失败时,pubm 会自动回滚全部变更。

zsh - pubm
$ pubm
零配置

放入你的清单文件, 剩下的交给 pubm。

package.json 对应 npm,jsr.json 对应 jsr,Cargo.toml 对应 crates.io。pubm 会读取项目并判断该发布到哪些仓库,不需要额外配置文件。

npm已连接
JSR
JSR.io就绪
Crates.io已连接
企业私有

不会把发布搞坏

每一步都会先验证再执行。出了问题就整体回滚,不会留下只发布一半的包。

所有仓库,一条命令

npm、jsr、crates.io、私有仓库都用同一条命令。monorepo 会按依赖顺序发布,不需要再串脚本。

自动回滚

仓库拒绝包时,pubm 会撤销版本变更、git tag 和提交。不会留下半发布状态,也不用手工清理。

预检查

分支、工作区、远端同步、登录状态和发布权限,都会在 pubm 动手前先检查完成。

同一条命令,兼顾本地与 CI

终端里是交互式提示,CI 里是完全无头执行。不需要单独配置,也不用记额外参数。

为什么选择 pubm?

一开始就走对路。以后不用迁移。

大多数发布工具会把你锁进某种固定做法。pubm 会随着项目一起增长,新增仓库、包或生态时都不用改工作流。

  • 没有迁移成本现在先只发 npm,准备好了再加 jsr 或 crates.io。你的工作流不用变。
  • JS + Rust,一条流水线要同时发布 Rust crate 和 npm 包?pubm 会读取 package.json 和 Cargo.toml,把它们一起发出去。
  • 从第一天就适配 monorepo今天一个包,明天十个也没问题。pubm 会按依赖顺序发布,不会因为顺序错误把发布搞坏。
发布流水线

一条命令完成 全部流程。

运行 pubm 后,它会完成版本选择、预检查、测试、构建和多仓库发布。

01

选择版本

直接运行 pubm,选择 patch、minor 或 major 版本。

02

预检查与认证

在真正修改前,先验证分支、工作区、远端同步和仓库凭证。

03

测试、构建、打标签

运行测试和构建,更新版本,并原子化创建 git 提交与 tag。

04

发布到所有仓库

并发发布到所有仓库。任何一步失败时,全部自动回滚。

zsh - pubm
$ pubm
? Select SemVer increment or specify new version ...
Keep current version 1.2.3
major 2.0.0
minor 1.3.0
patch 1.2.4
prepatch 1.2.4-0
prerelease 1.2.4-0
Custom version (specify)

安装一次,然后只需运行 pubm

无论是新项目还是已有项目,都可以直接开始。pubm 从第一天起就会自动识别仓库,后面不需要再迁移。

bash - 安装
 npm i -g pubm
 pubm