projen
Version:
CDK for software projects
36 lines (35 loc) • 1.09 kB
TypeScript
import { FutureComponent } from "./component";
import type { DependencyRequest } from "./dependencies";
import type { TaskStep } from "./task-model";
/**
* The resolved configuration for running a script.
*/
export interface RunScriptConfig {
/**
* Dependencies required to run the script.
*/
readonly dependencies: DependencyRequest[];
/**
* The task steps to execute the script.
*/
readonly steps: TaskStep[];
}
/**
* A script runner that can produce the configuration to execute a file of a
* particular type.
*/
export interface IScriptRunner {
/**
* Produce the configuration to run the given entrypoint.
*/
configFor(entrypoint: string): RunScriptConfig;
}
/**
* A script runner that executes the entrypoint file directly.
*
* A runner is a {@link FutureComponent}: it can be created standalone (e.g. in
* `.projenrc.ts`) and is attached to a project by whoever consumes it.
*/
export declare class ScriptRunner extends FutureComponent implements IScriptRunner {
configFor(entrypoint: string): RunScriptConfig;
}