import { defineConfig } from "vite"; import { svelte } from "@sveltejs/vite-plugin-svelte"; import { vibegame, consoleForwarding } from "vibegame/vite"; import { WebSocketServer } from "ws"; import { wsManager } from "./src/lib/server/api"; export default defineConfig({ plugins: [ svelte(), vibegame(), consoleForwarding(), { name: "websocket-server", configureServer(server) { const wss = new WebSocketServer({ noServer: true }); server.httpServer?.on("upgrade", (request, socket, head) => { if (request.url === "/ws") { wss.handleUpgrade(request, socket, head, (ws) => { wsManager.handleConnection(ws, request); }); } }); server.middlewares.use((req, res, next) => { if (req.url === "/auth/callback") { res.statusCode = 200; res.setHeader("Content-Type", "text/html"); res.end(` Authenticating...

Authenticating...

`); return; } next(); }); }, }, ], optimizeDeps: { include: ["monaco-editor"], }, server: { host: "0.0.0.0", port: parseInt(process.env.PORT || "7860"), open: false, strictPort: true, allowedHosts: ["localhost", ".hf.space"], }, build: { target: "esnext", sourcemap: true, }, });