UNPKG

auto-config-loader

Version:

Find and load configuration from a package.json property, rc file, or CommonJS module.

39 lines (38 loc) 2.04 kB
import { LoadConfOption } from './loader/js'; export * from './utils'; export * from './loader/js'; export * from './loader/json'; export * from './loader/yaml'; export * from './loader/toml'; export * from './loader/ini'; export declare const merge: { <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; <TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2): TObject & TSource1 & TSource2; <TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): TObject & TSource1 & TSource2 & TSource3; <TObject, TSource1, TSource2, TSource3, TSource4>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4): TObject & TSource1 & TSource2 & TSource3 & TSource4; (object: any, ...otherArgs: any[]): any; }; export type LoaderFunc<T> = (filepath: string, content: string, jsOption?: LoadConfOption) => T | Promise<T>; export type Loader<T> = Record<string, LoaderFunc<T>>; export interface AutoConfOption<T> { searchPlaces?: string[]; /** An object that maps extensions to the loader functions responsible for loading and parsing files with those extensions. */ loaders?: Loader<T>; /** Specify default configuration. It has the lowest priority and is applied after extending config. */ default?: T; /** Resolve configuration from this working directory. The default is `process.cwd()` */ cwd?: string; /** Default transform js configuration */ jsOption?: LoadConfOption; /** @deprecated use `mustExist` instead */ ignoreLog?: boolean; mustExist?: boolean; } export declare const getConfigPath: () => string; /** * Find and load configuration from a `package.json` property, `rc` file, or `CommonJS` module. * @param namespace {string} Configuration base name. The default is `autoconf`. * @param option */ export declare function autoConf<T>(namespace?: string, option?: AutoConfOption<T>): Promise<{} & T>; export default autoConf;