UNPKG

@rushstack/heft

Version:

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

61 lines 2.8 kB
import { HeftLifecyclePluginDefinition, type HeftPluginDefinitionBase, HeftTaskPluginDefinition, type IHeftLifecyclePluginDefinitionJson, type IHeftTaskPluginDefinitionJson } from './HeftPluginDefinition'; import type { IHeftConfigurationJsonPluginSpecifier } from '../utilities/CoreConfigFiles'; export interface IHeftPluginConfigurationJson { lifecyclePlugins?: IHeftLifecyclePluginDefinitionJson[]; taskPlugins?: IHeftTaskPluginDefinitionJson[]; } /** * Loads and validates the heft-plugin.json file. */ export declare class HeftPluginConfiguration { private static _jsonSchema; private static _pluginConfigurationPromises; private readonly _heftPluginConfigurationJson; private _lifecyclePluginDefinitions; private _lifecyclePluginDefinitionsMap; private _taskPluginDefinitions; private _taskPluginDefinitionsMap; /** * The path to the root of the package that contains the heft-plugin.json file. */ readonly packageRoot: string; /** * The package name of the package that contains the heft-plugin.json file. */ readonly packageName: string; private constructor(); /** * Load the heft-plugin.json file from the specified package. */ static loadFromPackageAsync(packageRoot: string, packageName: string): Promise<HeftPluginConfiguration>; /** * Returns a loaded plugin definition for the provided specifier. Specifiers are normally obtained from the * heft.json file. */ getPluginDefinitionBySpecifier(pluginSpecifier: IHeftConfigurationJsonPluginSpecifier): HeftPluginDefinitionBase; /** * Returns if the provided plugin definition is a lifecycle plugin definition. */ isLifecyclePluginDefinition(pluginDefinition: HeftPluginDefinitionBase): pluginDefinition is HeftLifecyclePluginDefinition; /** * Returns if the provided plugin definition is a task plugin definition. */ isTaskPluginDefinition(pluginDefinition: HeftPluginDefinitionBase): pluginDefinition is HeftTaskPluginDefinition; /** * Returns a loaded lifecycle plugin definition for the provided plugin name. If one can't be found, * returns undefined. */ tryGetLifecyclePluginDefinitionByName(lifecyclePluginName: string): HeftLifecyclePluginDefinition | undefined; /** * Returns a loaded task plugin definition for the provided plugin name. If one can't be found, * returns undefined. */ tryGetTaskPluginDefinitionByName(taskPluginName: string): HeftTaskPluginDefinition | undefined; private _getLifecyclePluginDefinitions; /** * Task plugin definitions sourced from the heft-plugin.json file. */ private _getTaskPluginDefinitions; private _validate; } //# sourceMappingURL=HeftPluginConfiguration.d.ts.map