67 lines
2.6 KiB
TypeScript
67 lines
2.6 KiB
TypeScript
import { fileURLToPath } from 'node:url'
|
||
import { nstartAuth } from '@nstart/auth/vite'
|
||
import react from '@vitejs/plugin-react'
|
||
// vitest/config расширяет vite defineConfig — нужно для блока test ниже.
|
||
import { defineConfig } from 'vitest/config'
|
||
|
||
// Сборочная заглушка @nstart/ui: @nstart/auth реэкспортирует ProfilePage/UserPanel
|
||
// (с lottie ~6 МБ), которые в сервисе не используются. Алиас отдаёт их импорты в
|
||
// лёгкий стаб, чтобы их UI не попадал в бандл. Типы tsc берёт из реального пакета.
|
||
const nstartUiStub = fileURLToPath(new URL('./src/stubs/nstart-ui.tsx', import.meta.url))
|
||
|
||
export default defineConfig({
|
||
// nstartAuth() обслуживает /silent-check-sso.html (нужен части режимов входа);
|
||
// при loginMode=redirect безвреден. @nstart/ui-плагины и tailwind НЕ подключаем —
|
||
// их UI в сервисе не используется.
|
||
plugins: [nstartAuth(), react()],
|
||
resolve: {
|
||
dedupe: ['react', 'react-dom'],
|
||
alias: [{ find: /^@nstart\/ui$/, replacement: nstartUiStub }],
|
||
},
|
||
server: {
|
||
host: '0.0.0.0',
|
||
port: 5174,
|
||
// ТГУ ходит в несколько бэкендов через префиксы. В проде эти маршруты
|
||
// повторяются в nginx.conf (зеркало) либо на gateway/ingress.
|
||
proxy: {
|
||
'/api/pcp-request': {
|
||
target: 'http://localhost:7005',
|
||
changeOrigin: true,
|
||
rewrite: (path: string) => path.replace(/^\/api\/pcp-request/, ''),
|
||
},
|
||
'/api/pcp-ballistics': {
|
||
target: 'http://localhost:7003',
|
||
changeOrigin: true,
|
||
rewrite: (path: string) => path.replace(/^\/api\/pcp-ballistics/, ''),
|
||
},
|
||
'/api/pcp-mission': {
|
||
target: 'http://localhost:7010',
|
||
changeOrigin: true,
|
||
rewrite: (path: string) => path.replace(/^\/api\/pcp-mission/, ''),
|
||
},
|
||
'/api/pcp-tgu': {
|
||
target: 'http://localhost:7011',
|
||
changeOrigin: true,
|
||
rewrite: (path: string) => path.replace(/^\/api\/pcp-tgu/, ''),
|
||
},
|
||
'/api/pcp-complex': {
|
||
target: 'http://localhost:7002',
|
||
changeOrigin: true,
|
||
rewrite: (path: string) => path.replace(/^\/api\/pcp-complex/, ''),
|
||
},
|
||
'/api/stations': {
|
||
target: 'http://localhost:7009',
|
||
changeOrigin: true,
|
||
},
|
||
'/api': {
|
||
target: 'http://localhost:7008',
|
||
changeOrigin: true,
|
||
},
|
||
},
|
||
},
|
||
test: {
|
||
environment: 'jsdom',
|
||
globals: true,
|
||
},
|
||
})
|