FE-627: Update tsgo/vite/rolldown + better React hooks linting in Petrinaut#8708
FE-627: Update tsgo/vite/rolldown + better React hooks linting in Petrinaut#8708
Conversation
PR SummaryMedium Risk Overview Upgrades frontend/tooling dependencies (notably Fixes/aligns several React hook patterns flagged by stricter linting: adjusts effect dependency arrays and memoization, refactors timeline chart updates to rely on derived Reviewed by Cursor Bugbot for commit c23120f. Bugbot is set up for automated code reviews on this repo. Configure here. |
🤖 Augment PR SummarySummary: This PR updates Petrinaut’s frontend tooling stack and switches to more comprehensive React hooks linting via oxlint’s JS plugin integration. Changes:
Technical Notes: The new oxlint config disables the built-in React hooks rules and enables 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c23120f. Configure here.
| maxZoom: 1.1, | ||
| }); | ||
| }, [reactFlowInstance, petriNetId]); | ||
| }, [minZoom, reactFlowInstance, petriNetId]); |
There was a problem hiding this comment.
Adding minZoom to deps causes viewport reset on resize
High Severity
The fitView effect is intended to center the viewport only on SDCPN load (when petriNetId or reactFlowInstance changes). Adding minZoom to the dependency array causes fitView to re-run whenever minZoom changes. Since minZoom is recalculated inside fitZoomToNodes (which is triggered by useResizeObserver on every container resize), this means every window or panel resize will call fitView, snapping the user's viewport back to show all nodes and overriding any manual panning or zooming.
Reviewed by Cursor Bugbot for commit c23120f. Configure here.


🌟 What is the purpose of this PR?
Update the Petrinaut frontend toolchain and linting after extracting the library.
🔍 What does this change?
Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
🐾 Next steps
only-export-componentsrefactors in Petrinaut.🛡 What tests cover this?
yarn fix:eslintyarn lint:tsc❓ How to test this?