import { Express } from 'express'; import { Logger, ViteDevServer } from 'vite'; import { IPluginConfig } from "../helpers/plugin-config.js"; import { IBuildEntrypoint } from "./build.js"; interface IConfigOptions { isProd?: boolean; isHost?: boolean; isOnlyClient?: boolean; isModulePreload?: boolean; mode?: string; entrypointName?: string; } interface IConfigParams { root: string; publicDir: string; pluginPath: string; isProd: boolean; isSPA: boolean; indexFile: string; clientFile: string; serverFile: string; host: string; port: number; } /** * Server config */ declare class ServerConfig { /** * Production build */ readonly isProd: boolean; /** * Server host mode */ readonly isHost: boolean; /** * Add module preload scripts to server output */ readonly isModulePreload: boolean; /** * Env mode */ readonly mode: string; /** * Run specified entrypoint */ protected readonly entrypointName?: string; /** * Vite config - only for development */ protected vite?: ViteDevServer; /** * Express application */ protected app?: Express; /** * Config params */ protected params: IConfigParams; /** * Default params */ protected defaultParams: Partial; /** * Vite logger for dev mode or console for production */ protected logger: Logger; /** * Default root dir */ protected defaultBuildRoots: string[]; /** * @constructor */ /** * @constructor */ protected constructor({ entrypointName, isProd, isHost, isOnlyClient, isModulePreload, mode, }: IConfigOptions, prodParams: Partial); /** * Initialize service */ /** * Initialize service */ static init(options?: IConfigOptions, prodOptions?: Partial): ServerConfig; /** * Lookup build folder */ /** * Lookup build folder */ protected getBuildDir(root?: string): string; /** * Make config params */ /** * Make config params */ protected makeParams(): void; /** * Set vite server */ /** * Set vite server */ setVite(vite: ViteDevServer): void; /** * Set express server */ /** * Set express server */ setApp(express: Express): void; /** * Return vite dev server * NOTE: only on development mode */ /** * Return vite dev server * NOTE: only on development mode */ getVite(): ViteDevServer | undefined; /** * Return express server */ /** * Return express server */ getApp(): Express | undefined; /** * Return plugin config * NOTE: only on development mode */ /** * Return plugin config * NOTE: only on development mode */ getPluginConfig(): IPluginConfig | undefined; /** * Return config params */ /** * Return config params */ getParams(): IConfigParams; /** * Get server logger */ /** * Get server logger */ getLogger(): Logger; /** * Set custom logger */ /** * Set custom logger */ setLogger(logger: Logger): void; /** * Apply config to specified entrypoint */ /** * Apply config to specified entrypoint */ protected applyEntrypointConfig(): void; /** * Get current entrypoint */ /** * Get current entrypoint */ protected getEntrypoint(): IBuildEntrypoint | undefined; } export { ServerConfig as default };