Rapport_React/vite.config.js

77 lines
1.7 KiB
JavaScript

import { defineConfig , loadEnv } from 'vite';
import react from '@vitejs/plugin-react';
import { resolve } from 'node:path';
const localServices = {
ums: 3010,
wall: 3011,
mag: 3012,
metric: 3013,
recognition: 3014,
form: 3015,
detailing: 3016,
competition: 3017,
communication: 3018,
formreminders: 3019,
catalog: 3020,
reports: 3021,
rcpa: 3022,
events: 3023,
contact: 3024,
workflow: 3025,
forum: 4002,
vgreet: 4003,
};
const localProxy = Object.fromEntries(
Object.entries(localServices).map(([service, port]) => [
`/api/${service}`,
{
target: `http://localhost:${port}`,
changeOrigin: true,
rewrite: (path) => path.replace(new RegExp(`^/api/${service}`), '/dev'),
},
]),
);
const productionProxy = {
'/api/ums/hierarchy/get_all': {
target: 'https://ljtw6cnu6kzxm3s76upgsvmz5u0ufrep.lambda-url.ap-south-1.on.aws',
changeOrigin: true,
secure: true,
rewrite: () => '/',
},
'/api': {
target: 'https://rapportapi.click',
changeOrigin: true,
secure: true,
rewrite: (path) => path.replace(/^\/api/, ''),
},
};
const laravelProxy = {
'/laravel-api': {
target: process.env.VITE_LARAVEL_ORIGIN || 'http://127.0.0.1:8000',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/laravel-api/, '/api'),
},
};
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), '');
return {
plugins: [react()],
resolve: {
alias: { '@': resolve(__dirname, 'src') },
},
server: {
port: 5173,
proxy: {
...laravelProxy,
...(env.VITE_API_MODE === 'local' ? localProxy : productionProxy),
},
},
};
});