mirror of
https://github.com/Xevion/banner.git
synced 2025-12-09 08:06:41 -06:00
52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import { defineConfig } from "vite";
|
|
import viteReact from "@vitejs/plugin-react";
|
|
import tanstackRouter from "@tanstack/router-plugin/vite";
|
|
import { resolve } from "node:path";
|
|
import { readFileSync } from "fs";
|
|
|
|
// Extract version from Cargo.toml
|
|
function getVersion() {
|
|
try {
|
|
const cargoTomlPath = resolve(__dirname, "..", "Cargo.toml");
|
|
const cargoTomlContent = readFileSync(cargoTomlPath, "utf8");
|
|
const versionMatch = cargoTomlContent.match(/^version\s*=\s*"([^"]+)"/m);
|
|
return versionMatch ? versionMatch[1] : "unknown";
|
|
} catch (error) {
|
|
console.warn("Could not read version from Cargo.toml:", error);
|
|
return "unknown";
|
|
}
|
|
}
|
|
|
|
const version = getVersion();
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [tanstackRouter({ autoCodeSplitting: true }), viteReact()],
|
|
test: {
|
|
globals: true,
|
|
environment: "jsdom",
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": resolve(__dirname, "./src"),
|
|
},
|
|
},
|
|
server: {
|
|
port: 3000,
|
|
proxy: {
|
|
"/api": {
|
|
target: "http://localhost:8080",
|
|
changeOrigin: true,
|
|
secure: false,
|
|
},
|
|
},
|
|
},
|
|
build: {
|
|
outDir: "dist",
|
|
sourcemap: true,
|
|
},
|
|
define: {
|
|
__APP_VERSION__: JSON.stringify(version),
|
|
},
|
|
});
|