3.5 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 %}
{% /personas %}
{% cards cols="3" %}
{% persona type="react" title="Create a Standalone React app" url="/getting-started/react-standalone-tutorial" %}
A modern React setup with built-in support for Vite, ESLint, Cypress and more. Think CRA but modern, always up-to-date and scalable.
{% /persona %}
{% persona type="angular" title="Create a Standalone Angular app" url="/getting-started/angular-standalone-tutorial" %}
A modern Angular development experience powered by advanced generators and integrations with modern tooling.
{% /persona %}
{% persona type="node" title="Create a Standalone Node server" url="/getting-started/node-server-tutorial" %}
A modern Node server with scaffolding for Express, Fastify or Koa. There's also Docker support built-in.
{% /persona %}
{% /cards %}
Adopting Nx
Coming from an existing project and want to adopt Nx? We have a few recipes to help you get started.
{% cards cols="2" %}
{% card title="Add to Existing Monorepo" description="Add Nx to your existing NPM/YARN/PNPM workspace" type="documentation" url="/recipes/adopting-nx/adding-to-monorepo" /%}
{% card title="Add to any Project" description="Add Nx to an standalone project" type="documentation" url="/recipes/adopting-nx/adding-to-existing-project" /%}
{% card title="Migrate from CRA" description="Migrate from a CRA setup and automatically switch to Vite" type="documentation" url="/recipes/adopting-nx/migration-cra" /%}
{% card title="Migrate from Angular CLI" description="Automatically migrate from the Angular CLI" type="documentation" url="/recipes/adopting-nx/migration-angular" /%}
{% /cards %}
Why Nx?
Nx has two main goals:
- Speed up your existing workflow with minimum effort.
- Provide a first-rate developer experience no matter the size of the repo.
It achieves that speed via computation caching, by only run tasks affected by a given change and by being able to distribute your task execution across multiple agents in CI.
High quality DX is implemented via code generators, IDE extensions and by helping you keep your codebase evergreen.
How does Nx compare to other tools?
If you know other tools in the monorepo space, here is how Nx compares: