From 8723add7a680391d3a1977e24ecd0cf9f6196fd0 Mon Sep 17 00:00:00 2001 From: byc <2786660867@qq.com> Date: Fri, 26 Sep 2025 09:22:14 +0800 Subject: [PATCH] feat: return getElectronProcess and getViteServer methods from createServer --- src/server.ts | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/server.ts b/src/server.ts index 5a72de7..9c4df3a 100644 --- a/src/server.ts +++ b/src/server.ts @@ -12,18 +12,23 @@ import { type InlineConfig, resolveConfig } from './config' import { resolveHostname } from './utils' import { startElectron } from './electron' +type ElectronViteDevServer = { + getElectronProcess: () => ChildProcess | undefined + getViteServer: () => ViteDevServer | undefined +} + export async function createServer( inlineConfig: InlineConfig = {}, - options: { rendererOnly?: boolean } -): Promise { + options: { rendererOnly?: boolean } = {} +): Promise { process.env.NODE_ENV_ELECTRON_VITE = 'development' const config = await resolveConfig(inlineConfig, 'serve', 'development') + let server: ViteDevServer | undefined + let ps: ChildProcess | undefined + if (config.config) { const logger = createLogger(inlineConfig.logLevel) - let server: ViteDevServer | undefined - let ps: ChildProcess | undefined - const errorHook = (e): void => { logger.error(`${colors.bgRed(colors.white(' ERROR '))} ${colors.red(e.message)}`) } @@ -108,6 +113,11 @@ export async function createServer( logger.info(colors.green(`\nstart electron app...\n`)) } + + return { + getElectronProcess: () => ps, + getViteServer: () => server + } } type UserConfig = ViteConfig & { configFile?: string | false }