33 lines
741 B
TypeScript
33 lines
741 B
TypeScript
|
|
import path from 'node:path';
|
||
|
|
import { sveltekit } from '@sveltejs/kit/vite';
|
||
|
|
import { defineConfig, loadEnv, searchForWorkspaceRoot } from 'vite';
|
||
|
|
import { resolveBackendOrigin } from '../shared/frontend/backend';
|
||
|
|
|
||
|
|
export default defineConfig(({ mode }) => {
|
||
|
|
const env = loadEnv(mode, '.', '');
|
||
|
|
|
||
|
|
return {
|
||
|
|
plugins: [sveltekit()],
|
||
|
|
server: {
|
||
|
|
allowedHosts: true,
|
||
|
|
fs: {
|
||
|
|
allow: [
|
||
|
|
searchForWorkspaceRoot(process.cwd()),
|
||
|
|
path.resolve(__dirname, '../shared')
|
||
|
|
]
|
||
|
|
},
|
||
|
|
hmr: {
|
||
|
|
// When behind a reverse proxy (Traefik), use the client's host for WebSocket
|
||
|
|
clientPort: 443,
|
||
|
|
protocol: 'wss'
|
||
|
|
},
|
||
|
|
proxy: {
|
||
|
|
'/api': {
|
||
|
|
target: resolveBackendOrigin(env),
|
||
|
|
changeOrigin: true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
});
|