單一儲存庫中的套件版本化和發布
在單一儲存庫中手動進行套件版本化和發布會非常累人。幸運的是,有一個工具可以簡化這項工作,那就是 Changesets(在新分頁中開啟) CLI。
我們推薦 Changesets,因為它使用直觀,而且與 Turborepo 一樣,適用於你已經習慣的單一儲存庫工具。
一些替代方案是
- intuit/auto(在新分頁中開啟) - 根據拉取請求中的語意版本標籤產生版本
- microsoft/beachball(在新分頁中開啟) - 最陽光的語意版本緩衝器
了解 Changesets
我們建議查看 Changesets 文件。以下是我們推薦的閱讀順序
- 為什麼使用 Changesets?(在新分頁中開啟) - 一篇介紹,帶你了解基礎知識。
- 安裝說明(在新分頁中開啟)
- 如果你使用 GitHub,請考慮使用 Changeset GitHub 機器人(在新分頁中開啟) - 一個機器人,提醒你在公關中新增 Changesets。
- 你還應該考慮新增 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 的所有加速功能。