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, }, })