モノレポでのパッケージのバージョン管理と公開
モノレポでパッケージのバージョン管理と公開を手動で行うのは非常に面倒です。幸いなことに、作業を簡単にするツールがあります - Changesets (新しいタブで開きます) CLIです。
Changesets は直感的に使用でき、Turborepo と同様に、すでに使用しているモノレポツールと適合するため、お勧めです。
代替手段としては、
- intuit/auto (新しいタブで開きます) - プルリクエストのセマンティックバージョンラベルに基づいてリリースを生成します
- microsoft/beachball (新しいタブで開きます) - 最も明るいセマンティックバージョンバンパー
変更セットについて
Changesets のドキュメントを参照することをお勧めします。おすすめの読書順序は次のとおりです
- なぜ changesets を使うのか? (新しいタブで開きます) - 基礎を学ぶための入門書です。
- インストール手順 (新しいタブで開きます)
- GitHub を使用している場合は、Changeset GitHub ボット (新しいタブで開きます) - PR に変更セットを追加するように促すボット - の使用を検討してください。
- Changesets GitHub アクション (新しいタブで開きます) - 公開を非常に簡単にするツール - の追加も検討してください。
Turborepoでの変更セットの使用方法
Changesets の使用を開始すると、3 つの便利なコマンドが使用できるようになります
# Add a new changeset
changeset
# Create new versions of packages
changeset version
# Publish all changed packages to npm
changeset publish
公開フローを Turborepo にリンクすると、デプロイの整理がはるかに簡単かつ迅速になります。
ルートの package.json
に publish-packages
スクリプトを追加することをお勧めします
{
"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"
}
}
npm の組み込み publish
スクリプトと競合しないように、publish-packages
をお勧めします。
これは、publish-packages
を実行すると、モノレポがビルド、リント、テスト、公開され、Turborepo のすべての高速化のメリットが得られることを意味します。