spuru9 opened a new pull request, #28600:
URL: https://github.com/apache/flink/pull/28600

   ## What is the purpose of the change
   
   The `[email protected]` package used for the job DAG layout in the web dashboard 
is unmaintained. This PR is the first of three independent migrations under 
FLINK-40033 (modernize the web-dashboard visualization libraries) and replaces 
`dagre` with the maintained `@dagrejs/dagre` 3.x fork.
   
   `@dagrejs/dagre` keeps the same `graphlib` / `layout` API and ships its own 
TypeScript type definitions, so the separate `@types/dagre` dev dependency is 
no longer needed.
   
   ## Brief change log
   
   - `package.json` / `package-lock.json`: replace `dagre@^0.8.5` with 
`@dagrejs/dagre@^3.0.0` and remove `@types/dagre`.
   - `components/dagre/graph.ts`: import from `@dagrejs/dagre`. The package's 
declared type entry no longer exports `GraphEdge`, so use the equivalent 
`EdgeLabel` that `Graph.edge()` returns (`points` is optional there, hence the 
non-null assertion in `getDominantBaseline`).
   - `angular.json`: drop the now-obsolete `allowedCommonJsDependencies: 
["dagre"]` entry — `@dagrejs/dagre` and its `@dagrejs/graphlib` dependency ship 
ESM builds and produce no CommonJS warning.
   - `NOTICE`: remove `dagre`, `graphlib` and `lodash` (the latter two were 
transitive dependencies of `dagre` only) and add `@dagrejs/[email protected]` and 
`@dagrejs/[email protected]` (both MIT).
   
   ## Verifying this change
   
   This change is covered by the existing build and can be verified as follows:
   
   - `npm run build` (production `ng build`) succeeds with no CommonJS warnings.
   - `npm run lint` passes.
   - Manually: open the Job Overview page and confirm the job DAG renders, node 
focus/zoom works, and the graph re-lays out in portrait mode (TB) — as well as 
the plan preview on the Submit page.
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): yes (web-dashboard: 
dagre -> @dagrejs/dagre)
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: no
     - The serializers: no
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: no
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? no
     - If yes, how is the feature documented? not applicable
   
   ## AI Usage Disclosure
   
   - [x] Claude Code


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to