Files
kvm/ui/vite.config.ts
luckfox-eng29 9a4e604c61 Update App version to 0.1.1
Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
2026-02-05 13:59:33 +08:00

74 lines
1.9 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
import tailwindcss from "@tailwindcss/vite";
import tsconfigPaths from "vite-tsconfig-paths";
import basicSsl from "@vitejs/plugin-basic-ssl";
import svgr from 'vite-plugin-svgr';
declare const process: {
env: {
KVM_PROXY_URL: string;
USE_SSL: string;
};
};
export default defineConfig(({ mode, command }) => {
const isCloud = mode.indexOf("cloud") !== -1;
const onDevice = mode === "device";
const { KVM_PROXY_URL, USE_SSL } = process.env;
const useSSL = USE_SSL === "true";
const plugins = [
tailwindcss(),
tsconfigPaths(),
react(),
svgr({
svgrOptions: {
icon: true,
},
}),
];
if (useSSL) {
plugins.push(basicSsl());
}
return {
plugins,
build: {
outDir: isCloud ? "dist" : "../static",
chunkSizeWarningLimit: 4096,
rollupOptions: {
onwarn(warning, warn) {
const msg = typeof warning === "string" ? warning : warning.message;
if (
warning &&
typeof warning === "object" &&
warning.code === "PLUGIN_WARNING" &&
// Vite's resolve plugin may log this when a dependency references Node built-ins (e.g. "stream")
msg.includes('has been externalized for browser compatibility') &&
msg.includes('Module "stream"')
) {
return;
}
warn(warning);
},
},
},
server: {
host: "0.0.0.0",
https: useSSL,
proxy: KVM_PROXY_URL
? {
"/me": KVM_PROXY_URL,
"/device": KVM_PROXY_URL,
"/webrtc": KVM_PROXY_URL,
"/auth": KVM_PROXY_URL,
"/storage": KVM_PROXY_URL,
"/cloud": KVM_PROXY_URL,
"/developer": KVM_PROXY_URL,
}
: undefined,
},
base: onDevice && command === "build" ? "/static" : "/",
};
});