ab3a787da5
- новый Spring Cloud Gateway (WebFlux): доменные маршруты /api/pcp-<x>/**
со StripPrefix=2, /api/stations без среза пути, catch-all /api/** → ui-service;
опциональная JWT-валидация на edge (gateway.security.jwt-enabled, по умолчанию off)
- config-repo: pcp-gateway-service.yaml (маршруты) + порт/адрес gateway в реестрах
application-{local,docker-local,dev}
- build: репозитории переведены на mavenCentral (nstart-proxy закомментирован),
включены mavenLocal/gradlePluginPortal; settings: include модуля
- pcp-tgu-ui-service: vite-proxy и nginx.conf свёрнуты на единый /api → gateway
(вместо набора per-service правил)
- deploy: сервис gateway в docker-compose; helm-чарт pcp-gateway-service
- CI: .gitlab/ci/pcp-gateway-service.yml + проводка в .gitlab-ci.yml
39 lines
1.8 KiB
TypeScript
39 lines
1.8 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,
|
||
// Всё /api/* уходит на gateway (Spring Cloud Gateway, dev :7080). Gateway сам
|
||
// срезает префиксы pcp-* (StripPrefix) и выбирает бэкенд — ровно то, что раньше
|
||
// делали правила-зеркала здесь. В проде то же делает nginx.conf.
|
||
proxy: {
|
||
'/api': {
|
||
target: 'http://localhost:7080',
|
||
changeOrigin: true,
|
||
},
|
||
},
|
||
},
|
||
test: {
|
||
environment: 'jsdom',
|
||
globals: true,
|
||
},
|
||
})
|