generator-theia
Version:
Theia Generator
54 lines (53 loc) • 2.04 kB
TypeScript
export interface NodePackage {
dependencies?: Dependencies;
[property: string]: any;
}
export interface TheiaNodePackage {
name: string;
theiaExtensions?: Extension[];
}
export interface Extension {
frontend?: string;
frontendElectron?: string;
backend?: string;
backendElectron?: string;
}
export interface Dependencies {
[name: string]: string;
}
export interface Config {
copyright: string;
node_modulesPath: string;
localDependencies?: Dependencies;
}
export interface ExtensionConfig {
testSupport: boolean;
extensionKeyword: string;
}
export declare function sortByKey(object: {
[key: string]: any;
}): {
[key: string]: any;
};
export declare const defaultExtensionKeyword = "theia-extension";
export declare class Model {
target: 'web' | 'electron-renderer' | undefined;
pck: NodePackage;
config: Config;
readonly defaultExtensionConfig: ExtensionConfig;
extensionConfig: ExtensionConfig;
protected _frontendModules: Map<string, string> | undefined;
protected _frontendElectronModules: Map<string, string> | undefined;
protected _backendModules: Map<string, string> | undefined;
protected _backendElectronModules: Map<string, string> | undefined;
protected readonly extensionPackages: Map<string, TheiaNodePackage>;
readonly allExtensions: string[];
readExtensionPackages(read: (extension: string, version: string) => TheiaNodePackage | undefined): void;
readLocalExtensionPackages(read: (extension: string, path: string) => TheiaNodePackage | undefined): void;
protected readExtensionPackage(extension: string, read: () => TheiaNodePackage | undefined): void;
readonly frontendModules: Map<string, string>;
readonly frontendElectronModules: Map<string, string>;
readonly backendModules: Map<string, string>;
readonly backendElectronModules: Map<string, string>;
protected computeModules<P extends keyof Extension, S extends keyof Extension = P>(primary: P, secondary?: S): Map<string, string>;
}