@rushstack/heft
Version:
Build all your JavaScript projects the same way: A way that works.
33 lines • 1.89 kB
TypeScript
/// <reference types="node" />
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 { IHeftAction, IHeftActionOptions } from './actions/IHeftAction';
export interface IHeftActionRunnerOptions extends IHeftActionOptions {
action: IHeftAction;
}
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