electron-vite-react/scripts/build.mjs

49 lines
1.1 KiB
JavaScript
Raw Normal View History

process.env.NODE_ENV = 'production'
import { build as viteBuild } from 'vite'
2021-11-22 15:46:07 +08:00
import { build as electronBuild, Platform } from 'electron-builder'
import { config as builderConfig } from '../configs/electron-builder.config.mjs'
import chalk from 'chalk'
2021-12-07 21:32:17 +08:00
import path from 'path'
const TAG = chalk.bgBlue('[build.mjs]')
const viteConfigs = {
main: 'configs/vite.main.ts',
preload: 'configs/vite.preload.ts',
2021-11-11 12:46:00 +08:00
reactTs: 'configs/vite.renderer.ts',
}
async function buildElectron() {
for (const [name, configPath] of Object.entries(viteConfigs)) {
console.group(TAG, name)
2021-12-07 21:32:17 +08:00
const config = {
configFile: configPath,
mode: process.env.NODE_ENV,
}
if (name === 'reactTs') {
config.publicDir = path.resolve('./public')
}
await viteBuild(config)
console.groupEnd()
console.log() // for beautiful log.
}
}
async function packElectron() {
2021-11-22 15:46:07 +08:00
return electronBuild({
config: builderConfig,
// if you want to build windows platform
// targets: Platform.WINDOWS.createTarget(),
}).then(result => {
2021-11-22 15:47:08 +08:00
console.log(TAG, 'files:', chalk.green(result))
2021-11-22 15:46:07 +08:00
})
}
2021-11-23 09:55:28 +08:00
// bootstrap
await buildElectron()
await packElectron()