No upgrade performed, per mission ('do NOT upgrade automatically').
Verdict: safe, ~2-3.5 days effort. Repo is actually already on Angular
21.1.5 (not 18 as docs implied) — one major behind, not several.
Key findings:
- 2 concrete blockers before any upgrade attempt: barry-cache@^0.1.0
no longer resolves (ETARGET, root cause of the primeng-removal
blocker already tracked in KNOWN-ISSUES item 12), and this dev
environment's Node (v22.16.0) doesn't satisfy Angular 22 CLI's
requirement (^22.22.3 | ^24.15.0 | >=26.0.0).
- Zero usage of any Angular 22-removed API (ComponentFactoryResolver,
provideRoutes, CanMatchFn) found in src/app/**.
- One real behavioral risk: route param inheritance default changes
emptyOnly -> always; app has no explicit override, needs a manual
route-by-route audit, not just a green build.
- App's existing standalone/signals/OnPush posture (190/191 OnPush)
means most of the v22 migration cost is already paid.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>