UNPKG

@rushstack/heft

Version:

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

28 lines 1.55 kB
import { HeftPluginHost } from './HeftPluginHost'; import type { InternalHeftSession } from './InternalHeftSession'; import type { IHeftConfigurationJsonPluginSpecifier } from '../utilities/CoreConfigFiles'; import type { HeftLifecyclePluginDefinition } from '../configuration/HeftPluginDefinition'; import { HeftLifecycleSession, type IHeftLifecycleHooks, type IHeftLifecycleSession } from './HeftLifecycleSession'; import type { ScopedLogger } from './logging/ScopedLogger'; export interface IHeftLifecycleContext { lifecycleSession?: HeftLifecycleSession; pluginOptions?: object; } export declare class HeftLifecycle extends HeftPluginHost { private readonly _internalHeftSession; private readonly _lifecyclePluginSpecifiers; private readonly _lifecycleHooks; private readonly _lifecycleContextByDefinition; private readonly _lifecyclePluginsByDefinition; private _lifecycleLogger; private _isInitialized; get hooks(): IHeftLifecycleHooks; get pluginDefinitions(): Iterable<HeftLifecyclePluginDefinition>; constructor(internalHeftSession: InternalHeftSession, lifecyclePluginSpecifiers: IHeftConfigurationJsonPluginSpecifier[]); protected applyPluginsInternalAsync(): Promise<void>; ensureInitializedAsync(): Promise<void>; get lifecycleLogger(): ScopedLogger; getSessionForPluginDefinitionAsync(pluginDefinition: HeftLifecyclePluginDefinition): Promise<IHeftLifecycleSession>; private _getLifecyclePluginForPluginDefinitionAsync; } //# sourceMappingURL=HeftLifecycle.d.ts.map