homebridge 2.0.0-alpha.4 → 2.0.0-alpha.41

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 (124) hide show
  1. package/README.md +1 -1
  2. package/bin/homebridge.js +22 -0
  3. package/dist/api.d.ts +210 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +140 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/bridgeService.d.ts +122 -0
  8. package/dist/bridgeService.d.ts.map +1 -0
  9. package/dist/bridgeService.js +396 -0
  10. package/dist/bridgeService.js.map +1 -0
  11. package/dist/childBridgeFork.d.ts +38 -0
  12. package/dist/childBridgeFork.d.ts.map +1 -0
  13. package/dist/childBridgeFork.js +241 -2
  14. package/dist/childBridgeFork.js.map +1 -7
  15. package/dist/childBridgeService.d.ts +204 -0
  16. package/dist/childBridgeService.d.ts.map +1 -0
  17. package/dist/childBridgeService.js +452 -0
  18. package/dist/childBridgeService.js.map +1 -0
  19. package/dist/childMatterBridgeFork.d.ts +108 -0
  20. package/dist/childMatterBridgeFork.d.ts.map +1 -0
  21. package/dist/childMatterBridgeFork.js +330 -0
  22. package/dist/childMatterBridgeFork.js.map +1 -0
  23. package/dist/childMatterBridgeService.d.ts +166 -0
  24. package/dist/childMatterBridgeService.d.ts.map +1 -0
  25. package/dist/childMatterBridgeService.js +623 -0
  26. package/dist/childMatterBridgeService.js.map +1 -0
  27. package/dist/cli.d.ts +3 -0
  28. package/dist/cli.d.ts.map +1 -0
  29. package/dist/cli.js +90 -2
  30. package/dist/cli.js.map +1 -7
  31. package/dist/externalPortService.d.ts +33 -0
  32. package/dist/externalPortService.d.ts.map +1 -0
  33. package/dist/externalPortService.js +59 -0
  34. package/dist/externalPortService.js.map +1 -0
  35. package/dist/index.d.ts +90 -1099
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +21 -2
  38. package/dist/index.js.map +1 -7
  39. package/dist/ipcService.d.ts +46 -0
  40. package/dist/ipcService.d.ts.map +1 -0
  41. package/dist/ipcService.js +62 -0
  42. package/dist/ipcService.js.map +1 -0
  43. package/dist/logger.d.ts +78 -0
  44. package/dist/logger.d.ts.map +1 -0
  45. package/dist/logger.js +138 -0
  46. package/dist/logger.js.map +1 -0
  47. package/dist/matter/index.d.ts +13 -0
  48. package/dist/matter/index.d.ts.map +1 -0
  49. package/dist/matter/index.js +12 -0
  50. package/dist/matter/index.js.map +1 -0
  51. package/dist/matter/matterBridge.d.ts +64 -0
  52. package/dist/matter/matterBridge.d.ts.map +1 -0
  53. package/dist/matter/matterBridge.js +154 -0
  54. package/dist/matter/matterBridge.js.map +1 -0
  55. package/dist/matter/matterConfigValidator.d.ts +27 -0
  56. package/dist/matter/matterConfigValidator.d.ts.map +1 -0
  57. package/dist/matter/matterConfigValidator.js +162 -0
  58. package/dist/matter/matterConfigValidator.js.map +1 -0
  59. package/dist/matter/matterDevice.d.ts +107 -0
  60. package/dist/matter/matterDevice.d.ts.map +1 -0
  61. package/dist/matter/matterDevice.js +913 -0
  62. package/dist/matter/matterDevice.js.map +1 -0
  63. package/dist/matter/matterDiagnostics.d.ts +121 -0
  64. package/dist/matter/matterDiagnostics.d.ts.map +1 -0
  65. package/dist/matter/matterDiagnostics.js +323 -0
  66. package/dist/matter/matterDiagnostics.js.map +1 -0
  67. package/dist/matter/matterErrorHandler.d.ts +113 -0
  68. package/dist/matter/matterErrorHandler.d.ts.map +1 -0
  69. package/dist/matter/matterErrorHandler.js +482 -0
  70. package/dist/matter/matterErrorHandler.js.map +1 -0
  71. package/dist/matter/matterNetworkMonitor.d.ts +65 -0
  72. package/dist/matter/matterNetworkMonitor.d.ts.map +1 -0
  73. package/dist/matter/matterNetworkMonitor.js +227 -0
  74. package/dist/matter/matterNetworkMonitor.js.map +1 -0
  75. package/dist/matter/matterServer.d.ts +110 -0
  76. package/dist/matter/matterServer.d.ts.map +1 -0
  77. package/dist/matter/matterServer.js +584 -0
  78. package/dist/matter/matterServer.js.map +1 -0
  79. package/dist/matter/matterSharedTypes.d.ts +167 -0
  80. package/dist/matter/matterSharedTypes.d.ts.map +1 -0
  81. package/dist/matter/matterSharedTypes.js +55 -0
  82. package/dist/matter/matterSharedTypes.js.map +1 -0
  83. package/dist/matter/matterTypes.d.ts +35 -0
  84. package/dist/matter/matterTypes.d.ts.map +1 -0
  85. package/dist/matter/matterTypes.js +278 -0
  86. package/dist/matter/matterTypes.js.map +1 -0
  87. package/dist/matter/portAllocator.d.ts +85 -0
  88. package/dist/matter/portAllocator.d.ts.map +1 -0
  89. package/dist/matter/portAllocator.js +296 -0
  90. package/dist/matter/portAllocator.js.map +1 -0
  91. package/dist/platformAccessory.d.ts +56 -0
  92. package/dist/platformAccessory.d.ts.map +1 -0
  93. package/dist/platformAccessory.js +105 -0
  94. package/dist/platformAccessory.js.map +1 -0
  95. package/dist/plugin.d.ts +30 -0
  96. package/dist/plugin.d.ts.map +1 -0
  97. package/dist/plugin.js +182 -0
  98. package/dist/plugin.js.map +1 -0
  99. package/dist/pluginManager.d.ts +77 -0
  100. package/dist/pluginManager.d.ts.map +1 -0
  101. package/dist/pluginManager.js +375 -0
  102. package/dist/pluginManager.js.map +1 -0
  103. package/dist/server.d.ts +67 -0
  104. package/dist/server.d.ts.map +1 -0
  105. package/dist/server.js +799 -0
  106. package/dist/server.js.map +1 -0
  107. package/dist/storageService.d.ts +13 -0
  108. package/dist/storageService.d.ts.map +1 -0
  109. package/dist/storageService.js +41 -0
  110. package/dist/storageService.js.map +1 -0
  111. package/dist/user.d.ts +13 -0
  112. package/dist/user.d.ts.map +1 -0
  113. package/dist/user.js +29 -0
  114. package/dist/user.js.map +1 -0
  115. package/dist/util/mac.d.ts +5 -0
  116. package/dist/util/mac.d.ts.map +1 -0
  117. package/dist/util/mac.js +14 -0
  118. package/dist/util/mac.js.map +1 -0
  119. package/dist/version.d.ts +3 -0
  120. package/dist/version.d.ts.map +1 -0
  121. package/dist/version.js +16 -0
  122. package/dist/version.js.map +1 -0
  123. package/package.json +31 -34
  124. package/bin/homebridge +0 -19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare class StorageService {
2
+ baseDirectory: string;
3
+ constructor(baseDirectory: string);
4
+ initSync(): void;
5
+ getItemSync<T>(itemName: string): T | null;
6
+ getItem<T>(itemName: string): Promise<T | null>;
7
+ setItemSync(itemName: string, data: Record<any, any> | Array<any>): void;
8
+ setItem(itemName: string, data: Record<any, any> | Array<any>): Promise<void>;
9
+ copyItem(srcItemName: string, destItemName: string): Promise<void>;
10
+ copyItemSync(srcItemName: string, destItemName: string): void;
11
+ removeItemSync(itemName: string): void;
12
+ }
13
+ //# sourceMappingURL=storageService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageService.d.ts","sourceRoot":"","sources":["../src/storageService.ts"],"names":[],"mappings":"AAIA,qBAAa,cAAc;IAEhB,aAAa,EAAE,MAAM;gBAArB,aAAa,EAAE,MAAM;IAGvB,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAUpC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUrD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;IAIxE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAI7D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG9C"}
@@ -0,0 +1,41 @@
1
+ import { resolve } from 'node:path';
2
+ import fs from 'fs-extra';
3
+ export class StorageService {
4
+ baseDirectory;
5
+ constructor(baseDirectory) {
6
+ this.baseDirectory = baseDirectory;
7
+ }
8
+ initSync() {
9
+ return fs.ensureDirSync(this.baseDirectory);
10
+ }
11
+ getItemSync(itemName) {
12
+ const filePath = resolve(this.baseDirectory, itemName);
13
+ if (!fs.pathExistsSync(filePath)) {
14
+ return null;
15
+ }
16
+ return fs.readJsonSync(filePath);
17
+ }
18
+ async getItem(itemName) {
19
+ const filePath = resolve(this.baseDirectory, itemName);
20
+ if (!await fs.pathExists(filePath)) {
21
+ return null;
22
+ }
23
+ return await fs.readJson(filePath);
24
+ }
25
+ setItemSync(itemName, data) {
26
+ return fs.writeJsonSync(resolve(this.baseDirectory, itemName), data);
27
+ }
28
+ setItem(itemName, data) {
29
+ return fs.writeJson(resolve(this.baseDirectory, itemName), data);
30
+ }
31
+ copyItem(srcItemName, destItemName) {
32
+ return fs.copyFile(resolve(this.baseDirectory, srcItemName), resolve(this.baseDirectory, destItemName));
33
+ }
34
+ copyItemSync(srcItemName, destItemName) {
35
+ return fs.copyFileSync(resolve(this.baseDirectory, srcItemName), resolve(this.baseDirectory, destItemName));
36
+ }
37
+ removeItemSync(itemName) {
38
+ return fs.removeSync(resolve(this.baseDirectory, itemName));
39
+ }
40
+ }
41
+ //# sourceMappingURL=storageService.js.map
@@ -0,0 +1 @@
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 ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Manages user settings and storage locations.
3
+ */
4
+ export declare class User {
5
+ private static customStoragePath?;
6
+ private static storageAccessed;
7
+ static configPath(): string;
8
+ static persistPath(): string;
9
+ static cachedAccessoryPath(): string;
10
+ static storagePath(): string;
11
+ static setStoragePath(...storagePathSegments: string[]): void;
12
+ }
13
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +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"}
package/dist/user.js ADDED
@@ -0,0 +1,29 @@
1
+ import { homedir } from 'node:os';
2
+ import { join, resolve } from 'node:path';
3
+ /**
4
+ * Manages user settings and storage locations.
5
+ */
6
+ export class User {
7
+ static customStoragePath;
8
+ static storageAccessed = false;
9
+ static configPath() {
10
+ return join(User.storagePath(), 'config.json');
11
+ }
12
+ static persistPath() {
13
+ return join(User.storagePath(), 'persist'); // hap-nodejs data is stored here
14
+ }
15
+ static cachedAccessoryPath() {
16
+ return join(User.storagePath(), 'accessories');
17
+ }
18
+ static storagePath() {
19
+ User.storageAccessed = true;
20
+ return User.customStoragePath ? User.customStoragePath : join(homedir(), '.homebridge');
21
+ }
22
+ static setStoragePath(...storagePathSegments) {
23
+ if (User.storageAccessed) {
24
+ throw new Error('Storage path was already accessed and cannot be changed anymore. Try initializing your custom storage path earlier!');
25
+ }
26
+ User.customStoragePath = resolve(...storagePathSegments);
27
+ }
28
+ }
29
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
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,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"}
@@ -0,0 +1,5 @@
1
+ import type { Buffer } from 'node:buffer';
2
+ export type MacAddress = string;
3
+ export declare function validMacAddress(address: string): boolean;
4
+ export declare function generate(data: string | Buffer | NodeJS.TypedArray | DataView): MacAddress;
5
+ //# sourceMappingURL=mac.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
1
+ /* global NodeJS */
2
+ import { createHash } from 'node:crypto';
3
+ const validMac = /^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/;
4
+ export function validMacAddress(address) {
5
+ return validMac.test(address);
6
+ }
7
+ export function generate(data) {
8
+ const sha1sum = createHash('sha1');
9
+ sha1sum.update(data);
10
+ const s = sha1sum.digest('hex');
11
+ let i = 0;
12
+ return 'xx:xx:xx:xx:xx:xx'.replace(/x/g, () => s[i++]).toUpperCase();
13
+ }
14
+ //# sourceMappingURL=mac.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export default function getVersion(): string;
2
+ export declare function getRequiredNodeVersion(): string;
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,UAAU,UAAU,IAAI,MAAM,CAE3C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
@@ -0,0 +1,16 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ function loadPackageJson() {
7
+ const packageJSONPath = join(__dirname, '../package.json');
8
+ return JSON.parse(readFileSync(packageJSONPath, { encoding: 'utf8' }));
9
+ }
10
+ export default function getVersion() {
11
+ return loadPackageJson().version;
12
+ }
13
+ export function getRequiredNodeVersion() {
14
+ return loadPackageJson().engines.node;
15
+ }
16
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
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.4",
4
+ "version": "2.0.0-alpha.41",
5
5
  "description": "HomeKit support for the impatient",
6
6
  "author": "Nick Farina",
7
7
  "license": "Apache-2.0",
@@ -12,19 +12,16 @@
12
12
  "bugs": {
13
13
  "url": "https://github.com/homebridge/homebridge/issues"
14
14
  },
15
- "exports": {
16
- ".": {
17
- "import": "./dist/index.js"
18
- }
19
- },
20
- "main": "dist/index.js",
21
- "types": "dist/index.d.ts",
15
+ "exports": "./dist/index.js",
16
+ "main": "lib/index.js",
17
+ "types": "lib/index.d.ts",
22
18
  "maintainers": [
23
19
  "oznu <dev@oz.nu>",
24
20
  "Andreas Bauer <mail@anderl-bauer.de>"
25
21
  ],
26
22
  "bin": {
27
- "homebridge": "bin/homebridge"
23
+ "homebridge": "bin/homebridge.js",
24
+ "homebridge-matter": "lib/util/matter-cli.js"
28
25
  },
29
26
  "files": [
30
27
  "LICENSE",
@@ -34,48 +31,48 @@
34
31
  "dist"
35
32
  ],
36
33
  "engines": {
37
- "node": "^18.15.0 || ^20.7.0 || ^22.0.0"
34
+ "node": "^20.7.0 || ^22 || ^24"
38
35
  },
39
36
  "scripts": {
40
- "build": "npm run clean && node scripts/build.js",
37
+ "build": "npm run clean && tsc",
41
38
  "check": "npm install && npm outdated",
42
- "clean": "rimraf dist/",
43
- "dev": "DEBUG=* ./bin/homebridge -D -P example-plugins/ || true",
39
+ "clean": "rimraf dist && rimraf coverage",
40
+ "dev": "DEBUG=* ./bin/homebridge.js -D -P example-plugins/ || true",
44
41
  "docs": "typedoc",
45
42
  "lint": "eslint .",
46
43
  "lint:fix": "npm run lint -- --fix",
44
+ "lint-docs": "typedoc --emit none --treatWarningsAsErrors",
47
45
  "prepublishOnly": "npm run build",
48
46
  "postpublish": "npm run clean",
49
47
  "test": "vitest run",
50
48
  "test-coverage": "npm run test -- --coverage",
51
- "watch": "npm run clean && nodemon"
49
+ "watch": "nodemon"
52
50
  },
53
- "preferGlobal": true,
54
51
  "dependencies": {
55
- "chalk": "5.3.0",
56
- "commander": "12.1.0",
57
- "fs-extra": "11.2.0",
58
- "hap-nodejs": "1.1.1-beta.1",
52
+ "@matter/main": "0.15.4",
53
+ "chalk": "5.6.2",
54
+ "commander": "14.0.1",
55
+ "fs-extra": "11.3.2",
56
+ "hap-nodejs": "2.0.0-beta.2",
59
57
  "qrcode-terminal": "0.12.0",
60
- "semver": "7.6.3"
58
+ "semver": "7.7.2",
59
+ "source-map-support": "0.5.21"
61
60
  },
62
61
  "devDependencies": {
63
- "@antfu/eslint-config": "^2.27.1",
62
+ "@antfu/eslint-config": "^5.4.1",
63
+ "@prettier/plugin-xml": "^3.4.2",
64
64
  "@types/debug": "^4.1.12",
65
65
  "@types/fs-extra": "^11.0.4",
66
- "@types/node": "^22.5.0",
67
- "@types/semver": "^7.5.8",
68
- "@vitest/coverage-v8": "^2.0.5",
69
- "esbuild": "^0.23.1",
70
- "esbuild-node-externals": "^1.14.0",
71
- "esbuild-plugin-tsc": "^0.4.0",
72
- "eslint": "^9.9.1",
73
- "eslint-plugin-format": "^0.1.2",
74
- "nodemon": "^3.1.4",
75
- "npm-dts": "^1.3.13",
66
+ "@types/node": "^24.5.2",
67
+ "@types/semver": "^7.7.1",
68
+ "@types/source-map-support": "^0.5.10",
69
+ "@vitest/coverage-v8": "^3.2.4",
70
+ "eslint-plugin-format": "^1.0.2",
71
+ "nodemon": "^3.1.10",
76
72
  "rimraf": "^6.0.1",
77
- "typedoc": "^0.26.6",
78
- "typescript": "^5.5.4",
79
- "vitest": "^2.0.5"
73
+ "ts-node": "^10.9.2",
74
+ "typedoc": "^0.28.13",
75
+ "typescript": "^5.9.2",
76
+ "vitest": "^3.2.4"
80
77
  }
81
78
  }
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(module => module.default())