Skip to content

Pythons/angular 21 upgrade#278

Merged
so-kaushal merged 18 commits intoqafrom
pythons/angular-21-upgrade
Mar 26, 2026
Merged

Pythons/angular 21 upgrade#278
so-kaushal merged 18 commits intoqafrom
pythons/angular-21-upgrade

Conversation

@so-kaushal
Copy link
Contributor

@so-kaushal so-kaushal commented Mar 26, 2026

ONCEHUB-112987
Upgrade knowledgeowl-angular library from Angular 20 to Angular 21

This pull request introduces a major upgrade to the project, primarily updating the Angular framework to version 21, raising the minimum required Node.js version to 24, and modernizing the ESLint configuration to use the new flat config format compatible with ESLint v9 and angular-eslint v21. Several dependencies have been updated or replaced, and the CI/CD workflows have been modified to use the latest GitHub Actions. These changes are breaking and require consumers to update their environments accordingly.

Framework and Dependency Upgrades:

  • Upgraded Angular packages to v21.1.x and updated all related dependencies, including ng-packagr, typescript, and tslib (BREAKING CHANGE).
  • Raised the minimum required Node.js version to 24 and updated CI/CD workflows to use Node.js 24.14.0 and the latest versions of actions/checkout and actions/setup-node. [1] [2] [3]
  • Updated package versions to 6.0.0 to reflect breaking changes. [1] [2] [3]

Linting and Tooling Modernization:

  • Migrated from the legacy .eslintrc.json configuration to the new flat config format in eslint.config.js, compatible with ESLint v9 and angular-eslint v21.3.0. This includes removing .eslintrc.json and consolidating linting plugins into the unified angular-eslint package. [1] [2] [3]
  • Removed now-unnecessary individual ESLint plugins (@angular-eslint/*, @typescript-eslint/*, eslint-plugin-import, eslint-plugin-jsdoc, eslint-plugin-prefer-arrow) in favor of the unified angular-eslint package.

Changelog and Publishing:

  • Added a new entry to CHANGELOG.md documenting all breaking changes and major updates for version 6.0.0-beta.0.
  • Updated the npm publish script to use the beta tag for pre-release publishing.

Other Minor Changes:

  • Cleaned up tsconfig.lib.json by removing unnecessary lib entries.
  • Updated test and build scripts for compatibility with the new setup.

These changes are significant and require consumers to update their environments and configurations to match the new requirements.

so-kaushal and others added 15 commits February 23, 2026 15:16
- Bump version in package.json and package-lock.json to 6.0.0-beta.0
- Update test script to run without watch
- Upgrade tslib to ^2.8.1
- Upgrade @angular-eslint packages to ^21.3.0
- Update eslint to ^9.0.0 and angular-eslint to ^21.3.0
- Add typescript-eslint to dependencies
…int upgrade

Co-authored-by: so-kaushal <28099586+so-kaushal@users.noreply.github.com>
docs: add 6.0.0-beta.0 changelog entry for Angular 21 / Node 24 / ESLint v9 upgrade
@so-kaushal so-kaushal self-assigned this Mar 26, 2026
Copilot AI review requested due to automatic review settings March 26, 2026 10:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the @oncehub/knowledgeowl-angular library to Angular 21, modernizes linting to ESLint v9 flat config with angular-eslint, and updates CI/publishing to match the new toolchain expectations.

Changes:

  • Bumped Angular-related dependencies to v21.1.x, TypeScript to 5.9.x, and aligned tooling (ESLint v9 + flat config).
  • Updated CI and publish workflows to use Node 24.14.0 and newer GitHub Actions.
  • Released as a breaking change with version bump to 6.0.0 and added a changelog entry.

Reviewed changes

Copilot reviewed 8 out of 12 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tsconfig.json Removes explicit lib entries, relying on TS defaults for the configured target.
test/karma.conf.js Whitespace-only cleanup.
src/tsconfig.lib.json Simplifies compiler options by removing redundant lib config.
src/package.json Bumps the package version used for the built/published artifact.
src/package-lock.json Updates locked package version metadata.
package.json Bumps version to 6.0.0 and updates scripts/deps for Angular 21 + ESLint 9 setup.
eslint.config.js Introduces ESLint v9 flat config using typescript-eslint + angular-eslint.
CHANGELOG.md Adds 6.0.0-beta.0 entry documenting breaking changes.
.github/workflows/npm-publish.yml Updates checkout/setup-node actions and pins Node 24.14.0 for publishing.
.github/workflows/ci.yml Updates checkout/setup-node actions and pins Node 24.14.0 for CI.
.eslintrc.json Removes legacy ESLint config in favor of flat config.
Files not reviewed (1)
  • src/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Mar 26, 2026

@so-kaushal I've opened a new pull request, #279, to work on those changes. Once the pull request is ready, I'll request review from you.

so-kaushal and others added 3 commits March 26, 2026 16:21
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…knowledgeowl-angular into pythons/angular-21-upgrade
@so-kaushal so-kaushal merged commit e16ffec into qa Mar 26, 2026
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.

4 participants