-
Notifications
You must be signed in to change notification settings - Fork 6
🎉 Major Angular Upgrade: v11.2.14 → v20.2.3 (Latest Stable) with Modern E2E Testing #116
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
🎉 Major Angular Upgrade: v11.2.14 → v20.2.3 (Latest Stable) with Modern E2E Testing #116
Conversation
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
|
@copilot the pipeline is failing |
…ments - Update ngx-markdown to v20.0.0 for Angular 20 compatibility - Downgrade marked.js to v15.0.12 for ngx-markdown compatibility - Replace legacy Material components with modern equivalents (paginator, tabs) - Remove NODE_OPTIONS legacy provider from CI pipeline - Update Travis CI to use Node.js v20 - Clean up AppRoutingModule imports - Fix build and test pipeline compatibility Co-authored-by: Yehonal <[email protected]>
|
@copilot the unit tests are failing, please do not stop working on it until all the workflows are passing |
Co-authored-by: Yehonal <[email protected]>
Fixed the unit test errors by adding a null safety check in the repo-details component. All 9 tests are now passing cleanly without any error messages. The issue was caused by accessing undefined data in the test environment. Commit: fa6e96c Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot please fix the e2e tests that are failing inside the workflow, run them to check that they work right after |
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Co-authored-by: Yehonal <[email protected]>
Fixed the e2e tests by migrating from deprecated Protractor to modern Playwright. All tests are now passing locally (2/2 e2e tests, 9/9 unit tests). The issue was that Protractor reached end-of-life and is no longer supported in Angular 20. The migration includes proper CI configuration and headless browser support. Commit: 7fcc735 Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
| selector: 'app-root', | ||
| templateUrl: './app.component.html', | ||
| styleUrls: ['./app.component.scss'], | ||
| standalone: false |
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.
in the future we could do everything standalone
| @Injectable({ | ||
| providedIn: 'root', | ||
| }) | ||
| export class RepoDetailsResolverService implements Resolve<RepoDetailsData> { |
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.
not sure about this
This PR successfully completes a massive Angular upgrade from version 11.2.14 to the latest stable version 20.2.3, spanning 9 major versions. This upgrade modernizes the entire codebase and resolves all Node.js compatibility and CI pipeline issues.
🚀 Major Achievements
Angular Version Progression
🔧 Critical Issues Resolved
Node.js Compatibility Crisis Fixed
NODE_OPTIONS="--openssl-legacy-provider"workaround due to deprecated crypto functionsE2E Testing Modernization 🎯
CI/CD Pipeline Modernization
ngx-markdownfrom v18.0.0 to v20.0.0 for Angular 20 compatibilitymarked.jsversion conflicts (v16.2.1 → v15.0.12)Testing Infrastructure Modernized
karma-coverage-istanbul-reporterto modernkarma-coverage📦 Dependency Management
Third-Party Package Updates
E2E Testing Stack
protractor(deprecated)@playwright/testv1.55.0 (modern, actively maintained)Build System Improvements
🔄 Angular Migrations Applied
The upgrade included all official Angular migrations:
🛠️ Technical Improvements
E2E Testing Modernization
Build Performance
Development Experience
🧪 Testing Status
🔮 Future Work
While the core Angular upgrade is complete, some additional work is recommended:
📊 Impact
This upgrade brings the application from a 3+ year old Angular version to the cutting-edge latest stable release, ensuring:
The application is now running on Angular 20.2.3 with modern Playwright e2e testing and full Node.js compatibility! 🚀
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.