-
Notifications
You must be signed in to change notification settings - Fork 229
[APIView] Convert APIView from Angular 18 to 20 #13419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR migrates the APIView ClientSPA application from Angular 18 to Angular 19, implementing the necessary framework updates, modern SCSS patterns, and configuration changes required for compatibility.
Key Changes
- Updated Angular core packages and dependencies from version ^18.2.x to ^19.2.x
- Migrated all SCSS files from deprecated
@importto modern@usesyntax with proper module namespacing - Added
standalone: falsemetadata to all components and pipes to maintain NgModule-based architecture - Migrated from APP_INITIALIZER token to the new provideAppInitializer API
- Updated Angular build configuration from
browsertoapplicationbuilder - Enhanced samples page navigation to preserve API revision query parameters across route transitions
- Upgraded Bootstrap from 5.0.2 to 5.3.3 and updated related dependencies
Reviewed changes
Copilot reviewed 53 out of 55 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/dotnet/APIView/ClientSPA/package.json | Updated Angular packages to v19.2.17, Angular CLI to v19.2.19, and related dependencies including PrimeNG, zone.js, and TypeScript |
| src/dotnet/APIView/ClientSPA/tsconfig.json | Removed deprecated downlevelIteration compiler option |
| src/dotnet/APIView/ClientSPA/angular.json | Migrated builder from browser to application, updated output path structure, and added style preprocessor options |
| src/dotnet/APIView/ClientSPA/src/styles.scss | Converted SCSS imports to modern @use syntax for all style dependencies |
| src/dotnet/APIView/ClientSPA/src/app/app.module.ts | Migrated from APP_INITIALIZER token to provideAppInitializer function API |
| src/dotnet/APIView/ClientSPA/src/app/app.component.ts | Added standalone: false metadata to maintain NgModule usage |
| src/dotnet/APIView/ClientSPA/src/app/app.component.scss | Converted @import to @use with namespace and cleaned up whitespace |
| src/dotnet/APIView/ClientSPA/src/app/_pipes/*.pipe.ts | Added standalone: false metadata to all pipe declarations |
| src/dotnet/APIView/ClientSPA/src/app/_components/**/*.component.ts | Added standalone: false metadata to all component declarations |
| src/dotnet/APIView/ClientSPA/src/app/_components/**/*.component.scss | Migrated SCSS imports to @use syntax with proper namespacing |
| src/dotnet/APIView/ClientSPA/src/app/_components/samples-page/samples-page.component.ts | Enhanced navigation to preserve activeApiRevisionId and diffApiRevisionId query parameters |
| src/dotnet/APIView/ClientSPA/src/app/_components/review-page/review-page.component.ts | Updated samples navigation to include API revision query parameters |
| src/dotnet/APIView/ClientSPA/src/app/_components/review-page/review-page.component.html | Removed unnecessary this. prefix from template binding |
| src/dotnet/APIView/ClientSPA/src/app/_components/review-page-options/review-page-options.component.html | Removed unnecessary this. prefix from template binding |
| src/dotnet/APIView/APIViewWeb/Client/package.json | Updated Bootstrap from 5.0.2 to ^5.3.3 |
| src/dotnet/APIView/APIViewWeb/Client/css/shared/bootstrap-defs.scss | New file centralizing Bootstrap SCSS imports for proper module usage |
| src/dotnet/APIView/APIViewWeb/Client/css/shared/theme-colors.scss | Refactored to use Bootstrap namespace via @use instead of direct imports |
| src/dotnet/APIView/APIViewWeb/Client/css/**/*.scss | Converted all SCSS files from @import to @use syntax with wildcard namespace |
| src/dotnet/APIView/APIViewWeb/Client/package-lock.json | Updated Bootstrap lock file entries to version 5.3.8 |
Files not reviewed (1)
- src/dotnet/APIView/APIViewWeb/Client/package-lock.json: Language not supported
ca5ff02 to
5534c2e
Compare
7cb63fb to
2880f83
Compare
|
The current passing build is deployed to UX test: https://apiviewuxtest.com/ |
3f56099 to
63a0137
Compare
3957ef5 to
92fec6f
Compare
Fix pipeline failure.
92fec6f to
780a058
Compare
cac7f25 to
bcfad75
Compare
30ade71 to
aa46a92
Compare
aa46a92 to
c2de4a8
Compare




Upgrades APIView Client SPA from Angular 18 to 20 to work towards #13057.