{"slug": "angular-s-typescript-7-powered-compiler-enters-beta-with-rust-based-preprocessor", "title": "Angular's TypeScript 7-Powered Compiler Enters Beta with Rust-Based Preprocessor", "summary": "The Angular team released a beta of the Angular Preprocessor (ngp), a Rust-based rewrite of the compiler's analysis stage built on VoidZero's Oxc toolchain, to replace the `ts.Transformer` API that Microsoft's Go-based TypeScript 7.0 removed. The bulk of ngp landed on 8 October in a single commit of more than 370,000 lines, around 56,000 of them Rust, and Ninja Squad's Cédric Exbrayat benchmarked the beta across three projects of 15 to 1,714 components, measuring a 2x to 3x speedup on cold builds and memory use on the largest project falling from 2.8 GB to 1.4 GB. Christopher Holder's prototype `vite-plugin-ngp`, pinned to `22.3.0-next.2`, cut first-page dev-server time on the 252-component Super Productivity codebase to 10.5 seconds from 17.4 for `ng serve`, and to 1.6 seconds from 28.4 on a generated 5,000-component app.", "body_md": "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.\n\nThe 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.\n\n`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.\n\nThe 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:\n\nThis is already very promising, and there are certainly further gains to be made when the team focuses on performance optimization.\n\nChristopher 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`.\n\n[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:\n\nRead the whole article. Impressive. The Angular team surpassed my expectations!\n\nVoidZero'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.\n\nTeams 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`.\n\nAngular is Google's open-source, TypeScript-first web framework, widely adopted across enterprise applications and built around standalone components and signal-based reactivity.", "url": "https://wpnews.pro/news/angular-s-typescript-7-powered-compiler-enters-beta-with-rust-based-preprocessor", "canonical_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_at": "2026-11-11 07:06:00+00:00", "updated_at": "2026-11-11 07:21:17.928282+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Angular", "TypeScript 7.0", "Microsoft", "Oxc", "VoidZero", "Alex Rickabaugh", "Mark Techson", "Cédric Exbrayat"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/angular-s-typescript-7-powered-compiler-enters-beta-with-rust-based-preprocessor", "markdown": "https://wpnews.pro/news/angular-s-typescript-7-powered-compiler-enters-beta-with-rust-based-preprocessor.md", "text": "https://wpnews.pro/news/angular-s-typescript-7-powered-compiler-enters-beta-with-rust-based-preprocessor.txt", "jsonld": "https://wpnews.pro/news/angular-s-typescript-7-powered-compiler-enters-beta-with-rust-based-preprocessor.jsonld"}}