Turborepo のバージョンを 1.x から 2.x へアップデートする
パーティーハード株式会社でフロントエンドエンジニアをしているほたと申します。
弊社では Web アプリケーションの開発に Turborepo を利用しています。今回は turbo を先月(2024/06)にリリースされたバージョン 2.0 へアップデートする方法を見ていきたいと思います。
2.0 では破壊的変更がいくつかあるので公式情報も忘れずに確認しておきましょう。
最新の turbo をインストール
まずはお使いのパッケージマネージャーで最新の turbo をインストールします。
# npm
npm install turbo@latest --save-dev
# yarn
yarn add turbo@latest --save-dev
# pnpm
pnpm add turbo@latest --save-dev -w
公式のアップグレーディングガイド通りに進める
次に公式が公開しているアップグレーディングガイドの手順に従い操作を行います。
turbo.json
の更新
1. @turbo/codemod
パッケージを利用して turbo.json
をバージョン 2.0 に対応したフォーマットに変換します。
# npm
npx @turbo/codemod migrate
# yarn
yarn dlx @turbo/codemod migrate
# pnpm
pnpm dlx @turbo/codemod migrate
事前にコミットしていないファイルがあると下記のようなメッセージが表示されるので忘れずにコミットしておきましょう。
Thank you for using @turbo/codemod!
But before we continue, please stash or commit your git changes.
You may use the --force flag to override this safety check.
packageManager
フィールドを package.json
へ設定
2. Turborepo 2.0 ではプロジェクトルートの package.json
でプロジェクトで利用するパッケージマネージャーの種類とバージョンを指定する packageManager
フィールドの設定が必須になっています。
私達のプロジェクトでは pnpm の 9.6.0
を利用しているため以下のように設定しました。
{
...
"packageManager": "pnpm@9.6.0"
...
}
turbo run
コマンドの更新
3. Turborepo 2.0 では turbo run
コマンドの動作が改善・変更されているようです。私達のプロジェクトでは特に更新作業は必要ありませんでしたがケースによっては必要になるそうなので公式ガイドを確認しておきましょう。
最後に
今回は Turborepo を 2.0 へアップデートする手順を紹介しました。2.0 では新しいターミナル UI やタスクのウォッチモードなどが実装されているので公式ドキュメントを確認しておきましょう。
快適な Turborepo ライフを!
Discussion