electron-vite/src/build.ts
2022-09-18 17:06:06 +08:00

34 lines
1 KiB
TypeScript

import { build as viteBuild } from 'vite'
import { InlineConfig, resolveConfig } from './config'
/**
* Bundles the electron app for production.
*/
export async function build(inlineConfig: InlineConfig = {}): Promise<void> {
process.env.NODE_ENV_ELECTRON_VITE = 'production'
const config = await resolveConfig(inlineConfig, 'build', 'production')
if (config.config) {
const mainViteConfig = config.config?.main
if (mainViteConfig) {
if (mainViteConfig.build?.watch) {
mainViteConfig.build.watch = null
}
await viteBuild(mainViteConfig)
}
const preloadViteConfig = config.config?.preload
if (preloadViteConfig) {
if (preloadViteConfig.build?.watch) {
preloadViteConfig.build.watch = null
}
await viteBuild(preloadViteConfig)
}
const rendererViteConfig = config.config?.renderer
if (rendererViteConfig) {
if (rendererViteConfig.build?.watch) {
rendererViteConfig.build.watch = null
}
await viteBuild(rendererViteConfig)
}
}
}