Nx 22.3 is here with Angular 21 support, experimental tsgo compiler integration, and long-awaited Prettier v3 compatibility. This release aligns Nx with Angular's latest defaults while continuing to improve the developer experience across the board.
Let's dive into what's new.
Angular 21 Support

The headline feature of Nx 22.3 is support for Angular 21. This isn't just about version compatibility. Nx is still the best way to build Angular applications. Our project structure allows you to break your applications down into smaller, modular pieces to improve your architecture and speed up development and testing. We continue to offer world-class support for the latest in modern testing tooling for Angular, and we help your application scale with fast-running bundlers like rspack. And our caching, task orchestration, and self-healing CI provide the fastest Time to Green for your devs so they can stay focused on delivering features instead of fixing CI failures.
esbuild is Now the Default Bundler
Angular 21 makes esbuild the default bundler. New Angular applications generated with Nx will use esbuild by default, giving you faster builds without any configuration. However, we still provide robust support for webpack and rspack builds.
Zoneless is Now the Default
Angular's push toward a signals-based reactive model reaches a milestone in v21: zoneless is now the default for new applications. This means new projects skip Zone.js entirely, relying on Angular's signals and the new change detection model.
For existing applications, this is opt-in. If you're curious about going zoneless, Angular's migration guide covers the process. New Nx workspaces will generate zoneless Angular apps by default.
Vitest is Now the Default Test Runner
Perhaps the most significant shift: Angular 21 embraces Vitest as the recommended test runner.
When you generate a new Angular application or library with Nx, you'll be prompted to choose your Vitest setup:
- Built-in support (
vitest-angular) — Uses Angular's native Vitest integration via@angular/build:unit-test - Analog support (
vitest-analog) — Leverages the Analog framework's Vitest setup, which has been the Vitest solution for Nx previously
Both options are fully supported. If you're not aware of the difference between the two, the Analog team has put together a comparison chart.
See the @nx/angular:application and @nx/angular:library generator docs for the unitTestRunner option to learn more about configuring vitest support in Angular.
Experimental tsgo Compiler Support
Nx 22.3 adds experimental support for tsgo, the TypeScript compiler rewritten in Go. When enabled, Nx can use tsgo for inferring build and typecheck tasks, offering dramatic speed improvements for type checking in large workspaces.
This is still experimental, as tsgo itself is in active development. We'll have more documentation on this as tsgo matures. For now, this is for early adopters who want to experiment with the future of TypeScript tooling. Make sure you take a look at what works so far in tsgo before experimenting.
You can opt into this support by adding the @typescript/native-preview package to your project, and adding compiler: "tsgo" to your @nx/js/typescript plugin config:
1
2{
3 ...
4 "plugins": [
5 {
6 "plugin": "@nx/js/typescript",
7 "options": {
8 "compiler": "tsgo",
9 ...
10 }
11 },
12 ...
13}
14Prettier v3 Support
If you've been waiting for Prettier v3 support, the wait is over. This release resolves compatibility issues that have been open since mid-2023, ensuring Nx generators and formatting work correctly with Prettier v3.
No configuration changes are needed. If you're already on Prettier v3, things should just work now. If you want to opt in to Prettier v3, you can manually upgrade the package for your workspace.
Migrating to Nx 22.3
As always, updating to the latest version of Nx is straightforward:
1nx migrate latest
2This command analyzes your workspace and creates a migration file with all necessary updates. Review the changes, then apply them:
1nx migrate --run-migrations
2For a more visual migration experience, use the Migrate UI in Nx Console, which lets you review and approve each migration individually.
Learn more about the migration process
The nitty-gritty
As always, there are many more improvements and fixes we couldn't cover in detail. See our full release notes on GitHub for all the details.
Keep an eye on our socials and subscribe to our YouTube channel for what's coming next.





