55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import { defineConfig, loadEnv } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import path from 'path'
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), '');
|
|
const backendUrl = env.VITE_BACKEND_URL || '';
|
|
|
|
return {
|
|
plugins: [
|
|
tailwindcss(),
|
|
react({
|
|
babel: {
|
|
plugins: [['babel-plugin-react-compiler']],
|
|
},
|
|
}),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
// Force single React instance to avoid duplicate React errors with @yudiel/react-qr-scanner
|
|
'react': path.resolve(__dirname, './node_modules/react'),
|
|
'react-dom': path.resolve(__dirname, './node_modules/react-dom'),
|
|
},
|
|
},
|
|
build: {
|
|
target: 'es2020',
|
|
},
|
|
server: {
|
|
proxy: {
|
|
'/api': {
|
|
target: backendUrl,
|
|
changeOrigin: true,
|
|
},
|
|
'/static': {
|
|
target: backendUrl,
|
|
changeOrigin: true,
|
|
},
|
|
'/media': {
|
|
target: backendUrl,
|
|
changeOrigin: true,
|
|
},
|
|
/*'/ws': {
|
|
target: 'ws://localhost:8000/',
|
|
ws: true,
|
|
changeOrigin: true,
|
|
rewriteWsOrigin: true,
|
|
},*/
|
|
},
|
|
},
|
|
};
|
|
})
|