import { resolve } from 'path' import { defineConfig, externalizeDepsPlugin } from 'electron-vite' import react from '@vitejs/plugin-react' const sharedAlias = { '@d3ro/core': resolve(__dirname, '../../packages/core/src'), '@d3ro/ui': resolve(__dirname, '../../packages/ui/src') } const workspaceExclude = ['@d3ro/core', '@d3ro/ui'] export default defineConfig({ main: { plugins: [ externalizeDepsPlugin({ exclude: ['nanoid', 'electron-store', ...workspaceExclude] }) ], resolve: { alias: sharedAlias } }, preload: { plugins: [externalizeDepsPlugin({ exclude: workspaceExclude })], build: { rollupOptions: { input: { index: resolve(__dirname, 'src/preload/index.ts'), popup: resolve(__dirname, 'src/preload/popup.ts') } } }, resolve: { alias: sharedAlias } }, renderer: { build: { rollupOptions: { input: { index: resolve(__dirname, 'src/renderer/index.html'), 'popups/recording-tip': resolve( __dirname, 'src/renderer/popups/recording-tip/index.html' ), 'popups/result-popup': resolve( __dirname, 'src/renderer/popups/result-popup/index.html' ), 'popups/history-popup': resolve( __dirname, 'src/renderer/popups/history-popup/index.html' ), 'popups/command-popup': resolve( __dirname, 'src/renderer/popups/command-popup/index.html' ), 'popups/caption-overlay': resolve( __dirname, 'src/renderer/popups/caption-overlay/index.html' ) } } }, resolve: { alias: sharedAlias }, plugins: [react()] } })