@teambit/isolator
Version:
36 lines (35 loc) • 1.42 kB
TypeScript
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;
}