Files
waving-hands/vite.config.ts
T

30 lines
1018 B
TypeScript

import adapter from '@sveltejs/adapter-static';
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';
export default defineConfig({
plugins: [
sveltekit({
compilerOptions: {
// Force runes mode for the project, except for libraries. Can be removed in svelte 6.
runes: ({ filename }) =>
filename.split(/[/\\]/).includes('node_modules') ? undefined : true
},
// A static build: the duel runs entirely in the browser, so Caddy serves files and nothing else.
// The fallback is the empty shell Caddy serves for a room address; it is not index.html, so the
// hall's own prerendered page is not overwritten by it.
adapter: adapter({ fallback: 'shell.html' })
})
],
server: {
// In development the duel server runs beside Vite; in production Caddy does this.
proxy: {
'/api': 'http://localhost:8788',
'/ws': { target: 'ws://localhost:8788', ws: true }
}
},
test: {
include: ['src/**/*.test.ts', 'server/src/**/*.test.ts']
}
});