Merge 8723add7a680391d3a1977e24ecd0cf9f6196fd0 into ad50cba49561bf306604fc983f82e81a4eb1240c

This commit is contained in:
Byc 2025-09-26 09:27:07 +08:00 committed by GitHub
commit 37aaa6f171
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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')
let server: ViteDevServer | undefined
let ps: ChildProcess | undefined
if (config.config) { if (config.config) {
const logger = createLogger(inlineConfig.logLevel) const logger = createLogger(inlineConfig.logLevel)
let server: ViteDevServer | undefined
let ps: ChildProcess | undefined
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 }