Skip to content

Feat/angular upgrade#3354

Merged
olgahaha merged 25 commits intomainfrom
feat/angular-upgrade
Feb 11, 2026
Merged

Feat/angular upgrade#3354
olgahaha merged 25 commits intomainfrom
feat/angular-upgrade

Conversation

@olgahaha
Copy link
Contributor

Perform a comprehensive full-stack migration from Angular 14 to Angular 18, including a major upgrade to Ionic 8. It modernizes the architecture by adopting Material MDC and updating all core reactive and utility dependencies.

Key Migrations

  • Frameworks: Upgraded core frameworks from v14 → v18 (Angular) and to v8 (Ionic).
  • Material UI: Full migration to MDC-based components and updated styling for dialog surfaces.
  • Dependencies: Major updates for RxJS (v7), NgRx (v18), Formly (v7), and Transloco (v8).
  • Components: Replaced legacy ion-slides with Swiper web components.
  • Styling: Standardized safe area handling and dark mode implementation.

Replace ReactiveComponentModule with LetModule and PushModule.
Replace getCurrentNavigation with history.state due to RouterOutlet
timing change in Angular 15.
Replace deprecated LetModule/PushModule with LetDirective/PushPipe.
RxJS 7:
- Replace toPromise() with firstValueFrom()
- Add defaultValue for catchError returning EMPTY
- Fix defaultIfEmpty() to require value
- Replace deprecated operators
- Fix defer() returning void
- Fix iif() missing third argument

Libraries for Angular 16 compatibility:
- @ngneat/transloco 2.22.0 → 5.0.10
- @ngx-formly 5.10.22 → 6.3.12
- ng-circle-progress 1.6.0 → 1.7.1
- Replace @techiediaries/ngx-qrcode with angularx-qrcode@16
- Replace ngx-pinch-zoom with @meddv/ngx-pinch-zoom@16

Formly 6 migrations:
- templateOptions → props
- minlength → minLength
- expressionProperties → expressions
- Replace ion-slides with swiper-container web components
- Update SCSS selectors and CSS variables
- Add bounds checks for slide index
Replace SharedModule with SharedTestingModule to provide
proper testing configurations.
- Upgrade ngx-long-press2 to 16.1.0 (Angular 16)
- Remove --legacy-peer-deps from workflows and docs
- Migrate all components to MDC-based versions
- Update CSS class selectors (mat-* to mat-mdc-*)
- Remove legacy zone-patch-rxjs
- Add missing mock plugin methods
- Angular core, cli, material, cdk: 18.2.x
- @angular-eslint: 18.4.3
- @ngrx/store, component: 18.1.1
- @meddv/ngx-pinch-zoom: 18.0.1
- angularx-qrcode: 18.0.2
- Update Material m2-* API calls
- @ionic/angular, @ionic/core: 8.7.17
- Migrate dark mode to :root selector
- Update browserslist, step color tokens
- Remove eslint-plugin-rxjs, ngx-long-press2
- Add custom LongPressDirective
- Upgrade @jsverse/transloco from 5.0.10 to 8.2.1
- Upgrade @ngneat/transloco-messageformat from 5.0.3 to 8.0.0
- Replace deprecated toPromise() with firstValueFrom()
- Update Material List to MDC directives (matListItem, matLine)
- Fix toolbar icon centering with flex-grow
- Fix edit profile form field visibility
- Update i18n translation files structure
- Upgrade @ngx-formly to 7.1.0.
- Fix Swiper event binding in tutorial page.
- Update global styles for MDC dialog surfaces.
- Improve safe area handling and clean up imports.
- Format 129 files with Prettier
- Fix 5,245 stylelint errors
- Configure Angular-specific linting rules
- Remove undefined ESLint rule references
- Update lint ignore files for build dirs
@olgahaha olgahaha merged commit 6f688c4 into main Feb 11, 2026
9 of 10 checks passed
@olgahaha olgahaha deleted the feat/angular-upgrade branch February 11, 2026 07:27
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.

1 participant