Upgrade Angular from 9.0.1 to 10.2.5 #72
Open
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.
Upgrade Angular from 9.0.1 to 10.2.5
Summary
This PR upgrades the Angular framework from version 9.0.1 to 10.2.5 as the first step in an incremental modernization effort. The upgrade includes:
~9.0.1→~10.2.5(core, common, router, service-worker, etc.)~9.0.2→~10.2.4and~0.900.2→~0.1002.4~3.7.5→~3.9.7(required for Angular 10)6.9→12(minimum for Angular 10)~6.5.4→~6.6.7browserslistto.browserslistrc(Angular 10 convention)ng updateCLI tool, so package.json was updated manually. Automated code migrations were NOT applied.npm run buildsucceeds withNODE_OPTIONS=--openssl-legacy-providerflag.Review & Testing Checklist for Human
This PR requires thorough manual testing due to incomplete verification during development. Please test:
export NODE_OPTIONS=--openssl-legacy-provider && npm run buildcompletes successfullynpm startand verify the app loads at localhost:4200 without console errorsnumbernow firevalueChangesonly once per changeng updatecouldn't run, there may be code patterns that need manual updates (missing decorators, ModuleWithProviders types, etc.)Notes
Environment Issues Encountered:
--configuration=production. Basic builds succeed.Scripts from README don't exist:
npm run precache(for service worker generation) - not in package.jsonnpm run static-serve(for testing with service worker) - not in package.jsonThe README/CONTRIBUTING.md appear to reference an older setup. In Angular 10, service workers should be generated automatically during production builds when configured in angular.json.
Next Steps:
After this PR is merged and tested, the next incremental upgrade would be Angular 10 → 11, which requires TypeScript 4.0 and drops IE 9/10 support.
Link to Devin run: https://app.devin.ai/sessions/fbf23d7e6b6d4992ad007f8c836a975c
Requested by: @kevintang513