Skip to content

Commit 86068f9

Browse files
committed
Use dagree for interactive migration graph
In addition to the normal graphviz svg dagree is already a dependency via mermaid/docusaurus This filter and a remove packages that are "done", and/or have no parrent children befor showing the graph, and split it into connected components. The interactive graph has the following features: - span/zoom with mouse/trackpad - hover a node to dimm all nodes except direct children/parents. - click on a node to show only current graph and all parents (and their parents...)/children (and their children...), but not siblings. A filter search bar to find a node easily and select it without having to click on it. A dropdown for the various dagree layout options I think are un-necessary but let us explore the various dagree options. The node color should reflect the ci status of the PR, but are not properly clickable to open given PR, this is something I'm planning to do if there is interest. Note that there are some hacks as some packages are marked as "awaiting parent", while they do not have any parent pending (like pyside2 for 314t, llvmlite for 314t also IIRC), maybe this should be fixed in the table as well with a different label. I'm also rendering the graph even if there is an extremly large number of node, I think I there should be a confirmation if there is say > 1k nodes and a confirmation, but one of my powerful machine handles things really well so not sure.
1 parent 51a0dc4 commit 86068f9

File tree

5 files changed

+878
-7
lines changed

5 files changed

+878
-7
lines changed

package-lock.json

Lines changed: 14 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,16 @@
1616
"dependencies": {
1717
"@docusaurus/core": "^3.9.2",
1818
"@docusaurus/plugin-client-redirects": "^3.9.2",
19-
"@docusaurus/preset-classic": "^3.9.2",
2019
"@docusaurus/plugin-content-blog": "^3.5.2",
20+
"@docusaurus/preset-classic": "^3.9.2",
2121
"@docusaurus/theme-mermaid": "^3.9.2",
2222
"@mdx-js/react": "^3.1.1",
2323
"@stoplight/json-ref-resolver": "^3.1.6",
2424
"chart.js": "^4.5.1",
2525
"chartjs-adapter-moment": "^1.0.1",
2626
"clsx": "^2.1.1",
27+
"d3": "^7.9.0",
28+
"dagre-d3-es": "^7.0.13",
2729
"install": "^0.13.0",
2830
"moment": "^2.29.4",
2931
"octokit": "^5.0.5",

0 commit comments

Comments
 (0)