Skip to content

Phase 3: Upgrade Angular 18 to 19#14

Open
devin-ai-integration[bot] wants to merge 1 commit into
devin/1776940044-phase2-angular-17-to-18from
devin/1776940464-phase3-angular-18-to-19
Open

Phase 3: Upgrade Angular 18 to 19#14
devin-ai-integration[bot] wants to merge 1 commit into
devin/1776940044-phase2-angular-17-to-18from
devin/1776940464-phase3-angular-18-to-19

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Upgrades Angular from v18 to v19 via ng update schematics for @angular/core@19, @angular/cli@19, @angular/cdk@19, and @angular/material@19.

Dependency version bumps:

  • @angular/* packages: 18.2.x → 19.2.21
  • @angular/material / @angular/cdk: 18.2.14 → 19.2.19
  • @angular-devkit/build-angular: 18.2.21 → 19.2.24
  • typescript: 5.4.5 → 5.8.3
  • zone.js: ~0.14.10 → ~0.15.1

standalone: false added to all component/directive decorators:
Angular 19 changed the default value of standalone from false to true. The ng update schematic automatically added explicit standalone: false to all 24 component and directive declarations to preserve existing NgModule-based behavior. No functional change — this is purely a compatibility annotation.

No additional manual code changes were required. The HttpClientModuleprovideHttpClient() migration was already completed in Phase 2 (PR #13) by the Angular 18 schematic.

Production build and all 43 unit tests pass locally.

Review & Testing Checklist for Human

  • Verify zone.js 0.15 runtime behavior — zone.js had a major version bump (0.14 → 0.15). Run the app against the Spring backend and confirm that change detection, async operations, and form interactions (especially datepickers and mat-selects) still work correctly. Zone.js changes can cause subtle runtime issues that unit tests miss.
  • Spot-check standalone: false coverage — The schematic touched all components, but verify no component or directive was missed. A missing annotation would cause that component to be treated as standalone and break its NgModule.
  • Check @angular-eslint compatibility — The @angular-eslint/* packages remain at v17.5.3 (not updated in this phase). Run ng lint and confirm there are no crashes or false positives from the version mismatch with Angular 19.
  • Full regression test — Start the Spring PetClinic backend, run ng serve, and exercise all CRUD flows (owners, pets, visits, vets, specialties, pet types). Pay special attention to the vet edit form (/vets/:id/edit) which uses route resolvers converted in Phase 2.

Notes

Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/010af0d2621c4376ac0819869f987cf9


Open in Devin Review

- Run ng update schematics for @angular/core@19, @angular/cli@19, @angular/cdk@19, @angular/material@19
- Angular packages upgraded to 19.2.x, Material/CDK to 19.2.x
- Schematic added standalone: false to all component decorators (Angular 19 defaults to standalone)
- HttpClientModule migration already completed in Phase 2 (no additional changes needed)
- All 43 unit tests pass, production build succeeds
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants