UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge

57 lines (56 loc) 1.93 kB
import { Logger } from '../../core/logger/logger.service'; import { ConfigService } from '../../core/config/config.service'; export interface HomebridgePlugin { name: string; displayName?: string; description?: string; certifiedPlugin?: boolean; publicPackage?: boolean; installedVersion?: string; latestVersion?: boolean; lastUpdated?: string; updateAvailable?: boolean; installPath?: string; globalInstall?: boolean; settingsSchema?: boolean; links?: { npm?: string; homepage?: string; bugs?: string; }; author?: string; } export declare class PluginsService { private configService; private logger; private npm; private paths; private installedPlugins; private rp; constructor(configService: ConfigService, logger: Logger); getInstalledPlugins(): Promise<HomebridgePlugin[]>; getOutOfDatePlugins(): Promise<HomebridgePlugin[]>; searchNpmRegistry(query: string): Promise<HomebridgePlugin[]>; searchNpmRegistrySingle(query: string): Promise<HomebridgePlugin[]>; installPlugin(pluginName: string, client: any): Promise<boolean>; uninstallPlugin(pluginName: string, client: any): Promise<boolean>; updatePlugin(pluginName: string, client: any): Promise<boolean>; getHomebridgePackage(): Promise<HomebridgePlugin>; updateHomebridgePackage(client: any): Promise<boolean>; updateSelfOffline(client: any): Promise<void>; getPluginConfigSchema(pluginName: string): Promise<any>; getPluginChangeLog(pluginName: string): Promise<{ changelog: string; }>; getPluginRelease(pluginName: string): Promise<{ name: any; changelog: any; }>; private getInstalledModules; private getNpmPath; private getBasePaths; private parsePackageJson; private getPluginFromNpm; private runNpmCommand; private ensureCustomPluginDirExists; }