import { resolve } from 'node:path'; import { pathToFileURL } from 'node:url'; import { defineConfig } from 'vite'; import { buildingCompressionMiddleware } from './scripts/building-compression.ts'; const directoryUrl = (path: string) => pathToFileURL(resolve(path) + '/'); export default defineConfig({ server: { proxy: { '/socket.io': { target: 'http://127.0.0.1:2027', ws: true }, '/health': 'http://127.0.0.1:2027', '/api': 'http://127.0.0.1:2027' } }, plugins: [{ name: 'precompressed-buildings', configureServer(server) { server.middlewares.use(buildingCompressionMiddleware(directoryUrl(server.config.publicDir))); }, configurePreviewServer(server) { server.middlewares.use(buildingCompressionMiddleware(directoryUrl(resolve(server.config.root, server.config.build.outDir)))); }, }], });