77 lines
1.7 KiB
JavaScript
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),
|
|
},
|
|
},
|
|
};
|
|
});
|