34 lines
934 B
TypeScript
34 lines
934 B
TypeScript
import { resolve } from 'node:path'
|
|
import { defineConfig } from 'electron-vite'
|
|
import react from '@vitejs/plugin-react'
|
|
|
|
// Три независимые сборки: main (Node), preload (sandbox) и renderer (браузер).
|
|
export default defineConfig({
|
|
main: {
|
|
build: {
|
|
rollupOptions: {
|
|
input: { index: resolve('src/main/index.ts') }
|
|
}
|
|
}
|
|
},
|
|
preload: {
|
|
build: {
|
|
rollupOptions: {
|
|
input: { index: resolve('src/preload/index.ts') },
|
|
// preload запускается в sandbox: всё, кроме самого electron, должно быть
|
|
// вкомпилировано в бандл — require() там недоступен.
|
|
external: ['electron']
|
|
}
|
|
}
|
|
},
|
|
renderer: {
|
|
resolve: {
|
|
alias: {
|
|
'@renderer': resolve('src/renderer/src'),
|
|
'@shared': resolve('src/shared')
|
|
}
|
|
},
|
|
plugins: [react()]
|
|
}
|
|
})
|