nx
Nx (Smart, Fast, Extensible Build System)
Version: 22.x (2025) Tags: Monorepo, Build System, Angular, React, Node
References: Docs — guides, tutorials • GitHub • Enterprise Patterns Book
API Changes
This section documents recent version-specific API changes.
-
NEW: TypeScript Project References — Faster builds and type checks using modern TypeScript setup source
-
NEW: pnpm catalog support — Manage single version policy with pnpm catalogs source
-
NEW: Angular Rspack support — Fast bundler for Angular projects source
-
NEW: AI Agent integration — Code mode for better LLM context management source
-
NEW: Polyglot workspaces — Native support for Gradle, Maven, .NET alongside JS/TS projects
Best Practices
- Use domain-based folder structure — Group projects by business domain
libs/
├── auth/
│ ├── feature-login/
│ └── data-access/
├── products/
│ ├── feature-list/
│ └── ui/
└── shared/
├── ui/
└── utils/
- Use Nx generators — Scaffold consistent code across workspace
# Create new library
nx g @nx/angular:library --name=shared-data-access --directory=libs/shared/data-access
# Create new feature
nx g @nx/angular:component --name=user-profile --project=my-app
- Use affected commands — Only run tasks on changed projects
nx affected:build # Build only changed projects
nx affected:test # Test only changed projects
nx affected:lint # Lint only changed projects
-
Use shared libraries — Avoid code duplication with common utilities
-
Configure task dependencies — Define how tasks depend on each other in
project.json
{
"build": {
"dependsOn": ["^build"]
}
}
-
Use Nx Cloud — Enable distributed caching for faster CI
-
Use
nx.jsonandtsconfig.base.json— Enforce consistent settings across projects -
Use
@nx/angular:componentgenerator — Follow workspace conventions for components
More from oguzhan18/angular-ecosystem-skills
angular-tailwind
ALWAYS use when working with Angular and Tailwind CSS, Tailwind configuration, utility-first CSS, or styling Angular applications with Tailwind.
139angular-animations
>-
137rxjs
ALWAYS use when working with RxJS Observables, operators, and reactive patterns in Angular applications.
135angular-material
ALWAYS use when working with Angular Material components, CDK, or Material Design in Angular applications.
131angular-security
ALWAYS use when working with Angular Security, XSS prevention, CSRF protection, Content Security Policy, or sanitization in Angular applications.
130angular-bootstrap
ALWAYS use when working with Angular Bootstrap, ng-bootstrap, Bootstrap components in Angular, or Bootstrap 5 integration.
129