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 { startElectron } from './electron'
type ElectronViteDevServer = {
getElectronProcess: () => ChildProcess | undefined
getViteServer: () => ViteDevServer | undefined
}
export async function createServer(
inlineConfig: InlineConfig = {},
options: { rendererOnly?: boolean }
): Promise<void> {
options: { rendererOnly?: boolean } = {}
): Promise<ElectronViteDevServer> {
process.env.NODE_ENV_ELECTRON_VITE = 'development'
const config = await resolveConfig(inlineConfig, 'serve', 'development')
if (config.config) {
const logger = createLogger(inlineConfig.logLevel)
let server: ViteDevServer | undefined
let ps: ChildProcess | undefined
if (config.config) {
const logger = createLogger(inlineConfig.logLevel)
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 }