- Redesign PreJoin component and CSS for improved template compatibility and deterministic rendering - Remove mock studio toggle and related runtime logic; update useStudioLauncher to always use real backend - Add README-MOCK.md to document mock studio deprecation - Add mock-studio.html for manual popup emulation - Update environment variable resolution in route.ts for backend API - Add visual regression test scripts (capture, compare, visual_test_prejoin) using Playwright, Puppeteer, pixelmatch, and pngjs - Update package.json scripts and devDependencies for visual testing - Simplify PreJoin.stories.tsx for robust Storybook usage
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import path from 'path'
|
|
|
|
export default defineConfig(({ mode }) => ({
|
|
plugins: [react() as any],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, 'src'),
|
|
'@shared': path.resolve(__dirname, '../../shared'),
|
|
'@avanza-ui': path.resolve(__dirname, '../avanza-ui/src'),
|
|
// Monorepo package aliases
|
|
'@avanzacast/shared-hooks': path.resolve(__dirname, '../../shared/hooks'),
|
|
'@avanzacast/shared-components': path.resolve(__dirname, '../../shared/components'),
|
|
'@avanzacast/shared-utils': path.resolve(__dirname, '../../shared/utils'),
|
|
'@avanzacast/shared-types': path.resolve(__dirname, '../../shared/types'),
|
|
},
|
|
},
|
|
optimizeDeps: {
|
|
// Pre-bundle shared packages so Vite can resolve them during dev
|
|
include: [
|
|
'@avanzacast/shared-hooks',
|
|
'@avanzacast/shared-components',
|
|
'@avanzacast/shared-utils',
|
|
'@avanzacast/shared-types',
|
|
],
|
|
},
|
|
server: {
|
|
port: 5175,
|
|
host: true,
|
|
fs: {
|
|
// allow serving files from the monorepo root and shared folder
|
|
allow: [path.resolve(__dirname, '../../')],
|
|
},
|
|
proxy: {
|
|
// Proxy API calls to local backend during development
|
|
'/api': {
|
|
target: process.env.VITE_API_URL || 'http://localhost:4000',
|
|
changeOrigin: true,
|
|
secure: false,
|
|
rewrite: (p) => p.replace(/^\/api/, '/api'),
|
|
},
|
|
},
|
|
// Allowlist hosts for preview/remote access
|
|
allowedHosts: [
|
|
'avanzacast-broadcastpanel.zuqtxy.easypanel.host',
|
|
'avanzacast-broadcastpanel.bfzqqk.easypanel.host',
|
|
'localhost',
|
|
],
|
|
},
|
|
}))
|