Intro to Nx
Nx is a smart, fast and extensible build system with first class monorepo support and powerful integrations.
Nx helps you develop React applications with fully integrated support for modern tools and libraries like Jest, Cypress, Storybook, ESLint, and more. Nx also supports React frameworks like Gatsby and Next.js.
10-Minute Nx Overview
Philosophy
Nx is built on a technology-agnostic core that maintains modular units of code and understands the dependency graph between them. Developers comprehend that your app contains two pages that each use a shared button component. Nx uses this same knowledge to provide insights and performance improvements. There's a whole ecosystem of plugins that build on this foundation.
Nx becomes more valuable as you scale, solving problems that are frustrating for small teams, but paralyzing for large teams.
Nx works especially well for monorepos. Each new app added to a monorepo provides more opportunities to share code and tooling but that often comes at the cost of a compounding slowdown in the CI pipeline. Nx ensures that adding another app to the repo does not increase the existing app’s test or build time.
Nx Core and Nx Plugins
Nx shares the design philosophy with Visual Studio Code. Code is a powerful text editor, and you can be very productive with it even if you don't install any extensions. The ecosystem of VSCode's extensions though is what can really level up your productivity. Nx is similar. The core of Nx is generic, simple, and unobtrusive. Nx plugins, although very useful for many projects, are completely optional.
Most examples on this site use Nx plugins. It's just easier to demonstrate many features Nx offers when Nx generates all the boilerplate. The vast majority of the features though will work the same way in a workspace with no plugins.
Check out Using Nx Core Without Plugins to see where Nx Core ends and Nx Plugins begin. Check out Nx and Typescript to see how to build TypeScript packages with Nx.
Features
Best-in-Class Support for Monorepos
- Smart rebuilds of affected projects
- Distributed task execution & computation caching
- Code sharing and ownership management
Integrated Development Experience
Supports Your Ecosystem
- Rich plugin ecosystem from Nrwl and the community
- Consistent dev experience for any framework
- Automatic upgrade to the latest versions of all frameworks and tools