- [x] Migrate CRA to Vite
- [x] Upgrade node version to 18 in Github actions
- [x] Upgrade node version to 18 in Docker
- [x] Migrate styled-jsx to tailwind
- [x] Upgrade dependencies
- [x] Upgrade `@sentry/react`. Remove `@sentry/tracing` because we don't need to measure performance by Sentry.
- [x] Upgrade `jotai`. Add `jotai-immer` because the `jotai` package no longer includes `jotai/immer`.
- [x] Upgrade `typescirpt`
- [x] Migrate jest to vitest
- [x] Migrate `geist-ui` to `shadcn-ui`
- [x] Check all Todos
[Preview Link](https://regex-vis-git-refactor-graph-bowen.vercel.app/)
~~This is a big change, so I decided to put it on hold for now.~~
- Refactor the regex graph rendering process to measure node sizes before rendering
- Use monospace fonts for the regex text
- Replace SVG `text` elements with `foreginObject`
- Refactor the `visit`, `visitNodes`, `getNodeById`, `getNodesByIds` functions, and add `lrd` function to traversal ast by post-order. Add unit tests for the above functions.