@rushstack/heft
Version:
Build all your JavaScript projects the same way: A way that works.
38 lines • 1.44 kB
TypeScript
import type { HeftTaskPluginDefinition } from '../configuration/HeftPluginDefinition';
import type { HeftPhase, IHeftPhase } from './HeftPhase';
import type { IHeftConfigurationJsonTaskSpecifier } from '../utilities/CoreConfigFiles';
import type { IHeftTaskPlugin } from './IHeftPlugin';
import type { IScopedLogger } from './logging/ScopedLogger';
/**
* @public
*/
export interface IHeftTask {
readonly parentPhase: IHeftPhase;
readonly taskName: string;
readonly consumingTasks: ReadonlySet<IHeftTask>;
readonly dependencyTasks: ReadonlySet<IHeftTask>;
}
/**
* @internal
*/
export declare class HeftTask implements IHeftTask {
private _parentPhase;
private _taskName;
private _taskSpecifier;
private _consumingTasks;
private _dependencyTasks;
private _taskPluginDefinition;
private _taskPlugin;
get parentPhase(): HeftPhase;
get taskName(): string;
get consumingTasks(): ReadonlySet<HeftTask>;
get pluginDefinition(): HeftTaskPluginDefinition;
get pluginOptions(): object | undefined;
get dependencyTasks(): Set<HeftTask>;
constructor(parentPhase: HeftPhase, taskName: string, taskSpecifier: IHeftConfigurationJsonTaskSpecifier);
ensureInitializedAsync(): Promise<void>;
getPluginAsync(logger: IScopedLogger): Promise<IHeftTaskPlugin<object | void>>;
private _loadTaskPluginDefinitionAsync;
private _validate;
}
//# sourceMappingURL=HeftTask.d.ts.map