UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

80 lines (79 loc) 2.6 kB
#!/usr/bin/env node import type { WriteStream } from 'node:fs'; import type { TarOptionsWithAliases } from 'tar'; import { Logger } from './logger.js'; type Action = 'install' | 'uninstall' | 'start' | 'stop' | 'restart' | 'rebuild' | 'run' | 'add' | 'remove' | 'logs' | 'view' | 'update-node' | 'update-homebridge' | 'before-start' | 'status'; export declare class HomebridgeServiceHelper { action: Action; selfPath: string; serviceName: string; storagePath: string; usingCustomStoragePath: boolean; allowRunRoot: boolean; enableHbServicePluginManagement: boolean; asUser: string; addGroup: string; _logger: Logger; logFile: WriteStream | NodeJS.WriteStream; private homebridgeModulePath; private homebridgePackage; private homebridgeBinary; private homebridge; private homebridgeOpts; private homebridgeCustomEnv; private uiBinary; private stdout; docker: boolean; private uid; private gid; uiPort: number; private installer; private ipcService; get logPath(): string; get logger(): Logger; constructor(); private setEnv; private showVersion; private startLog; private readConfig; private truncateLog; private launch; private startExitHandler; private runHomebridge; private handleHomebridgeClose; private runUi; private getNpmGlobalModulesDirectory; private findHomebridgePath; private refreshHomebridgePackage; private nodeVersionCheck; private nvmCheck; printPostInstallInstructions(): Promise<void>; portCheck(): Promise<void>; storagePathCheck(): Promise<void>; configCheck(): Promise<void>; createDefaultConfig(): Promise<void>; private generateBridgeConfig; private createDefaultUiConfig; private isRaspbianImage; private getLastKnownUiPort; private generatePin; private generateUsername; private generatePort; private avahiDaemonRunning; private isAvahiDaemonRunning; private chownPath; private checkForStaleHomebridgeProcess; private tailLogs; private viewLogs; get homebridgeStartupOptionsPath(): string; private loadHomebridgeStartupOptions; private fixDockerPermissions; private checkForNodejsUpdates; downloadNodejs(downloadUrl: string): Promise<string>; extractNodejs(targetVersion: string, extractConfig: TarOptionsWithAliases): Promise<void>; removeNpmPackage(npmInstallPath: string): Promise<void>; private checkStatus; private parseNpmPackageString; private npmPluginManagement; } export {};