chore(ui): deploy dashboard as a static SPA instead of SSR (#1395)

Enable TanStack Start SPA mode so the build prerenders a static shell
(/_shell.html) and emits a fully static bundle under .output/public,
removing the Nitro serverless function from the Vercel deploy. The
dashboard is a thin client (all data via client-side fetch to the
FastAPI /dashboard/api/*), so SSR rendered nothing of value.

Point Vercel at the static output and add a SPA catch-all rewrite to
the shell for client-side routing, keeping the API proxy rewrite first.
This commit is contained in:
Ramon Nogueira 2026-06-03 15:56:46 -04:00 • committed by GitHub
parent 8913926dba
commit 64e1f75ecc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

View file

@ -1,8 +1,15 @@
{
"framework": null,
"buildCommand": "bun run build",
"outputDirectory": ".output/public",
"rewrites": [
{
"source": "/dashboard/api/:path*",
"destination": "https://open-swe-v3-f2834ffc0df05a46a10262a9690e8490.us.langgraph.app/dashboard/api/:path*"
},
{
"source": "/(.*)",
"destination": "/_shell.html"
}
]
}

View file

@ -15,7 +15,7 @@ const config = defineConfig({
projects: ["./tsconfig.json"],
}),
tailwindcss(),
tanstackStart(),
tanstackStart({ spa: { enabled: true } }),
viteReact(),
],
})