2025-09-25 10:11:41 -07:00
|
|
|
import { defineConfig } from "vite";
|
2024-10-17 12:05:06 +08:00
|
|
|
import react from "@vitejs/plugin-react";
|
|
|
|
|
import svgr from "vite-plugin-svgr";
|
2025-09-25 16:06:52 -07:00
|
|
|
import path from "path";
|
2025-09-26 14:32:16 -07:00
|
|
|
import { fileURLToPath } from "url";
|
2026-04-23 23:33:41 -04:00
|
|
|
import { readFileSync } from "fs";
|
2025-09-26 14:32:16 -07:00
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
|
|
|
const __dirname = path.dirname(__filename);
|
2024-05-03 12:29:37 -04:00
|
|
|
|
2025-09-25 10:11:41 -07:00
|
|
|
export default defineConfig(({}) => {
|
2026-04-23 23:33:41 -04:00
|
|
|
const pkg = JSON.parse(readFileSync(path.resolve(__dirname, "package.json"), "utf-8"));
|
|
|
|
|
const version = pkg.version;
|
2025-06-24 16:31:18 +08:00
|
|
|
|
2026-04-23 23:31:05 -04:00
|
|
|
const allowedHosts = process.env.VITE_ALLOWED_HOSTS
|
|
|
|
|
? process.env.VITE_ALLOWED_HOSTS.split(",").map((h) => h.trim())
|
|
|
|
|
: true;
|
|
|
|
|
|
2025-06-24 15:40:50 +08:00
|
|
|
return {
|
|
|
|
|
base: "/",
|
|
|
|
|
plugins: [svgr(), react()],
|
2025-12-22 12:36:29 -05:00
|
|
|
server: {
|
|
|
|
|
host: true,
|
2026-04-23 23:31:05 -04:00
|
|
|
allowedHosts,
|
|
|
|
|
},
|
|
|
|
|
preview: {
|
|
|
|
|
host: true,
|
|
|
|
|
allowedHosts,
|
2025-11-28 10:12:10 +01:00
|
|
|
},
|
2025-09-25 16:06:52 -07:00
|
|
|
resolve: {
|
|
|
|
|
alias: {
|
|
|
|
|
"@": path.resolve(__dirname, "src"),
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-09-08 20:39:45 -07:00
|
|
|
optimizeDeps: {
|
2025-06-24 15:40:50 +08:00
|
|
|
include: ["@mui/material/Tooltip", "@emotion/styled"],
|
|
|
|
|
},
|
|
|
|
|
define: {
|
|
|
|
|
__APP_VERSION__: JSON.stringify(version),
|
|
|
|
|
},
|
|
|
|
|
};
|
2024-10-17 12:05:06 +08:00
|
|
|
});
|