Skip to content

chore: Angular 18 to 20 migration + Dependency Audits #577

Closed
sawankshrma wants to merge 90 commits into
devsecopsmaturitymodel:mainfrom
sawankshrma:angular_20-21
Closed

chore: Angular 18 to 20 migration + Dependency Audits #577
sawankshrma wants to merge 90 commits into
devsecopsmaturitymodel:mainfrom
sawankshrma:angular_20-21

Conversation

@sawankshrma

Copy link
Copy Markdown
Collaborator

description in doc

Remove redundant ?. on non-nullable types across 4 template files & Add *ngIf guards for info[infoTitle] in teams template
Remove unnecessary await fixture.whenStable() that blocks on unresolved MDC animation tasks in headless Chrome. The component data is set synchronously via @input, so no async wait is needed.
wrap mat-icon in span with matListItemIcon to prevent MDC from overriding color=primary. After upgrading to Material 16, the icons became grey from the primary color they were
The --prod flag was deprecated in Angular CLI v12 and removed in later versions. Replaced with --configuration=production and dropped redundant --aot flag (AOT is default for production builds).
Removed eslint-config-standard-with-typescript and its peer deps (eslint-plugin-import, eslint-plugin-n, eslint-plugin-promise) — these were never referenced in .eslintrc.json and caused ERESOLVE peer dependency conflicts during the Angular 17 upgrade, as they pulled in incompatible ESLint/TypeScript version constraints that clashed with @angular-eslint v17. Also bumped eslint-config-prettier from ^8.5.0 to pinned 9.1.0 (v8.10.1 and v9.1.1 were compromised in a July 2025 supply chain attack), eslint-plugin-prettier to ^5.2.0, and prettier to ^3.3.0.
sawankshrma and others added 27 commits June 22, 2026 09:33
…ied and the default background color is already appropriate
ran command npm install markdown-it@latest npm install -D @types/markdown-it@latest and then pinned to exact versions in package.json
…r_17-18

chore: Angular 17-18 Migration and Complete Material 3 based UI Revamp
ran command -- ng generate @angular/core:control-flow
Upgrade rxjs from 7.5.0 to 7.8.1 to support moduleResolution: bundler (rxjs 7.5.0 lacks an exports field in its package.json, which bundler resolution requires to resolve type declarations).
Run the official Angular schematic (ng generate @angular/core:inject) across the codebase to replace constructor parameter injection with the inject() function, per the @angular-eslint/prefer-inject rule.
Defer detectChanges() in specs to avoid CD timing issues, add null

guard in usage component, remove redundant root-level form imports.
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.

3 participants