# vite-plugin-ngp > A Vite plugin that compiles Angular one module at a time with ngp, Angular's Rust-and-TypeScript preprocessor. It's a prototype: ngp isn't on npm, so you build it from Angular's source, and every @angular/* package is pinned to an exact prerelease. Each link below is the page as markdown. ## Guide - [Getting started](https://push-based.github.io/vite-angular/getting-started.md): Build ngp, run the playground, then add vite-plugin-ngp to your own Angular app. - [How it works](https://push-based.github.io/vite-angular/how-it-works.md): What vite-plugin-ngp does between Vite's request for a module and the compiled Angular code it returns. - [Configuration](https://push-based.github.io/vite-angular/configuration.md): Every option vite-plugin-ngp accepts, its default, and when to change it. - [Migrating from ng build](https://push-based.github.io/vite-angular/migrating-from-ng-build.md): Where each angular.json build option goes when an app moves from ng build to vite-plugin-ngp, and which ones can't move yet. - [Server rendering](https://push-based.github.io/vite-angular/server-rendering.md): Render Angular on the server with vite-plugin-ngp, in the dev server and in builds, and prerender a static site the way this one is. ## Features - [Testing with Vitest](https://push-based.github.io/vite-angular/testing.md): Run Angular component and service specs with TestBed under Vitest, compiled AOT by vite-plugin-ngp, one spec and its imports at a time. - [Type-checking](https://push-based.github.io/vite-angular/type-checking.md): How vite-plugin-ngp checks templates and TypeScript with TypeScript 7, where the errors show up, and what it costs. - [Component styles](https://push-based.github.io/vite-angular/styles.md): How styleUrl files go through Vite's CSS pipeline, so SCSS works, styles stay encapsulated, and a style edit updates the page in place. - [Internationalization](https://push-based.github.io/vite-angular/i18n.md): Ship an Angular app in several languages with vite-plugin-ngp, using Angular's own i18n, message extraction and per-locale builds. ## Project - [Status and limits](https://push-based.github.io/vite-angular/status.md): What vite-plugin-ngp does today, what it doesn't do yet, and where it's weakest. - [Performance](https://push-based.github.io/vite-angular/performance.md): How fast vite-plugin-ngp starts, updates and builds next to ng serve, Analog and @oxc-angular/vite, and how much memory each holds, measured end to end on apps of 100 to 5,000 components. - [Benchmarks on real apps](https://push-based.github.io/vite-angular/benchmarks.md): vite-plugin-ngp against the Angular CLI on Super Productivity and against Nx on Ghostfolio, two open-source Angular apps, measured for time and memory on GitHub's runners and on a laptop. - [Building ngp](https://push-based.github.io/vite-angular/building-ngp.md): How the repo builds ngp from Angular's source, what each step does, and what to do when one fails. - [Changelog](https://push-based.github.io/vite-angular/changelog.md): What changed in vite-plugin-ngp, newest first, for anyone following the prototype.