- ESLint flat config + Prettier + EditorConfig - Markdown处理器LRU缓存 - Zustand选择器优化减少重渲染 - CodeMirror Compartment主题热切换 - Preview防抖(150ms) + IndexedDB去抖(500ms) - 组件拆分: App.tsx 310→104行, Sidebar.tsx 244→90行 - 统一错误处理 errorHandler.ts - ConfirmDialog替代原生confirm - LoadingSpinner加载状态 - Toast多条堆叠+类型区分 - 可访问性增强(ARIA属性、键盘导航) - Vitest测试框架(78个测试用例) - Git hooks(husky + lint-staged) - 项目文档(README.md, CONTRIBUTING.md)
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import { resolve } from 'path'
|
|
|
|
export default defineConfig({
|
|
main: {
|
|
plugins: [externalizeDepsPlugin()],
|
|
build: {
|
|
outDir: 'dist/main',
|
|
rollupOptions: {
|
|
input: { index: resolve(__dirname, 'src/main/index.ts') }
|
|
}
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@main': resolve(__dirname, 'src/main'),
|
|
'@shared': resolve(__dirname, 'src/shared')
|
|
}
|
|
}
|
|
},
|
|
preload: {
|
|
plugins: [externalizeDepsPlugin()],
|
|
build: {
|
|
outDir: 'dist/preload',
|
|
rollupOptions: {
|
|
input: { index: resolve(__dirname, 'src/preload/index.ts') }
|
|
}
|
|
}
|
|
},
|
|
renderer: {
|
|
plugins: [react()],
|
|
root: resolve(__dirname, 'src/renderer'),
|
|
build: {
|
|
outDir: resolve(__dirname, 'dist/renderer'),
|
|
rollupOptions: {
|
|
input: { index: resolve(__dirname, 'src/renderer/index.html') }
|
|
}
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@renderer': resolve(__dirname, 'src/renderer'),
|
|
'@shared': resolve(__dirname, 'src/shared')
|
|
}
|
|
}
|
|
}
|
|
})
|