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 }