commit
58e568506a
|
@ -12,8 +12,12 @@ const pkg = require('../package.json')
|
|||
const envContent = Object.entries(pkg.env).map(([key, val]) => `${key}=${val}`)
|
||||
fs.writeFileSync(path.join(__dirname, '.debug.env'), envContent.join('\n'))
|
||||
|
||||
// for debug
|
||||
fs.writeFileSync(path.join(__dirname, '../node_modules/.electron-vite-debug'), '')
|
||||
|
||||
// bootstrap
|
||||
spawn(
|
||||
// TODO: terminate `npm run dev` when Debug exits.
|
||||
process.platform === 'win32' ? 'npm.cmd' : 'npm',
|
||||
['run', 'dev'],
|
||||
{ stdio: 'inherit' },
|
||||
|
|
|
@ -1,7 +1 @@
|
|||
declare namespace NodeJS {
|
||||
interface ProcessEnv {
|
||||
NODE_ENV: 'development' | 'production'
|
||||
readonly VITE_DEV_SERVER_HOST: string
|
||||
readonly VITE_DEV_SERVER_PORT: string
|
||||
}
|
||||
}
|
||||
/// <reference types="vite-plugin-electron/electron-env" />
|
12
package.json
12
package.json
|
@ -14,21 +14,19 @@
|
|||
"engines": {
|
||||
"node": ">=14.17.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"electron-store": "^8.0.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"@types/react": "^18.0.15",
|
||||
"@types/react-dom": "^18.0.6",
|
||||
"@vitejs/plugin-react": "^1.3.2",
|
||||
"electron": "^19.0.8",
|
||||
"@vitejs/plugin-react": "^2.0.0",
|
||||
"electron": "^19.0.9",
|
||||
"electron-builder": "^23.1.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"sass": "^1.53.0",
|
||||
"typescript": "^4.7.4",
|
||||
"vite": "^2.9.14",
|
||||
"vite-plugin-electron": "^0.8.0"
|
||||
"vite": "^3.0.2",
|
||||
"vite-plugin-electron": "^0.8.1"
|
||||
},
|
||||
"env": {
|
||||
"VITE_DEV_SERVER_HOST": "127.0.0.1",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { rmSync } from 'fs'
|
||||
import { existsSync, rmSync } from 'fs'
|
||||
import { join } from 'path'
|
||||
import { defineConfig } from 'vite'
|
||||
import { defineConfig, UserConfig, Plugin } from 'vite'
|
||||
import react from '@vitejs/plugin-react'
|
||||
import electron from 'vite-plugin-electron'
|
||||
import pkg from './package.json'
|
||||
|
@ -20,12 +20,11 @@ export default defineConfig({
|
|||
electron({
|
||||
main: {
|
||||
entry: 'electron/main/index.ts',
|
||||
vite: {
|
||||
vite: withDebug({
|
||||
build: {
|
||||
sourcemap: false,
|
||||
outDir: 'dist/electron/main',
|
||||
},
|
||||
},
|
||||
}),
|
||||
},
|
||||
preload: {
|
||||
input: {
|
||||
|
@ -49,3 +48,23 @@ export default defineConfig({
|
|||
port: pkg.env.VITE_DEV_SERVER_PORT,
|
||||
},
|
||||
})
|
||||
|
||||
function withDebug(config: UserConfig): UserConfig {
|
||||
const debugFile = join(__dirname, 'node_modules/.electron-vite-debug')
|
||||
const isDebug = existsSync(debugFile)
|
||||
|
||||
if (isDebug) {
|
||||
config.build.sourcemap = true
|
||||
config.plugins = (config.plugins || []).concat({
|
||||
name: 'electron-vite-debug',
|
||||
configResolved(config) {
|
||||
// TODO: when the next version of `vite-plugine-electron` is released, use the config hook.
|
||||
const index = config.plugins.findIndex(p => p.name === 'electron-main-watcher');
|
||||
(config.plugins as Plugin[]).splice(index, 1)
|
||||
rmSync(debugFile)
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
return config
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue