import { fileURLToPath, URL } from 'node:url' import { loadEnv } from 'vite' import { defineConfig } from 'vitest/config' import vue from '@vitejs/plugin-vue' import tailwindcss from '@tailwindcss/vite' const srcRoot = fileURLToPath(new URL('./src', import.meta.url)) const uiKitEntry = fileURLToPath(new URL('./src/shared/ui-kit/index.ts', import.meta.url)) const uiKitStyles = fileURLToPath( new URL('./src/shared/ui-kit/lib/styles/index.css', import.meta.url), ) const uiKitLib = fileURLToPath(new URL('./src/shared/ui-kit/lib', import.meta.url)) export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), '') const proxyTarget = env.VITE_DEV_API_PROXY_TARGET || 'https://anal-back.dev.nii-ecos.ru' return { plugins: [vue(), tailwindcss()], resolve: { alias: [ { find: '@gisp/ui-kit-shadcn-vue/style.css', replacement: uiKitStyles, }, { find: '@gisp/ui-kit-shadcn-vue', replacement: uiKitEntry, }, { find: /^@\/lib\//, replacement: `${uiKitLib}/`, }, { find: /^@\/lib$/, replacement: uiKitLib, }, { find: '@', replacement: srcRoot, }, ], }, server: { proxy: { '/api': { target: proxyTarget, changeOrigin: true, secure: false, }, '/health': { target: proxyTarget, changeOrigin: true, secure: false, }, }, }, test: { environment: 'jsdom', include: ['src/**/*.spec.ts'], }, } })