@ts-for-gir/cli
Version:
TypeScript type definition generator for GObject introspection GIR files
109 lines (108 loc) • 3.26 kB
TypeScript
/**
* Default values, parse the config file and handle CLI flags
*/
import { Options } from 'yargs';
import type { UserConfig, ConfigFlags, OptionsGeneration } from '@ts-for-gir/lib';
export declare class Config {
static appName: string;
static usage: string;
/**
* Default cli flag and argument values
*/
static defaults: {
print: boolean;
configName: string;
root: string;
outdir: string;
girDirectories: string[];
modules: string[];
ignore: never[];
verbose: boolean;
ignoreVersionConflicts: boolean;
noNamespace: boolean;
noComments: boolean;
promisify: boolean;
npmScope: string;
workspace: boolean;
onlyVersionPrefix: boolean;
noPrettyPrint: boolean;
noAdvancedVariants: boolean;
package: boolean;
};
static configFilePath: string;
/**
* CLI options used in commands/generate.ts and commands/list.ts
*/
static options: {
[name: string]: Options;
};
/**
* CLI flags used in commands/generate.ts
*/
static generateOptions: {
modules: Options;
girDirectories: Options;
root: Options;
outdir: Options;
ignore: Options;
verbose: Options;
ignoreVersionConflicts: Options;
print: Options;
configName: Options;
noNamespace: Options;
noComments: Options;
promisify: Options;
npmScope: Options;
workspace: Options;
onlyVersionPrefix: Options;
noPrettyPrint: Options;
noAdvancedVariants: Options;
package: Options;
};
static listOptions: {
modules: Options;
girDirectories: Options;
root: Options;
ignore: Options;
configName: Options;
verbose: Options;
};
static copyOptions: {
modules: Options;
girDirectories: Options;
root: Options;
outdir: Options;
ignore: Options;
configName: Options;
verbose: Options;
};
static docOptions: {
modules: Options;
girDirectories: Options;
root: Options;
outdir: Options;
ignore: Options;
verbose: Options;
ignoreVersionConflicts: Options;
configName: Options;
};
/**
* Overwrites values in the user config file
* @param configsToAdd
*/
static addToConfig(configsToAdd: Partial<UserConfig>, configName?: string): Promise<void>;
/**
* The user can create a `.ts-for-girrc` file for his default configs,
* this method load this config file an returns the user configuration
* @param configName If the user uses a custom config file name
*/
private static loadConfigFile;
static getOptionsGeneration(config: UserConfig): OptionsGeneration;
static validate(config: UserConfig): UserConfig;
/**
* Loads the values of the config file and concatenate them with passed cli flags / arguments.
* The values from config file are preferred if the cli flag value is the default (and so not set / overwritten)
* @param options
*/
static load(options: ConfigFlags): Promise<UserConfig>;
}