Conversation
…d flat ESLint config
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
OS-jacobbell
approved these changes
Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-toolkitto ^12.3.0) and runs the app zoneless, which is the Angular 21+ default. Zone.js is removed frompackage.json,src/zone-flags.tsis deleted, and thezone.jsimport is dropped fromsrc/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.jsonto a flateslint.config.jsbuilt onangular-eslint+typescript-eslint. Specs addprovideZonelessChangeDetection()so tests run under the same change-detection model as the app.Does this introduce a breaking change?
Other information
@ionic/angularis pinned to an unreleased dev snapshot instead of^8.0.0. That needs to go back to a stable release before this mergesNote 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.