chisel/vite.config.ts
maverick 1a687ae188 feat: favicon + Open Graph / Twitter share tags with image
- Brand ◢ chisel-wedge favicon (SVG + 32px PNG + 180px apple-touch-icon)
- 1200x630 OG share card (Say it. Shape it. + isometric wireframe), rendered
  from HTML via headless Brave; source in step-service/.render/
- og:/twitter: meta with image, theme-color
- vite publicDir=static so assets ship in the build

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-25 19:08:23 +10:00

20 lines
612 B
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
// Client builds into ./public, which the Worker serves via the ASSETS binding.
// /api/* is handled by the Worker (see src/worker/index.ts); everything else is
// the SPA. In dev, `vite` proxies /api to `wrangler dev` on :8787.
export default defineConfig({
root: "src/client",
// Static assets (favicon, share image) copied verbatim into the build output.
publicDir: "static",
build: {
outDir: "../../public",
emptyOutDir: true,
},
server: {
proxy: {
"/api": "http://localhost:8787",
},
},
});