UNPKG

@teambit/bundler

Version:
68 lines (67 loc) 2.44 kB
import type { EnvService, ExecutionContext, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs'; import type { PubsubMain } from '@teambit/pubsub'; import type { DependencyResolverMain } from '@teambit/dependency-resolver'; import type { BrowserRuntimeSlot, DevServerTransformerSlot } from './bundler.main.runtime'; import { ComponentServer } from './component-server'; import type { DevServer } from './dev-server'; import type { DevServerContext } from './dev-server-context'; export type DevServerServiceOptions = { dedicatedEnvDevServers?: string[]; }; type DevServiceTransformationMap = ServiceTransformationMap & { /** * Required for `bit start` */ getDevEnvId?: (context?: any) => string; /** * Returns and configures the dev server * Required for `bit start` */ getDevServer?: (context: DevServerContext) => DevServer | Promise<DevServer>; }; export type DevServerDescriptor = { /** * id of the dev server (e.g. webpack) */ id: string; /** * display name of the dev server (e.g. Webpack dev server) */ displayName: string; /** * icon of the configured dev server. */ icon: string; /** * string containing the config for display. */ config: string; version?: string; }; export declare class DevServerService implements EnvService<ComponentServer, DevServerDescriptor> { private pubsub; private dependencyResolver; /** * browser runtime slot */ private runtimeSlot; private devServerTransformerSlot; name: string; constructor(pubsub: PubsubMain, dependencyResolver: DependencyResolverMain, /** * browser runtime slot */ runtimeSlot: BrowserRuntimeSlot, devServerTransformerSlot: DevServerTransformerSlot); render(env: EnvDefinition, context: ExecutionContext[]): Promise<string>; getDescriptor(environment: EnvDefinition, context?: ExecutionContext[]): Promise<DevServerDescriptor | undefined>; transform(env: Env, envContext: EnvContext): DevServiceTransformationMap | undefined; runOnce(contexts: ExecutionContext[], { dedicatedEnvDevServers }: DevServerServiceOptions): Promise<ComponentServer[]>; mergeContext(): void; private getComponentsFromContexts; /** * builds the execution context for the dev server. */ private buildContext; private transformDevServer; } export {};