The Angular team has unveiled a new compiler that cuts cold build times by two to three times while slashing memory consumption in half on large projects, according to a report published on InfoQ in early November. The Angular Preprocessor, or ngp, rewrites the analysis stage of Angular's toolchain in Rust to pave the way for TypeScript 7 adoption after Microsoft's Go-based rewrite of TypeScript eliminated a critical API Angular's compiler relied on. The shift represents a partial reconstruction of Angular's compilation pipeline rather than a complete overhaul, with the team building on Oxc, the VoidZero Rust toolchain that already powers Vite.

Benchmarking by Cédric Exbrayat of Ninja Squad measured the beta compiler against three projects spanning 15 to 1,714 components and found cold build speeds doubled or tripled across the board. Memory usage on the largest project dropped from 2.8 gigabytes to 1.4 gigabytes. Christopher Holder at push-based.io tested a different approach on the Super Productivity codebase containing 252 components, where the development server delivered the first page in 10.5 seconds compared to 17.4 for ng serve, and template edits applied in 112 milliseconds instead of a 2.6 second full reload. On a generated application with 5,000 components, the gap expanded to 1.6 seconds versus 28.4 seconds. The largest commit for ngp, which landed on October 8, added more than 370,000 lines, with roughly 56,000 of them written in Rust.

Alex Rickabaugh and Mark Techson announced the work on the Angular team blog in late September, shortly after Microsoft shipped TypeScript 7.0. The existing compiler, ngc, wraps tsc and relies on the Transformer API to convert decorators such as @Component and @Pipe into runtime instructions, but the Go port offers no cross-language equivalent and crossing the JavaScript/Go boundary at every file would be prohibitively slow. Exbrayat concluded "there are certainly further gains to be made when the team focuses on performance optimization," while Holder warned that his plugin "is a prototype on a prototype" pinned to version 22.3.0-next.2.

The compiler operates in three stages to decouple compilation from TypeScript's APIs. A Rust frontend using Oxc analyses files in parallel to discover Angular declarations and resolve metadata, then the existing TypeScript template compiler emits a runtime file containing the transformed component and a .ngtypecheck.ts file holding the Type Check Block for template type-checking, and finally a downstream tool such as tsgo, tsrs, esbuild, or Rolldown handles type-checking and JavaScript emission independently. VoidZero's own experimental Oxc Angular compiler, which InfoQ covered in April and reported a roughly 97 percent improvement on narrower workloads, is now described as "actively seeking maintainers," with the Angular team confirming VoidZero's work influenced the architecture and that the two groups have been collaborating. Teams on earlier Angular versions should first run the standard update guide to reach version 20 or later, and adoption of ngp is expected to land in a minor release of Angular 22 once TypeScript 7.1 restores the compiler API, though until then production builds should stay on ngc. The shift to Rust positions Angular to keep pace with the broader JavaScript tooling ecosystem's move toward native performance, while the modular architecture gives developers flexibility to mix and match type-checkers and bundlers as the landscape evolves.