UNPKG

@rushstack/heft

Version:

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

38 lines 1.44 kB
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