Reads version from root package.json at build time and injects it as __APP_VERSION__ via Vite define, replacing the hardcoded "API v3".
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { readFileSync } from "node:fs";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
import { tanstackRouter } from "@tanstack/router-plugin/vite";
|
|
import react from "@vitejs/plugin-react";
|
|
import path from "path";
|
|
import { fileURLToPath } from "url";
|
|
import { defineConfig } from "vite";
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
const host = process.env.TAURI_DEV_HOST;
|
|
const { version } = JSON.parse(
|
|
readFileSync(path.resolve(__dirname, "../../package.json"), "utf-8"),
|
|
) as { version: string };
|
|
|
|
export default defineConfig({
|
|
clearScreen: false,
|
|
plugins: [tanstackRouter({ autoCodeSplitting: true }), react(), tailwindcss()],
|
|
define: {
|
|
__APP_VERSION__: JSON.stringify(version),
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": path.resolve(__dirname, "./src"),
|
|
},
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
strictPort: true,
|
|
host: host || false,
|
|
hmr: host ? { protocol: "ws", host, port: 1421 } : undefined,
|
|
watch: { ignored: ["**/src-tauri/**"] },
|
|
},
|
|
envPrefix: ["VITE_", "TAURI_ENV_*"],
|
|
build: {
|
|
target: process.env.TAURI_ENV_PLATFORM === "windows" ? "chrome120" : "esnext",
|
|
minify: !process.env.TAURI_ENV_DEBUG ? "esbuild" : false,
|
|
sourcemap: !!process.env.TAURI_ENV_DEBUG,
|
|
},
|
|
});
|