You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
memos/web/vite.config.mts

64 lines
1.6 KiB
TypeScript

import babel from "@rolldown/plugin-babel";
import react, { reactCompilerPreset } from "@vitejs/plugin-react";
import { resolve } from "path";
import { defineConfig } from "vite";
import tailwindcss from "@tailwindcss/vite";
let devProxyServer = "http://localhost:8081";
if (process.env.DEV_PROXY_SERVER && process.env.DEV_PROXY_SERVER.length > 0) {
console.log("Use devProxyServer from environment: ", process.env.DEV_PROXY_SERVER);
devProxyServer = process.env.DEV_PROXY_SERVER;
}
// https://vite.dev/config/
export default defineConfig({
plugins: [react(), babel({ presets: [reactCompilerPreset()] }), tailwindcss()],
server: {
host: "0.0.0.0",
port: 3001,
proxy: {
"^/api/v1/sse": {
target: devProxyServer,
xfwd: true,
// SSE requires no response buffering and longer timeout.
timeout: 0,
},
"^/api": {
target: devProxyServer,
xfwd: true,
},
"^/memos.api.v1": {
target: devProxyServer,
xfwd: true,
},
"^/file": {
target: devProxyServer,
xfwd: true,
},
},
},
resolve: {
alias: {
"@/": `${resolve(__dirname, "src")}/`,
},
},
build: {
rolldownOptions: {
output: {
codeSplitting: {
groups: [
{
name: "utils-vendor",
test: /node_modules[\\/](dayjs|lodash-es)([\\/]|$)/,
},
{
name: "leaflet-vendor",
test: /node_modules[\\/]leaflet([\\/]|$)/,
},
],
},
},
},
},
});