@eljs/config
Version:
Load your config file.
75 lines • 2.07 kB
TypeScript
/**
* ConfigManager constructor options
*/
export interface ConfigManagerOptions {
/**
* Default config files
* @example
* ['config.ts', 'config.js']
*/
defaultConfigFiles: string[];
/**
* Default config file extensions
* @example
* ['dev', 'staging'] => ['config.dev.ts', 'config.staging.ts']
*/
defaultConfigExts?: string[];
/**
* Working directory
* @default process.cwd()
*/
cwd?: string;
}
/**
* ConfigManager class
*/
export declare class ConfigManager {
/**
* 构造函数选项
*/
constructorOptions: ConfigManagerOptions;
/**
* 主配置文件
*/
mainConfigFile?: string;
constructor(options: ConfigManagerOptions);
/**
* 获取配置项
* @param configExts 配置文件扩展名
*/
getConfig<T extends object>(): Promise<T | null>;
/**
* 获取配置项
* @param configExts 配置文件扩展名
*/
getConfigSync<T extends object>(): T | null;
/**
* 获取主配置文件
* @param configFiles 默认配置文件列表
* @param cwd 当前工作目录
*/
static getMainConfigFile(configFiles: string[], cwd?: string): Promise<string | undefined>;
/**
* 获取主配置文件
* @param configFiles 默认配置文件列表
* @param cwd 当前工作目录
*/
static getMainConfigFileSync(configFiles: string[], cwd?: string): string | undefined;
/**
* 获取配置文件列表
* @param mainConfigFile 主配置文件
* @param configExts 配置文件扩展名
*/
static getConfigFiles(mainConfigFile: string, configExts: string[]): string[];
/**
* 获取配置文件
* @param configFiles 配置文件列表
*/
static getConfig<T extends object>(configFiles: string[]): Promise<T | null>;
/**
* 获取配置文件
* @param configFiles 配置文件列表
*/
static getConfigSync<T extends object>(configFiles: string[]): T | null;
}
//# sourceMappingURL=config.d.ts.map