Merge branch 'electron-vite:main' into patch-1

This commit is contained in:
hayper 2023-01-19 13:01:30 +07:00 committed by GitHub
commit 3544247016
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,67 +5,70 @@ import electron from 'vite-plugin-electron'
import renderer from 'vite-plugin-electron-renderer' import renderer from 'vite-plugin-electron-renderer'
import pkg from './package.json' import pkg from './package.json'
rmSync('dist-electron', { recursive: true, force: true })
const isDevelopment = process.env.NODE_ENV === "development" || !!process.env.VSCODE_DEBUG
const isProduction = process.env.NODE_ENV === "production"
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig(({ command }) => {
plugins: [ rmSync('dist-electron', { recursive: true, force: true })
vue(),
electron([ const isServe = command === 'serve'
{ const isBuild = command === 'build'
// Main-Process entry file of the Electron App. const sourcemap = isServe || !!process.env.VSCODE_DEBUG
entry: 'electron/main/index.ts',
onstart(options) { return {
if (process.env.VSCODE_DEBUG) { plugins: [
console.log(/* For `.vscode/.debug.script.mjs` */'[startup] Electron App') vue(),
} else { electron([
options.startup() {
} // Main-Process entry file of the Electron App.
}, entry: 'electron/main/index.ts',
vite: { onstart(options) {
build: { if (process.env.VSCODE_DEBUG) {
sourcemap: isDevelopment, console.log(/* For `.vscode/.debug.script.mjs` */'[startup] Electron App')
minify: isProduction, } else {
outDir: 'dist-electron/main', options.startup()
rollupOptions: { }
external: Object.keys("dependencies" in pkg ? pkg.dependencies : {}), },
vite: {
build: {
sourcemap,
minify: isBuild,
outDir: 'dist-electron/main',
rollupOptions: {
external: Object.keys('dependencies' in pkg ? pkg.dependencies : {}),
},
}, },
}, },
}, },
}, {
{ entry: 'electron/preload/index.ts',
entry: 'electron/preload/index.ts', onstart(options) {
onstart(options) { // Notify the Renderer-Process to reload the page when the Preload-Scripts build is complete,
// Notify the Renderer-Process to reload the page when the Preload-Scripts build is complete, // instead of restarting the entire Electron App.
// instead of restarting the entire Electron App. options.reload()
options.reload() },
}, vite: {
vite: { build: {
build: { sourcemap,
sourcemap: isDevelopment, minify: isBuild,
minify: isProduction, outDir: 'dist-electron/preload',
outDir: 'dist-electron/preload', rollupOptions: {
rollupOptions: { external: Object.keys('dependencies' in pkg ? pkg.dependencies : {}),
external: Object.keys("dependencies" in pkg ? pkg.dependencies : {}), },
}, },
}, },
}, }
]),
// Use Node.js API in the Renderer-process
renderer({
nodeIntegration: true,
}),
],
server: process.env.VSCODE_DEBUG && (() => {
const url = new URL(pkg.debug.env.VITE_DEV_SERVER_URL)
return {
host: url.hostname,
port: +url.port,
} }
]), })(),
// Use Node.js API in the Renderer-process clearScreen: false,
renderer({ }
nodeIntegration: true,
}),
],
server: !!process.env.VSCODE_DEBUG ? (() => {
const url = new URL(pkg.debug.env.VITE_DEV_SERVER_URL)
return {
host: url.hostname,
port: +url.port,
}
})() : undefined,
clearScreen: false,
}) })