UNPKG

@rushstack/heft

Version:

Build all your JavaScript projects the same way: A way that works.

49 lines 2.3 kB
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