@rushstack/heft
Version:
Build all your JavaScript projects the same way: A way that works.
50 lines • 2.18 kB
TypeScript
import type { ITerminal } from '@rushstack/terminal';
import type { IRigConfig } from '@rushstack/rig-package';
import type { IDeleteOperation } from '../plugins/DeleteFilesPlugin';
import type { INodeServicePluginConfiguration } from '../plugins/NodeServicePlugin';
export interface IHeftConfigurationJsonActionReference {
actionName: string;
defaultParameters?: string[];
}
export interface IHeftConfigurationJsonAliases {
[aliasName: string]: IHeftConfigurationJsonActionReference;
}
export interface IHeftConfigurationJsonPluginSpecifier {
pluginPackage: string;
pluginPackageRoot: string;
pluginName?: string;
options?: object;
}
export interface IHeftConfigurationJsonTaskSpecifier {
taskDependencies?: string[];
taskPlugin: IHeftConfigurationJsonPluginSpecifier;
}
export interface IHeftConfigurationJsonTasks {
[taskName: string]: IHeftConfigurationJsonTaskSpecifier;
}
export interface IHeftConfigurationJsonPhaseSpecifier {
phaseDescription?: string;
phaseDependencies?: string[];
cleanFiles?: IDeleteOperation[];
tasksByName?: IHeftConfigurationJsonTasks;
}
export interface IHeftConfigurationJsonPhases {
[phaseName: string]: IHeftConfigurationJsonPhaseSpecifier;
}
export interface IHeftConfigurationJson {
heftPlugins?: IHeftConfigurationJsonPluginSpecifier[];
aliasesByName?: IHeftConfigurationJsonAliases;
phasesByName?: IHeftConfigurationJsonPhases;
}
export declare class CoreConfigFiles {
private static _heftConfigFileLoader;
private static _nodeServiceConfigurationLoader;
static heftConfigurationProjectRelativeFilePath: string;
static nodeServiceConfigurationProjectRelativeFilePath: string;
/**
* Returns the loader for the `config/heft.json` config file.
*/
static loadHeftConfigurationFileForProjectAsync(terminal: ITerminal, projectPath: string, rigConfig?: IRigConfig | undefined): Promise<IHeftConfigurationJson>;
static tryLoadNodeServiceConfigurationFileAsync(terminal: ITerminal, projectPath: string, rigConfig?: IRigConfig | undefined): Promise<INodeServicePluginConfiguration | undefined>;
}
//# sourceMappingURL=CoreConfigFiles.d.ts.map