import { dirname, resolve } from "node:path"; import { readFileSync } from "node:fs"; import { fileURLToPath } from "node:url"; import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; const webDir = dirname(fileURLToPath(import.meta.url)); const appVersion = process.env.CANVAS_BUILD_VERSION?.trim() || readFileSync(resolve(webDir, "../VERSION"), "utf8").trim(); const appChangelog = readFileSync(resolve(webDir, "../CHANGELOG.md"), "utf8"); const apiProxyTarget = process.env.VITE_API_PROXY_TARGET?.trim() || "http://127.0.0.1:8080"; export default defineConfig({ plugins: [react()], define: { __APP_VERSION__: JSON.stringify(appVersion), __APP_CHANGELOG__: JSON.stringify(appChangelog), "import.meta.env.VITE_APP_VERSION": JSON.stringify(appVersion), }, server: { proxy: { "/api": { target: apiProxyTarget, changeOrigin: true, xfwd: true, }, "/oauth/linuxdo/callback": { target: apiProxyTarget, changeOrigin: true, xfwd: true, }, }, }, resolve: { alias: { "@": resolve(webDir, "src"), }, }, });