Skip to content
Latchkey

Nx対Turborepo:CIにはどちらのmonorepoツールか?

Nxはジェネレータとプラグインを備えた本格的なmonorepoプラットフォームです。Turborepoはキャッシングに焦点を当てたスリムなタスクランナーです。

Nxはタスクのオーケストレーション、計算のキャッシング、影響グラフの検出、コードジェネレータ、そして多くのスタック向けのプラグインを提供します。Turborepo(Vercel製)は、高速でコンテンツを認識するタスクキャッシングとリモートcacheを中心とした、より軽量なタスクランナーです。

NxTurborepo
範囲本格的なmonorepoプラットフォームタスクランナー + キャッシング
タスク / buildのキャッシング強力(local + remote)強力(local + remote)
影響検出あり(プロジェクトグラフ)あり(フィルタ)
ジェネレータ / プラグイン広範最小限
学習曲線高い低い

CIにおいて

どちらもタスク出力をcacheし、変更によって影響を受けるものだけを実行することでCI時間を削減します。CI job間で共有されるリモートcacheがあれば、繰り返しの作業はほぼ消えます。Nxは、プロジェクトグラフ、ジェネレータ、プラグイン、より豊富なタスクオーケストレーションと、より多くを標準で提供します - 学ぶべき概念が多くなる代償を伴います。Turborepoは、主に高速なキャッシングと影響を受けたものだけの実行を望む場合、よりシンプルで素早く導入できます。

pipelineのための選択

ジェネレータ、プラグイン、深いオーケストレーションを備えた包括的なプラットフォームを望むなら:Nx。最小限のセットアップで軽量かつ高速なタスクキャッシングを望むなら:Turborepo。どちらでもリモートcacheを設定すると、CIで最大の高速化が得られます。

結論

ジェネレータと豊富なオーケストレーションを備えた本格的なmonorepoプラットフォームを望むなら:Nx。スリムで高速なキャッシングのタスクランナーを望むなら:Turborepo。どちらもリモートcacheで輝きます - どれだけのプラットフォームが欲しいかで選びましょう。

関連ガイド