chore: establish YCode replication baseline and TODO
This commit is contained in:
commit
6dc59f89ba
1118 files changed
+196002
No files matched your search
@@ -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') }
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in new issue
Block a user