mirror of
https://mirror.skon.top/github.com/ILoveBingLu/CipherTalk
synced 2026-04-21 13:50:19 +08:00
90 lines
1.8 KiB
TypeScript
90 lines
1.8 KiB
TypeScript
import { defineConfig } from 'vite'
|
||
import react from '@vitejs/plugin-react'
|
||
import electron from 'vite-plugin-electron'
|
||
import renderer from 'vite-plugin-electron-renderer'
|
||
import { resolve } from 'path'
|
||
import { builtinModules } from 'module'
|
||
|
||
const pkg = require('./package.json')
|
||
const external = [
|
||
...builtinModules,
|
||
...builtinModules.map(m => `node:${m}`),
|
||
...Object.keys(pkg.dependencies || {}),
|
||
]
|
||
|
||
export default defineConfig({
|
||
base: './',
|
||
optimizeDeps: {
|
||
entries: ['index.html']
|
||
},
|
||
server: {
|
||
port: 3000,
|
||
strictPort: false // 如果3000被占用,自动尝试下一个
|
||
},
|
||
plugins: [
|
||
react(),
|
||
electron([
|
||
{
|
||
entry: 'electron/main.ts',
|
||
vite: {
|
||
build: {
|
||
outDir: 'dist-electron',
|
||
rollupOptions: {
|
||
external
|
||
}
|
||
}
|
||
}
|
||
},
|
||
{
|
||
entry: 'electron/preload.ts',
|
||
onstart(options) {
|
||
options.reload()
|
||
},
|
||
vite: {
|
||
build: {
|
||
outDir: 'dist-electron'
|
||
}
|
||
}
|
||
},
|
||
{
|
||
entry: 'electron/workers/decryptWorker.js',
|
||
vite: {
|
||
build: {
|
||
outDir: 'dist-electron/workers',
|
||
rollupOptions: { external }
|
||
}
|
||
}
|
||
},
|
||
{
|
||
entry: 'electron/transcribeWorker.ts',
|
||
vite: {
|
||
build: {
|
||
outDir: 'dist-electron',
|
||
rollupOptions: { external }
|
||
}
|
||
}
|
||
},
|
||
{
|
||
entry: 'electron/mcp.ts',
|
||
vite: {
|
||
build: {
|
||
outDir: 'dist-electron',
|
||
rollupOptions: { external }
|
||
}
|
||
}
|
||
}
|
||
]),
|
||
renderer()
|
||
],
|
||
resolve: {
|
||
alias: {
|
||
'@': resolve(__dirname, 'src')
|
||
}
|
||
},
|
||
build: {
|
||
rollupOptions: {
|
||
external: [/^WeFlow\/.*/]
|
||
}
|
||
}
|
||
})
|