import { defineConfig, externalizeDepsPlugin } from 'electron-vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' import { execSync } from 'child_process' import { readFileSync } from 'fs' const appVersion = (() => { try { return execSync('git describe --tags --abbrev=0').toString().trim() } catch { // PAD 等无 git 环境:读取同步过来的 .app-version 文件 try { return readFileSync(resolve('.app-version'), 'utf-8').trim() } catch { return 'dev' } } })() export default defineConfig({ main: { plugins: [externalizeDepsPlugin()], resolve: { alias: { '@main': resolve('src/main') } }, build: { lib: { entry: { index: resolve('src/main/index.ts'), 'asr-worker': resolve('resources/asr-worker.cjs'), 'tts-worker': resolve('resources/tts-worker.cjs') }, formats: ['cjs'] } } }, preload: { plugins: [externalizeDepsPlugin()] }, renderer: { resolve: { alias: { '@renderer': resolve('src/renderer/src') } }, plugins: [vue()], define: { __APP_VERSION__: JSON.stringify(appVersion) } } })