import { execSync } from "node:child_process"; import { fileURLToPath, URL } from "node:url"; import tailwindcss from "@tailwindcss/vite"; import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; function gitCommitHash(): string { try { return execSync("git rev-parse --short HEAD", { cwd: fileURLToPath(new URL(".", import.meta.url)), stdio: ["ignore", "pipe", "ignore"], }) .toString() .trim(); } catch { return "unknown"; } } const backend = process.env.VITE_BACKEND ?? "http://127.0.0.1:8000"; // https://vite.dev/config/ export default defineConfig({ define: { __GIT_COMMIT_HASH__: JSON.stringify(gitCommitHash()), }, plugins: [react(), tailwindcss()], resolve: { alias: { "@": fileURLToPath(new URL("./src", import.meta.url)), }, }, server: { proxy: { "/api": backend, "/media": backend, "/admin": backend, }, }, });