matterbridge 2.0.0-edge.5 → 2.0.0

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 (91) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/dist/cli.d.ts +25 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +26 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cluster/export.d.ts +2 -0
  7. package/dist/cluster/export.d.ts.map +1 -0
  8. package/dist/cluster/export.js +2 -0
  9. package/dist/cluster/export.js.map +1 -0
  10. package/dist/defaultConfigSchema.d.ts +27 -0
  11. package/dist/defaultConfigSchema.d.ts.map +1 -0
  12. package/dist/defaultConfigSchema.js +23 -0
  13. package/dist/defaultConfigSchema.js.map +1 -0
  14. package/dist/deviceManager.d.ts +46 -0
  15. package/dist/deviceManager.d.ts.map +1 -0
  16. package/dist/deviceManager.js +26 -1
  17. package/dist/deviceManager.js.map +1 -0
  18. package/dist/frontend.d.ts +98 -0
  19. package/dist/frontend.d.ts.map +1 -0
  20. package/dist/frontend.js +239 -22
  21. package/dist/frontend.js.map +1 -0
  22. package/dist/index.d.ts +34 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +29 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/logger/export.d.ts +2 -0
  27. package/dist/logger/export.d.ts.map +1 -0
  28. package/dist/logger/export.js +1 -0
  29. package/dist/logger/export.js.map +1 -0
  30. package/dist/matter/export.d.ts +10 -0
  31. package/dist/matter/export.d.ts.map +1 -0
  32. package/dist/matter/export.js +4 -0
  33. package/dist/matter/export.js.map +1 -0
  34. package/dist/matterbridge.d.ts +356 -0
  35. package/dist/matterbridge.d.ts.map +1 -0
  36. package/dist/matterbridge.js +687 -38
  37. package/dist/matterbridge.js.map +1 -0
  38. package/dist/matterbridgeAccessoryPlatform.d.ts +39 -0
  39. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  40. package/dist/matterbridgeAccessoryPlatform.js +33 -0
  41. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  42. package/dist/matterbridgeBehaviors.d.ts +963 -0
  43. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  44. package/dist/matterbridgeBehaviors.js +31 -1
  45. package/dist/matterbridgeBehaviors.js.map +1 -0
  46. package/dist/matterbridgeDeviceTypes.d.ts +177 -0
  47. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  48. package/dist/matterbridgeDeviceTypes.js +112 -11
  49. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  50. package/dist/matterbridgeDynamicPlatform.d.ts +39 -0
  51. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  52. package/dist/matterbridgeDynamicPlatform.js +33 -0
  53. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  54. package/dist/matterbridgeEndpoint.d.ts +10254 -0
  55. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  56. package/dist/matterbridgeEndpoint.js +1174 -10
  57. package/dist/matterbridgeEndpoint.js.map +1 -0
  58. package/dist/matterbridgeEndpointDefault.d.ts +2 -0
  59. package/dist/matterbridgeEndpointDefault.d.ts.map +1 -0
  60. package/dist/matterbridgeEndpointDefault.js +55 -0
  61. package/dist/matterbridgeEndpointDefault.js.map +1 -0
  62. package/dist/matterbridgePlatform.d.ts +164 -0
  63. package/dist/matterbridgePlatform.d.ts.map +1 -0
  64. package/dist/matterbridgePlatform.js +123 -3
  65. package/dist/matterbridgePlatform.js.map +1 -0
  66. package/dist/matterbridgeTypes.d.ts +167 -0
  67. package/dist/matterbridgeTypes.d.ts.map +1 -0
  68. package/dist/matterbridgeTypes.js +25 -0
  69. package/dist/matterbridgeTypes.js.map +1 -0
  70. package/dist/pluginManager.d.ts +238 -0
  71. package/dist/pluginManager.d.ts.map +1 -0
  72. package/dist/pluginManager.js +240 -3
  73. package/dist/pluginManager.js.map +1 -0
  74. package/dist/storage/export.d.ts +2 -0
  75. package/dist/storage/export.d.ts.map +1 -0
  76. package/dist/storage/export.js +1 -0
  77. package/dist/storage/export.js.map +1 -0
  78. package/dist/utils/colorUtils.d.ts +61 -0
  79. package/dist/utils/colorUtils.d.ts.map +1 -0
  80. package/dist/utils/colorUtils.js +205 -2
  81. package/dist/utils/colorUtils.js.map +1 -0
  82. package/dist/utils/export.d.ts +3 -0
  83. package/dist/utils/export.d.ts.map +1 -0
  84. package/dist/utils/export.js +1 -0
  85. package/dist/utils/export.js.map +1 -0
  86. package/dist/utils/utils.d.ts +221 -0
  87. package/dist/utils/utils.d.ts.map +1 -0
  88. package/dist/utils/utils.js +253 -9
  89. package/dist/utils/utils.js.map +1 -0
  90. package/npm-shrinkwrap.json +2 -2
  91. package/package.json +2 -1
@@ -1,30 +1,90 @@
1
+ /**
2
+ * This file contains the deepEqual function.
3
+ *
4
+ * @file utils.ts
5
+ * @author Luca Liguori
6
+ * @date 2024-02-17
7
+ * @version 1.2.9
8
+ *
9
+ * Copyright 2024, 2025, 2026 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
23
+ // Node.js modules
1
24
  import os from 'os';
2
25
  import { createWriteStream, statSync } from 'fs';
3
26
  import path from 'path';
4
27
  import * as dns from 'dns';
5
28
  import { promises as fs } from 'fs';
6
- import archiver from 'archiver';
7
- import { glob } from 'glob';
29
+ // AnsiLogger module
8
30
  import { AnsiLogger, idn, rs } from 'node-ansi-logger';
9
- const log = new AnsiLogger({ logName: 'MatterbridgeUtils', logTimestampFormat: 4, logLevel: "info" });
31
+ const log = new AnsiLogger({ logName: 'MatterbridgeUtils', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: "info" /* LogLevel.INFO */ });
32
+ /**
33
+ * Performs a deep comparison between two values to determine if they are equivalent.
34
+ * This comparison includes primitive types, arrays, and objects, allowing for optional
35
+ * exclusion of specific properties from the comparison in objects.
36
+ *
37
+ * @param {any} a The first value to compare.
38
+ * @param {any} b The second value to compare.
39
+ * @param {string[]} [excludeProperties=[]] An array of property names to exclude from the comparison in objects.
40
+ * @returns {boolean} True if the values are deeply equal, excluding any specified properties; otherwise, false.
41
+ *
42
+ * Note: This function utilizes recursion for deep comparison of nested structures and includes a debugging
43
+ * mechanism that can be toggled on or off for detailed comparison logging. It is important to ensure that
44
+ * objects do not contain circular references when enabling debug logging to avoid infinite loops.
45
+ *
46
+ * Example usage:
47
+ * ```
48
+ * const obj1 = { a: 1, b: { c: 2 } };
49
+ * const obj2 = { a: 1, b: { c: 2 } };
50
+ * console.log(deepEqual(obj1, obj2)); // true
51
+ *
52
+ * const arr1 = [1, 2, [3, 4]];
53
+ * const arr2 = [1, 2, [3, 4]];
54
+ * console.log(deepEqual(arr1, arr2)); // true
55
+ *
56
+ * const obj3 = { a: 1, b: { c: 2, d: 3 } };
57
+ * const obj4 = { a: 1, b: { c: 2 } };
58
+ * console.log(deepEqual(obj3, obj4, ['d'])); // true, excluding property 'd' from comparison
59
+ * ```
60
+ */
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
62
  export function deepEqual(a, b, excludeProperties = []) {
63
+ // Toggle debugging on or off easily
11
64
  const debug = false;
65
+ // Helper function for conditional logging
66
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
67
  const debugLog = (...messages) => {
13
68
  if (debug) {
69
+ // eslint-disable-next-line no-console
14
70
  console.log(...messages);
15
71
  }
16
72
  };
73
+ // If both are the same instance, return true (handles primitives and same object references)
17
74
  if (a === b) {
18
75
  return true;
19
76
  }
77
+ // If types are different, return false
20
78
  if (typeof a !== typeof b) {
21
79
  debugLog(`deepEqual false for typeof a: ${typeof a} typeof b: ${typeof b}`);
22
80
  return false;
23
81
  }
82
+ // If one of them is null (and we know they are not equal from the first check), return false
24
83
  if (a == null || b == null) {
25
84
  debugLog('deepEqual false for == null');
26
85
  return false;
27
86
  }
87
+ // Handle Arrays
28
88
  if (Array.isArray(a) && Array.isArray(b)) {
29
89
  if (a.length !== b.length) {
30
90
  debugLog(`deepEqual false for array a.length(${a.length}) !== b.length(${b.length})`);
@@ -40,54 +100,75 @@ export function deepEqual(a, b, excludeProperties = []) {
40
100
  }
41
101
  return true;
42
102
  }
103
+ // Handle Objects (and exclude null, functions, and arrays)
43
104
  if (typeof a === 'object' && typeof b === 'object') {
44
105
  const aProps = Object.getOwnPropertyNames(a).filter((prop) => !excludeProperties.includes(prop));
45
106
  const bProps = Object.getOwnPropertyNames(b).filter((prop) => !excludeProperties.includes(prop));
107
+ // If their property lengths are different, they're different objects
46
108
  if (aProps.length !== bProps.length) {
47
109
  debugLog(`deepEqual false for aProps.length(${aProps.length}) !== bProps.length(${bProps.length})`);
48
110
  debugLog(`- aProps.length(${aProps.length}):`, aProps);
49
111
  debugLog(`- bProps.length(${bProps.length}):`, bProps);
50
112
  return false;
51
113
  }
114
+ // Check each property in 'a' to see if it's in 'b' and if it's equal (deep check)
52
115
  for (const prop of aProps) {
53
116
  if (!Object.prototype.hasOwnProperty.call(b, prop)) {
54
117
  debugLog(`deepEqual false for !b.hasOwnProperty(${prop})`);
55
118
  return false;
56
119
  }
57
120
  if (!deepEqual(a[prop], b[prop], excludeProperties)) {
58
- debugLog(`deepEqual false for !deepEqual(a[${prop}], b[${prop}])`);
121
+ debugLog(`deepEqual false for !deepEqual(a[${prop}], b[${prop}])` /* , a[prop], b[prop]*/);
59
122
  return false;
60
123
  }
61
124
  }
62
125
  return true;
63
126
  }
127
+ // If none of the above, the objects are not equal
64
128
  return false;
65
129
  }
130
+ /**
131
+ * Creates a deep copy of the given value.
132
+ *
133
+ * @template T - The type of the value being copied.
134
+ * @param {T} value - The value to be copied.
135
+ * @returns {T} - The deep copy of the value.
136
+ */
66
137
  export function deepCopy(value) {
67
138
  if (typeof value !== 'object' || value === null) {
139
+ // Primitive value (string, number, boolean, bigint, undefined, symbol) or null
68
140
  return value;
69
141
  }
70
142
  else if (Array.isArray(value)) {
143
+ // Array: Recursively copy each element
144
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
145
  return value.map((item) => deepCopy(item));
72
146
  }
73
147
  else if (value instanceof Date) {
148
+ // Date objects
149
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
150
  return new Date(value.getTime());
75
151
  }
76
152
  else if (value instanceof Map) {
153
+ // Maps
77
154
  const mapCopy = new Map();
78
155
  value.forEach((val, key) => {
79
156
  mapCopy.set(key, deepCopy(val));
80
157
  });
158
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
159
  return mapCopy;
82
160
  }
83
161
  else if (value instanceof Set) {
162
+ // Sets
84
163
  const setCopy = new Set();
85
164
  value.forEach((item) => {
86
165
  setCopy.add(deepCopy(item));
87
166
  });
167
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
168
  return setCopy;
89
169
  }
90
170
  else {
171
+ // Objects: Create a copy with the same prototype as the original
91
172
  const proto = Object.getPrototypeOf(value);
92
173
  const copy = Object.create(proto);
93
174
  for (const key in value) {
@@ -98,9 +179,14 @@ export function deepCopy(value) {
98
179
  return copy;
99
180
  }
100
181
  }
182
+ /**
183
+ * Retrieves the IPv4 address of the first non-internal network interface.
184
+ * @returns {string | undefined} The IPv4 address of the selected network interface, or undefined if not found.
185
+ */
101
186
  export function getIpv4InterfaceAddress() {
102
187
  let ipv4Address;
103
188
  const networkInterfaces = os.networkInterfaces();
189
+ // console.log('Available Network Interfaces:', networkInterfaces);
104
190
  for (const interfaceDetails of Object.values(networkInterfaces)) {
105
191
  if (!interfaceDetails) {
106
192
  break;
@@ -114,11 +200,17 @@ export function getIpv4InterfaceAddress() {
114
200
  break;
115
201
  }
116
202
  }
203
+ // console.log('Selected Network Interfaces:', ipv4Address);
117
204
  return ipv4Address;
118
205
  }
206
+ /**
207
+ * Retrieves the IPv6 address of the first non-internal network interface.
208
+ * @returns {string | undefined} The IPv4 address of the selected network interface, or undefined if not found.
209
+ */
119
210
  export function getIpv6InterfaceAddress() {
120
211
  let ipv6Address;
121
212
  const networkInterfaces = os.networkInterfaces();
213
+ // console.log('Available Network Interfaces:', networkInterfaces);
122
214
  for (const interfaceDetails of Object.values(networkInterfaces)) {
123
215
  if (!interfaceDetails) {
124
216
  break;
@@ -132,11 +224,17 @@ export function getIpv6InterfaceAddress() {
132
224
  break;
133
225
  }
134
226
  }
227
+ // console.log('Selected Network Interfaces:', ipv6Address);
135
228
  return ipv6Address;
136
229
  }
230
+ /**
231
+ * Retrieves the mac address of the first non-internal network interface.
232
+ * @returns {string | undefined} The IPv4 address of the selected network interface, or undefined if not found.
233
+ */
137
234
  export function getMacAddress() {
138
235
  let macAddress;
139
236
  const networkInterfaces = os.networkInterfaces();
237
+ // console.log('Available Network Interfaces:', networkInterfaces);
140
238
  for (const interfaceDetails of Object.values(networkInterfaces)) {
141
239
  if (!interfaceDetails) {
142
240
  break;
@@ -152,10 +250,25 @@ export function getMacAddress() {
152
250
  }
153
251
  return macAddress;
154
252
  }
253
+ /**
254
+ * Checks if a given string is a valid IPv4 address.
255
+ *
256
+ * @param {string} ipv4Address - The string to be checked.
257
+ * @returns {boolean} - Returns true if the string is a valid IPv4 address, otherwise returns false.
258
+ */
155
259
  export function isValidIpv4Address(ipv4Address) {
156
260
  const ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
157
261
  return ipv4Regex.test(ipv4Address);
158
262
  }
263
+ /**
264
+ * Checks if a value is a valid number within the specified range.
265
+ *
266
+ * @param {any} value - The value to be checked.
267
+ * @param {number} min - The minimum value allowed (optional).
268
+ * @param {number} max - The maximum value allowed (optional).
269
+ * @returns {boolean} Returns true if the value is a valid number within the specified range, otherwise false.
270
+ */
271
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
159
272
  export function isValidNumber(value, min, max) {
160
273
  if (value === undefined || value === null || typeof value !== 'number' || Number.isNaN(value))
161
274
  return false;
@@ -165,9 +278,25 @@ export function isValidNumber(value, min, max) {
165
278
  return false;
166
279
  return true;
167
280
  }
281
+ /**
282
+ * Checks if a value is a valid boolean.
283
+ *
284
+ * @param {any} value - The value to be checked.
285
+ * @returns {boolean} `true` if the value is a valid boolean, `false` otherwise.
286
+ */
287
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
168
288
  export function isValidBoolean(value) {
169
289
  return value !== undefined && value !== null && typeof value === 'boolean';
170
290
  }
291
+ /**
292
+ * Checks if a value is a valid string.
293
+ *
294
+ * @param {any} value - The value to be checked.
295
+ * @param {number} minLength - The min string length (optional).
296
+ * @param {number} maxLength - The max string length (optional).
297
+ * @returns {boolean} A boolean indicating whether the value is a valid string.
298
+ */
299
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
171
300
  export function isValidString(value, minLength, maxLength) {
172
301
  if (value === undefined || value === null || typeof value !== 'string')
173
302
  return false;
@@ -177,6 +306,15 @@ export function isValidString(value, minLength, maxLength) {
177
306
  return false;
178
307
  return true;
179
308
  }
309
+ /**
310
+ * Checks if a value is a valid object.
311
+ *
312
+ * @param {any} value - The value to be checked.
313
+ * @param {number} minLength - The min number of keys (optional).
314
+ * @param {number} maxLength - The max number of keys (optional).
315
+ * @returns {boolean} A boolean indicating whether the value is a valid object.
316
+ */
317
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
180
318
  export function isValidObject(value, minLength, maxLength) {
181
319
  if (value === undefined || value === null || typeof value !== 'object' || Array.isArray(value))
182
320
  return false;
@@ -187,6 +325,15 @@ export function isValidObject(value, minLength, maxLength) {
187
325
  return false;
188
326
  return true;
189
327
  }
328
+ /**
329
+ * Checks if a value is a valid array.
330
+ *
331
+ * @param {any} value - The value to be checked.
332
+ * @param {number} minLength - The min number of elements (optional).
333
+ * @param {number} maxLength - The max number of elements (optional).
334
+ * @returns {boolean} A boolean indicating whether the value is a valid array.
335
+ */
336
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
190
337
  export function isValidArray(value, minLength, maxLength) {
191
338
  if (value === undefined || value === null || !Array.isArray(value))
192
339
  return false;
@@ -196,14 +343,33 @@ export function isValidArray(value, minLength, maxLength) {
196
343
  return false;
197
344
  return true;
198
345
  }
346
+ /**
347
+ * Checks if the given value is null.
348
+ *
349
+ * @param {any} value - The value to check.
350
+ * @returns {boolean} `true` if the value is null, `false` otherwise.
351
+ */
352
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
199
353
  export function isValidNull(value) {
200
354
  return value === null;
201
355
  }
356
+ /**
357
+ * Checks if a value is undefined.
358
+ *
359
+ * @param {any} value - The value to check.
360
+ * @returns {boolean} `true` if the value is undefined, `false` otherwise.
361
+ */
362
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
202
363
  export function isValidUndefined(value) {
203
364
  return value === undefined;
204
365
  }
366
+ /**
367
+ * Logs the available network interfaces and their details.
368
+ * @param {boolean} log - Whether to enable logging of network interface details.
369
+ * @returns {string | undefined} The IPv6 address of the network interface, if available.
370
+ */
205
371
  export function logInterfaces(debug = true) {
206
- log.logLevel = "info";
372
+ log.logLevel = "info" /* LogLevel.INFO */;
207
373
  log.logName = 'LogInterfaces';
208
374
  let ipv6Address;
209
375
  const networkInterfaces = os.networkInterfaces();
@@ -221,8 +387,18 @@ export function logInterfaces(debug = true) {
221
387
  }
222
388
  return ipv6Address;
223
389
  }
390
+ /**
391
+ * Asynchronous waiter function that resolves when the provided condition is met or rejects on timeout.
392
+ * @param {string} name - The name of the waiter.
393
+ * @param {() => boolean} check - A function that checks the condition. Should return a boolean.
394
+ * @param {boolean} [exitWithReject=false] - Optional. If true, the promise will be rejected on timeout. Default is false.
395
+ * @param {number} [resolveTimeout=5000] - Optional. The timeout duration in milliseconds. Default is 5000ms.
396
+ * @param {number} [resolveInterval=500] - Optional. The interval duration in milliseconds between condition checks. Default is 500ms.
397
+ * @param {boolean} [debug=false] - Optional. If true, debug messages will be logged to the console. Default is false.
398
+ * @returns {Promise<boolean>} A promise that resolves to true when the condition is met, or false if the timeout occurs.
399
+ */
224
400
  export async function waiter(name, check, exitWithReject = false, resolveTimeout = 5000, resolveInterval = 500, debug = false) {
225
- log.logLevel = "debug";
401
+ log.logLevel = "debug" /* LogLevel.DEBUG */;
226
402
  log.logName = 'Waiter';
227
403
  if (debug)
228
404
  log.debug(`Waiter "${name}" started...`);
@@ -248,11 +424,19 @@ export async function waiter(name, check, exitWithReject = false, resolveTimeout
248
424
  }, resolveInterval);
249
425
  });
250
426
  }
427
+ /**
428
+ * Asynchronously waits for a specified amount of time.
429
+ * @param {number} timeout - The duration to wait in milliseconds. Default is 1000ms.
430
+ * @param {string} name - The name of the wait operation. Default is undefined.
431
+ * @param {boolean} debug - Whether to enable debug logging. Default is false.
432
+ * @returns {Promise<void>} A Promise that resolves after the specified timeout.
433
+ */
251
434
  export async function wait(timeout = 1000, name, debug = false) {
252
- log.logLevel = "debug";
435
+ log.logLevel = "debug" /* LogLevel.DEBUG */;
253
436
  log.logName = 'Wait';
254
437
  if (debug)
255
438
  log.debug(`Wait "${name}" started...`);
439
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
256
440
  return new Promise((resolve, reject) => {
257
441
  const timeoutId = setTimeout(() => {
258
442
  if (debug)
@@ -262,14 +446,30 @@ export async function wait(timeout = 1000, name, debug = false) {
262
446
  }, timeout);
263
447
  });
264
448
  }
449
+ /**
450
+ * Creates a ZIP archive from the specified source pattern or directory and writes it to the specified output path.
451
+ *
452
+ * @param {string} outputPath - The path where the output ZIP file will be written.
453
+ * @param {string[]} sourcePaths - The source pattern or directory to be zipped (use path.join for sourcePath).
454
+ * @returns {Promise<number>} - A promise that resolves to the total number of bytes written to the ZIP file.
455
+ *
456
+ * @remarks
457
+ * This function uses the `archiver` library to create a ZIP archive. It sets the compression level to 9 (maximum compression).
458
+ * The function ensures that the output file is properly closed after the archiving process is complete.
459
+ * It logs the progress and the total number of bytes written to the console.
460
+ *
461
+ * This function uses the `glob` library to match files based on the source pattern (internally converted in posix).
462
+ */
265
463
  export async function createZip(outputPath, ...sourcePaths) {
266
- log.logLevel = "info";
464
+ const { default: archiver } = await import('archiver');
465
+ const { glob } = await import('glob');
466
+ log.logLevel = "info" /* LogLevel.INFO */;
267
467
  log.logName = 'Archive';
268
468
  log.debug(`creating archive ${outputPath} from ${sourcePaths.join(', ')} ...`);
269
469
  return new Promise((resolve, reject) => {
270
470
  const output = createWriteStream(outputPath);
271
471
  const archive = archiver('zip', {
272
- zlib: { level: 9 },
472
+ zlib: { level: 9 }, // Set compression level
273
473
  });
274
474
  output.on('close', () => {
275
475
  log.debug(`archive ${outputPath} closed with ${archive.pointer()} total bytes`);
@@ -296,6 +496,7 @@ export async function createZip(outputPath, ...sourcePaths) {
296
496
  });
297
497
  archive.pipe(output);
298
498
  for (const sourcePath of sourcePaths) {
499
+ // Check if the sourcePath is a file or directory
299
500
  let stats;
300
501
  try {
301
502
  stats = statSync(sourcePath);
@@ -323,22 +524,35 @@ export async function createZip(outputPath, ...sourcePaths) {
323
524
  archive.directory(sourcePath, path.basename(sourcePath));
324
525
  }
325
526
  }
527
+ // Finalize the archive (i.e., we are done appending files but streams have to finish yet)
326
528
  log.debug(`finalizing archive ${outputPath}...`);
327
529
  archive.finalize().catch(reject);
328
530
  });
329
531
  }
532
+ /**
533
+ * Copies a directory and all its subdirectories and files to a new location.
534
+ *
535
+ * @param {string} srcDir - The path to the source directory.
536
+ * @param {string} destDir - The path to the destination directory.
537
+ * @returns {Promise<boolean>} - A promise that resolves when the copy operation is complete or fails for error.
538
+ * @throws {Error} - Throws an error if the copy operation fails.
539
+ */
330
540
  export async function copyDirectory(srcDir, destDir) {
331
541
  log.debug(`copyDirectory: copying directory from ${srcDir} to ${destDir}`);
332
542
  try {
543
+ // Create destination directory if it doesn't exist
333
544
  await fs.mkdir(destDir, { recursive: true });
545
+ // Read contents of the source directory
334
546
  const entries = await fs.readdir(srcDir, { withFileTypes: true });
335
547
  for (const entry of entries) {
336
548
  const srcPath = path.join(srcDir, entry.name);
337
549
  const destPath = path.join(destDir, entry.name);
338
550
  if (entry.isDirectory()) {
551
+ // Recursive call if entry is a directory
339
552
  await copyDirectory(srcPath, destPath);
340
553
  }
341
554
  else if (entry.isFile()) {
555
+ // Copy file if entry is a file
342
556
  await fs.copyFile(srcPath, destPath);
343
557
  }
344
558
  }
@@ -349,15 +563,32 @@ export async function copyDirectory(srcDir, destDir) {
349
563
  return false;
350
564
  }
351
565
  }
566
+ /**
567
+ * Resolves the given hostname to an IP address.
568
+ *
569
+ * @param {string} hostname - The hostname to resolve.
570
+ * @param {0 | 4 | 6} [family=4] - The address family to use (0 for any, 4 for IPv4, 6 for IPv6). Default is 4.
571
+ * @returns {Promise<string | null>} - A promise that resolves to the IP address or null if not found.
572
+ *
573
+ * @remarks
574
+ * This function uses DNS lookup to resolve the hostname, which can take some time to complete.
575
+ */
352
576
  export async function resolveHostname(hostname, family = 4) {
353
577
  try {
354
578
  const addresses = await dns.promises.lookup(hostname.toLowerCase() + '.local', { family });
355
579
  return addresses.address;
580
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
356
581
  }
357
582
  catch (error) {
358
583
  return null;
359
584
  }
360
585
  }
586
+ /**
587
+ * Retrieves the value of a command-line parameter.
588
+ *
589
+ * @param {string} name - The name of the parameter to retrieve.
590
+ * @returns {string | undefined} The value of the parameter, or undefined if not found.
591
+ */
361
592
  export function getParameter(name) {
362
593
  const commandArguments = process.argv.slice(2);
363
594
  let markerIndex = commandArguments.indexOf(`-${name}`);
@@ -367,6 +598,12 @@ export function getParameter(name) {
367
598
  return undefined;
368
599
  return commandArguments[markerIndex + 1];
369
600
  }
601
+ /**
602
+ * Checks if a command-line parameter is present.
603
+ *
604
+ * @param {string} name - The name of the parameter to check.
605
+ * @returns {boolean} True if the parameter is present, otherwise false.
606
+ */
370
607
  export function hasParameter(name) {
371
608
  const commandArguments = process.argv.slice(2);
372
609
  let markerIncluded = commandArguments.includes(`-${name}`);
@@ -374,6 +611,12 @@ export function hasParameter(name) {
374
611
  markerIncluded = commandArguments.includes(`--${name}`);
375
612
  return markerIncluded;
376
613
  }
614
+ /**
615
+ * Retrieves the value of a command-line parameter as an integer.
616
+ *
617
+ * @param {string} name - The name of the parameter to retrieve.
618
+ * @returns {number | undefined} The integer value of the parameter, or undefined if not found or invalid.
619
+ */
377
620
  export function getIntParameter(name) {
378
621
  const value = getParameter(name);
379
622
  if (value === undefined)
@@ -383,3 +626,4 @@ export function getIntParameter(name) {
383
626
  return undefined;
384
627
  return intValue;
385
628
  }
629
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "2.0.0-edge.5",
3
+ "version": "2.0.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge",
9
- "version": "2.0.0-edge.5",
9
+ "version": "2.0.0",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@matter/main": "0.11.9",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "2.0.0-edge.5",
3
+ "version": "2.0.0",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",
@@ -41,6 +41,7 @@
41
41
  ],
42
42
  "type": "module",
43
43
  "main": "dist/index.js",
44
+ "types": "dist/index.d.ts",
44
45
  "bin": {
45
46
  "matterbridge": "dist/cli.js"
46
47
  },