@rushstack/heft
Version:
Build all your JavaScript projects the same way: A way that works.
49 lines • 2.3 kB
TypeScript
import { type ITerminal } from '@rushstack/terminal';
import { OperationStatus } from '@rushstack/operation-graph';
import type { CommandLineParameterProvider } from '@rushstack/ts-command-line';
import type { HeftConfiguration } from '../configuration/HeftConfiguration';
import type { LoggingManager } from '../pluginFramework/logging/LoggingManager';
import type { MetricsCollector } from '../metrics/MetricsCollector';
import { HeftParameterManager } from '../pluginFramework/HeftParameterManager';
import type { IHeftPhase } from '../pluginFramework/HeftPhase';
import type { IHeftAction, IHeftActionOptions } from './actions/IHeftAction';
import type { IHeftTask } from '../pluginFramework/HeftTask';
export interface IHeftActionRunnerOptions extends IHeftActionOptions {
action: IHeftAction;
}
/**
* Metadata for an operation that represents a task.
* @public
*/
export interface IHeftTaskOperationMetadata {
task: IHeftTask;
phase: IHeftPhase;
}
/**
* Metadata for an operation that represents a phase.
* @public
*/
export interface IHeftPhaseOperationMetadata {
phase: IHeftPhase;
}
export declare function initializeHeft(heftConfiguration: HeftConfiguration, terminal: ITerminal, isVerbose: boolean): void;
export declare function ensureCliAbortSignal(terminal: ITerminal): AbortSignal;
export declare function runWithLoggingAsync(fn: () => Promise<OperationStatus>, action: IHeftAction, loggingManager: LoggingManager, terminal: ITerminal, metricsCollector: MetricsCollector, abortSignal: AbortSignal, throwOnFailure?: boolean): Promise<OperationStatus>;
export declare class HeftActionRunner {
private readonly _action;
private readonly _terminal;
private readonly _internalHeftSession;
private readonly _metricsCollector;
private readonly _loggingManager;
private readonly _heftConfiguration;
private _parameterManager;
private readonly _parallelism;
constructor(options: IHeftActionRunnerOptions);
protected get parameterManager(): HeftParameterManager;
defineParameters(parameterProvider?: CommandLineParameterProvider | undefined): void;
executeAsync(): Promise<void>;
private _createWatchLoop;
private _executeOnceAsync;
private _generateOperations;
}
//# sourceMappingURL=HeftActionRunner.d.ts.map