Files
Exiled-Exchange-2/main/build/script.cjs
T
Alexander Drozdov 6b4473b8d9 feat: OCR
2023-01-26 14:26:22 +02:00

52 lines
1.2 KiB
JavaScript

const path = require('path')
const child_process = require('child_process')
const electron = require('electron')
const esbuild = require('esbuild')
const isDev = !process.argv.includes('--prod')
const electronRunner = (() => {
let handle = null
return {
restart () {
console.info('Restarting Electron process.')
if (handle) handle.kill()
handle = child_process.spawn(electron, ['.'], {
stdio: 'inherit'
})
}
}
})()
const visionBuild = esbuild.build({
entryPoints: ['src/vision/link-worker.ts'],
bundle: true,
platform: 'node',
outfile: 'dist/vision.js',
watch: isDev
})
const mainBuild = esbuild.build({
entryPoints: ['src/main.ts'],
bundle: true,
minify: !isDev,
platform: 'node',
external: ['electron', 'uiohook-napi', 'electron-overlay-window'],
outfile: 'dist/main.js',
define: {
'process.env.STATIC': (isDev) ? '"../build/icons"' : '"."',
'process.env.VITE_DEV_SERVER_URL': (isDev) ? '"http://localhost:5173"' : 'null'
},
watch: (isDev)
? { onRebuild (error) { if (!error) electronRunner.restart() } }
: false
})
Promise.all([
visionBuild,
mainBuild
])
.then(() => { if (isDev) electronRunner.restart() })
.catch(() => process.exit(1))