-
Notifications
You must be signed in to change notification settings - Fork 342
feat(angular): update minimal Angular version to v19 #6767
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
base: main
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: cec8efa The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Is this upgrade backwards compatible? Do we need to publish a new major version for it? |
Yes, it maintains backward compatibility with all officially supported Angular versions. Therefore, publishing a new major version is not necessary. |
Description of changes
This PR completes the Angular 14 to 19 migration for Amplify UI library by cleaning up remaining Angular 14 references and updating build system configurations.
Changes made:
• Updated Jest setup to use setupZoneTestEnv() from jest-preset-angular/setup-env/zone (replaces deprecated setup-jest import)
• Upgraded @testing-library/angular from v12.3.0 to v18.1.1 for Angular 19 compatibility
• Created MockFormFieldComponent stub to replace ng-mocks usage for Angular 19 validation requirements
• Removed Angular 14 specific logic from build system scripts (mega-app-copy-files.sh)
• Simplified USE_STANDALONE conditional logic for Angular 19+ minimum support
• Fixed angular.json buildTarget configuration for Angular 19 CLI compatibility
• Updated build system tests documentation to remove Angular 14 test matrix
• Updated troubleshooting examples to use current Angular versions
• Cleaned up repository-wide Angular 14 references
Note: Passing standalone: false in component decorators does not change the behavior and maintains backward compatibility. This keeps the existing behavior while ensuring Angular 19+ compatibility.
Issue #, if available
N/A - Migration cleanup task
Description of how you validated changes
• Built and ran tests locally - all pass as expected
• Updated Jest snapshots to match new testing library DOM structure
• Verified Angular 19 compatibility with proper component decorators
• For build system changes, verified by running the following commands:
• npm run setup:angular:angular-cli -- --framework-version latest --build-tool-version 19 --pkg-manager npm --tag latest
• npm run setup:angular:angular-cli -- --framework-version latest --build-tool-version latest --pkg-manager npm --tag latest
skipLibCheck Added
Added
"skipLibCheck": trueto resolve type incompatibilities with two dev dependencies:@testing-library/angular- expectsBindingexport removed in Angular 19@types/nodevs@types/webpack-env- conflictingrequirevariable declarationsThese are dev-only type conflicts that don't affect runtime functionality.
skipLibCheckbypasses library type checking while preserving type safety for our source code.Checklist
• [x] Have read the Pull Request Guidelines
• [x] PR description included
• [x] yarn test passes and tests are updated/added
• [x] PR title and commit messages follow conventional commit syntax
• [x] If this change should result in a version bump, changeset added (This can be done after creating the PR.) This does
not apply to changes made to docs, e2e, examples, or other private packages.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.