Skip to content
On this page

版本管理和发布

在 monorepo 中手动进行版本控制和发布包可能非常令人厌烦。幸运的是,有一个工具可以让事情变得简单—— Changesets CLI。

我们推荐 Changesets,因为它使用起来很直观,而且就像 Turborepo 一样 —— 适合您已经习惯的 monorepo 工具。

一些替代方案是:

了解 Changesets

我们建议查看 Changesets 文档。以下是我们推荐的阅读顺序:

  1. Why use changesets? - 基本知识
  2. Installation instructions
  3. 如果您正在使用 GitHub,可以考虑使用 Changeset GitHub bot —— 一个推动您向 PR 添加 changesets 的 bot。
  4. 您还应该考虑添加 Changesets GitHub action —— 这是一个让发布变得非常容易的工具。

与 Turborepo 一起使用 Changesets

一旦您开始使用 Changesets,您将获得三个有用的命令:

bash
# 添加新的changeset
changeset

# 创建新版本的软件包
changeset version

# 将所有更改的包发布到npm
changeset publish

将您的发布流链接到 Turborepo 可以使部署的组织变得更加简单和快速。

我们的建议是在根 package.json 中添加一个 publish-packages 脚本:

json
{
  "scripts": {
    // 包括构建、lint、测试——所有你需要运行的东西
    // 发布前
    "publish-packages": "turbo run build lint test && changeset version && changeset publish"
  }
}

WARNING

我们建议使用 publish-packages ,这样它就不会与 npm 的内置发布脚本发生冲突。

这意味着当您运行 publish-packages 时,您的 Monorepo 就会被构建、校验、测试和发布,并且您将从 Turborepo 的所有加速中获益。