@vnxjs/service
Version:
Vnmf Service
60 lines (59 loc) • 1.89 kB
TypeScript
/// <reference types="node" />
import { IProjectConfig, PluginItem } from '@vnxjs/vnmf/types/compile';
import { EventEmitter } from 'events';
import Config from './Config';
import Plugin from './Plugin';
import { ICommand, IHook, IPaths, IPlatform, IPlugin, IPluginsObject, IPreset } from './utils/types';
interface IKernelOptions {
appPath: string;
presets?: PluginItem[];
plugins?: PluginItem[];
}
export default class Kernel extends EventEmitter {
appPath: string;
isWatch: boolean;
isProduction: boolean;
optsPresets: PluginItem[] | void;
optsPlugins: PluginItem[] | void;
plugins: Map<string, IPlugin>;
paths: IPaths;
extraPlugins: IPluginsObject;
config: Config;
initialConfig: IProjectConfig;
hooks: Map<string, IHook[]>;
methods: Map<string, ((...args: any[]) => void)[]>;
commands: Map<string, ICommand>;
platforms: Map<string, IPlatform>;
helper: any;
runOpts: any;
debugger: any;
constructor(options: IKernelOptions);
initConfig(): void;
initPaths(): void;
initHelper(): void;
initPresetsAndPlugins(): void;
resolvePresets(presets: any): void;
resolvePlugins(plugins: any): void;
initPreset(preset: IPreset): void;
initPlugin(plugin: IPlugin): void;
checkPluginOpts(pluginCtx: any, opts: any): void;
registerPlugin(plugin: IPlugin): void;
initPluginCtx({ id, path, ctx }: {
id: string;
path: string;
ctx: Kernel;
}): Plugin;
applyPlugins(args: string | {
name: string;
initialVal?: any;
opts?: any;
}): Promise<any>;
runWithPlatform(platform: any): any;
setRunOpts(opts: any): void;
runHelp(name: string): void;
run(args: string | {
name: string;
opts?: any;
}): Promise<void>;
}
export {};