Why Nx?

We created Nx because we saw developers struggle to configure, maintain and especially integrate various tools and frameworks efficiently bla bla bla...

What does Nx do to help you?

In its most basic capability, Nx helps to run tasks efficiently by intelligently parallelizing and caching them. This is particularly useful to speed up your CI/CD pipelines and even more if you have a monorepo.

In addition, Nx also comes with plugins bla bla bla bla...

How does Nx work?

Nx is built in a modular fashion from the ground up, allowing you to use only the features you need.

High-level Nx architecture

Let us take a look at the different parts of the architecture:

  • Nx - The very core of Nx contains the fundamental capabilities of Nx, such as workspace analysis, running tasks, caching, distribution, code generation and automated code migrations. All of this is bundled into the nx NPM package that can be installed and used in any project or monorepo to run and cache tasks.
  • Plugins - Nx plugins are NPM packages that extend Nx's capabilities by providing code generators, executors to abstract lower-level build tooling and automated code migrations for keeping your tools up to date. Plugins are technology specific, like @nrwl/react adds support for React, @nrwl/next for Next or @nrwl/cypress adds e2e testing capabilities with Cypress. There are core plugins provided by the Nx team for Angular, React, Next, Remix, Jest, Cypress, Storybook and more as well as more than 80 community plugins.
  • Devkit - The Nx Devkit provides a set of utilities to help you build your own plugins. It is also used for local workspace automation.
  • Editor Extensions - To make things more approacheable, Nx ships a dedicated Nx Console extension for VSCode, IntelliJ and VIM. Nx Console provides code autocompletion in configuration files and comes with a set of commands to help you run tasks and generate code.