43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { readFileSync } from 'node:fs';
|
|
import { resolve } from 'node:path';
|
|
|
|
import react from '@vitejs/plugin-react';
|
|
import { defineConfig } from 'vite';
|
|
|
|
const ROOT = __dirname;
|
|
const standalonePort = process.env.VITE_STANDALONE_PORT?.trim() || '3456';
|
|
const webPort = Number.parseInt(process.env.VITE_WEB_PORT?.trim() || '5174', 10);
|
|
const pkg = JSON.parse(readFileSync(resolve(ROOT, 'package.json'), 'utf-8')) as { version: string };
|
|
|
|
export default defineConfig({
|
|
root: resolve(ROOT, 'src/renderer'),
|
|
cacheDir: resolve(ROOT, 'node_modules/.vite/web-renderer'),
|
|
plugins: [react()],
|
|
server: {
|
|
host: '127.0.0.1',
|
|
port: webPort,
|
|
proxy: {
|
|
'/api': {
|
|
target: `http://127.0.0.1:${standalonePort}`,
|
|
changeOrigin: false,
|
|
},
|
|
},
|
|
},
|
|
optimizeDeps: {
|
|
include: ['@codemirror/language-data'],
|
|
exclude: ['@claude-teams/agent-graph'],
|
|
},
|
|
define: {
|
|
__APP_VERSION__: JSON.stringify(pkg.version),
|
|
'import.meta.env.VITE_SENTRY_DSN': JSON.stringify(process.env.SENTRY_DSN ?? ''),
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@features': resolve(ROOT, 'src/features'),
|
|
'@renderer': resolve(ROOT, 'src/renderer'),
|
|
'@shared': resolve(ROOT, 'src/shared'),
|
|
'@main': resolve(ROOT, 'src/main'),
|
|
'@claude-teams/agent-graph': resolve(ROOT, 'packages/agent-graph/src/index.ts'),
|
|
},
|
|
},
|
|
});
|