electron-vite-react/.vscode/.debug.script.mjs

48 lines
1.1 KiB
JavaScript
Raw Normal View History

2022-03-14 15:24:36 +08:00
import fs from 'fs'
import path from 'path'
import { fileURLToPath } from 'url'
import { createRequire } from 'module'
import { build, createServer } from 'vite'
const pkg = createRequire(import.meta.url)('../package.json')
const __dirname = path.dirname(fileURLToPath(import.meta.url))
2022-03-14 15:34:22 +08:00
async function buildDebugApp() {
2022-03-14 15:24:36 +08:00
const server = await createServer({ configFile: 'packages/renderer/vite.config.ts' })
await server.listen()
await build({
configFile: 'packages/preload/vite.config.ts',
build: {
watch: true,
sourcemap: true,
},
mode: 'development',
})
await build({
configFile: 'packages/main/vite.config.ts',
build: {
watch: true,
sourcemap: true,
},
mode: 'development',
plugins: [{
name: 'electron-preload-watcher',
writeBundle() {
server.ws.send({ type: 'full-reload' })
},
}],
})
}
function writeEnvLocal() {
const envContent = Object.entries(pkg.env).map(([key, val]) => `${key}=${val}`)
2022-03-14 15:34:22 +08:00
fs.writeFileSync(path.join(__dirname, '.debug.env'), envContent.join('\n'))
2022-03-14 15:24:36 +08:00
}
// bootstrap
writeEnvLocal()
2022-03-14 15:34:22 +08:00
buildDebugApp()