Skip to content

feat: add Angular 22 support - #3741

Open
EthanSK wants to merge 1 commit into
angular:mainfrom
EthanSK:codex/angular-22-support
Open

feat: add Angular 22 support#3741
EthanSK wants to merge 1 commit into
angular:mainfrom
EthanSK:codex/angular-22-support

Conversation

@EthanSK

@EthanSK EthanSK commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • update AngularFire package and peer dependencies to Angular 22, TypeScript 6, Zone.js 0.16, and the Node versions supported by Angular 22
  • replace the removed ComponentFactoryResolver dependency in modular and compat Analytics screen tracking with reflectComponentType
  • migrate the TypeScript, Angular ESLint, Zone.js, and CommonJS schematics setup required by the Angular 22 toolchain
  • add a focused lazy-route screen-tracking regression test with isolated router location state

Fixes #3696

Compatibility notes

  • removing ComponentFactoryResolver changes the constructor signature of both ScreenTrackingService implementations and the internal ɵscreenViewEvent signature; Angular DI consumers are unaffected, while callers that construct these classes directly must remove that argument
  • src/schematics/package.json is intentional: the distributed package is ESM, while the schematics are compiled as CommonJS and need the nested package marker to load through ng add and ng update
  • routed values without Angular component metadata are ignored instead of terminating the long-lived Analytics subscription

Verification

  • npm ci
  • npm run lint
  • npm run build
  • npm run build:jasmine && npm run test:node-esm (119 specs)
  • focused ChromeHeadless lazy-route screen-tracking spec (1 spec)
  • installed the packed 22.0.0-rc.0 tarball in a fresh strict Angular 22 consumer and completed a production build using provideAnalytics, ScreenTrackingService, and UserTrackingService

The full emulator-backed browser matrix is left to this repository's GitHub Actions run because a shared Firebase Storage emulator is already active locally.

@EthanSK

EthanSK commented Aug 11, 2026

Copy link
Copy Markdown
Contributor Author

The change is ready and locally validated, but the Test and publish workflow is currently marked action_required before any jobs start because this fork needs maintainer approval to run Actions. Could a maintainer approve the workflow run when convenient? Thank you.

@armando-navarro armando-navarro added bump: major comp: analytics Google Analytics (src/analytics). comp: build/pipeline Build, bundling, packaging, release pipeline. type: feature New capability or enhancement. labels Aug 11, 2026
@EthanSK
EthanSK force-pushed the codex/angular-22-support branch from ab97b8f to cb924f9 Compare August 13, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump: major comp: analytics Google Analytics (src/analytics). comp: build/pipeline Build, bundling, packaging, release pipeline. type: feature New capability or enhancement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade to Angular 22

2 participants