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)

Reply via email to