homebridge 2.0.0-alpha.6 → 2.0.0-alpha.61

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.
Files changed (108) hide show
  1. package/README.md +1 -1
  2. package/bin/homebridge.js +22 -0
  3. package/dist/api.d.ts +235 -3
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/api.js +91 -0
  6. package/dist/api.js.map +1 -1
  7. package/dist/bridgeService.d.ts +11 -3
  8. package/dist/bridgeService.d.ts.map +1 -1
  9. package/dist/bridgeService.js +9 -5
  10. package/dist/bridgeService.js.map +1 -1
  11. package/dist/childBridgeFork.d.ts +30 -3
  12. package/dist/childBridgeFork.d.ts.map +1 -1
  13. package/dist/childBridgeFork.js +278 -5
  14. package/dist/childBridgeFork.js.map +1 -1
  15. package/dist/childBridgeService.d.ts +22 -0
  16. package/dist/childBridgeService.d.ts.map +1 -1
  17. package/dist/childBridgeService.js +85 -26
  18. package/dist/childBridgeService.js.map +1 -1
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +3 -2
  21. package/dist/cli.js.map +1 -1
  22. package/dist/externalPortService.d.ts +27 -6
  23. package/dist/externalPortService.d.ts.map +1 -1
  24. package/dist/externalPortService.js +73 -7
  25. package/dist/externalPortService.js.map +1 -1
  26. package/dist/index.d.ts +48 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +36 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/ipcService.d.ts +20 -0
  31. package/dist/ipcService.d.ts.map +1 -1
  32. package/dist/ipcService.js.map +1 -1
  33. package/dist/logger.d.ts +6 -0
  34. package/dist/logger.d.ts.map +1 -1
  35. package/dist/logger.js +8 -0
  36. package/dist/logger.js.map +1 -1
  37. package/dist/matter/index.d.ts +59 -0
  38. package/dist/matter/index.d.ts.map +1 -0
  39. package/dist/matter/index.js +19 -0
  40. package/dist/matter/index.js.map +1 -0
  41. package/dist/matter/matterAccessoryCache.d.ts +77 -0
  42. package/dist/matter/matterAccessoryCache.d.ts.map +1 -0
  43. package/dist/matter/matterAccessoryCache.js +176 -0
  44. package/dist/matter/matterAccessoryCache.js.map +1 -0
  45. package/dist/matter/matterBehaviors.d.ts +158 -0
  46. package/dist/matter/matterBehaviors.d.ts.map +1 -0
  47. package/dist/matter/matterBehaviors.js +740 -0
  48. package/dist/matter/matterBehaviors.js.map +1 -0
  49. package/dist/matter/matterConfigValidator.d.ts +81 -0
  50. package/dist/matter/matterConfigValidator.d.ts.map +1 -0
  51. package/dist/matter/matterConfigValidator.js +240 -0
  52. package/dist/matter/matterConfigValidator.js.map +1 -0
  53. package/dist/matter/matterErrorHandler.d.ts +94 -0
  54. package/dist/matter/matterErrorHandler.d.ts.map +1 -0
  55. package/dist/matter/matterErrorHandler.js +485 -0
  56. package/dist/matter/matterErrorHandler.js.map +1 -0
  57. package/dist/matter/matterLogFormatter.d.ts +19 -0
  58. package/dist/matter/matterLogFormatter.d.ts.map +1 -0
  59. package/dist/matter/matterLogFormatter.js +126 -0
  60. package/dist/matter/matterLogFormatter.js.map +1 -0
  61. package/dist/matter/matterNetworkMonitor.d.ts +68 -0
  62. package/dist/matter/matterNetworkMonitor.d.ts.map +1 -0
  63. package/dist/matter/matterNetworkMonitor.js +249 -0
  64. package/dist/matter/matterNetworkMonitor.js.map +1 -0
  65. package/dist/matter/matterServer.d.ts +643 -0
  66. package/dist/matter/matterServer.d.ts.map +1 -0
  67. package/dist/matter/matterServer.js +1623 -0
  68. package/dist/matter/matterServer.js.map +1 -0
  69. package/dist/matter/matterSharedTypes.d.ts +165 -0
  70. package/dist/matter/matterSharedTypes.d.ts.map +1 -0
  71. package/dist/matter/matterSharedTypes.js +51 -0
  72. package/dist/matter/matterSharedTypes.js.map +1 -0
  73. package/dist/matter/matterStorage.d.ts +126 -0
  74. package/dist/matter/matterStorage.d.ts.map +1 -0
  75. package/dist/matter/matterStorage.js +419 -0
  76. package/dist/matter/matterStorage.js.map +1 -0
  77. package/dist/matter/matterTypes.d.ts +612 -0
  78. package/dist/matter/matterTypes.d.ts.map +1 -0
  79. package/dist/matter/matterTypes.js +150 -0
  80. package/dist/matter/matterTypes.js.map +1 -0
  81. package/dist/platformAccessory.d.ts +1 -0
  82. package/dist/platformAccessory.d.ts.map +1 -1
  83. package/dist/platformAccessory.js +8 -1
  84. package/dist/platformAccessory.js.map +1 -1
  85. package/dist/plugin.d.ts +0 -1
  86. package/dist/plugin.d.ts.map +1 -1
  87. package/dist/plugin.js +8 -11
  88. package/dist/plugin.js.map +1 -1
  89. package/dist/pluginManager.d.ts.map +1 -1
  90. package/dist/pluginManager.js +22 -21
  91. package/dist/pluginManager.js.map +1 -1
  92. package/dist/server.d.ts +23 -1
  93. package/dist/server.d.ts.map +1 -1
  94. package/dist/server.js +374 -10
  95. package/dist/server.js.map +1 -1
  96. package/dist/storageService.js +8 -8
  97. package/dist/storageService.js.map +1 -1
  98. package/dist/user.d.ts +1 -0
  99. package/dist/user.d.ts.map +1 -1
  100. package/dist/user.js +10 -7
  101. package/dist/user.js.map +1 -1
  102. package/dist/util/mac.d.ts.map +1 -1
  103. package/dist/util/mac.js +2 -2
  104. package/dist/util/mac.js.map +1 -1
  105. package/dist/version.js +2 -2
  106. package/dist/version.js.map +1 -1
  107. package/package.json +25 -26
  108. package/bin/homebridge +0 -19
@@ -1,4 +1,4 @@
1
- import path from 'node:path';
1
+ import { resolve } from 'node:path';
2
2
  import fs from 'fs-extra';
3
3
  export class StorageService {
4
4
  baseDirectory;
@@ -9,33 +9,33 @@ export class StorageService {
9
9
  return fs.ensureDirSync(this.baseDirectory);
10
10
  }
11
11
  getItemSync(itemName) {
12
- const filePath = path.resolve(this.baseDirectory, itemName);
12
+ const filePath = resolve(this.baseDirectory, itemName);
13
13
  if (!fs.pathExistsSync(filePath)) {
14
14
  return null;
15
15
  }
16
16
  return fs.readJsonSync(filePath);
17
17
  }
18
18
  async getItem(itemName) {
19
- const filePath = path.resolve(this.baseDirectory, itemName);
19
+ const filePath = resolve(this.baseDirectory, itemName);
20
20
  if (!await fs.pathExists(filePath)) {
21
21
  return null;
22
22
  }
23
23
  return await fs.readJson(filePath);
24
24
  }
25
25
  setItemSync(itemName, data) {
26
- return fs.writeJsonSync(path.resolve(this.baseDirectory, itemName), data);
26
+ return fs.writeJsonSync(resolve(this.baseDirectory, itemName), data);
27
27
  }
28
28
  setItem(itemName, data) {
29
- return fs.writeJson(path.resolve(this.baseDirectory, itemName), data);
29
+ return fs.writeJson(resolve(this.baseDirectory, itemName), data);
30
30
  }
31
31
  copyItem(srcItemName, destItemName) {
32
- return fs.copyFile(path.resolve(this.baseDirectory, srcItemName), path.resolve(this.baseDirectory, destItemName));
32
+ return fs.copyFile(resolve(this.baseDirectory, srcItemName), resolve(this.baseDirectory, destItemName));
33
33
  }
34
34
  copyItemSync(srcItemName, destItemName) {
35
- return fs.copyFileSync(path.resolve(this.baseDirectory, srcItemName), path.resolve(this.baseDirectory, destItemName));
35
+ return fs.copyFileSync(resolve(this.baseDirectory, srcItemName), resolve(this.baseDirectory, destItemName));
36
36
  }
37
37
  removeItemSync(itemName) {
38
- return fs.removeSync(path.resolve(this.baseDirectory, itemName));
38
+ return fs.removeSync(resolve(this.baseDirectory, itemName));
39
39
  }
40
40
  }
41
41
  //# sourceMappingURL=storageService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storageService.js","sourceRoot":"","sources":["../src/storageService.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,MAAM,OAAO,cAAc;IAEhB;IADT,YACS,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAC3B,CAAC;IAEG,QAAQ;QACb,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAEM,WAAW,CAAI,QAAgB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE3D,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,QAAgB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAEM,WAAW,CAAC,QAAgB,EAAE,IAAmC;QACtE,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IAC3E,CAAC;IAEM,OAAO,CAAC,QAAgB,EAAE,IAAmC;QAClE,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IACvE,CAAC;IAEM,QAAQ,CAAC,WAAmB,EAAE,YAAoB;QACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;IACnH,CAAC;IAEM,YAAY,CAAC,WAAmB,EAAE,YAAoB;QAC3D,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;IACvH,CAAC;IAEM,cAAc,CAAC,QAAgB;QACpC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"storageService.js","sourceRoot":"","sources":["../src/storageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,MAAM,OAAO,cAAc;IAEhB;IADT,YACS,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAC3B,CAAC;IAEG,QAAQ;QACb,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAEM,WAAW,CAAI,QAAgB;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAEtD,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,QAAgB;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAEtD,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAEM,WAAW,CAAC,QAAgB,EAAE,IAAmC;QACtE,OAAO,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IACtE,CAAC;IAEM,OAAO,CAAC,QAAgB,EAAE,IAAmC;QAClE,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;IAEM,QAAQ,CAAC,WAAmB,EAAE,YAAoB;QACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;IACzG,CAAC;IAEM,YAAY,CAAC,WAAmB,EAAE,YAAoB;QAC3D,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;IAC7G,CAAC;IAEM,cAAc,CAAC,QAAgB;QACpC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7D,CAAC;CACF"}
package/dist/user.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare class User {
6
6
  private static storageAccessed;
7
7
  static configPath(): string;
8
8
  static persistPath(): string;
9
+ static matterPath(): string;
9
10
  static cachedAccessoryPath(): string;
10
11
  static storagePath(): string;
11
12
  static setStoragePath(...storagePathSegments: string[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAQ;IACzC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAQ;IAEtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAIpC,MAAM,CAAC,WAAW,IAAI,MAAM;WAMd,cAAc,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI;CAOrE"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAQ;IACzC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAQ;IAEtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAIpC,MAAM,CAAC,WAAW,IAAI,MAAM;WAMd,cAAc,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI;CAOrE"}
package/dist/user.js CHANGED
@@ -1,5 +1,5 @@
1
- import os from 'node:os';
2
- import path from 'node:path';
1
+ import { homedir } from 'node:os';
2
+ import { join, resolve } from 'node:path';
3
3
  /**
4
4
  * Manages user settings and storage locations.
5
5
  */
@@ -7,23 +7,26 @@ export class User {
7
7
  static customStoragePath;
8
8
  static storageAccessed = false;
9
9
  static configPath() {
10
- return path.join(User.storagePath(), 'config.json');
10
+ return join(User.storagePath(), 'config.json');
11
11
  }
12
12
  static persistPath() {
13
- return path.join(User.storagePath(), 'persist'); // hap-nodejs data is stored here
13
+ return join(User.storagePath(), 'persist'); // hap-nodejs data is stored here
14
+ }
15
+ static matterPath() {
16
+ return join(User.storagePath(), 'matter'); // matter data is stored here
14
17
  }
15
18
  static cachedAccessoryPath() {
16
- return path.join(User.storagePath(), 'accessories');
19
+ return join(User.storagePath(), 'accessories');
17
20
  }
18
21
  static storagePath() {
19
22
  User.storageAccessed = true;
20
- return User.customStoragePath ? User.customStoragePath : path.join(os.homedir(), '.homebridge');
23
+ return User.customStoragePath ? User.customStoragePath : join(homedir(), '.homebridge');
21
24
  }
22
25
  static setStoragePath(...storagePathSegments) {
23
26
  if (User.storageAccessed) {
24
27
  throw new Error('Storage path was already accessed and cannot be changed anymore. Try initializing your custom storage path earlier!');
25
28
  }
26
- User.customStoragePath = path.resolve(...storagePathSegments);
29
+ User.customStoragePath = resolve(...storagePathSegments);
27
30
  }
28
31
  }
29
32
  //# sourceMappingURL=user.js.map
package/dist/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;GAEG;AACH,MAAM,OAAO,IAAI;IACP,MAAM,CAAC,iBAAiB,CAAS;IACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;IAEtC,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA,CAAC,iCAAiC;IACnF,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAA;IACjG,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAG,mBAA6B;QAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAA;QACxI,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC/D,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC;;GAEG;AACH,MAAM,OAAO,IAAI;IACP,MAAM,CAAC,iBAAiB,CAAS;IACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;IAEtC,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA,CAAC,iCAAiC;IAC9E,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA,CAAC,6BAA6B;IACzE,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAA;IACzF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAG,mBAA6B;QAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAA;QACxI,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mac.d.ts","sourceRoot":"","sources":["../../src/util/mac.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,GAAG,UAAU,CAOzF"}
1
+ {"version":3,"file":"mac.d.ts","sourceRoot":"","sources":["../../src/util/mac.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,GAAG,UAAU,CAOzF"}
package/dist/util/mac.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /* global NodeJS */
2
- import crypto from 'node:crypto';
2
+ import { createHash } from 'node:crypto';
3
3
  const validMac = /^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/;
4
4
  export function validMacAddress(address) {
5
5
  return validMac.test(address);
6
6
  }
7
7
  export function generate(data) {
8
- const sha1sum = crypto.createHash('sha1');
8
+ const sha1sum = createHash('sha1');
9
9
  sha1sum.update(data);
10
10
  const s = sha1sum.digest('hex');
11
11
  let i = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"mac.js","sourceRoot":"","sources":["../../src/util/mac.ts"],"names":[],"mappings":"AAAA,mBAAmB;AAInB,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,MAAM,QAAQ,GAAG,kCAAkC,CAAA;AAInD,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAoD;IAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AACtE,CAAC"}
1
+ {"version":3,"file":"mac.js","sourceRoot":"","sources":["../../src/util/mac.ts"],"names":[],"mappings":"AAEA,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,QAAQ,GAAG,kCAAkC,CAAA;AAInD,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAoD;IAC3E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AACtE,CAAC"}
package/dist/version.js CHANGED
@@ -1,11 +1,11 @@
1
- import fs from 'node:fs';
1
+ import { readFileSync } from 'node:fs';
2
2
  import { dirname, join } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  const __filename = fileURLToPath(import.meta.url);
5
5
  const __dirname = dirname(__filename);
6
6
  function loadPackageJson() {
7
7
  const packageJSONPath = join(__dirname, '../package.json');
8
- return JSON.parse(fs.readFileSync(packageJSONPath, { encoding: 'utf8' }));
8
+ return JSON.parse(readFileSync(packageJSONPath, { encoding: 'utf8' }));
9
9
  }
10
10
  export default function getVersion() {
11
11
  return loadPackageJson().version;
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAErC,SAAS,eAAe;IACtB,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU;IAChC,OAAO,eAAe,EAAE,CAAC,OAAO,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAErC,SAAS,eAAe;IACtB,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU;IAChC,OAAO,eAAe,EAAE,CAAC,OAAO,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAA;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge",
3
3
  "type": "module",
4
- "version": "2.0.0-alpha.6",
4
+ "version": "2.0.0-alpha.61",
5
5
  "description": "HomeKit support for the impatient",
6
6
  "author": "Nick Farina",
7
7
  "license": "Apache-2.0",
@@ -12,14 +12,15 @@
12
12
  "bugs": {
13
13
  "url": "https://github.com/homebridge/homebridge/issues"
14
14
  },
15
- "main": "dist/index.js",
16
- "types": "dist/index.d.ts",
15
+ "exports": "./dist/index.js",
16
+ "main": "lib/index.js",
17
+ "types": "lib/index.d.ts",
17
18
  "maintainers": [
18
19
  "oznu <dev@oz.nu>",
19
20
  "Andreas Bauer <mail@anderl-bauer.de>"
20
21
  ],
21
22
  "bin": {
22
- "homebridge": "bin/homebridge"
23
+ "homebridge": "bin/homebridge.js"
23
24
  },
24
25
  "files": [
25
26
  "LICENSE",
@@ -29,50 +30,48 @@
29
30
  "dist"
30
31
  ],
31
32
  "engines": {
32
- "node": "^18.15.0 || ^20.7.0 || ^22.0.0"
33
+ "node": "^20.7.0 || ^22 || ^24"
33
34
  },
34
35
  "scripts": {
35
36
  "build": "npm run clean && tsc",
36
37
  "check": "npm install && npm outdated",
37
- "clean": "rimraf dist/",
38
- "dev": "DEBUG=* ./bin/homebridge -D -P example-plugins/ || true",
38
+ "clean": "rimraf dist && rimraf coverage",
39
+ "dev": "DEBUG=* ./bin/homebridge.js -D -P example-plugins/ || true",
39
40
  "docs": "typedoc",
40
41
  "lint": "eslint .",
41
42
  "lint:fix": "npm run lint -- --fix",
43
+ "lint-docs": "typedoc --emit none --treatWarningsAsErrors",
42
44
  "prepublishOnly": "npm run build",
43
45
  "postpublish": "npm run clean",
44
46
  "test": "vitest run",
45
47
  "test-coverage": "npm run test -- --coverage",
46
48
  "watch": "nodemon"
47
49
  },
48
- "preferGlobal": true,
49
50
  "dependencies": {
50
- "chalk": "5.3.0",
51
- "commander": "12.1.0",
52
- "fs-extra": "11.2.0",
53
- "hap-nodejs": "1.1.1-beta.1",
51
+ "@matter/main": "0.15.6",
52
+ "chalk": "5.6.2",
53
+ "commander": "14.0.1",
54
+ "fs-extra": "11.3.2",
55
+ "hap-nodejs": "2.0.0-beta.2",
54
56
  "qrcode-terminal": "0.12.0",
55
- "semver": "7.6.3",
57
+ "semver": "7.7.3",
56
58
  "source-map-support": "0.5.21"
57
59
  },
58
60
  "devDependencies": {
59
- "@antfu/eslint-config": "^2.27.1",
61
+ "@antfu/eslint-config": "^6.0.0",
62
+ "@prettier/plugin-xml": "^3.4.2",
60
63
  "@types/debug": "^4.1.12",
61
64
  "@types/fs-extra": "^11.0.4",
62
- "@types/node": "^22.5.0",
63
- "@types/semver": "^7.5.8",
65
+ "@types/node": "^24.9.1",
66
+ "@types/semver": "^7.7.1",
64
67
  "@types/source-map-support": "^0.5.10",
65
- "@vitest/coverage-v8": "^2.0.5",
66
- "esbuild": "^0.23.1",
67
- "esbuild-node-externals": "^1.14.0",
68
- "esbuild-plugin-tsc": "^0.4.0",
69
- "eslint": "^9.9.1",
70
- "eslint-plugin-format": "^0.1.2",
71
- "nodemon": "^3.1.4",
68
+ "@vitest/coverage-v8": "^3.2.4",
69
+ "eslint-plugin-format": "^1.0.2",
70
+ "nodemon": "^3.1.10",
72
71
  "rimraf": "^6.0.1",
73
72
  "ts-node": "^10.9.2",
74
- "typedoc": "^0.26.6",
75
- "typescript": "^5.5.4",
76
- "vitest": "^2.0.5"
73
+ "typedoc": "^0.28.14",
74
+ "typescript": "^5.9.3",
75
+ "vitest": "^3.2.4"
77
76
  }
78
77
  }
package/bin/homebridge DELETED
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- //
4
- // This executable sets up the environment and runs the HomeBridge CLI.
5
- //
6
-
7
- import { realpathSync } from 'node:fs'
8
- import { dirname, join } from 'node:path'
9
- import process from 'node:process'
10
- import { fileURLToPath } from 'node:url'
11
-
12
- process.title = 'homebridge'
13
-
14
- // Find the HomeBridge lib
15
- const __filename = fileURLToPath(import.meta.url)
16
- const lib = join(dirname(realpathSync(__filename)), '../dist')
17
-
18
- // Run HomeBridge
19
- import(`${lib}/cli.js`).then(({ default: run }) => run())