42 lines
978 B
TypeScript
42 lines
978 B
TypeScript
import { defineConfig } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
import svgr from "vite-plugin-svgr";
|
|
import path from "path";
|
|
import { fileURLToPath } from "url";
|
|
import { readFileSync } from "fs";
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
export default defineConfig(({}) => {
|
|
const pkg = JSON.parse(readFileSync(path.resolve(__dirname, "package.json"), "utf-8"));
|
|
const version = pkg.version;
|
|
|
|
const allowedHosts = process.env.VITE_ALLOWED_HOSTS
|
|
? process.env.VITE_ALLOWED_HOSTS.split(",").map((h) => h.trim())
|
|
: true;
|
|
|
|
return {
|
|
base: "/",
|
|
plugins: [svgr(), react()],
|
|
server: {
|
|
host: true,
|
|
allowedHosts,
|
|
},
|
|
preview: {
|
|
host: true,
|
|
allowedHosts,
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": path.resolve(__dirname, "src"),
|
|
},
|
|
},
|
|
optimizeDeps: {
|
|
include: ["@mui/material/Tooltip", "@emotion/styled"],
|
|
},
|
|
define: {
|
|
__APP_VERSION__: JSON.stringify(version),
|
|
},
|
|
};
|
|
});
|