[FLINK-40028][runtime-web] Update Angular to v21 and ng-zorro-antd to v21 - #28593
Conversation
|
@Laffery Could you perhaps help out with a review here? |
f7df52a to
87eaf02
Compare
|
@MartijnVisser For example, the new Angular control-flow blocks in job-rescales.component.html, job-overview-drawer-subtasks.component.html, and submit.component.html contain unindented bodies, chained Could you please run |
|
@Laffery Thanks. You're right the control-flow blocks are poorly formatted, but the cause isn't the lint-staged removal. It's that prettier 2.6.2 (what master resolves) doesn't support Angular The catch: the same prettier 3 also reformats the ASF license-header comments across every template, which is exactly the churn flagged on this PR earlier (#28593 discussion) and is really the FLINK-39587 / #28440 territory. So "format the whole project" is a prettier-3 upgrade + project-wide reformat (with a Given FLINK-40028 is scoped to the Angular/ng-zorro version bump, I'd propose keeping the templates on |
It works for me! What's more, I suggest to upgrade eslint to v9 together in the follow-up PR, https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/eslint.config.mjs could be an example |
… v21 Upgrade the web dashboard to the latest LTS Angular (21.2.17) and the matching stable ng-zorro-antd (21.3.2), with TypeScript 5.9, the aligned @angular-eslint/@typescript-eslint toolchain, and @types/node 22. Regenerate the lockfile (resolving the outstanding npm security advisories) and the previously stale NOTICE. Pin prettier to master's 2.6.2 to avoid license-header reformatting drift, and keep templates on *ngIf/*ngFor by disabling prefer-control-flow; the control-flow migration, prettier 3 and eslint 9 are a dedicated follow-up. Generated-by: Claude Opus 4.8 (1M context)
…ode prerequisite The HUSKY_SKIP_INSTALL env var and the deprecated 'npm ci --cache-max=0 --no-save' flags are obsolete: husky was removed in FLINK-33939 and the flags are no-ops under npm 10. Bump the documented Node minimum to match Angular 21's floor. Generated-by: Claude Opus 4.8 (1M context)
…#28000 Raise the declared package.json minimums for the non-Angular dependencies to the secure versions identified in FLINK-39516 / apache#28000, so the declared floors match the versions the lockfile already resolves. No change to the shipped artifact (resolved versions are unchanged). Co-Authored-By: Purushottam Sinha <sinhapurushottam911@gmail.com> Generated-by: Claude Opus 4.8 (1M context)
75d3142 to
8cdbeb3
Compare
|
Done, @Laffery. I've rescoped this PR to the dependency upgrade only: templates stay on I'll open the dedicated follow-up for the control-flow migration ( |
What is the purpose of the change
Upgrade the Flink web dashboard from Angular 20.1.3 / ng-zorro-antd 20.1.0 to the latest LTS
Angular 21.2.17 / ng-zorro-antd 21.3.2 (TypeScript 5.9), refresh the aligned eslint toolchain and
@types/node, and regenerate the lockfile (resolving the outstanding npm security advisories thatDependabot had been filing against this module) and the stale NOTICE.
Scope: dependency upgrade only. Templates stay on
*ngIf/*ngFor; the Angular control-flowmigration (
@if/@for), prettier 3, and eslint 9 are a dedicated follow-up (agreed with reviewers,see discussion below).
Brief change log
@angular/*20.1.3 -> 21.2.17,ng-zorro-antd20.1.0 -> 21.3.2, TypeScript 5.8 -> 5.9(
@angular/cdk21 pulled in transitively);@angular-eslint/*-> 21.4.0,@typescript-eslint/*-> 8.62.x (eslint stays 8.57),
@types/node-> 22package-lock.jsonagainst the public registry (absorbs the outstanding securityadvisories) and the previously stale
NOTICE(it still listed Angular 18)provideZoneChangeDetection()inmain.ts, thetsconfiglib default, and a@HostListener('window:resize')type fix*ngIf/*ngForby disabling@angular-eslint'sprefer-control-flow, and pinprettier to master's 2.6.2, so this PR carries no control-flow or license-header formatting churn
HUSKY_SKIP_INSTALLenv var + deprecatednpm ciflags (huskywas removed in FLINK-33939) and the orphaned
lint-staged; bump the README Node minimumThis PR supersedes #28000 (FLINK-39516): regenerating the lockfile on Angular 21 ships the same secure
dependency versions, so FLINK-39516 can be closed as superseded once this lands. The prettier
cache-masking that this area is sensitive to is addressed separately in FLINK-39587 / #28440.
Deferred to a dedicated follow-up PR (agreed with @Laffery on this PR): the Angular control-flow
migration (
@if/@for) + prettier 3 (+ eslint-plugin-prettier 5) + eslint 9 flat config +.git-blame-ignore-revs. Node/npm pins andfrontend-maven-plugin(1.15.1) already satisfy Angular21; the webpack
:browserbuilder is kept (esbuild application-builder migration is a follow-up).Verifying this change
This is a dependency upgrade verified by the build/lint gate plus manual testing:
flink-runtime-webbuilds via Maven, wherefrontend-maven-pluginrunsnpm ciandnpm run ci-check(eslint + stylelint + production build) with the pinned Node 22.16.0 / npm 10.9.0*ngIf/*ngFor), so UI behaviour is unchanged; spot-checkedmanually against a local standalone cluster (Overview, Job list/detail, JobManager, TaskManager,
Submit) with the browser console open and free of errors
Does this pull request potentially affect one of the following parts:
20->21, ng-zorro-antd 20->21, TypeScript 5.8->5.9 and transitive updates;
NOTICEregenerated)@Public(Evolving): noDocumentation
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Opus 4.8 (1M context)