import { defineConfig, externalizeDepsPlugin } from 'electron-vite'; import react from '@vitejs/plugin-react'; import tailwindcss from '@tailwindcss/vite'; import { resolve } from 'path'; import { readFileSync } from 'fs'; // P2-12: 从 package.json 读取版本号,构建期注入渲染进程(StatusBar 兜底显示) const pkg = JSON.parse(readFileSync(resolve(__dirname, 'package.json'), 'utf-8')) as { version: string }; export default defineConfig({ main: { plugins: [externalizeDepsPlugin()], build: { outDir: 'dist-electron/main', rollupOptions: { input: { main: resolve(__dirname, 'electron/main.ts') }, }, }, }, preload: { plugins: [externalizeDepsPlugin()], build: { outDir: 'dist-electron/preload', rollupOptions: { input: { preload: resolve(__dirname, 'electron/preload.ts') }, }, }, }, renderer: { root: '.', plugins: [react(), tailwindcss()], define: { __APP_VERSION__: JSON.stringify(pkg.version), }, resolve: { alias: { '@renderer': resolve(__dirname, 'src'), '@shared': resolve(__dirname, 'electron/harness/types'), }, }, build: { outDir: 'dist', rollupOptions: { input: { main: resolve(__dirname, 'index.html') }, }, }, }, });