Turborepoとは?
たーぼりぽ
Turborepoとは、JavaScriptやTypeScriptのモノレポ(単一リポジトリで複数パッケージを管理する構成)のビルドとタスク実行を高速化するためのビルドシステムツールのことです。
Turborepo(ターボレポ)はVercelが開発・提供するモノレポ向けの高性能ビルドシステムです。複数のパッケージやアプリケーションを単一のリポジトリで管理するモノレポ構成において、ビルド・テスト・リントなどのタスクを効率的に実行することを主目的としています。
Turborepoの最大の強みはインテリジェントなキャッシュ機能です。一度実行したタスクの結果をキャッシュし、入力(ソースコード・設定ファイル)に変更がない場合はキャッシュされた結果を即座に返すことで、再実行の時間を大幅に削減します。このキャッシュはローカルだけでなくリモートキャッシュ(Vercel提供)にも対応しており、チームメンバー間でキャッシュを共有できます。
主な機能と特徴は以下の通りです。
- タスクの並列実行:依存関係グラフを解析し、独立したタスクを並列で実行
- インクリメンタルビルド:変更のあったパッケージのみを再ビルド
- リモートキャッシュ:CI/CDパイプラインでもキャッシュを活用可能
- パイプライン設定:turbo.jsonでタスク間の依存関係を宣言的に定義
Next.jsなどのプロジェクトを複数管理するモノレポで特に効果を発揮し、npmやpnpm、Yarnのワークスペース機能と組み合わせて使われることが多いです。設定が比較的シンプルで既存のプロジェクトへの導入ハードルが低い点も評価されています。
使い方・例文
複数のNext.jsアプリと共有UIコンポーネントライブラリをひとつのリポジトリで管理している開発チームがTurborepoを導入したところ、CIのビルド時間がリモートキャッシュの活用により大幅に短縮された。
この用語をシェア
最終更新: