Files
CipherTalk/vite.config.ts
T

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\/.*/]
}
}
})