UNPKG

balena-cli

Version:

The official balena Command Line Interface

54 lines (53 loc) 1.89 kB
import * as chokidar from 'chokidar'; import type * as Dockerode from 'dockerode'; import type { Composition } from '@balena/compose/dist/parse'; import type { BuildTask } from '@balena/compose/dist/multibuild'; import Logger = require('../logger'); import type DeviceAPI from './api'; import type { DeviceDeployOptions } from './deploy'; type StageImageIDs = Dictionary<string[]>; export interface LivepushOpts { buildContext: string; composition: Composition; buildTasks: BuildTask[]; docker: Dockerode; api: DeviceAPI; logger: Logger; imageIds: StageImageIDs; deployOpts: DeviceDeployOptions; } export declare class LivepushManager { private lastDeviceStatus; private containers; private dockerfilePaths; private deviceInfo; private deployOpts; private buildContext; private composition; private buildTasks; private docker; private api; private logger; private imageIds; private updateEventsWaiting; private deleteEventsWaiting; private rebuildsRunning; private rebuildRunningIds; private rebuildsCancelled; constructor(opts: LivepushOpts); init(): Promise<void>; cleanup(): Promise<void>; protected setupFilesystemWatcher(serviceName: string, rootContext: string, serviceContext: string, changedPathHandler: (serviceName: string, changedPath: string) => void, dockerignoreByService: { [serviceName: string]: import('@balena/dockerignore').Ignore; }, multiDockerignore: boolean): chokidar.FSWatcher; close(): void; static preprocessDockerfile(content: string): string; private awaitDeviceStateSettle; private handleFSEvents; private handleServiceRebuild; private cancelRebuild; private assignLivepushOutputHandlers; private getDockerfilePathFromTask; private getDebouncedEventHandler; } export default LivepushManager;