# Angular's TypeScript 7-Powered Compiler Enters Beta with Rust-Based Preprocessor

> Source: <https://www.infoq.com/news/2026/11/angular-compiler-rust-typescript/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global>
> Published: 2026-11-11 07:06:00+00:00

The Angular team has [shared details](https://blog.angular.dev/an-update-on-angulars-typescript-7-powered-compiler-9619a35e2b0a) of a new version of its compiler, the Angular Preprocessor (ngp), which rewrites the analysis stage of the toolchain in Rust to clear the way for TypeScript 7 adoption. Alex Rickabaugh and Mark Techson announced the work on the Angular team blog in late September, shortly after [Microsoft shipped TypeScript 7.0](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/), whose Go-based rewrite removed the `ts.Transformer` API that Angular's ahead-of-time compiler depends on.

The existing compiler, `ngc`, wraps `tsc` and uses the Transformer API to turn decorators such as `@Component` and `@Pipe` into runtime instructions. The Go port offers no cross-language equivalent, and crossing the JS/Go boundary at every file would be prohibitive. The Angular team's answer is to decouple compilation from TypeScript's APIs and rebuild it on [Oxc](https://oxc.rs/), the VoidZero Rust toolchain already powering Vite. The team pointed to the plan [on X](https://x.com/angular/status/2103218433101811830), framing it as a partial rewrite rather than a fresh start.

`ngp` runs in three stages. A Rust frontend using Oxc analyses files in parallel to discover Angular declarations and resolve metadata. The existing TypeScript template compiler then emits two artefacts, a runtime file containing the transformed component and a `.ngtypecheck.ts` file holding the Type Check Block (TCB) for template type-checking. Finally a downstream tool, whether `tsgo`, `tsrs`, `esbuild` or Rolldown, handles type-checking and JavaScript emission independently.

The bulk of `ngp` [landed on 8 October](https://github.com/angular/angular/commit/4e4ad75144e55538cedc65f0ac3ff5b68cb34ce9) in a single commit of more than 370,000 lines, around 56,000 of them Rust. Cédric Exbrayat of Ninja Squad [benchmarked the beta](https://blog.ninja-squad.com/2026/10/27/how-much-faster-is-the-new-angular-compiler) against three projects ranging from 15 to 1,714 components and measured a 2x to 3x speedup on cold builds, with memory use on the largest project falling from 2.8 GB to 1.4 GB. Pairing ngp with `tsrs` and Rolldown gave the fastest pipeline, with `tsgo` and `esbuild` only marginally slower. They concluded there is further gains to be made:

This is already very promising, and there are certainly further gains to be made when the team focuses on performance optimization.

Christopher Holder at [push-based.io](https://push-based.io/article/vite-plugin-ngp-angular-on-vite-one-file-at-a-time) took a different tack, writing `vite-plugin-ngp` to compile Angular files on demand. On the Super Productivity codebase (252 components), the dev server reached the first page in 10.5 seconds against 17.4 for `ng serve`, with template edits applying in 112 milliseconds rather than a 2.6 second full reload. On a generated 5,000-component app the gap widened to 1.6 seconds against 28.4. Holder cautioned that the plugin "is a prototype on a prototype" pinned to `22.3.0-next.2`.

[On Reddit](https://www.reddit.com/r/angular/comments/1wph6dx/an_update_on_angulars_typescript_7powered_compiler/), a number of developers are excited about the update and write up, with one commenting:

Read the whole article. Impressive. The Angular team surpassed my expectations!

VoidZero's own [experimental Oxc Angular compiler](https://github.com/voidzero-dev/oxc-angular-compiler), [covered by InfoQ in April](https://www.infoq.com/news/2026/04/angular-compiler-rust), reported a roughly 97% improvement on narrower workloads but is now described as "actively seeking maintainers". The Angular team confirmed VoidZero's work influenced the architecture and that the two groups have been collaborating, with `ngp` becoming the official path.

Teams on earlier Angular versions should first run the standard [update guide](https://angular.dev/update-guide) to reach v20 or later. Adoption of `ngp` is expected to land in a minor release of Angular 22 once [TypeScript 7.1](https://devblogs.microsoft.com/typescript/announcing-typescript-7-1-beta/) restores the compiler API; until then production builds should stay on `ngc`.

Angular is Google's open-source, TypeScript-first web framework, widely adopted across enterprise applications and built around standalone components and signal-based reactivity.
