Skip to content

Conversation

@just-jeb
Copy link
Owner

@just-jeb just-jeb commented Jun 17, 2025

PR Checklist

Please check if your PR fulfills the following requirements:

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

PR Type

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] CI related changes
[x] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A

The repository supports Angular 19.

What is the new behavior?

Upgrades all packages, examples, and documentation to Angular 20. Updates Node.js requirement to ≥20.19.0 to match Angular 20 requirements.

Does this PR introduce a breaking change?

[x] Yes
[ ] No

Breaking Changes:

  • Requires Angular 20 (was Angular 19)
  • Requires Node.js ≥20.19.0 (was ≥18.19.1)

Migration: Users must upgrade to Angular 20 and Node.js ≥20.19.0. Follow standard Angular 20 migration guide.

Other information

Standard major version upgrade maintaining angular-builders API compatibility + a few potentially breaking changes for major version.

Closes #1921 #1922 #1710 #1690 #1878

@just-jeb just-jeb force-pushed the upgrade-angular-20 branch 3 times, most recently from 76b1451 to 1cd9122 Compare June 19, 2025 10:29
just-jeb and others added 3 commits June 19, 2025 15:28
- Update all packages and examples to Angular 20
- Update Node.js requirement to ≥20.19.0
- Update GitHub Actions workflows to use Node.js 20.19.0
- Update all Angular dependencies to version 20
- Update supporting dependencies (RxJS, TypeScript, etc.)
- Update Bazel MODULE files for Angular 20 compatibility

BREAKING CHANGES:
- Requires Angular 20 (was Angular 19)
- Requires Node.js ≥20.19.0 (was ≥18.19.1)
- Remove all tslint.json files and TSLint dependencies
- Add modern ESLint 9 flat config (eslint.config.js) to all examples
- Update angular.json to use @angular-eslint/builder
- Clean up migration guide format and remove duplicate content
- Remove obsolete tsconfig.base.json files from examples

All 7 examples now build and lint cleanly with Angular 20 and modern ESLint.
Enable plugins to access builder options and target information through factory functions. This is a non-breaking enhancement - existing plugins continue to work unchanged.

Plugins can now be defined as factory functions that receive builderOptions and target parameters, enabling more sophisticated plugins that can adapt their behavior based on the current build target and configuration.

Co-authored-by: Matt Lewis <[email protected]>
@just-jeb just-jeb force-pushed the upgrade-angular-20 branch 3 times, most recently from 86c0041 to 227d553 Compare June 19, 2025 15:28
- Update custom-esbuild to use @angular/build instead of @angular-devkit/build-angular for better performance
- Update import paths to use @angular/build/private for internal APIs
- Update dev-server builder context patching to use @angular/build:application
- Update schema references to use @angular/build builders
- Update README documentation for Angular 20 and @angular/build
- Add TypeScript import fixes for better ESM support
- Improve Jest examples with better Cypress config and TypeScript usage
- Update common module loading logic for better CommonJS/ESM compatibility
- Fix e2e tsconfig references to use correct parent tsconfig files

This migration provides better performance and aligns with Angular's new build system architecture.
@just-jeb just-jeb force-pushed the upgrade-angular-20 branch 2 times, most recently from bc5374d to 9f1ea19 Compare June 19, 2025 20:29
@just-jeb just-jeb merged commit db2fc68 into master Jun 19, 2025
1 check passed
@just-jeb just-jeb deleted the upgrade-angular-20 branch June 19, 2025 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants