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]
