儲存庫
文件
版本控制和發布

單一儲存庫中的套件版本化和發布

在單一儲存庫中手動進行套件版本化和發布會非常累人。幸運的是,有一個工具可以簡化這項工作,那就是 Changesets(在新分頁中開啟) CLI。

我們推薦 Changesets,因為它使用直觀,而且與 Turborepo 一樣,適用於你已經習慣的單一儲存庫工具。

一些替代方案是

了解 Changesets

我們建議查看 Changesets 文件。以下是我們推薦的閱讀順序

  1. 為什麼使用 Changesets?(在新分頁中開啟) - 一篇介紹,帶你了解基礎知識。
  2. 安裝說明(在新分頁中開啟)
  3. 如果你使用 GitHub,請考慮使用 Changeset GitHub 機器人(在新分頁中開啟) - 一個機器人,提醒你在公關中新增 Changesets。
  4. 你還應該考慮新增 Changesets GitHub 動作(在新分頁中開啟) - 一個讓發布變得非常容易的工具。

將 Changesets 與 Turborepo 搭配使用

一旦你開始使用 Changesets,你將可以使用三個有用的指令

# Add a new changeset
changeset
 
# Create new versions of packages
changeset version
 
# Publish all changed packages to npm
changeset publish

將你的發布流程連結到 Turborepo 可以讓組織你的部署變得更簡單、更快速。

我們的建議是將 publish-packages 指令碼新增到根目錄 package.json

{
  "scripts": {
    // Include build, lint, test - all the things you need to run
    // before publishing
    "publish-packages": "turbo run build lint test && changeset version && changeset publish"
  }
}

我們建議使用 publish-packages,這樣就不會與 npm 內建的 publish 指令碼產生衝突。

這表示當您執行 publish-packages 時,您的單一儲存庫會進行建置、程式碼檢查、測試和發布,而且您將受益於 Turborepo 的所有加速功能。