uchill/front_minimal/vite.config.js

52 lines
1.9 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,
},
preview: {
port: 3032,
},
build: {
chunkSizeWarningLimit: 1600,
rollupOptions: {
output: {
manualChunks: {
mui: ['@mui/material', '@mui/lab'],
fullcalendar: ['@fullcalendar/core', '@fullcalendar/react'],
},
},
},
},
};
});