2.7 KiB
Intro to Nx
Nx is a smart, fast and extensible build system with first class monorepo support and powerful integrations.
{% personas %} {% persona type="javascript" title="New Package-Based Repo" url="/getting-started/package-based-repo-tutorial" %} Create a monorepo with Yarn, NPM or PNPM. Nx makes it fast, but lets you run things your way.
{% /persona %}
{% persona type="integrated" title="New Integrated Repo" url="/getting-started/integrated-repo-tutorial" %}
Get a pre-configured setup. Nx configures your favorite frameworks and lets you focus on shipping features.
{% /persona %}
{% persona type="lerna" title="Add to an Existing Monorepo" url="/recipes/adopting-nx/adding-to-monorepo" %}
Incrementally add Nx to your repo and enjoy faster CI runs and local development. All without modifying your existing setup.
{% /persona %}
{% persona type="angular" title="Enter Modern Angular" url="/recipe/migration-angular" %} Enhance your Angular development experience by leveraging its advanced generators and integrations with modern tooling.
{% /persona %} {% /personas %}
If you know other tools in the monorepo space, here is how Nx compares:
Nx Has Two Goals
Speed up your existing workflow with minimum effort.
- Never rebuild the same code twice by caching task results.
- Only run tasks affected by the current PR.
- Distribute your task execution across multiple agents in CI.
These features can be enabled without touching your existing workflows if you use Nx with a package-based repo.
Provide a first-rate developer experience no matter the size of the repo:
- Encode common coding tasks in code generators to make them easily repeatable.
- Offload the maintenance burden of updating dependencies and configuration files to the Nrwl team.
- Enforce project boundaries based on your own organization structure.
These features and the integrated repository mindset allow large teams to collaborate in a single monorepo without getting in each other's way.