@reactant/types
Version:
41 lines (40 loc) • 1.26 kB
TypeScript
import { ActionResult, Api, Context, Config, Logger } from '.';
export declare type PlatformAction = (context: Context, logger: Logger, api: Api) => Promise<ActionResult>;
export interface CreateConfigOptions {
rootPath?: boolean;
}
export declare type PlatformOption = any;
export interface PlatformOptions<T = any> {
_T?: T;
[key: string]: PlatformOption;
}
export interface PlatformsOptions {
[key: string]: PlatformOptions;
}
export interface PlatformActions {
build: PlatformAction;
clean: PlatformAction;
start: PlatformAction;
storybook: PlatformAction;
test: PlatformAction;
[key: string]: PlatformAction;
}
export interface Platform {
actions?: PlatformActions;
config?: ModifyPlatformConfigFunction;
defaultOptions?: Partial<PlatformOptions>;
name?: string;
}
export interface LoadedPlatform {
actions: PlatformActions;
config: ModifyPlatformConfigFunction;
moduleName: string;
name: string;
options: PlatformOptions;
origionalName: string;
path: string;
}
export interface LoadedPlatforms {
[key: string]: LoadedPlatform;
}
export declare type ModifyPlatformConfigFunction = (config: Partial<Config>, context: Context, options: PlatformOptions) => Partial<Config>;