feat: return getElectronProcess and getViteServer methods from createServer

This commit is contained in:
byc 2025-09-26 09:22:14 +08:00
parent ad50cba495
commit 8723add7a6

View File

@ -12,18 +12,23 @@ import { type InlineConfig, resolveConfig } from './config'
import { resolveHostname } from './utils' import { resolveHostname } from './utils'
import { startElectron } from './electron' import { startElectron } from './electron'
type ElectronViteDevServer = {
getElectronProcess: () => ChildProcess | undefined
getViteServer: () => ViteDevServer | undefined
}
export async function createServer( export async function createServer(
inlineConfig: InlineConfig = {}, inlineConfig: InlineConfig = {},
options: { rendererOnly?: boolean } options: { rendererOnly?: boolean } = {}
): Promise<void> { ): Promise<ElectronViteDevServer> {
process.env.NODE_ENV_ELECTRON_VITE = 'development' process.env.NODE_ENV_ELECTRON_VITE = 'development'
const config = await resolveConfig(inlineConfig, 'serve', 'development') const config = await resolveConfig(inlineConfig, 'serve', 'development')
if (config.config) {
const logger = createLogger(inlineConfig.logLevel)
let server: ViteDevServer | undefined let server: ViteDevServer | undefined
let ps: ChildProcess | undefined let ps: ChildProcess | undefined
if (config.config) {
const logger = createLogger(inlineConfig.logLevel)
const errorHook = (e): void => { const errorHook = (e): void => {
logger.error(`${colors.bgRed(colors.white(' ERROR '))} ${colors.red(e.message)}`) 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`)) logger.info(colors.green(`\nstart electron app...\n`))
} }
return {
getElectronProcess: () => ps,
getViteServer: () => server
}
} }
type UserConfig = ViteConfig & { configFile?: string | false } type UserConfig = ViteConfig & { configFile?: string | false }