homebridge-config-ui-x 5.4.2-beta.4 → 5.4.2-beta.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -13
- package/dist/bin/hb-service.js +1 -1
- package/dist/bin/hb-service.js.map +1 -1
- package/dist/core/auth/auth.controller.d.ts +2 -0
- package/dist/core/config/config.interfaces.d.ts +64 -0
- package/dist/core/config/config.interfaces.js +3 -0
- package/dist/core/config/config.interfaces.js.map +1 -0
- package/dist/core/config/config.service.d.ts +7 -22
- package/dist/core/config/config.service.js +7 -2
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.d.ts +2 -12
- package/dist/core/config/config.startup.js +11 -3
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/spa/spa-html.service.d.ts +5 -0
- package/dist/core/spa/spa-html.service.js +38 -0
- package/dist/core/spa/spa-html.service.js.map +1 -0
- package/dist/core/spa/spa.filter.d.ts +3 -0
- package/dist/core/spa/spa.filter.js +22 -2
- package/dist/core/spa/spa.filter.js.map +1 -1
- package/dist/globalDefaults.js +3 -0
- package/dist/globalDefaults.js.map +1 -1
- package/dist/main.js +18 -3
- package/dist/main.js.map +1 -1
- package/dist/modules/accessories/accessories.service.js +5 -1
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/backup/backup.service.js +4 -1
- package/dist/modules/backup/backup.service.js.map +1 -1
- package/dist/modules/config-editor/config-editor.controller.d.ts +3 -3
- package/dist/modules/config-editor/config-editor.service.d.ts +3 -2
- package/dist/modules/config-editor/config-editor.service.js +38 -15
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +2 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/log/log.gateway.d.ts +1 -1
- package/dist/modules/log/log.interfaces.d.ts +4 -0
- package/dist/modules/log/log.interfaces.js +3 -0
- package/dist/modules/log/log.interfaces.js.map +1 -0
- package/dist/modules/log/log.service.d.ts +1 -4
- package/dist/modules/log/log.service.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +1 -1
- package/dist/modules/platform-tools/terminal/terminal.interfaces.d.ts +8 -0
- package/dist/modules/platform-tools/terminal/terminal.interfaces.js +3 -0
- package/dist/modules/platform-tools/terminal/terminal.interfaces.js.map +1 -0
- package/dist/modules/platform-tools/terminal/terminal.service.d.ts +1 -8
- package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.d.ts +5 -5
- package/dist/modules/plugins/plugins.interfaces.d.ts +211 -0
- package/dist/modules/plugins/plugins.interfaces.js +3 -0
- package/dist/modules/plugins/plugins.interfaces.js.map +1 -0
- package/dist/modules/plugins/plugins.service.d.ts +2 -1
- package/dist/modules/plugins/plugins.service.js +33 -15
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +3 -0
- package/dist/modules/server/server.controller.js +13 -0
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.js +6 -4
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.d.ts +2 -2
- package/dist/modules/status/status.gateway.d.ts +5 -5
- package/dist/modules/status/status.interfaces.d.ts +27 -0
- package/dist/modules/status/status.interfaces.js +10 -0
- package/dist/modules/status/status.interfaces.js.map +1 -0
- package/dist/modules/status/status.service.d.ts +2 -29
- package/dist/modules/status/status.service.js +4 -9
- package/dist/modules/status/status.service.js.map +1 -1
- package/package.json +16 -11
- package/public/3rdpartylicenses.txt +16 -40
- package/public/assets/monaco/ThirdPartyNotices.txt +448 -0
- package/public/assets/monaco/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/public/assets/monaco/min/vs/base/worker/workerMain.js +31 -0
- package/public/assets/monaco/min/vs/basic-languages/shell/shell.js +10 -0
- package/public/assets/monaco/min/vs/editor/editor.main.css +8 -0
- package/public/assets/monaco/min/vs/editor/editor.main.js +798 -0
- package/public/assets/monaco/min/vs/language/json/jsonMode.js +19 -0
- package/public/assets/monaco/min/vs/language/json/jsonWorker.js +42 -0
- package/public/assets/monaco/min/vs/loader.js +11 -0
- package/public/chunk-2DNOEBYN.js +1 -0
- package/public/chunk-32NC3IVK.js +16 -0
- package/public/chunk-354C3X7T.js +19 -0
- package/public/chunk-3G7IDMFU.js +1 -0
- package/public/{chunk-U6ROY5ZN.js → chunk-3YOGUN4W.js} +1 -1
- package/public/chunk-42EXBOPA.js +1 -0
- package/public/chunk-4FC5JCBA.js +1 -0
- package/public/{chunk-6N2SOTOL.js → chunk-4HJOARLT.js} +2 -2
- package/public/chunk-4QZG5IBV.js +1 -0
- package/public/chunk-4YMIOPY5.js +1 -0
- package/public/chunk-5AW36TN3.js +1 -0
- package/public/chunk-5BAB4FLA.js +1 -0
- package/public/{chunk-CQKCDD3I.js → chunk-5YEYAEII.js} +1 -1
- package/public/{chunk-BEYU5GMW.js → chunk-6DTD6NF3.js} +2 -2
- package/public/chunk-6TWUTMWM.js +40 -0
- package/public/{chunk-P5LYIXY6.js → chunk-A7SU4MHQ.js} +1 -1
- package/public/chunk-AACIDDLQ.js +9 -0
- package/public/chunk-BG3D2DZW.js +1 -0
- package/public/chunk-CWZT5DC3.js +1 -0
- package/public/{chunk-OPYWX2UT.js → chunk-D2HNCCB6.js} +1 -1
- package/public/{chunk-3DFE4GXY.js → chunk-EOXVJQVC.js} +1 -1
- package/public/chunk-FON7X6PI.js +1 -0
- package/public/chunk-FSS52C6M.js +1 -0
- package/public/chunk-GBKV42JT.js +1 -0
- package/public/chunk-GC5ZVIAR.js +1 -0
- package/public/chunk-HNJPAXQ5.js +1 -0
- package/public/{chunk-QNF5ENQG.js → chunk-HQBRFFPL.js} +1 -1
- package/public/chunk-I32XNZAC.js +1 -0
- package/public/{chunk-FVSVQWIM.js → chunk-IDS6CACH.js} +1 -1
- package/public/{chunk-G3CSSNW3.js → chunk-IL6JW6PB.js} +1 -1
- package/public/chunk-JPNMUW6S.js +1 -0
- package/public/{chunk-WMIMAPZH.js → chunk-KCLLEPG3.js} +1 -1
- package/public/chunk-NC7XPNIV.js +1 -0
- package/public/{chunk-DD4UIDDU.js → chunk-NHATITBP.js} +1 -1
- package/public/chunk-NLE7I54S.js +1 -0
- package/public/{chunk-E5M5VUTV.js → chunk-NNGM3PUS.js} +1 -1
- package/public/chunk-NW5L2FIY.js +1 -0
- package/public/chunk-ONSFSQPA.js +1 -0
- package/public/{chunk-ZVJPMFYX.js → chunk-PHIVEHY2.js} +1 -1
- package/public/chunk-PRNMO4E2.js +5 -0
- package/public/chunk-QKQFWEQY.js +3 -0
- package/public/{chunk-NFD7N6TO.js → chunk-QTUF3RXY.js} +1 -1
- package/public/{chunk-JWSIULJX.js → chunk-R6ROHI5E.js} +1 -1
- package/public/chunk-R7VTFW66.js +1 -0
- package/public/{chunk-WCMFALUQ.js → chunk-RJ7DGOUE.js} +1 -1
- package/public/chunk-RMBCZ6PE.js +1 -0
- package/public/chunk-RR2V2D4G.js +1 -0
- package/public/chunk-RTZVASBV.js +1 -0
- package/public/chunk-S2UVMNTQ.js +1 -0
- package/public/chunk-S4DTLIZU.js +1 -0
- package/public/{chunk-LIIIEDKB.js → chunk-SGMZN62K.js} +1 -1
- package/public/chunk-SLFDMPM6.js +49 -0
- package/public/chunk-TGMT2CPD.js +4 -0
- package/public/chunk-TTSDYAR7.js +1 -0
- package/public/chunk-TUN7H57E.js +1 -0
- package/public/chunk-UOOMSN4Q.js +1 -0
- package/public/chunk-USGWBGHR.js +1 -0
- package/public/{chunk-LOC52TG7.js → chunk-UWI7PQIM.js} +1 -1
- package/public/chunk-VCWEPDEP.js +1 -0
- package/public/chunk-VIHCQCPQ.js +1 -0
- package/public/{chunk-5KZJLK3B.js → chunk-VOI666RM.js} +4 -4
- package/public/chunk-VSX4HMXR.js +1 -0
- package/public/chunk-W5NNVVIP.js +1 -0
- package/public/chunk-WALOI7QT.js +1 -0
- package/public/chunk-XEMTN2GZ.js +1 -0
- package/public/chunk-XLPPT7E7.js +4 -0
- package/public/chunk-YIXIXCO4.js +2 -0
- package/public/chunk-ZX7APSEP.js +1 -0
- package/public/index.html +2 -2
- package/public/main-WMR4TUCJ.js +1 -0
- package/public/polyfills-5KWHJ7II.js +2 -0
- package/public/styles-643WFJRY.css +1 -0
- package/config.schema.json +0 -590
- package/public/assets/hap-icons/light-bulb.svg +0 -25
- package/public/assets/hap-icons/outlet.svg +0 -25
- package/public/assets/hap-icons/switch.svg +0 -25
- package/public/assets/hap-icons/unknown.svg +0 -25
- package/public/assets/monaco-0.21.3/README.md +0 -96
- package/public/assets/monaco-0.21.3/ThirdPartyNotices.txt +0 -283
- package/public/assets/monaco-0.21.3/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/public/assets/monaco-0.21.3/min/vs/base/worker/workerMain.js +0 -160
- package/public/assets/monaco-0.21.3/min/vs/basic-languages/shell/shell.js +0 -7
- package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.css +0 -6
- package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.js +0 -2368
- package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.nls.js +0 -39
- package/public/assets/monaco-0.21.3/min/vs/language/json/jsonMode.js +0 -7
- package/public/assets/monaco-0.21.3/min/vs/language/json/jsonWorker.js +0 -7
- package/public/assets/monaco-0.21.3/min/vs/loader.js +0 -38
- package/public/assets/monaco-0.21.3/package.json +0 -38
- package/public/chunk-2ETJ2W67.js +0 -1
- package/public/chunk-2IPYU27V.js +0 -20
- package/public/chunk-4IS25CEL.js +0 -1
- package/public/chunk-4ZMTZF3W.js +0 -1
- package/public/chunk-5J7OMTCR.js +0 -1
- package/public/chunk-5KFQUVTY.js +0 -1
- package/public/chunk-6FXNHKMA.js +0 -1
- package/public/chunk-6MRWZBRB.js +0 -1
- package/public/chunk-A76CGVLE.js +0 -1
- package/public/chunk-ABEVAIAL.js +0 -1
- package/public/chunk-ABOVGRBT.js +0 -1
- package/public/chunk-AIKHSPDS.js +0 -1
- package/public/chunk-CV5P3VHY.js +0 -1
- package/public/chunk-D32NWYHS.js +0 -1
- package/public/chunk-EUPINTFY.js +0 -3
- package/public/chunk-EUQRX7LQ.js +0 -1
- package/public/chunk-H6CYTQYR.js +0 -1
- package/public/chunk-M5HYAGSQ.js +0 -1
- package/public/chunk-MCRAOLRB.js +0 -1
- package/public/chunk-NRU4C4QO.js +0 -1
- package/public/chunk-NRVKNZMW.js +0 -14
- package/public/chunk-NVSHJ7LK.js +0 -1
- package/public/chunk-OIV4KXSV.js +0 -1
- package/public/chunk-OUS4RGQP.js +0 -1
- package/public/chunk-PFU546XJ.js +0 -1
- package/public/chunk-PMVD4FUJ.js +0 -9
- package/public/chunk-PP5MH7GY.js +0 -2
- package/public/chunk-QABGEKAZ.js +0 -2
- package/public/chunk-QBGF33DL.js +0 -1
- package/public/chunk-QK7Z3CEZ.js +0 -1
- package/public/chunk-RPTZSO5O.js +0 -1
- package/public/chunk-RT24VDZP.js +0 -1
- package/public/chunk-S6BASE5W.js +0 -1
- package/public/chunk-S6W546ZE.js +0 -4
- package/public/chunk-SD2QP7RK.js +0 -1
- package/public/chunk-SMCVOWDV.js +0 -1
- package/public/chunk-T3KHQZNL.js +0 -1
- package/public/chunk-TG5OFUMM.js +0 -1
- package/public/chunk-UNUGLKWP.js +0 -1
- package/public/chunk-UT3VB4SC.js +0 -49
- package/public/chunk-VWR3K52A.js +0 -1
- package/public/chunk-WBMAWHKA.js +0 -12
- package/public/chunk-XEXJIDEI.js +0 -4
- package/public/chunk-XWYKEZQQ.js +0 -4
- package/public/chunk-YERWTYFA.js +0 -1
- package/public/chunk-YSZKQXWK.js +0 -1
- package/public/chunk-ZKETDQ54.js +0 -1
- package/public/chunk-ZM5B4KXN.js +0 -1
- package/public/chunk-ZNONDSJT.js +0 -1
- package/public/main-MRP2WE3O.js +0 -1
- package/public/polyfills-WE4HA5DL.js +0 -2
- package/public/styles-LKRXKJ7O.css +0 -1
- /package/public/assets/{monaco-0.21.3 → monaco}/LICENSE +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.interfaces.js","sourceRoot":"","sources":["../../../src/modules/log/log.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { EventEmitter } from 'node:events';
|
|
2
2
|
import { ConfigService } from '../../core/config/config.service';
|
|
3
3
|
import { NodePtyService } from '../../core/node-pty/node-pty.service';
|
|
4
|
+
import { LogTermSize } from './log.interfaces';
|
|
4
5
|
export declare class LogService {
|
|
5
6
|
private configService;
|
|
6
7
|
private nodePtyService;
|
|
@@ -18,7 +19,3 @@ export declare class LogService {
|
|
|
18
19
|
private logFromCommand;
|
|
19
20
|
private logNotConfigured;
|
|
20
21
|
}
|
|
21
|
-
export interface LogTermSize {
|
|
22
|
-
cols: number;
|
|
23
|
-
rows: number;
|
|
24
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.service.js","sourceRoot":"","sources":["../../../src/modules/log/log.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,2DAAyC;AACzC,qCAAkC;AAClC,gEAAkC;AAElC,2CAA2C;AAC3C,2CAA8C;AAC9C,uCAA6D;AAC7D,mCAAkC;AAClC,+BAA2B;AAE3B,qEAAgE;AAChE,2EAAqE;
|
|
1
|
+
{"version":3,"file":"log.service.js","sourceRoot":"","sources":["../../../src/modules/log/log.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,2DAAyC;AACzC,qCAAkC;AAClC,gEAAkC;AAElC,2CAA2C;AAC3C,2CAA8C;AAC9C,uCAA6D;AAC7D,mCAAkC;AAClC,+BAA2B;AAE3B,qEAAgE;AAChE,2EAAqE;AAI9D,IAAM,UAAU,GAAhB,MAAM,UAAU;IAMrB,YACU,aAA4B,EAC5B,cAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QANhC,cAAS,GAAG,KAAK,CAAA;QACjB,WAAM,GAAG,KAAK,CAAA;QAOpB,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAKM,YAAY;QACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACzF,IAAI,CAAC,WAAW,EAAE,CAAA;QACpB,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1D,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9F,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;IAOM,OAAO,CAAC,MAAoB,EAAE,IAAiB;QACpD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAEnB,IAAI,CAAC,IAAA,kBAAS,EAAC,sBAAO,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,mBAAM,EAAC,YAAY,IAAI,CAAC,aAAa,CAAC,kBAAkB,2BAA2B,IAAI,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,CAAC,CAAA;YACzI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,mBAAM,EAAC,sDAAsD,sBAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;QACjH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,iBAAI,EAAC,sBAAsB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAA;YACnG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,iBAAI,EAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;YACrE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,iBAAI,EAAC,yCAAyC,CAAC,CAAC,CAAA;YACtE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,iBAAI,EAAC,SAAS,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAA;YAC9E,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,gBAAG,EAAC,2GAA2G,CAAC,CAAC,CAAA;YACvI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,iBAAI,EAAC,2EAA2E,CAAC,CAAC,CAAA;QAC1G,CAAC;IACH,CAAC;IAOO,OAAO,CAAC,MAAoB,EAAE,IAAiB;QACrD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;QAGjC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE;YAC/D,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW;YACnC,GAAG,EAAE,sBAAO,CAAC,GAAG;SACjB,CAAC,CAAA;QAGF,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAGF,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,gBAAG,EAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAA;oBAC9G,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,gBAAG,EAAC,kEAAkE,CAAC,CAAC,CAAA;oBAC9F,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,iBAAI,EAAC,mIAAmI,CAAC,CAAC,CAAA;gBAClK,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YAEb,CAAC;QACH,CAAC,CAAC,CAAA;QAGF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAsC,EAAE,EAAE;YAC7D,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YACvC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QAChB,CAAC,CAAC,CAAA;QAGF,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAElB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAChC,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;YAEvC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,EAAE,CAAA;YACb,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YAEd,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnD,IAAA,yBAAI,EAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YACrC,CAAC;QACH,CAAC,CAAA;QAED,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IAKO,WAAW;QACjB,IAAI,OAAiB,CAAA;QACrB,IAAI,IAAA,kBAAQ,GAAE,KAAK,OAAO,EAAE,CAAC;YAE3B,OAAO,GAAG,CAAC,gBAAgB,EAAE,UAAU,EAAE,sBAAsB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,CAAA;QACnH,CAAC;aAAM,CAAC;YAEN,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAGrE,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC/B,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKO,cAAc;QACpB,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,YAAY,CAAC,CAAA;QAGvH,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKO,KAAK,CAAC,qBAAqB,CAAC,MAAoB;QACtD,IAAI,CAAC,IAAA,qBAAU,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,gBAAG,EAAC,+BAA+B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAA;QACjG,CAAC;QAGD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAA;YAC3E,MAAM,SAAS,GAAG,IAAA,2BAAgB,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;YAE/F,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC9B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACzE,CAAC,CAAC,CAAA;YAEF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACvB,SAAS,CAAC,KAAK,EAAE,CAAA;YACnB,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,gBAAG,EAAC,4BAA4B,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAA;YACvE,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;gBACzD,aAAa,EAAE,KAAK;gBACpB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE;oBACd,QAAQ,EAAE,GAAG;iBACd;aACF,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YAEN,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;YACzB,CAAC;QACH,CAAC;QAGD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,MAAM,CAAC,CAAA;QACtC,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,MAAM,CAAC,CAAA;QAC7C,CAAC,CAAA;QAED,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAGpC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAGlB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAG9C,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAIhD,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;YAC3B,CAAC;YAED,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAChC,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;QACzC,CAAC,CAAA;QAED,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IAKO,cAAc;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7D,CAAC;IAKO,gBAAgB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;CACF,CAAA;AA3PY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAQc,8BAAa;QACZ,iCAAc;GAR7B,UAAU,CA2PtB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TermSize, WsEventEmitter } from './terminal.
|
|
1
|
+
import type { TermSize, WsEventEmitter } from './terminal.interfaces';
|
|
2
2
|
import { TerminalService } from './terminal.service';
|
|
3
3
|
export declare class TerminalGateway {
|
|
4
4
|
private readonly terminalService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.interfaces.js","sourceRoot":"","sources":["../../../../src/modules/platform-tools/terminal/terminal.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TermSize, WsEventEmitter } from './terminal.interfaces';
|
|
2
2
|
import { ConfigService } from '../../../core/config/config.service';
|
|
3
3
|
import { Logger } from '../../../core/logger/logger.service';
|
|
4
4
|
import { NodePtyService } from '../../../core/node-pty/node-pty.service';
|
|
5
|
-
export interface TermSize {
|
|
6
|
-
cols: number;
|
|
7
|
-
rows: number;
|
|
8
|
-
}
|
|
9
5
|
export declare class TerminalService {
|
|
10
6
|
private configService;
|
|
11
7
|
private logger;
|
|
@@ -24,6 +20,3 @@ export declare class TerminalService {
|
|
|
24
20
|
hasPersistentSession(): boolean;
|
|
25
21
|
destroyPersistentSession(): void;
|
|
26
22
|
}
|
|
27
|
-
export interface WsEventEmitter extends EventEmitter {
|
|
28
|
-
disconnect: () => void;
|
|
29
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.service.js","sourceRoot":"","sources":["../../../../src/modules/platform-tools/terminal/terminal.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"terminal.service.js","sourceRoot":"","sources":["../../../../src/modules/platform-tools/terminal/terminal.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ import { PluginsService } from './plugins.service';
|
|
|
2
2
|
export declare class PluginsController {
|
|
3
3
|
private pluginsService;
|
|
4
4
|
constructor(pluginsService: PluginsService);
|
|
5
|
-
pluginsGet(): Promise<import("./
|
|
6
|
-
pluginsSearch(query: any): Promise<import("./
|
|
7
|
-
pluginLookup(pluginName: any): Promise<import("./
|
|
8
|
-
getAvailablePluginVersions(pluginName: any): Promise<import("./
|
|
5
|
+
pluginsGet(): Promise<import("./plugins.interfaces").HomebridgePlugin[]>;
|
|
6
|
+
pluginsSearch(query: any): Promise<import("./plugins.interfaces").HomebridgePlugin[]>;
|
|
7
|
+
pluginLookup(pluginName: any): Promise<import("./plugins.interfaces").HomebridgePlugin>;
|
|
8
|
+
getAvailablePluginVersions(pluginName: any): Promise<import("./plugins.interfaces").HomebridgePluginVersions>;
|
|
9
9
|
getPluginConfigSchema(pluginName: any): Promise<any>;
|
|
10
10
|
getPluginChangeLog(pluginName: any): Promise<{
|
|
11
11
|
changelog: string;
|
|
@@ -16,5 +16,5 @@ export declare class PluginsController {
|
|
|
16
16
|
changelog: any;
|
|
17
17
|
latestVersion: string;
|
|
18
18
|
}>;
|
|
19
|
-
getPluginAlias(pluginName: any): Promise<import("./
|
|
19
|
+
getPluginAlias(pluginName: any): Promise<import("./plugins.interfaces").PluginAlias>;
|
|
20
20
|
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
export interface HomebridgePlugin {
|
|
2
|
+
name: string;
|
|
3
|
+
private: boolean;
|
|
4
|
+
displayName?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
keywords?: string[];
|
|
7
|
+
verifiedPlugin?: boolean;
|
|
8
|
+
verifiedPlusPlugin?: boolean;
|
|
9
|
+
icon?: string;
|
|
10
|
+
publicPackage?: boolean;
|
|
11
|
+
installedVersion?: string;
|
|
12
|
+
latestVersion?: string;
|
|
13
|
+
lastUpdated?: string;
|
|
14
|
+
updateAvailable?: boolean;
|
|
15
|
+
updateEngines?: {
|
|
16
|
+
homebridge?: string;
|
|
17
|
+
node?: string;
|
|
18
|
+
};
|
|
19
|
+
updateTag?: string;
|
|
20
|
+
installPath?: string;
|
|
21
|
+
globalInstall?: boolean;
|
|
22
|
+
settingsSchema?: boolean;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
links?: {
|
|
25
|
+
npm?: string;
|
|
26
|
+
homepage?: string;
|
|
27
|
+
bugs?: string;
|
|
28
|
+
};
|
|
29
|
+
author?: string;
|
|
30
|
+
engines?: {
|
|
31
|
+
homebridge?: string;
|
|
32
|
+
node?: string;
|
|
33
|
+
};
|
|
34
|
+
funding?: NpmFunding;
|
|
35
|
+
isHbScoped?: boolean;
|
|
36
|
+
isHbMaintained?: boolean;
|
|
37
|
+
newHbScope?: {
|
|
38
|
+
from: string;
|
|
39
|
+
to: string;
|
|
40
|
+
switch: string;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface HomebridgePluginUiMetadata {
|
|
44
|
+
devServer: null | string;
|
|
45
|
+
publicPath: string;
|
|
46
|
+
serverPath: string;
|
|
47
|
+
plugin: HomebridgePlugin;
|
|
48
|
+
}
|
|
49
|
+
export interface HomebridgePluginVersions {
|
|
50
|
+
tags: Record<string, string>;
|
|
51
|
+
versions: {
|
|
52
|
+
[key: string]: IPackageJson;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export interface INpmPerson {
|
|
56
|
+
name?: string;
|
|
57
|
+
email?: string;
|
|
58
|
+
homepage?: string;
|
|
59
|
+
username?: string;
|
|
60
|
+
url?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface INpmRegistryModule {
|
|
63
|
+
'_id': string;
|
|
64
|
+
'_rev': string;
|
|
65
|
+
'name': string;
|
|
66
|
+
'dist-tags': {
|
|
67
|
+
latest: string;
|
|
68
|
+
[key: string]: string;
|
|
69
|
+
};
|
|
70
|
+
'versions': {
|
|
71
|
+
[key: string]: IPackageJson;
|
|
72
|
+
};
|
|
73
|
+
'time': {
|
|
74
|
+
created: string;
|
|
75
|
+
modified: string;
|
|
76
|
+
[key: string]: string;
|
|
77
|
+
};
|
|
78
|
+
'maintainers': INpmPerson[];
|
|
79
|
+
'description': string;
|
|
80
|
+
'homepage': string;
|
|
81
|
+
'keywords': string[];
|
|
82
|
+
'repository': {
|
|
83
|
+
type: string;
|
|
84
|
+
url: string;
|
|
85
|
+
};
|
|
86
|
+
'author': INpmPerson;
|
|
87
|
+
'bugs': {
|
|
88
|
+
email?: string;
|
|
89
|
+
url?: string;
|
|
90
|
+
};
|
|
91
|
+
'license': string;
|
|
92
|
+
'readme': string;
|
|
93
|
+
'readmeFilename': string;
|
|
94
|
+
}
|
|
95
|
+
export interface INpmSearchResultItem {
|
|
96
|
+
package: {
|
|
97
|
+
name: string;
|
|
98
|
+
scope: string;
|
|
99
|
+
version: string;
|
|
100
|
+
description: string;
|
|
101
|
+
keywords: string[];
|
|
102
|
+
date: string;
|
|
103
|
+
links: {
|
|
104
|
+
npm: string;
|
|
105
|
+
homebridge?: string;
|
|
106
|
+
repository?: string;
|
|
107
|
+
bugs?: string;
|
|
108
|
+
};
|
|
109
|
+
author: INpmPerson;
|
|
110
|
+
publisher: INpmPerson;
|
|
111
|
+
maintainers: INpmPerson[];
|
|
112
|
+
};
|
|
113
|
+
flags: {
|
|
114
|
+
unstable: boolean;
|
|
115
|
+
};
|
|
116
|
+
score: {
|
|
117
|
+
final: number;
|
|
118
|
+
detail: {
|
|
119
|
+
quality: number;
|
|
120
|
+
popularity: number;
|
|
121
|
+
maintenance: number;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
searchScore: number;
|
|
125
|
+
}
|
|
126
|
+
export interface INpmSearchResults {
|
|
127
|
+
objects: INpmSearchResultItem[];
|
|
128
|
+
}
|
|
129
|
+
export interface IPackageJson {
|
|
130
|
+
name: string;
|
|
131
|
+
displayName?: string;
|
|
132
|
+
version?: string;
|
|
133
|
+
description?: string;
|
|
134
|
+
keywords?: string[];
|
|
135
|
+
homepage?: string;
|
|
136
|
+
bugs?: string | {
|
|
137
|
+
email?: string;
|
|
138
|
+
url?: string;
|
|
139
|
+
};
|
|
140
|
+
license?: string;
|
|
141
|
+
author?: string | INpmPerson;
|
|
142
|
+
maintainers?: INpmPerson[];
|
|
143
|
+
contributors?: string[] | INpmPerson[];
|
|
144
|
+
funding?: NpmFunding;
|
|
145
|
+
files?: string[];
|
|
146
|
+
main?: string;
|
|
147
|
+
bin?: string | {
|
|
148
|
+
[key: string]: string;
|
|
149
|
+
};
|
|
150
|
+
repository?: string | {
|
|
151
|
+
type: string;
|
|
152
|
+
url: string;
|
|
153
|
+
};
|
|
154
|
+
scripts?: {
|
|
155
|
+
[key: string]: string;
|
|
156
|
+
};
|
|
157
|
+
dependencies?: {
|
|
158
|
+
[key: string]: string;
|
|
159
|
+
};
|
|
160
|
+
devDependencies?: {
|
|
161
|
+
[key: string]: string;
|
|
162
|
+
};
|
|
163
|
+
peerDependencies?: {
|
|
164
|
+
[key: string]: string;
|
|
165
|
+
};
|
|
166
|
+
optionalDependencies?: {
|
|
167
|
+
[key: string]: string;
|
|
168
|
+
};
|
|
169
|
+
bundledDependencies?: string[];
|
|
170
|
+
engines?: {
|
|
171
|
+
[key: string]: string;
|
|
172
|
+
};
|
|
173
|
+
os?: string[];
|
|
174
|
+
cpu?: string[];
|
|
175
|
+
preferGlobal?: boolean;
|
|
176
|
+
private?: boolean;
|
|
177
|
+
publishConfig?: {
|
|
178
|
+
registry?: string;
|
|
179
|
+
};
|
|
180
|
+
deprecated?: string;
|
|
181
|
+
}
|
|
182
|
+
export type NpmFunding = {
|
|
183
|
+
type: string;
|
|
184
|
+
url: string;
|
|
185
|
+
} | string | Array<{
|
|
186
|
+
type: string;
|
|
187
|
+
url: string;
|
|
188
|
+
} | string>;
|
|
189
|
+
export interface PluginAlias {
|
|
190
|
+
pluginAlias: null | string;
|
|
191
|
+
pluginType: null | 'platform' | 'accessory';
|
|
192
|
+
}
|
|
193
|
+
export interface PluginListNewScopeItem {
|
|
194
|
+
from: string;
|
|
195
|
+
to: string;
|
|
196
|
+
switch: string;
|
|
197
|
+
}
|
|
198
|
+
export interface PluginListItem {
|
|
199
|
+
c?: string;
|
|
200
|
+
h?: 1;
|
|
201
|
+
i?: string;
|
|
202
|
+
m?: 1;
|
|
203
|
+
a?: string;
|
|
204
|
+
n?: string;
|
|
205
|
+
s?: PluginListNewScopeItem;
|
|
206
|
+
v?: 1;
|
|
207
|
+
p?: 1;
|
|
208
|
+
}
|
|
209
|
+
export interface PluginListData {
|
|
210
|
+
data: Record<string, PluginListItem>;
|
|
211
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.interfaces.js","sourceRoot":"","sources":["../../../src/modules/plugins/plugins.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EventEmitter } from 'node:events';
|
|
2
|
-
import type { HomebridgePlugin, HomebridgePluginUiMetadata, HomebridgePluginVersions, PluginAlias } from './
|
|
2
|
+
import type { HomebridgePlugin, HomebridgePluginUiMetadata, HomebridgePluginVersions, PluginAlias } from './plugins.interfaces';
|
|
3
3
|
import { HttpService } from '@nestjs/axios';
|
|
4
4
|
import { ConfigService } from '../../core/config/config.service';
|
|
5
5
|
import { Logger } from '../../core/logger/logger.service';
|
|
@@ -29,6 +29,7 @@ export declare class PluginsService {
|
|
|
29
29
|
private verifiedPlusPlugins;
|
|
30
30
|
private npmPluginCache;
|
|
31
31
|
private pluginAliasCache;
|
|
32
|
+
private installedPluginsCache;
|
|
32
33
|
private pluginAliasHints;
|
|
33
34
|
constructor(httpService: HttpService, nodePtyService: NodePtyService, logger: Logger, configService: ConfigService);
|
|
34
35
|
private fixDisplayName;
|
|
@@ -52,6 +52,7 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
52
52
|
this.verifiedPlusPlugins = [];
|
|
53
53
|
this.npmPluginCache = new node_cache_1.default({ stdTTL: 300 });
|
|
54
54
|
this.pluginAliasCache = new node_cache_1.default({ stdTTL: 86400 });
|
|
55
|
+
this.installedPluginsCache = new node_cache_1.default({ stdTTL: 60 });
|
|
55
56
|
this.pluginAliasHints = {
|
|
56
57
|
'homebridge-broadlink-rm-pro': {
|
|
57
58
|
pluginAlias: 'BroadlinkRM',
|
|
@@ -76,12 +77,16 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
76
77
|
return plugin;
|
|
77
78
|
}
|
|
78
79
|
async getInstalledPlugins() {
|
|
80
|
+
const cached = this.installedPluginsCache.get('installed-plugins');
|
|
81
|
+
if (cached) {
|
|
82
|
+
this.installedPlugins = cached;
|
|
83
|
+
return cached;
|
|
84
|
+
}
|
|
79
85
|
const plugins = [];
|
|
80
86
|
const modules = await this.getInstalledModules();
|
|
81
87
|
const disabledPlugins = await this.getDisabledPlugins();
|
|
82
|
-
const homebridgePlugins = modules
|
|
83
|
-
|
|
84
|
-
.filter(module => (0, fs_extra_1.pathExistsSync)((0, node_path_1.join)(module.installPath, 'package.json')));
|
|
88
|
+
const homebridgePlugins = modules.filter(module => ((module.name.indexOf('homebridge-') === 0) || this.isScopedPlugin(module.name))
|
|
89
|
+
&& (0, fs_extra_1.pathExistsSync)((0, node_path_1.join)(module.installPath, 'package.json')));
|
|
85
90
|
const limit = (0, p_limit_1.default)((0, node_os_1.cpus)().length);
|
|
86
91
|
await Promise.all(homebridgePlugins.map(async (pkg) => {
|
|
87
92
|
return limit(async () => {
|
|
@@ -90,11 +95,12 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
90
95
|
if (pkgJson.keywords && pkgJson.keywords.includes('homebridge-plugin')) {
|
|
91
96
|
const plugin = await this.parsePackageJson(pkgJson, pkg.path);
|
|
92
97
|
plugin.disabled = disabledPlugins.includes(plugin.name);
|
|
93
|
-
|
|
98
|
+
const existingPlugin = plugins.find(x => plugin.name === x.name);
|
|
99
|
+
if (!existingPlugin) {
|
|
94
100
|
plugins.push(plugin);
|
|
95
101
|
}
|
|
96
|
-
else if (!plugin.globalInstall &&
|
|
97
|
-
const index = plugins.
|
|
102
|
+
else if (!plugin.globalInstall && existingPlugin.globalInstall === true) {
|
|
103
|
+
const index = plugins.indexOf(existingPlugin);
|
|
98
104
|
plugins[index] = plugin;
|
|
99
105
|
}
|
|
100
106
|
}
|
|
@@ -105,6 +111,7 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
105
111
|
});
|
|
106
112
|
}));
|
|
107
113
|
this.installedPlugins = plugins.map(plugin => this.fixDisplayName(plugin));
|
|
114
|
+
this.installedPluginsCache.set('installed-plugins', this.installedPlugins);
|
|
108
115
|
return this.installedPlugins;
|
|
109
116
|
}
|
|
110
117
|
async getOutOfDatePlugins() {
|
|
@@ -169,11 +176,14 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
169
176
|
const pluginKeywords = this.getPluginKeywords(plugin);
|
|
170
177
|
const pluginDescription = (plugin.description || '').toLowerCase();
|
|
171
178
|
const nameTerms = this.extractTerms(pluginName.substring(pluginName.lastIndexOf('/') + 1), /-/);
|
|
172
|
-
|
|
179
|
+
const searchTermsSet = new Set(searchTerms);
|
|
180
|
+
const keywordsSet = new Set(pluginKeywords);
|
|
181
|
+
const nameTermsSet = new Set(nameTerms);
|
|
182
|
+
if (nameTerms.every(term => searchTermsSet.has(term))) {
|
|
173
183
|
return 'exactName';
|
|
174
184
|
}
|
|
175
|
-
if (searchTerms.every(term =>
|
|
176
|
-
|| searchTerms.every(term =>
|
|
185
|
+
if (searchTerms.every(term => keywordsSet.has(term))
|
|
186
|
+
|| searchTerms.every(term => nameTermsSet.has(term))) {
|
|
177
187
|
return 'exactKeyword';
|
|
178
188
|
}
|
|
179
189
|
if (searchTerms.some(term => pluginName.includes(term))
|
|
@@ -206,9 +216,10 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
206
216
|
this.logger.error(`Failed to search the npm registry (see https://homebridge.io/w/JJSz6 for help) as ${e.message}.`);
|
|
207
217
|
throw new common_1.InternalServerErrorException(`Failed to search the npm registry as ${e.message}, see logs.`);
|
|
208
218
|
}
|
|
219
|
+
const hiddenPluginsSet = new Set(this.hiddenPlugins);
|
|
209
220
|
const plugins = searchResults.objects
|
|
210
|
-
.filter(x => x.package.name.startsWith('homebridge-') || this.isScopedPlugin(x.package.name))
|
|
211
|
-
|
|
221
|
+
.filter(x => (x.package.name.startsWith('homebridge-') || this.isScopedPlugin(x.package.name))
|
|
222
|
+
&& !hiddenPluginsSet.has(x.package.name))
|
|
212
223
|
.map((pkg) => {
|
|
213
224
|
const isInstalled = this.installedPlugins.find(x => x.name === pkg.package.name);
|
|
214
225
|
if (isInstalled) {
|
|
@@ -333,6 +344,12 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
333
344
|
pluginAction.version = await this.getNpmModuleLatestVersion(pluginAction.name);
|
|
334
345
|
}
|
|
335
346
|
const userPlatform = (0, node_os_1.platform)();
|
|
347
|
+
if (this.configService.ui.webroot && (0, semver_1.lt)(pluginAction.version, '5.4.2-beta.31')) {
|
|
348
|
+
throw new Error(`Cannot install UI version ${pluginAction.version} when a webroot is configured.\n\r`
|
|
349
|
+
+ 'Please either:\n\r'
|
|
350
|
+
+ ' - Remove the configured webroot, restart Homebridge, then try the install again, or\n\r'
|
|
351
|
+
+ ' - Install UI v5.5.0 or later\n\r\n\r');
|
|
352
|
+
}
|
|
336
353
|
let installPath = this.configService.customPluginPath
|
|
337
354
|
? this.configService.customPluginPath
|
|
338
355
|
: this.installedPlugins.find(x => x.name === this.configService.name).installPath;
|
|
@@ -1125,6 +1142,7 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
1125
1142
|
client.emit('stdout', (0, bash_color_1.cyan)(`USER: ${(0, node_os_1.userInfo)().username}\n\r`));
|
|
1126
1143
|
client.emit('stdout', (0, bash_color_1.cyan)(`DIR: ${cwd}\n\r`));
|
|
1127
1144
|
client.emit('stdout', (0, bash_color_1.cyan)(`CMD: ${command.join(' ')}\n\r\n\r`));
|
|
1145
|
+
this.installedPluginsCache.del('installed-plugins');
|
|
1128
1146
|
await new Promise((res, rej) => {
|
|
1129
1147
|
const term = this.nodePtyService.spawn(command.shift(), command, {
|
|
1130
1148
|
name: 'xterm-color',
|
|
@@ -1133,18 +1151,18 @@ let PluginsService = PluginsService_1 = class PluginsService {
|
|
|
1133
1151
|
cwd,
|
|
1134
1152
|
env,
|
|
1135
1153
|
});
|
|
1136
|
-
term.
|
|
1154
|
+
term.onData((data) => {
|
|
1137
1155
|
client.emit('stdout', data);
|
|
1138
1156
|
});
|
|
1139
|
-
term.
|
|
1140
|
-
if (
|
|
1157
|
+
term.onExit(({ exitCode }) => {
|
|
1158
|
+
if (exitCode === 0) {
|
|
1141
1159
|
clearTimeout(timeoutTimer);
|
|
1142
1160
|
client.emit('stdout', (0, bash_color_1.green)('\n\rOperation succeeded!.\n\r'));
|
|
1143
1161
|
res(null);
|
|
1144
1162
|
}
|
|
1145
1163
|
else {
|
|
1146
1164
|
clearTimeout(timeoutTimer);
|
|
1147
|
-
rej(new Error(`Operation failed with code ${
|
|
1165
|
+
rej(new Error(`Operation failed with code ${exitCode}.\n\rYou can download this log file for future reference.\n\rSee https://github.com/homebridge/homebridge-config-ui-x/wiki/Troubleshooting for help.`));
|
|
1148
1166
|
}
|
|
1149
1167
|
});
|
|
1150
1168
|
timeoutTimer = setTimeout(() => {
|