33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import react from '@vitejs/plugin-react'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import { defineConfig } from 'vite'
|
|
|
|
// The Go binary serves the built assets and the API from the same origin, so
|
|
// the app always talks to a relative `/api` base. During development Vite
|
|
// proxies that prefix to a locally running fancy-dns.
|
|
export default defineConfig({
|
|
base: './',
|
|
plugins: [react(), tailwindcss()],
|
|
server: {
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://127.0.0.1:8080',
|
|
changeOrigin: true,
|
|
// The logs SSE stream is long-lived: never time it out.
|
|
timeout: 0,
|
|
proxyTimeout: 0,
|
|
},
|
|
},
|
|
},
|
|
build: {
|
|
// The Go binary embeds the console via //go:embed all:dist in
|
|
// internal/web/web.go, so the build has to land there rather than in
|
|
// web/dist: a bundle nobody embeds is a console nobody can load.
|
|
outDir: '../internal/web/dist',
|
|
emptyOutDir: true,
|
|
sourcemap: false,
|
|
// Hashed asset names let the server cache them immutably.
|
|
assetsDir: 'assets',
|
|
},
|
|
})
|