UNPKG

@rushstack/heft

Version:

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

24 lines 1.33 kB
import type { ITerminal } from '@rushstack/terminal'; import type { HeftPluginDefinitionBase } from '../configuration/HeftPluginDefinition'; import type { IHeftPlugin } from './IHeftPlugin'; export declare abstract class HeftPluginHost { private readonly _pluginAccessRequestHooks; private _pluginsApplied; applyPluginsAsync(terminal: ITerminal): Promise<void>; protected abstract applyPluginsInternalAsync(): Promise<void>; /** * Registers a callback used to provide access to a requested plugin via the plugin accessor. */ requestAccessToPluginByName<T extends object>(requestorName: string, pluginToAccessPackage: string, pluginToAccessName: string, accessorCallback: (pluginAccessor: T) => void): void; /** * Gets the name of the hook that is registered with the plugin access request hook. */ getPluginHookName(pluginPackageName: string, pluginName: string): string; /** * Resolves all plugin requests for the specified plugin. All plugins that requested access to the * specified plugin will have their callbacks invoked, and will be provided with the accessor for * the specified plugin. */ protected resolvePluginAccessRequests(plugin: IHeftPlugin, pluginDefinition: HeftPluginDefinitionBase): void; } //# sourceMappingURL=HeftPluginHost.d.ts.map