UNPKG

@rushstack/heft-config-file

Version:

Configuration file loader for @rushstack/heft

46 lines 2.86 kB
import type { ITerminal } from '@rushstack/terminal'; import type { IRigConfig } from '@rushstack/rig-package'; import { ConfigurationFileBase, type IConfigurationFileOptions } from './ConfigurationFileBase'; /** * @beta */ export interface IProjectConfigurationFileOptions { /** * A project root-relative path to the configuration file that should be loaded. */ projectRelativeFilePath: string; } /** * @beta */ export declare class ProjectConfigurationFile<TConfigurationFile> extends ConfigurationFileBase<TConfigurationFile, IProjectConfigurationFileOptions> { /** {@inheritDoc IProjectConfigurationFileOptions.projectRelativeFilePath} */ readonly projectRelativeFilePath: string; constructor(options: IConfigurationFileOptions<TConfigurationFile, IProjectConfigurationFileOptions>); /** * Find and return a configuration file for the specified project, automatically resolving * `extends` properties and handling rigged configuration files. Will throw an error if a configuration * file cannot be found in the rig or project config folder. */ loadConfigurationFileForProject(terminal: ITerminal, projectPath: string, rigConfig?: IRigConfig): TConfigurationFile; /** * Find and return a configuration file for the specified project, automatically resolving * `extends` properties and handling rigged configuration files. Will throw an error if a configuration * file cannot be found in the rig or project config folder. */ loadConfigurationFileForProjectAsync(terminal: ITerminal, projectPath: string, rigConfig?: IRigConfig): Promise<TConfigurationFile>; /** * This function is identical to {@link ProjectConfigurationFile.loadConfigurationFileForProject}, except * that it returns `undefined` instead of throwing an error if the configuration file cannot be found. */ tryLoadConfigurationFileForProject(terminal: ITerminal, projectPath: string, rigConfig?: IRigConfig): TConfigurationFile | undefined; /** * This function is identical to {@link ProjectConfigurationFile.loadConfigurationFileForProjectAsync}, except * that it returns `undefined` instead of throwing an error if the configuration file cannot be found. */ tryLoadConfigurationFileForProjectAsync(terminal: ITerminal, projectPath: string, rigConfig?: IRigConfig): Promise<TConfigurationFile | undefined>; protected _tryLoadConfigurationFileInRig(terminal: ITerminal, rigConfig: IRigConfig, visitedConfigurationFilePaths: Set<string>): TConfigurationFile | undefined; protected _tryLoadConfigurationFileInRigAsync(terminal: ITerminal, rigConfig: IRigConfig, visitedConfigurationFilePaths: Set<string>): Promise<TConfigurationFile | undefined>; private _getConfigurationFilePathForProject; } //# sourceMappingURL=ProjectConfigurationFile.d.ts.map