import { SoftwareEnvironment } from '@stencila/schema'; import IUrlFetcher from './IUrlFetcher'; /** * Compiles a project into a Dockerfile, or Docker image */ export default class DockerCompiler { /** * The instance of IUrlFetcher to fetch URLs */ private readonly urlFetcher; constructor(urlFetcher: IUrlFetcher); /** * Compile a project * * @param source The folder, Dockerfile or `SoftwareEnvironment` to compile * @param build Should the Docker image be built? * @param comments Should comments be added to the Dockerfile? * @param stencila Should relevant Stencila language packages be installed in the image? */ compile(source: string, build?: boolean, comments?: boolean, stencila?: boolean): Promise; /** * Execute the project by compiling, building and running a Docker container for it * * @param source The project to execute */ execute(source: string, command?: string): Promise; /** * Find out who contributed to the packages that your project * depends upon. * * @param folder The project to examine * @param maxDepth The maximum dependency recursion depth */ who(folder: string, maxDepth?: number): Promise; }