Files
mai-bot/dashboard/vite.config.ts
DrSmoothl 3680009122 chore(config): tighten tsconfig and eslint strictness
- Enable strict mode in tsconfig.app.json (already enabled, now reinforced)
- Add allowSyntheticDefaultImports for better ES module compatibility
- Add skipLibCheck to suppress @types errors during compilation
- Change @typescript-eslint/no-explicit-any from 'off' to 'warn'
- @typescript-eslint/no-unused-vars already enabled as 'warn'
- Remove unused jotai from vite bundle configuration
- Build passes successfully with 0 errors
2026-03-01 16:57:49 +08:00

127 lines
3.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
// https://vite.dev/config/
export default defineConfig({
plugins: [react()],
server: {
port: 7999,
proxy: {
'/api': {
target: 'http://127.0.0.1:8001', // WebUI 后端服务器
changeOrigin: true,
ws: true,
// 确保 Cookie 正确转发
cookieDomainRewrite: '', // 移除域名限制
cookiePathRewrite: '/', // 确保路径一致
},
},
},
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
optimizeDeps: {
include: ['react', 'react-dom'],
},
build: {
rollupOptions: {
output: {
manualChunks: {
// React 核心库
'react-vendor': ['react', 'react-dom', 'react/jsx-runtime'],
// TanStack Router
'router': ['@tanstack/react-router', '@tanstack/react-virtual'],
// Radix UI 组件库(按使用频率分组)
'radix-core': [
'@radix-ui/react-dialog',
'@radix-ui/react-select',
'@radix-ui/react-checkbox',
'@radix-ui/react-label',
'@radix-ui/react-slot',
'@radix-ui/react-toast',
'@radix-ui/react-tooltip',
],
'radix-extra': [
'@radix-ui/react-alert-dialog',
'@radix-ui/react-avatar',
'@radix-ui/react-collapsible',
'@radix-ui/react-context-menu',
'@radix-ui/react-popover',
'@radix-ui/react-progress',
'@radix-ui/react-scroll-area',
'@radix-ui/react-separator',
'@radix-ui/react-slider',
'@radix-ui/react-switch',
'@radix-ui/react-tabs',
],
// 图标库
'icons': ['lucide-react'],
// 图表库
'charts': ['recharts'],
// CodeMirror 编辑器(较大,单独分包)
'codemirror': [
'@uiw/react-codemirror',
'@codemirror/lang-javascript',
'@codemirror/lang-json',
'@codemirror/lang-python',
'@codemirror/lint',
'@codemirror/theme-one-dark',
],
// ReactFlow 流程图(较大,单独分包)
'reactflow': ['reactflow', 'dagre'],
// Markdown 渲染(较大,单独分包)
'markdown': [
'react-markdown',
'remark-gfm',
'remark-math',
'rehype-katex',
'katex',
],
// 文件上传Uppy
'uppy': [
'@uppy/core',
'@uppy/dashboard',
'@uppy/react',
'@uppy/xhr-upload',
],
// 拖拽功能
'dnd': [
'@dnd-kit/core',
'@dnd-kit/sortable',
'@dnd-kit/utilities',
],
// 工具库
'utils': [
'date-fns',
'clsx',
'tailwind-merge',
'class-variance-authority',
'axios',
],
// 其他
'misc': [
'react-joyride',
'react-day-picker',
'cmdk',
],
},
},
},
chunkSizeWarningLimit: 500, // 降低警告阈值,便于发现大块
},
})