Skip to content

feat(angular): update to Angular 22 with zoneless change detection and flat ESLint config#1848

Open
ShaneK wants to merge 4 commits into
mainfrom
FW-7567
Open

feat(angular): update to Angular 22 with zoneless change detection and flat ESLint config#1848
ShaneK wants to merge 4 commits into
mainfrom
FW-7567

Conversation

@ShaneK

@ShaneK ShaneK commented Jun 29, 2026

Copy link
Copy Markdown
Member

resolves: internal

What is the current behavior?

The app targets Angular 20 and boots with Zone.js, relying on Zone-based updating

What is the new behavior?

Upgrades the Angular toolchain from 20 to 22 (and TypeScript 5.8 to 6.0, @ionic/angular-toolkit to ^12.3.0) and runs the app zoneless, which is the Angular 21+ default. Zone.js is removed from package.json, src/zone-flags.ts is deleted, and the zone.js import is dropped from src/polyfills.ts.

To work without Zone, component state that changes outside template/synchronous-lifecycle context is converted to signals and read as loggedIn(), tracks(), session(), etc. in the templates.

ESLint is migrated from .eslintrc.json to a flat eslint.config.js built on angular-eslint + typescript-eslint. Specs add provideZonelessChangeDetection() so tests run under the same change-detection model as the app.

Does this introduce a breaking change?

  • Yes
  • No

Other information

@ionic/angular is pinned to an unreleased dev snapshot instead of ^8.0.0. That needs to go back to a stable release before this merges

Note that as part of this, we had to update the node version to 24, and as part of that we had to change the branch protections to be the node 24 test so they could pass for this PR. This, however, means every branch PR without these changes will not be able to pass until this is merged and those are updated.

@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ionic-conference-app Ready Ready Preview, Comment Jun 29, 2026 1:52pm

Request 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.

2 participants