chrysopedia/frontend/vite.config.ts
jlightner e6ce650487 feat: Added AppFooter component displaying app version, build date, com…
- "frontend/src/components/AppFooter.tsx"
- "frontend/vite.config.ts"
- "frontend/src/App.tsx"
- "frontend/src/App.css"
- "frontend/src/vite-env.d.ts"

GSD-Task: S06/T01
2026-03-30 12:00:58 +00:00

46 lines
1.1 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { execSync } from "child_process";
import { readFileSync } from "fs";
import { resolve } from "path";
function getGitCommit(): string {
// In Docker builds, VITE_GIT_COMMIT is set via ENV from the build ARG
if (process.env.VITE_GIT_COMMIT) {
return process.env.VITE_GIT_COMMIT;
}
// Local dev: try git
try {
return execSync("git rev-parse --short HEAD", { encoding: "utf-8" }).trim();
} catch {
return "dev";
}
}
function getAppVersion(): string {
try {
const pkg = JSON.parse(
readFileSync(resolve(__dirname, "package.json"), "utf-8"),
);
return pkg.version ?? "0.0.0";
} catch {
return "0.0.0";
}
}
export default defineConfig({
plugins: [react()],
define: {
__APP_VERSION__: JSON.stringify(getAppVersion()),
__BUILD_DATE__: JSON.stringify(new Date().toISOString()),
__GIT_COMMIT__: JSON.stringify(getGitCommit()),
},
server: {
proxy: {
"/api": {
target: "http://localhost:8001",
changeOrigin: true,
},
},
},
});