Files
dc-observatio/services/pcp-tgu-ui-service/vite.config.ts
T
Дмитрий Соловьев ab3a787da5 feat(gateway): сервис pcp-gateway-service + сворачивание маршрутизации фронта на него
- новый 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
2026-06-10 13:34:16 +03:00

39 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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,
},
})