53 lines
2.0 KiB
JavaScript
53 lines
2.0 KiB
JavaScript
import path from 'path';
|
|
import { defineConfig, loadEnv } from 'vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import svgr from 'vite-plugin-svgr';
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), '');
|
|
|
|
return {
|
|
plugins: [
|
|
react(),
|
|
svgr({ svgrOptions: { icon: true } }),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
src: path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
// Expose NEXT_PUBLIC_* vars as VITE_* for backward compatibility
|
|
define: {
|
|
'process.env.NEXT_PUBLIC_SERVER_URL': JSON.stringify(env.VITE_SERVER_URL || env.NEXT_PUBLIC_SERVER_URL || ''),
|
|
'process.env.NEXT_PUBLIC_API_URL': JSON.stringify(env.VITE_API_URL || env.NEXT_PUBLIC_API_URL || ''),
|
|
'process.env.NEXT_PUBLIC_WS_URL': JSON.stringify(env.VITE_WS_URL || env.NEXT_PUBLIC_WS_URL || ''),
|
|
'process.env.NEXT_PUBLIC_EXCALIDRAW_URL': JSON.stringify(env.VITE_EXCALIDRAW_URL || env.NEXT_PUBLIC_EXCALIDRAW_URL || ''),
|
|
'process.env.NEXT_PUBLIC_EXCALIDRAW_PATH': JSON.stringify(env.VITE_EXCALIDRAW_PATH || env.NEXT_PUBLIC_EXCALIDRAW_PATH || ''),
|
|
'process.env.NEXT_PUBLIC_EXCALIDRAW_PORT': JSON.stringify(env.VITE_EXCALIDRAW_PORT || env.NEXT_PUBLIC_EXCALIDRAW_PORT || '3001'),
|
|
'process.env.NEXT_PUBLIC_YJS_PORT': JSON.stringify(env.VITE_YJS_PORT || env.NEXT_PUBLIC_YJS_PORT || '1236'),
|
|
'process.env.NEXT_PUBLIC_LIVEKIT_URL': JSON.stringify(env.VITE_LIVEKIT_URL || env.NEXT_PUBLIC_LIVEKIT_URL || ''),
|
|
},
|
|
server: {
|
|
port: 3032,
|
|
host: true,
|
|
allowedHosts: true,
|
|
},
|
|
preview: {
|
|
port: 3032,
|
|
},
|
|
build: {
|
|
chunkSizeWarningLimit: 1600,
|
|
rollupOptions: {
|
|
output: {
|
|
manualChunks: {
|
|
mui: ['@mui/material', '@mui/lab'],
|
|
fullcalendar: ['@fullcalendar/core', '@fullcalendar/react'],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
});
|