chore: establish YCode replication baseline and TODO

This commit is contained in:
xiaohan.yuan committed 2026-10-17 02:43:49 +08:00
commit 6dc59f89ba
1118 files changed
+196002

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
import { resolve } from 'node:path'
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
import react from '@vitejs/plugin-react'
const root = process.cwd()
/**
* electron 位于 devDependencies,externalizeDepsPlugin 只处理 dependencies,
* 因此必须显式 external,否则 electron 的 Node 入口会被内联进主进程产物。
*/
// node-pty resolves its shipped native/prebuild resources relative to its own package.
// Preserve that package boundary instead of moving its loader into out/main.
const builtinsExternal = ['electron', 'node-pty']
export default defineConfig({
main: {
plugins: [externalizeDepsPlugin()],
build: {
rollupOptions: {
input: resolve(root, 'src/main/index.ts'),
external: builtinsExternal
}
},
resolve: {
alias: { '@shared': resolve(root, 'src/shared') }
}
},
preload: {
plugins: [externalizeDepsPlugin()],
build: {
rollupOptions: {
input: resolve(root, 'src/preload/index.ts'),
external: builtinsExternal,
// sandbox: true 的 preload 必须是 CommonJS,ESM preload 只能配 sandbox: false
output: { format: 'cjs', entryFileNames: 'index.cjs' }
}
},
resolve: {
alias: { '@shared': resolve(root, 'src/shared') }
}
},
renderer: {
root: resolve(root, 'src/renderer'),
plugins: [react()],
resolve: {
alias: {
'@renderer': resolve(root, 'src/renderer/src'),
'@shared': resolve(root, 'src/shared')
}
},
build: {
rollupOptions: { input: resolve(root, 'src/renderer/index.html') }
}
}
})