mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
* chore: update electron configuration and add debug script - Added sourcemap generation for development builds in electron.vite.config.ts. - Introduced a new debug script in package.json for easier debugging with remote inspection. * docs: add debug section to development documentation - Introduced a new section for debugging instructions, including the command to run the debug script and how to access the Chrome inspect tool.
98 lines
2.5 KiB
TypeScript
98 lines
2.5 KiB
TypeScript
import react from '@vitejs/plugin-react-swc'
|
|
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
|
|
import { resolve } from 'path'
|
|
import { visualizer } from 'rollup-plugin-visualizer'
|
|
|
|
const visualizerPlugin = (type: 'renderer' | 'main') => {
|
|
return process.env[`VISUALIZER_${type.toUpperCase()}`] ? [visualizer({ open: true })] : []
|
|
}
|
|
|
|
export default defineConfig({
|
|
main: {
|
|
plugins: [
|
|
externalizeDepsPlugin({
|
|
exclude: [
|
|
'@cherrystudio/embedjs',
|
|
'@cherrystudio/embedjs-openai',
|
|
'@cherrystudio/embedjs-loader-web',
|
|
'@cherrystudio/embedjs-loader-markdown',
|
|
'@cherrystudio/embedjs-loader-msoffice',
|
|
'@cherrystudio/embedjs-loader-xml',
|
|
'@cherrystudio/embedjs-loader-pdf',
|
|
'@cherrystudio/embedjs-loader-sitemap',
|
|
'@cherrystudio/embedjs-libsql',
|
|
'@cherrystudio/embedjs-loader-image',
|
|
'p-queue',
|
|
'webdav'
|
|
]
|
|
}),
|
|
...visualizerPlugin('main')
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@main': resolve('src/main'),
|
|
'@types': resolve('src/renderer/src/types'),
|
|
'@shared': resolve('packages/shared')
|
|
}
|
|
},
|
|
build: {
|
|
rollupOptions: {
|
|
external: ['@libsql/client']
|
|
},
|
|
sourcemap: process.env.NODE_ENV === 'development'
|
|
},
|
|
optimizeDeps: {
|
|
noDiscovery: process.env.NODE_ENV === 'development'
|
|
}
|
|
},
|
|
preload: {
|
|
plugins: [externalizeDepsPlugin()],
|
|
resolve: {
|
|
alias: {
|
|
'@shared': resolve('packages/shared')
|
|
}
|
|
},
|
|
build: {
|
|
sourcemap: process.env.NODE_ENV === 'development'
|
|
}
|
|
},
|
|
renderer: {
|
|
plugins: [
|
|
react({
|
|
plugins: [
|
|
[
|
|
'@swc/plugin-styled-components',
|
|
{
|
|
displayName: true, // 开发环境下启用组件名称
|
|
fileName: false, // 不在类名中包含文件名
|
|
pure: true, // 优化性能
|
|
ssr: false // 不需要服务端渲染
|
|
}
|
|
]
|
|
]
|
|
}),
|
|
...visualizerPlugin('renderer')
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@renderer': resolve('src/renderer/src'),
|
|
'@shared': resolve('packages/shared')
|
|
}
|
|
},
|
|
optimizeDeps: {
|
|
exclude: ['pyodide']
|
|
},
|
|
worker: {
|
|
format: 'es'
|
|
},
|
|
build: {
|
|
rollupOptions: {
|
|
input: {
|
|
index: resolve(__dirname, 'src/renderer/index.html'),
|
|
miniWindow: resolve(__dirname, 'src/renderer/miniWindow.html')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|