In this lab, you will explore what Angular’s migration to standalone components looks like — comparing the v16 NgModule-based architecture with the v21 standalone equivalent provided in the starter. You will understand what ng update and ng generate @angular/core:standalone change, and manually apply the key transformations.
Why not run ng update @angular/core@21 directly?
Angular’s CLI update tool only supports updating one major version at a time. Going from v16 to v21 requires five separate runs:
Terminal window
ngupdate@angular/core@17@angular/cli@17
ngupdate@angular/core@18@angular/cli@18
ngupdate@angular/core@19@angular/cli@19
ngupdate@angular/core@20@angular/cli@20
ngupdate@angular/core@21@angular/cli@21
In a real project you would run each step, fix deprecation warnings, and test before moving on. For this lab, the migrated result is the next starter (step-15-album-wholesale-v21-post-signal-computed) — use it to study what changed.