mirror of
https://github.com/luckfox-eng29/kvm.git
synced 2026-05-24 23:25:09 +02:00
74 lines
1.9 KiB
TypeScript
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" : "/",
|
|
};
|
|
});
|