The Angular team has built a lot of new developer experiences, new best practices, and improved performances in the last few versions of Angular. As of v19, it's time to start adopting them!

Here's the set of commands you should run to completely overhaul your app and start following all of the best practices:

ng generate @angular/core:standalone
ng generate @angular/core:control-flow
ng generate @angular/core:inject
ng generate @angular/core:route-lazy-loading
ng generate @angular/core:signal-input-migration
ng generate @angular/core:signal-queries-migration
ng generate @angular/core:output-migration
ng update @angular/cli --name use-application-builder

Want to see what this looks like in a real app? Here's an example PR of the devfest.mn website.

Or more fully for default situations:

ng generate @angular/core:standalone --path=./ --mode=convert-to-standalone
ng generate @angular/core:standalone --path=./ --mode=prune-ng-modules
ng generate @angular/core:standalone --path=./ --mode=standalone-bootstrap
ng generate @angular/core:control-flow --path=./
ng generate @angular/core:inject --path=./
ng generate @angular/core:route-lazy-loading --path=./
ng generate @angular/core:signal-input-migration --path=./
ng generate @angular/core:signal-queries-migration --path=./
ng generate @angular/core:output-migration --path=./
ng update @angular/cli --name use-application-builder