モノレポにおける Turborepo
問題点
モノレポには多くの利点がありますが、**スケーリングに苦労します**。 各ワークスペースには、独自のテストスイート、独自のリンティング、独自のビルドプロセスがあります。 1つのモノレポに**数百のタスクを実行する必要がある**場合があります。
解決策
**Turborepoは、モノレポのスケーリング問題を解決します**。 リモートキャッシュはすべてのタスクの結果を保存するため、**CIは同じ作業を2回行う必要がありません**。
モノレポでは、タスクのスケジューリングが難しい場合があります。 すべてのワークスペースで、`yarn build` を `yarn test` の前に実行する必要があると想像してみてください。 Turborepoは、利用可能なすべてのコアで**タスクを最大速度でスケジュール**できます。
Turborepoは**段階的に導入**できます。 既に記述した `package.json` スクリプト、既に宣言した依存関係、および1つの `turbo.json` ファイルを使用します。 `npm`、`yarn`、`pnpm` などの**任意のパッケージマネージャーで使用**できます。数分で任意のモノレポに追加できます。
Turborepoではないもの
Turborepoは**パッケージのインストールを処理しません**。 `npm`、`pnpm`、`yarn` などのツールはすでに素晴らしい仕事をしています。 ただし、タスクの実行効率が悪いため、CIビルドが遅くなります。
**Turborepoでタスクを実行**し、お気に入りのパッケージマネージャーでパッケージをインストールすることをお勧めします。
(リモートキャッシュとタスク実行へのリンク)