Update to Angular 22#495
Merged
GoodDayForSurf merged 40 commits intoJun 12, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the monorepo’s Angular package set to Angular 22 and migrates a large portion of the Angular app code to newer Angular patterns (signals/models and built-in control flow), while also refreshing dependencies across Vue/React/testing packages.
Changes:
- Bump Angular toolchain and core packages to
^22.0.0viapnpmcatalogs; update Angular build/serve/test builders to the newer@angular/build:*targets. - Migrate Angular components/templates from
*ngIf/*ngFor/ngSwitchto@if/@for/@switch, and refactor component state tosignal()/model()/computed(). - Update various workspace dependencies (Vue/React/testing/data packages) to newer versions.
Reviewed changes
Copilot reviewed 54 out of 55 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-workspace.yaml | Updates Angular 22 catalog entries and workspace overrides. |
| package.json | Refreshes root tooling/dev dependency versions. |
| packages/vue/package.json | Updates Vue app dependencies/devDependencies. |
| packages/react/package.json | Updates React app dependencies/devDependencies. |
| packages/testing/package.json | Updates test tooling dependencies. |
| packages/dx-template-gallery-data/package.json | Updates shared data package dependencies (e.g., axios/luxon). |
| packages/angular/package.json | Updates Angular package deps/devDeps (incl. devextreme-angular and lint deps). |
| packages/angular/tsconfig.json | Adjusts TS compiler options for the Angular package. |
| packages/angular/angular.json | Switches Angular builders to @angular/build:* and updates build options format. |
| packages/angular/karma.conf.js | Updates Karma config (notably plugin list). |
| packages/angular/src/main.ts | Updates Angular bootstrap providers (zone + HttpClient providers). |
| packages/angular/src/app/pages/user-profile/user-profile.component.ts | Refactors page state to signals/models and updates related logic. |
| packages/angular/src/app/pages/user-profile/user-profile.component.html | Updates bindings for signals and adopts @if syntax. |
| packages/angular/src/app/pages/planning-task-list/planning-task-list.component.html | Migrates conditional rendering/switching to @if/@switch. |
| packages/angular/src/app/pages/planning-task-details/planning-task-details.component.ts | Refactors task state to signals/computed. |
| packages/angular/src/app/pages/planning-task-details/planning-task-details.component.html | Updates bindings to signal-call syntax. |
| packages/angular/src/app/pages/planning-scheduler/planning-scheduler.component.html | Migrates tooltip conditional rendering to @if. |
| packages/angular/src/app/pages/crm-contact-list/crm-contact-list.component.ts | Makes grid dimension update safer with optional chaining. |
| packages/angular/src/app/pages/crm-contact-details/crm-contact-details.component.ts | Refactors contact details state to signals and simplifies forkJoin usage. |
| packages/angular/src/app/pages/crm-contact-details/crm-contact-details.component.html | Updates bindings to signal-call syntax. |
| packages/angular/src/app/pages/analytics-sales-analysis/analytics-sales-analysis.component.ts | Refactors analytics state to signals/models and modernizes data loading. |
| packages/angular/src/app/pages/analytics-sales-analysis/analytics-sales-analysis.component.html | Updates bindings to signal-call syntax. |
| packages/angular/src/app/pages/analytics-geography/analytics-geography.component.ts | Refactors analytics geography state to signals and simplifies lifecycle. |
| packages/angular/src/app/pages/analytics-geography/analytics-geography.component.html | Updates bindings to signal-call syntax. |
| packages/angular/src/app/pages/analytics-dashboard/analytics-dashboard.component.ts | Refactors dashboard state to signals and changes layout computation. |
| packages/angular/src/app/pages/analytics-dashboard/analytics-dashboard.component.html | Updates bindings and uses usesSplitterLayout() in @if. |
| packages/angular/src/app/components/utils/toolbar-analytics/toolbar-analytics.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/utils/right-side-panel/right-side-panel.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/utils/left-side-panel/left-side-panel.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/utils/form-textbox/form-textbox.component.html | Migrates *ngIf to @if for optional icon button. |
| packages/angular/src/app/components/utils/form-photo/form-photo.component.html | Migrates *ngIf to @if for editable UI elements. |
| packages/angular/src/app/components/utils/revenue-snapshot-card/revenue-snapshot-card.component.ts | Adjusts input type import/type for snapshot card. |
| packages/angular/src/app/components/library/user-panel/user-panel.component.html | Migrates *ngIf branches to @if. |
| packages/angular/src/app/components/library/user-menu-section/user-menu-section.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/library/ticker-card/ticker-card.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/library/task-list-kanban/task-list-kanban.component.html | Migrates lists to @for with tracking. |
| packages/angular/src/app/components/library/task-form/task-form.component.html | Migrates *ngIf to @if blocks. |
| packages/angular/src/app/components/library/status-indicator/status-indicator.component.ts | Migrates inline template *ngIf to @if. |
| packages/angular/src/app/components/library/scheduler-tooltip/scheduler-tooltip.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/library/reset-password-form/reset-password-form.component.html | Migrates *ngIf/else to @if/@else. |
| packages/angular/src/app/components/library/profile-card/profile-card.component.html | Migrates *ngFor/*ngIf/ngSwitch to @for/@if/@switch. |
| packages/angular/src/app/components/library/login-form/login-form.component.html | Migrates *ngIf/else to @if/@else. |
| packages/angular/src/app/components/library/create-account-form/create-account-form.component.html | Migrates *ngIf/else to @if/@else. |
| packages/angular/src/app/components/library/contact-panel/contact-panel.component.ts | Refactors inputs/outputs and state management to signals/model/input()/output(). |
| packages/angular/src/app/components/library/contact-panel/contact-panel.component.html | Updates bindings to signal-call syntax and migrates loops/ifs to @for/@if. |
| packages/angular/src/app/components/library/contact-form/contact-form.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/library/change-password-form/change-password-form.component.html | Migrates *ngIf/else to @if/@else. |
| packages/angular/src/app/components/library/card-tasks/card-tasks.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/library/card-opportunities/card-opportunities.component.html | Migrates *ngIf/*ngFor to @if/@for. |
| packages/angular/src/app/components/library/card-notes/card-notes.component.html | Migrates *ngFor to @for. |
| packages/angular/src/app/components/library/card-messages/card-messages.component.html | Migrates *ngFor to @for. |
| packages/angular/src/app/components/library/card-analytics/card-analytics.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/library/card-activities/card-activities.component.html | Migrates *ngIf to @if. |
| packages/angular/src/app/components/library/app-header/app-header.component.html | Migrates *ngIf to @if for conditional header items. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
8ec817d to
5ccd9db
Compare
e409172 to
a58efee
Compare
…template-gallery into master_update_ng22 # Conflicts: # packages/react/package.json # pnpm-lock.yaml
lint does not allow ngIf anymore
…template-gallery into master_update_ng22
dxvladislavvolkov
previously approved these changes
Jun 12, 2026
dxvladislavvolkov
approved these changes
Jun 12, 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.
No description provided.