@rushstack/heft
Version:
Build all your JavaScript projects the same way: A way that works.
23 lines • 1.11 kB
TypeScript
import { type IOperationRunner, type IOperationRunnerContext, OperationStatus } from '@rushstack/operation-graph';
import type { HeftTask } from '../../pluginFramework/HeftTask';
import type { InternalHeftSession } from '../../pluginFramework/InternalHeftSession';
export interface ITaskOperationRunnerOptions {
internalHeftSession: InternalHeftSession;
task: HeftTask;
}
/**
* Log out a start message, run a provided function, and log out an end message
*/
export declare function runAndMeasureAsync<T = void>(fn: () => Promise<T>, startMessageFn: () => string, endMessageFn: () => string, logFn: (message: string) => void): Promise<T>;
export declare class TaskOperationRunner implements IOperationRunner {
private readonly _options;
private _fileOperations;
private _copyConfigHash;
private _watchFileSystemAdapter;
readonly silent: boolean;
get name(): string;
constructor(options: ITaskOperationRunnerOptions);
executeAsync(context: IOperationRunnerContext): Promise<OperationStatus>;
private _executeTaskAsync;
}
//# sourceMappingURL=TaskOperationRunner.d.ts.map