UNPKG

feroom

Version:
132 lines (113 loc) 3.42 kB
/// <reference types="node" /> import { Plugin as Plugin_2 } from 'rollup'; export declare const cli: () => void; export declare type TClassConstructor<T = unknown> = new (...args: any[]) => T; export declare interface TFeRoomConfig<EXT extends object = TFeRoomExtensionsOptionsAll> { devServer?: TFeRoomDevServerOptions; registerOptions?: TFeRoomRegisterOptions; buildOptions?: TFeRoomRollupOptions; extensions?: EXT; } export declare interface TFeRoomDevServerOptions { port?: number; shared?: string; feroom?: TFeRoomServerOptions; ext?: (TClassConstructor<TFeRoomExtension> | TFeRoomExtension)[]; } export declare interface TFeRoomExtension { injectGlobals?(): Record<string, unknown>; injectImportMap?(): Record<string, string>; injectHead?(): string; injectIndexBody?(): string; } export declare type TFeRoomExtensionsOptionsAll = TSharedMenuCfg & TVueRoutesCfg; export declare interface TFeRoomRegisterOptions { id?: string; entry?: string; label?: string; description?: string; include?: string[]; exclude?: string[]; preloadEntry?: boolean | 'head' | 'body:first' | 'body:last'; preloadScripts?: string | string[]; preloadCss?: string | string[]; appendHead?: string; appendBody?: string; globals?: object; lockDependency?: { [name: string]: string; }; importNpmDependencies?: { [name: string]: TNpmModuleData; }; } export declare interface TFeRoomRollupOptions { input?: string; ts?: boolean | object; vue?: boolean | object; css?: string | object; nodeResolve?: object; dependencies?: { bundle?: string[]; lockVersion?: string[]; }; output?: string; plugins?: Plugin_2[]; } export declare interface TFeRoomServerOptions { modulesPrefixPath?: string; globals?: object; title?: string; preloadCss?: (string | [string, string])[]; preloadScript?: (string | [string, string])[]; preloadModule?: string[]; body?: string; head?: string; importMap?: { [name: string]: string; }; importNpmDependencies?: { [name: string]: TNpmModuleData; }; } export declare interface TMenuItem { icon?: string; route?: string; children?: Record<string, TMenuItem>; description?: string; params?: Record<string, string>; } export declare interface TModuleData<EXT extends object = object> { id: string; version: string; files: Record<string, string | { type: 'Buffer'; data: number[]; } | Buffer>; entry: string; source: string; config: TFeRoomConfig<EXT>; activate?: boolean; } export declare type TNpmModuleData<EXT extends object = object> = { registry?: string; name?: string; version?: string; forceRegister?: boolean; activateIfNewer?: boolean; } & Partial<TModuleData<EXT>>; export declare type TSharedMenu = Record<string, TMenuItem>; export declare interface TSharedMenuCfg { sharedMenu?: TSharedMenu; } export declare interface TVueRoute { path: string; component?: string; children?: TVueRoute[]; name?: string; props?: boolean; } export declare interface TVueRoutesCfg { vueRoutes?: TVueRoute[]; } export { }