NIFI-15700, NIFI-15701, NIFI-15702, NIFI-15703: Upgrade Nx 22, Angular 21, NgRx 21, TypeScript#11018
Open
rfellows wants to merge 1 commit intoapache:mainfrom
Open
NIFI-15700, NIFI-15701, NIFI-15702, NIFI-15703: Upgrade Nx 22, Angular 21, NgRx 21, TypeScript#11018rfellows wants to merge 1 commit intoapache:mainfrom
rfellows wants to merge 1 commit intoapache:mainfrom
Conversation
…r 21, NgRx 21, TypeScript Upgrade the nifi-frontend workspace to Nx 22.5.4, Angular 21.1.6, Angular Material/CDK 21.1.6, and NgRx 21.0.1. This combines the Nx, Angular, and NgRx upgrades as the Nx migration required all framework upgrades to land together. Key changes: - Nx 21 -> 22.5.4, Angular 20 -> 21.1.6, NgRx 20 -> 21.0.1 - TypeScript 5.9.2 -> 5.9.3, Jest 29 -> 30.3.0, Zone.js 0.15 -> 0.16.1 - Third-party upgrades: ngx-markdown 21, ngx-skeleton-loader 12, marked 17 - Fix @HostListener type signatures for Angular 21 stricter typing - Remove emitDecoratorMetadata (unused, all DI uses inject()) - Fix migration-introduced lint issues (prettier formatting, require -> import type) - Add eslint-disable for resizable component attribute selector - Add ng-mocks Angular 21 peer dep override - Remove redundant lodash-es override s
Contributor
|
Reviewing... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary: Upgrade Nx 22, Angular 21, NgRx 21, TypeScript
NIFI-15700
NIFI-15701
NIFI-15702
NIFI-15703
Description
Upgrades the NiFi frontend monorepo to Angular 21, Nx 22, NgRx 21, and related tooling to keep dependencies current, improve performance, and align with the latest Angular ecosystem. The work includes dependency bumps, Angular 21 migration steps, control flow migration, TypeScript and Jest config updates, and security-related dependency changes.
What's Changed
Dependency upgrades
Angular 21 migration
provideZoneChangeDetection()to all 5 app bootstrap files (nifi, nifi-registry, nifi-jolt-transform-ui, standard-content-viewer, update-attribute)*ngIf/*ngForto@if/@for(import-from-registry, flowfile-dialog, fetch-parameter-provider-parameters, combo-editor, provenance-event-dialog)@letusage in import-from-registry and fetch-parameter-provider-parameters@HostListenerhandler types incanvas.component.tsfor Angular 21 type-checking (strictDomEventTypes uses incorrect types for keyup.Enter style outputs angular/angular#40778)provideZoneChangeDetectionimportTypeScript configuration
tsconfig.base.json:target→es2023,module→esnext, removedemitDecoratorMetadatatsconfig.json: added"module": "preserve"and"moduleResolution": "bundler"tsconfig.spec.json:module→preserve, addedmoduleResolution: bundlerandisolatedModules: trueJest configuration
jest.config.tsfiles fromexport defaulttomodule.exportsfor Jest 30 compatibilityNx configuration
nx.json: removed duplicatedefaultBaseentryKey Features
provideZoneChangeDetection()and new control flow syntax (@if,@for,@let) for better performance and DX.ng-templatenames; inlined@elsecontent to avoid duplicate refs.module.exportsfor compatibility with the new Jest/ts-node setup.@HostListenerhandlers incanvas.component.tsuseEventinstead ofKeyboardEvent/ClipboardEventto satisfy Angular 21's stricter host binding type-checking (strictDomEventTypes uses incorrect types for keyup.Enter style outputs angular/angular#40778).