feat: web UI scaffold with embedded SPA and multi-stage Docker build #16
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
web/with Vitest smoke test//go:embed all:build, with SPA fallback for deep links and a prefix carve-out so/api/*and/rest/*never return HTMLDockerfileas a three-stage build (node → golang → debian:slim) and update Forgejo CI to install Node, build the SPA, and run Vitest before Go steps:5173proxying to Go on:4533) in the READMETest Plan
go test -short -race ./...passesgolangci-lint run ./...cleancd web && npm test && npm run buildpassesdocker build -t minstrel:scaffold-final .succeeds; binary is-xin the final imagedocker compose up -dend-to-end:GET /→ 200text/html(SPA)GET /artists/<uuid>→ 200text/html(SPA deep-link fallback)GET /healthz→ 200application/jsonGET /api/nonexistent→ 404application/json(no HTML leaked)GET /rest/nonexistent→ 200application/json(subsonic error shape, still JSON)