42 lines
966 B
TypeScript
42 lines
966 B
TypeScript
import react from "@vitejs/plugin-react";
|
|
import { defineConfig, loadEnv } from "vite";
|
|
import { handleSteamRefresh } from "./server/steam-api.mjs";
|
|
import { handleGogAuth, handleGogRefresh } from "./server/gog-api.mjs";
|
|
|
|
const apiMiddlewarePlugin = {
|
|
name: "api-middleware",
|
|
configureServer(server) {
|
|
server.middlewares.use((req, res, next) => {
|
|
const url = req.url ?? "";
|
|
if (url.startsWith("/api/steam/refresh")) {
|
|
return handleSteamRefresh(req, res);
|
|
}
|
|
if (url.startsWith("/api/gog/auth")) {
|
|
return handleGogAuth(req, res);
|
|
}
|
|
if (url.startsWith("/api/gog/refresh")) {
|
|
return handleGogRefresh(req, res);
|
|
}
|
|
next();
|
|
});
|
|
},
|
|
};
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), "");
|
|
|
|
return {
|
|
base: env.VITE_BASE_PATH || "/",
|
|
plugins: [react(), apiMiddlewarePlugin],
|
|
server: {
|
|
port: 5173,
|
|
hmr: {
|
|
overlay: true,
|
|
},
|
|
watch: {
|
|
usePolling: true,
|
|
},
|
|
},
|
|
};
|
|
});
|