1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
import react from "@vitejs/plugin-react";
// @ts-ignore
import path from "path";
import { defineConfig, loadEnv } from "vite";
import checker from "vite-plugin-checker";
import chunks from "./config/chunks";
import overrideEnv from "./config/configReader";
export default defineConfig(async ({ mode, command }) => {
const env = loadEnv(mode, process.cwd());
if (command === "serve") {
await overrideEnv(env);
}
const target = env.VITE_PROXY_URL;
const ws = env.VITE_ALLOW_WEBSOCKET === "true";
const secure = env.VITE_PROXY_SECURE === "true";
return {
plugins: [
react(),
checker({
typescript: true,
eslint: {
files: ["./src"],
extensions: [".ts", ".tsx"],
},
enableBuild: false,
}),
],
base: "./",
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
build: {
manifest: true,
sourcemap: mode === "development",
outDir: "./build",
rollupOptions: {
output: {
manualChunks: chunks,
},
},
},
server: {
proxy: {
"^/(api|images|test|bazarr.log)/.*": {
target,
changeOrigin: true,
secure,
ws,
},
},
host: true,
},
};
});
|