本项目使用 Changesets 来管理版本和发布。
当你对包进行修改后,需要添加一个变更集:
pnpm changeset:add
# 或
pnpm changeset这将启动交互式 CLI,引导你:
- 选择受影响的包
- 选择版本类型(patch/minor/major)
- 编写变更描述
当准备发布时,运行:
pnpm changeset:version这将:
- 根据变更集自动升级包版本
- 更新
CHANGELOG.md - 清理已应用的变更集文件
pnpm changeset:publish- patch: 修复 bug(如 0.1.0 → 0.1.1)
- minor: 新增功能(如 0.1.0 → 0.2.0)
- major: 破坏性变更(如 0.1.0 → 1.0.0)
| 命令 | 说明 |
|---|---|
pnpm changeset:add |
添加变更集 |
pnpm changeset:status |
查看变更集状态 |
pnpm changeset:version |
升级版本并生成 changelog |
pnpm changeset:publish |
发布到 npm |
pnpm ci:version |
CI 用:升级版本 + 更新 lockfile |
pnpm ci:publish |
CI 用:发布到 npm |
- Rust crate (
@veaba/qrcode-rust,@veaba/qrcode-fast) 设置了private: true,不会被发布到 npm,它们通过 Cargo 管理版本 - 提交 PR 前请确保已添加变更集(如果有用户可见的修改)
- 版本升级和发布通常由维护者在合并到 main 分支后执行