Nx
概要
Nx はモノレポ向けのビルドシステムです。計算キャッシュ(ローカル+リモート)、タスクオーケストレーション、依存関係グラフ、コードジェネレーター、影響を受けたコマンド(affected)を提供します。React、Angular、Node.js、Next.js および任意の言語で動作します。
手順
ステップ 1: ワークスペースの作成
npx create-nx-workspace@latest my-org --preset=ts
cd my-org
ステップ 2: プロジェクトの追加
nx g @nx/react:app my-app
nx g @nx/js:lib shared-utils
nx g @nx/node:app api
ステップ 3: タスクの実行
nx serve my-app
nx build api
nx test shared-utils
nx affected -t test # 変更があったものだけ
nx run-many -t build test # すべて
ステップ 4: nx.json の設定
// nx.json — ワークスペース設定
{
"targetDefaults": {
"build": { "dependsOn": ["^build"], "cache": true },
"test": { "cache": true },
"lint": { "cache": true }
}
}
ガイドライン
- Nx はタスク結果をキャッシュするため、入力が変更されていなければ 2 回目の実行は瞬時に行われます。
- CI では
nx affectedを使用して、PR で変更があったものだけをビルド・テストします。 - Nx Cloud はリモートキャッシュを提供し、チームや CI 全体でキャッシュを共有できます。
- Nx はプラグインなしでも動作します — 任意のリポジトリに
npx nx initで追加できます。