Migrations

Migrations

Learn about how you can migrate your existing angular project to the latest features incrementally.

Standalone

Standalone components provide a simplified way to build Angular applications. Standalone components specify their dependencies directly instead of getting them through NgModules.

Migrate now

Control Flow Syntax

Built-in Control Flow Syntax allows you to use more ergonomic syntax which is close to JavaScript and has better type checking. It replaces the need to import CommonModule to use functionality like *ngFor, *ngIf and *ngSwitch.

Migrate now

inject() Function

Angular's inject function offers more accurate types and better compatibility with standard decorators, compared to constructor-based injection.

Migrate now

Lazy-loaded routes

Convert eagerly loaded component routes to lazy loaded ones. This allows the build process to split production bundles into smaller chunks, to load less JavaScript at initial page load.

Migrate now

New `input()` API

Convert existing @Input fields to the new signal input API that is now production ready.

Migrate now

New `output()` function

Convert existing @Output custom events to the new output function that is now production ready.

Migrate now

Queries as signal

Convert existing decorator query fields to the improved signal queries API. The API is now production ready.

Migrate now

Cleanup unused imports

Clean up unused imports in your project.

Try it now

Self-closing tags

Convert component templates to use self-closing tags where possible.

Migrate now

NgClass to Class Bindings

Convert component templates to prefer class bindings over the NgClassdirectives when possible.

Migrate now