feat(angular): update minimal Angular version to v19
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": true to resolve type incompatibilities with two dev dependencies:
@testing-library/angular- expectsBindingexport removed in Angular 19@types/nodevs@types/webpack-env- conflictingrequirevariable declarations
These are dev-only type conflicts that don't affect runtime functionality. skipLibCheck bypasses 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.
🦋 Changeset detected
Latest commit: 759630b333774e1cf5864fc96bfc2ac825861a82
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 1 package
| Name | Type |
|---|---|
| @aws-amplify/ui-angular | Minor |
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?
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.