build-scripts
Version:
scripts core
75 lines (74 loc) • 2.66 kB
TypeScript
import type { Json, MaybeArray, CommandName, CommandArgs, UserConfig, PluginInfo, ContextOptions, TaskConfig, UserConfigArgs, CliOptionArgs, GetAllPlugin, RegisterTask, EmptyObject } from './types.js';
import type { Config } from '@jest/types';
/**
* Build Scripts Context
*
* @class Context
* @template T Task Config
* @template U Type of extendsPluginAPI
* @template K User Config
*/
declare class Context<T = {}, U = EmptyObject, K = EmptyObject> {
command: CommandName;
commandArgs: CommandArgs;
extendsPluginAPI: U;
rootDir: string;
pkg: Json;
userConfig: UserConfig<K>;
originalUserConfig: UserConfig;
plugins: Array<PluginInfo<T, U>>;
logger: {
info(...args: string[]): void;
error(...args: string[]): void;
warn(...args: string[]): void;
debug(...args: string[]): void;
};
configFile: string | string[];
configFilePath: string;
private options;
private configArr;
private modifyConfigFns;
private modifyJestConfig;
private modifyConfigRegistrationCallbacks;
private modifyCliRegistrationCallbacks;
private eventHooks;
private internalValue;
private userConfigRegistration;
private cliOptionRegistration;
private methodRegistration;
private cancelTaskNames;
constructor(options: ContextOptions<U>);
runJestConfig: (jestConfig: Config.InitialOptions) => Config.InitialOptions;
getTaskConfig: () => Array<TaskConfig<T>>;
setup: () => Promise<Array<TaskConfig<T>>>;
getAllTask: () => string[];
getAllPlugin: GetAllPlugin<T, U>;
resolveUserConfig: () => Promise<UserConfig<K>>;
resolvePlugins: () => Promise<Array<PluginInfo<T, U>>>;
applyHook: (key: string, opts?: {}) => Promise<void>;
registerTask: RegisterTask<T>;
registerConfig: (type: string, args: MaybeArray<UserConfigArgs<T>> | MaybeArray<CliOptionArgs<T>>, parseName?: (name: string) => string) => void;
private runSetConfig;
private onHook;
private runPlugins;
private runConfigModification;
private validateUserConfig;
private runCliOption;
private runOnGetConfigFn;
private cancelTask;
private registerMethod;
private applyMethod;
private hasMethod;
private modifyUserConfig;
private modifyConfigRegistration;
private modifyCliRegistration;
private onGetConfig;
private onGetJestConfig;
private setValue;
private getValue;
private registerUserConfig;
private hasRegistration;
private registerCliOption;
}
export default Context;
export declare const createContext: <T, U, K>(args: ContextOptions<U>) => Promise<Context<T, U, K>>;