Repolode
nrwl

nrwl/nx

TypeScriptや複数言語のコードベース向けのモノレポビルドプラットフォーム。変更のないタスクをキャッシュし、影響を受けるタスクだけを実行してCIと連携します。

代替できる製品:Bazel

スター
29,416
フォーク
2,961
未解決の Issue
454
最終コミット
2 時間前

これは何?

Nxは、TypeScriptや複数言語のコードベース向けのモノレポビルドシステムです。変更のないタスクの出力をキャッシュし、変更の影響を受けるプロジェクトだけを実行できるほか、タスクを複数のマシンに分散できます。npx nx initを実行すれば、既存のnpm、pnpm、Yarnワークスペースに追加でき、設定を変更せずに既存のpackage.jsonスクリプトを取り込めます。

Nxはプラグインシステムを使ってタスクを検出し、使用中のツールに応じてキャッシュ対象の入力と出力を設定します。対応ツールとして、Vite、Webpack、Jest、Vitest、ESLint、Gradle、Maven、.NET、Goが挙げられています。CI連携ではGitHub Actions、GitLab、Azureなどのプロバイダーと接続し、リモートキャッシュ、影響を受けるタスクだけの実行、e2eテストの自動分割を利用できます。

コアはRustで実装されており、TypeScriptで拡張できます。CLIはAIエージェントからの利用も想定して設計されており、オプションのNx Cloudサービスを追加すると、エージェントが失敗を検出して検証済みの修正案を提示する、自己修復型CIを利用できます。

主な機能

  • 01タスクの出力をキャッシュし、変更の影響を受けるものだけを再実行します。
  • 02既存のnpm、pnpm、Yarnワークスペースの構成を変更せずに追加できます。
  • 03プラグインがVite、Webpack、Jest、ESLintなどのツールのタスクを自動検出します。
  • 04GitHub Actions、GitLab、Azureと連携し、リモートキャッシュとタスク分散を利用できます。
  • 05Gradle、Maven、.NET、Goなどを含む複数言語のプロジェクトに対応しています。
  • 06AIエージェントでの利用を想定して設計されたCLIを提供します。

ユースケース

  • 相互依存するパッケージが多数ある大規模なTypeScriptモノレポで、ビルドやテストを高速化する。
  • CIで各プルリクエストの影響を受けるテストとビルドだけを実行する。
  • Java、.NET、Goなどを含む複数言語のコードベースで、ビルドタスクを調整する。
  • 既存のnpm、pnpm、Yarnワークスペースにキャッシュと影響範囲に応じた実行を追加する。

クイックスタート

  1. 1

    既存の npm、pnpm、または yarn ワークスペースで init コマンドを実行します

    npx nx init
  2. 2

    セットアップ手順の詳細は Nx のクイックスタートドキュメントをご覧ください

使う前に知っておきたいこと

  • 詳細なセットアップ手順は README ではなく、外部のクイックスタートサイトに記載されています。

収録されている特集

トピック

よくある質問

nx とは?
TypeScriptや複数言語のコードベース向けのモノレポビルドプラットフォーム。変更のないタスクをキャッシュし、影響を受けるタスクだけを実行してCIと連携します。 Nxは、TypeScriptや複数言語のコードベース向けのモノレポビルドシステムです。変更のないタスクの出力をキャッシュし、変更の影響を受けるプロジェクトだけを実行できるほか、タスクを複数のマシンに分散できます。npx nx initを実行すれば、既存のnpm、pnpm、Yarnワークスペースに追加でき、設定を変更せずに既存のpackage.jsonスクリプトを取り込めます。
nx は無料で使えますか?ライセンスは?
nx は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
nx は今もメンテナンスされていますか?
活発にメンテナンス中。nx の最終コミットは 2026年10月22日 です。
nx は何に使えますか?
相互依存するパッケージが多数ある大規模なTypeScriptモノレポで、ビルドやテストを高速化する。 CIで各プルリクエストの影響を受けるテストとビルドだけを実行する。 Java、.NET、Goなどを含む複数言語のコードベースで、ビルドタスクを調整する。 既存のnpm、pnpm、Yarnワークスペースにキャッシュと影響範囲に応じた実行を追加する。
nx のインストール方法は?
既存の npm、pnpm、または yarn ワークスペースで init コマンドを実行します: npx nx init セットアップ手順の詳細は Nx のクイックスタートドキュメントをご覧ください
nx はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/nrwl/nx

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト