- "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
46 lines
1.1 KiB
TypeScript
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,
|
|
},
|
|
},
|
|
},
|
|
});
|