Skip to content

Conversation

@tjprescott
Copy link
Member

@tjprescott tjprescott commented Dec 20, 2025

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

@tjprescott tjprescott self-assigned this Dec 20, 2025
@tjprescott tjprescott added the APIView Issues related to APIView core functionality or UI label Dec 20, 2025
Copilot AI review requested due to automatic review settings December 20, 2025 01:20
@github-project-automation github-project-automation bot moved this to 🆕 New in APIView Dec 20, 2025
@tjprescott tjprescott moved this from 🆕 New to 👀In PR in APIView Dec 20, 2025
Copy link
Contributor

Copilot AI left a 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 @import to modern @use syntax with proper module namespacing
  • Added standalone: false metadata 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 browser to application builder
  • 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

@tjprescott tjprescott force-pushed the apiview/Ang19 branch 2 times, most recently from ca5ff02 to 5534c2e Compare December 29, 2025 18:41
@tjprescott tjprescott changed the title [APIView] Convert APIView from Angular 18 to 19 [APIView] Convert APIView from Angular 18 to 20 Dec 29, 2025
@tjprescott
Copy link
Member Author

The current passing build is deployed to UX test: https://apiviewuxtest.com/

@tjprescott tjprescott force-pushed the apiview/Ang19 branch 4 times, most recently from 3f56099 to 63a0137 Compare January 5, 2026 21:38
@AlitzelMendez
Copy link
Member

I found some issues that are only happening on light mode

  1. On view related issues -> Select All (or even simple selecting) the selection is not visually reflected (boxed are not mark as selected)
image 2. Same issue as above when on "View related issues" -> thumbs down -> select options image

Nits

  1. On comments -> Edit severity = The edit dropdown doesn't fit in the header
image 2. On page settings the toggle doesn't have the original shape or location on the dot which makes harder identity the toggle , this is more obvious on light mode image

@tjprescott tjprescott force-pushed the apiview/Ang19 branch 2 times, most recently from 3957ef5 to 92fec6f Compare January 6, 2026 19:25
Fix pipeline failure.
@tjprescott tjprescott merged commit be21153 into main Jan 8, 2026
7 checks passed
@tjprescott tjprescott deleted the apiview/Ang19 branch January 8, 2026 18:45
@github-project-automation github-project-automation bot moved this from 👀In PR to ✅ Done in APIView Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

APIView Issues related to APIView core functionality or UI

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

3 participants