Skip to content

feat: replace svelte frontend with react + tailwind scaffold#375

Open
Scr4tch587 wants to merge 1 commit into
mainfrom
kai/react-frontend
Open

feat: replace svelte frontend with react + tailwind scaffold#375
Scr4tch587 wants to merge 1 commit into
mainfrom
kai/react-frontend

Conversation

@Scr4tch587

Copy link
Copy Markdown
Collaborator

What changed

  • removed the Svelte 5 app (components, svelte config, eslint/prettier svelte plugins, `bun.lockb`)
  • scaffolded React 19 + TypeScript + Vite in its place, still managed with bun (`bun.lock` text lockfile)
  • Tailwind CSS v4 (`@tailwindcss/vite`, CSS-first theme) + shadcn/ui (new-york style): generated `button input table dialog card form label sonner` into `src/components/ui/`
  • ported the existing dark design tokens (`--background #0f1117`, `--primary #6c8cff`, etc.) into `src/index.css` as shadcn CSS variables — dark-only, no theme toggle, plus the `.json-*` highlight token colors for the upcoming JSON viewer
  • `vite.config.ts`: keeps the `/api → localhost:3000` dev proxy; sets `base: "/datastream/"` in production builds for GitHub Pages
  • vite now runs under the bun runtime (`bunx --bun vite`) so the installer and JS runtime always agree on native-binding architecture (fixes rollup/esbuild binding mismatches when the local node is a different arch than bun)
  • eslint flat config (typescript-eslint + react-hooks + react-refresh); prettier with the tailwind class-sorting plugin
  • minimal `App.tsx`: header shell only — API client, auth, and browsing UI land in the next PRs of this stack

Why

The frontend is being rebuilt in React for deployment to GitHub Pages, with a create-dataset UI planned later. This PR is the mechanical stack swap, kept separate so the feature PRs on top are reviewable.

Benefit

`package.json` keeps the exact same script names (`format:check`/`lint`/`typecheck`/`build`), so `.pre-commit-config.yaml` and `frontend-ci.yml` need zero changes — all existing hooks and CI pass unchanged.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant