Purushottam Sinha created FLINK-41079:
-----------------------------------------
Summary: Web dashboard: Update Angular to v22 and ng-zorro-antd to
v22
Key: FLINK-41079
URL: https://issues.apache.org/jira/browse/FLINK-41079
Project: Flink
Issue Type: Technical Debt
Components: Runtime / Web Frontend
Reporter: Purushottam Sinha
h3. Problem
The web dashboard is on Angular 21.2 and ng-zorro-antd 21.3 (see FLINK-40028).
Angular 22.2.3 and ng-zorro-antd 22.1.2 are out, and the 21.x lines will stop
getting fixes.
h3. Evidence
* A trial upgrade passes {{ng build}}, lint and all 278 frontend tests, the
Maven frontend build, and the 139 {{flink-runtime-web}} Java tests. It also ran
correctly against a live Flink 2.3.0 cluster, with and without checkpointing.
* Angular 22 needs TypeScript 6.0 ({{>=6.0 <6.1}}) and Node >= 22.22.3.
{{flink-runtime-web/pom.xml}} pins {{nodeVersion}} v22.16.0, and {{README.md}}
documents 20.19.0.
* ng-zorro 22 removes {{nz-input-group}} ({{submit.component.html}}) and
{{[nzDisabled]}} on {{nz-collapse-panel}} (checkpoints and rescales pages). It
renames {{NzDropDownModule}} to {{NzDropdownModule}} (4 files).
* Angular 22 defaults {{strictTemplates}} to on and TypeScript 6 defaults
{{strict}} to on, so {{tsconfig.json}} needs both set to {{false}}. {{baseUrl}}
and {{downlevelIteration}} must be removed (TS5101).
h3. Proposed fix
* Bump Angular, ng-zorro-antd, TypeScript 6.0, angular-eslint 22.6 and
{{@angular-devkit/core}}, and apply the template and tsconfig changes above.
* Raise Node to >= 22.22.3 in {{pom.xml}} and {{README.md}}. Confirm the CI
images can download it.
* Regenerate {{package-lock.json}} and NOTICE. A plain {{npm install}} crashes
({{edgesOut}}), so run it with {{--legacy-peer-deps}} first.
h3. Acceptance
* {{npm run ci-check}} and {{mvn -pl flink-runtime-web package}} pass, and the
dashboard works against a running cluster.
* Not yet verified: the rescales panel (needs the Adaptive scheduler) and route
param inheritance on nested routes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)