UNPKG

@teambit/isolator

Version:
36 lines (35 loc) 1.42 kB
import type { AnyFS } from '@teambit/any-fs'; import { NodeFS } from '@teambit/any-fs'; import type { Container, ContainerFactoryOptions, ContainerStatus, Exec, ExecOptions } from '@teambit/capsule'; import execa from 'execa'; import type { Stream } from 'stream'; import ContainerExec from './container-exec'; export interface BitExecOption extends ExecOptions { cwd: string; stdio?: 'pipe' | 'ipc' | 'ignore' | 'inherit' | Stream | number | undefined; } export interface BitContainerConfig extends ContainerFactoryOptions { other?: string; } export default class FsContainer implements Container<Exec, AnyFS> { readonly wrkDir: string; id: string; fs: NodeFS; constructor(wrkDir: string); getPath(): string; private composePath; outputFile(file: any, data: any, options: any): Promise<void>; removePath(dir: string): Promise<any>; symlink(src: string, dest: string): Promise<any>; exec(execOptions: BitExecOption, exec?: ContainerExec): Promise<ContainerExec>; execP(execOptions: BitExecOption): Promise<string>; terminal(): Promise<execa.ExecaReturnValue<string>>; start(): Promise<void>; inspect(): Promise<ContainerStatus>; pause(): Promise<void>; resume(): Promise<void>; stop(ttl?: number | undefined): Promise<void>; destroy(): Promise<void>; log(): Promise<Exec>; on(event: string, fn: (data: any) => void): void; }