20 lines
835 B
TypeScript
20 lines
835 B
TypeScript
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:3000', ws: true }, '/health': 'http://127.0.0.1:3000', '/api': 'http://127.0.0.1:3000' } },
|
|
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))));
|
|
},
|
|
}],
|
|
});
|