From eb0a7e3ffe00ee3bd96dcd8e89f08be3266b3d76 Mon Sep 17 00:00:00 2001 From: alex8088 <244096523@qq.com> Date: Tue, 28 Oct 2025 22:53:03 +0800 Subject: [PATCH] refactor(build): simplify build logic --- src/build.ts | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/src/build.ts b/src/build.ts index ec24d10..af1a57d 100644 --- a/src/build.ts +++ b/src/build.ts @@ -7,27 +7,22 @@ import { type InlineConfig, resolveConfig } from './config' export async function build(inlineConfig: InlineConfig = {}): Promise { 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 + + if (!config.config) { + return + } + + // Build targets in order: main -> preload -> renderer + const buildTargets = ['main', 'preload', 'renderer'] as const + + for (const target of buildTargets) { + const viteConfig = config.config[target] + if (viteConfig) { + // Disable watch mode in production builds + if (viteConfig.build?.watch) { + viteConfig.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) + await viteBuild(viteConfig) } } }