iobroker.zigbee2mqtt 3.0.6 → 3.0.8

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/README.md CHANGED
@@ -22,6 +22,13 @@ This adapter allows to control the data points of the devices of a Zigbee2MQTT i
22
22
  [Adapter Documentation](https://github.com/arteck/ioBroker.zigbee2mqtt/blob/main/docs/wiki.md)
23
23
 
24
24
  ## Changelog
25
+ ### 3.0.8 (2025-06-08)
26
+ - (arteck) fix device is deleted
27
+ - (arteck) fix translation
28
+
29
+ ### 3.0.7 (2025-06-07)
30
+ - (arteck) fix jsonconf
31
+
25
32
  ### 3.0.6 (2025-05-31)
26
33
  - (arteck) settings restructure
27
34
  - (arteck) fix icon not found message
@@ -1,49 +1,51 @@
1
1
  {
2
- "click for Documentation": "点击查看文档",
3
- "A detailed documentation with explanations and all further information can be found on this GitHub page:": "有关更多信息,请参见 GitHub 页面上的详细说明和解释:",
4
- "zigbee2mqtt adapter settings": "zigbee2mqtt 的适配器设置",
5
- "Select and configure your Zigbee2MQTT connection": "选择并配置 Zigbee2MQTT 连接",
6
- "Select connection to Zigbee2MQTT": "选择与 Zigbee2MQTT 的连接",
7
- "Websocket": "网络套接字",
8
- "External MQTT-Server": "外部 MQTT 服务器",
9
- "Internal MQTT-Server": "内部 MQTT 服务器",
10
- "Configure your Zigbee2MQTT connection": "配置您的 Zigbee2MQTT 连接",
11
- "Websocket IP-Address": "Websocket IP 地址",
12
- "Websocket Port": "Websocket 端口",
13
- "Use Auth-Token": "使用授权令牌",
14
- "Auth-Token (special characters are not supported)": "Auth-Token(不支持特殊字符)",
15
- "Create a dummy MQTT-Server for Zigbee2MQTT": "为 Zigbee2MQTT 创建虚拟 MQTT 服务器",
16
- "External MQTT-Server IP-Address": "外部 MQTT 服务器 IP 地址",
17
- "External MQTT-Server Port": "外部 MQTT 服务器端口",
18
- "MQTT-Server IP-Address bind": "MQTT-服务器IP地址绑定",
19
- "MQTT-Server Port": "MQTT-服务器端口",
20
- "Configure your Zigbee2MQTT WebUi connection": "配置 Zigbee2MQTT WebUi 连接",
21
- "WebUi Address": "WebUi地址",
22
- "WebUi Port": "WebUi端口",
23
- "Color configurations": "颜色配置",
24
- "Color temperature sync with color": "色温与颜色同步",
25
- "Use Kelvin instead of mired for the color temps": "使用 Kelvin 而不是 mired 的色温",
26
- "Other configurations": "其他配置",
27
- "Proxy Zigbee2MQTT logs to ioBroker logs": "代理 Zigbee2MQTT 日志到 ioBroker 日志",
28
- "Brightness move should also turn the light on or off": "亮度移动也应该打开或关闭灯",
29
- "Brightness step should also turn the light on or off": "亮度步骤也应该打开或关闭灯",
30
- "The events such as 'Device removed' or 'Disabled' are displayed in the description instead of in the name.": "“设备已移除”或“已禁用”等事件显示在描述中而不是名称中。",
31
- "Scheme": "方案",
32
- "Use MQTT Credentials": "使用 MQTT 凭证",
33
- "MQTT Username": "MQTT 用户名",
34
- "MQTT Password": "MQTT 密码",
35
- "Download device images from Zigbee2Mqtt and use them as object icons.": "从 Zigbee2Mqtt 下载设备图像并将其用作对象图标。",
36
- "Generate simple 'Hold' and 'Release' states": "生成简单的“保持”和“释放”状态",
37
- "When enabled, the 'Hold' and 'Release' states are combined and the 'Hold' data point remains true until the 'Release' event arrives.": "启用后,“保持”和“释放”状态会结合在一起,并且“保持”数据点保持为真,直到“释放”事件到达。",
38
- "Generate simple 'Move' and 'Stop' states": "生成简单的“移动”和“停止”状态",
39
- "When enabled, the 'Move' and 'Stop' states are combined and the 'Move' data point remains true until the 'Stop' event arrives.": "启用后,“移动”和“停止”状态将组合在一起,并且“移动”数据点保持为真,直到“停止”事件到达。",
40
- "State configurations": "状态配置",
41
- "Generate simple 'Press' and 'Release' states": "生成简单的“按下”和“释放”状态",
42
- "When enabled, the 'Press' and 'Release' states are combined and the 'Press' data point remains true until the 'Release' event arrives.": "启用后,“按下”和“释放”状态将组合在一起,并且“按下”数据点保持为真,直到“释放”事件到达。",
43
- "If the size is later changed to a larger value, the images already downloaded must be deleted. <br> Please note that icons are stored in the object and should therefore not be unnecessarily large!": "如果稍后将大小更改为更大的值,则必须删除已下载的图像。 <br> 请注意,图标存储在对象中,因此不应过大!",
44
- "Automatic check for missing routers in the coordinator memory.": "自动检查协调器内存中丢失的路由器。",
45
- "With which log level should a negative search be logged?": "应该使用哪个日志级别来记录负面搜索?",
46
- "Time of the automatic check": "自动检查时间",
47
- "More information": "更多信息",
48
- "Allways update available state when message included last_seen status": "当消息包含 last_seen 状态时,总是更新可用状态",
2
+ "click for Documentation": "点击查看文档",
3
+ "A detailed documentation with explanations and all further information can be found on this GitHub page:": "详细的文档和所有其他信息可在此 GitHub 页面找到:",
4
+ "zigbee2mqtt adapter settings": "zigbee2mqtt 适配器设置",
5
+ "Select and configure your Zigbee2MQTT connection": "选择并配置您的 Zigbee2MQTT 连接",
6
+ "Select connection to Zigbee2MQTT": "选择 Zigbee2MQTT 连接",
7
+ "Websocket": "Websocket",
8
+ "External MQTT-Server": "外部 MQTT 服务器",
9
+ "Internal MQTT-Server": "内部 MQTT 服务器",
10
+ "Configure your Zigbee2MQTT connection": "配置您的 Zigbee2MQTT 连接",
11
+ "Websocket IP-Address": "Websocket IP 地址",
12
+ "Websocket Port": "Websocket 端口",
13
+ "Use Auth-Token": "使用认证令牌",
14
+ "Auth-Token (special characters are not supported)": "认证令牌(不支持特殊字符)",
15
+ "Create a dummy MQTT-Server for Zigbee2MQTT": "为 Zigbee2MQTT 创建虚拟 MQTT 服务器",
16
+ "External MQTT-Server IP-Address": "外部 MQTT 服务器 IP 地址",
17
+ "External MQTT-Server Port": "外部 MQTT 服务器端口",
18
+ "MQTT-Server IP-Address bind": "MQTT 服务器绑定的 IP 地址",
19
+ "MQTT-Server Port": "MQTT 服务器端口",
20
+ "Configure your Zigbee2MQTT WebUi connection": "配置您的 Zigbee2MQTT WebUi 连接",
21
+ "WebUi Address": "WebUi 地址",
22
+ "WebUi Port": "WebUi 端口",
23
+ "Color configurations": "颜色配置",
24
+ "Color temperature sync with color": "颜色温度与颜色同步",
25
+ "Use Kelvin instead of mired for the color temps": "使用开尔文而不是迈尔德表示色温",
26
+ "Other configurations": "其他配置",
27
+ "Proxy Zigbee2MQTT logs to ioBroker logs": " Zigbee2MQTT 日志代理到 ioBroker 日志",
28
+ "Brightness move should also turn the light on or off": "亮度调节应同时控制灯的开关",
29
+ "Brightness step should also turn the light on or off": "亮度步骤应同时控制灯的开关",
30
+ "The events such as 'Device removed' or 'Disabled' are displayed in the description instead of in the name.": "‘设备移除’或‘已禁用’等事件显示在描述中,而不是名称中。",
31
+ "Scheme": "方案",
32
+ "Use MQTT Credentials": "使用 MQTT 凭证",
33
+ "MQTT Username": "MQTT 用户名",
34
+ "MQTT Password": "MQTT 密码",
35
+ "Download device images from Zigbee2Mqtt and use them as object icons.": "从 Zigbee2Mqtt 下载设备图像并用作对象图标。",
36
+ "Generate simple 'Hold' and 'Release' states": "生成简单的‘按住’和‘释放’状态",
37
+ "When enabled, the 'Hold' and 'Release' states are combined and the 'Hold' data point remains true until the 'Release' event arrives.": "启用后,‘按住’和‘释放’状态将合并,‘按住’数据点在‘释放’事件到来前保持为真。",
38
+ "Generate simple 'Move' and 'Stop' states": "生成简单的‘移动’和‘停止’状态",
39
+ "When enabled, the 'Move' and 'Stop' states are combined and the 'Move' data point remains true until the 'Stop' event arrives.": "启用后,‘移动’和‘停止’状态将合并,‘移动’数据点在‘停止’事件到来前保持为真。",
40
+ "State configurations": "状态配置",
41
+ "Generate simple 'Press' and 'Release' states": "生成简单的‘按下’和‘释放’状态",
42
+ "When enabled, the 'Press' and 'Release' states are combined and the 'Press' data point remains true until the 'Release' event arrives.": "启用后,‘按下’和‘释放’状态将合并,‘按下’数据点在‘释放’事件到来前保持为真。",
43
+ "If the size is later changed to a larger value, the images already downloaded must be deleted. <br> Please note that icons are stored in the object and should therefore not be unnecessarily large!": "如果之后将大小更改为更大值,必须删除已下载的图像。<br>请注意,图标存储在对象中,因此不应过大!",
44
+ "Automatic check for missing routers in the coordinator memory.": "自动检查协调器内存中缺失的路由器。",
45
+ "With which log level should a negative search be logged?": "应使用哪个日志级别记录失败的搜索?",
46
+ "Time of the automatic check": "自动检查时间",
47
+ "More information": "更多信息",
48
+ "Expert Settings. Please only use if you know what you're doing": "专家设置。请仅在您清楚操作的情况下使用",
49
+ "Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System": "当来自 zigbee2mqtt 服务器的消息到达时始终更新占用状态(仅限为 true 的状态)。会增加 ioBroker 系统负载",
50
+ "Allways update available state when message included last_seen status": "当消息包含 last_seen 状态时始终更新可用状态"
49
51
  }
@@ -308,11 +308,21 @@
308
308
  "colorTempSyncColor": {
309
309
  "type": "checkbox",
310
310
  "label": "Color temperature sync with color",
311
+ "xs": 12,
312
+ "sm": 12,
313
+ "md": 12,
314
+ "lg": 12,
315
+ "xl": 12,
311
316
  "newLine": true
312
317
  },
313
318
  "useKelvin": {
314
319
  "type": "checkbox",
315
320
  "label": "Use Kelvin instead of mired for the color temps",
321
+ "xs": 12,
322
+ "sm": 12,
323
+ "md": 12,
324
+ "lg": 12,
325
+ "xl": 12,
316
326
  "newLine": true
317
327
  }
318
328
  }
@@ -324,29 +334,54 @@
324
334
  "simpleHoldReleaseState": {
325
335
  "type": "checkbox",
326
336
  "label": "Generate simple 'Hold' and 'Release' states",
337
+ "xs": 12,
338
+ "sm": 12,
339
+ "md": 12,
340
+ "lg": 12,
341
+ "xl": 12,
327
342
  "help": "When enabled, the 'Hold' and 'Release' states are combined and the 'Hold' data point remains true until the 'Release' event arrives.",
328
343
  "newLine": true
329
344
  },
330
345
  "simpleMoveStopState": {
331
346
  "type": "checkbox",
332
347
  "label": "Generate simple 'Move' and 'Stop' states",
348
+ "xs": 12,
349
+ "sm": 12,
350
+ "md": 12,
351
+ "lg": 12,
352
+ "xl": 12,
333
353
  "help": "When enabled, the 'Move' and 'Stop' states are combined and the 'Move' data point remains true until the 'Stop' event arrives.",
334
354
  "newLine": true
335
355
  },
336
356
  "simplePressReleaseState": {
337
357
  "type": "checkbox",
338
358
  "label": "Generate simple 'Press' and 'Release' states",
359
+ "xs": 12,
360
+ "sm": 12,
361
+ "md": 12,
362
+ "lg": 12,
363
+ "xl": 12,
339
364
  "help": "When enabled, the 'Press' and 'Release' states are combined and the 'Press' data point remains true until the 'Release' event arrives.",
340
365
  "newLine": true
341
366
  },
342
367
  "brightnessMoveOnOff": {
343
368
  "type": "checkbox",
344
369
  "label": "Brightness move should also turn the light on or off",
370
+ "xs": 12,
371
+ "sm": 12,
372
+ "md": 12,
373
+ "lg": 12,
374
+ "xl": 12,
345
375
  "newLine": true
346
376
  },
347
377
  "brightnessStepOnOff": {
348
378
  "type": "checkbox",
349
379
  "label": "Brightness step should also turn the light on or off",
380
+ "xs": 12,
381
+ "sm": 12,
382
+ "md": 12,
383
+ "lg": 12,
384
+ "xl": 12,
350
385
  "newLine": true
351
386
  }
352
387
  }
@@ -359,6 +394,11 @@
359
394
  "type": "checkbox",
360
395
  "label": "Download device images from Zigbee2Mqtt and use them as object icons.",
361
396
  "help": "If the size is later changed to a larger value, the images already downloaded must be deleted. <br> Please note that icons are stored in the object and should therefore not be unnecessarily large!",
397
+ "xs": 12,
398
+ "sm": 12,
399
+ "md": 12,
400
+ "lg": 12,
401
+ "xl": 12,
362
402
  "newLine": true
363
403
  },
364
404
  "deviceIconsSize": {
@@ -367,9 +407,9 @@
367
407
  "min": 8,
368
408
  "xs": 12,
369
409
  "sm": 12,
370
- "md": 6,
371
- "lg": 4,
372
- "xl": 4,
410
+ "md": 12,
411
+ "lg": 12,
412
+ "xl": 12,
373
413
  "newLine": true
374
414
  }
375
415
  }
@@ -382,11 +422,21 @@
382
422
  "proxyZ2MLogs": {
383
423
  "type": "checkbox",
384
424
  "label": "Proxy Zigbee2MQTT logs to ioBroker logs",
425
+ "xs": 12,
426
+ "sm": 12,
427
+ "md": 12,
428
+ "lg": 12,
429
+ "xl": 12,
385
430
  "newLine": true
386
431
  },
387
432
  "useEventInDesc": {
388
433
  "type": "checkbox",
389
434
  "label": "The events such as 'Device removed' or 'Disabled' are displayed in the description instead of in the name.",
435
+ "xs": 12,
436
+ "sm": 12,
437
+ "md": 12,
438
+ "lg": 12,
439
+ "xl": 12,
390
440
  "newLine": true
391
441
  }
392
442
  }
@@ -404,13 +454,22 @@
404
454
  "coordinatorCheck": {
405
455
  "type": "checkbox",
406
456
  "label": "Automatic check for missing routers in the coordinator memory.",
457
+ "xs": 12,
458
+ "sm": 12,
459
+ "md": 12,
460
+ "lg": 12,
461
+ "xl": 12,
407
462
  "help": "More information",
408
463
  "helpLink": "https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html#zigbee2mqtt-bridge-request-coordinator-check",
409
464
  "newLine": true
410
465
  },
411
466
  "coordinatorCheckLogLvl": {
412
467
  "type": "select",
468
+ "xs": 12,
413
469
  "sm": 12,
470
+ "md": 12,
471
+ "lg": 12,
472
+ "xl": 12,
414
473
  "label": "With which log level should a negative search be logged?",
415
474
  "options": [
416
475
  {
@@ -438,11 +497,7 @@
438
497
  "value": "error"
439
498
  }
440
499
  ],
441
- "newLine": true,
442
- "xs": 12,
443
- "md": 6,
444
- "lg": 4,
445
- "xl": 4,
500
+ "newLine": true,
446
501
  "hidden": "data.coordinatorCheck != true"
447
502
  },
448
503
  "coordinatorCheckCron": {
@@ -451,7 +506,11 @@
451
506
  "help": "Default: 0 3 * * * (At 03:00 every day)",
452
507
  "simple": true,
453
508
  "newLine": true,
454
- "sm": 3,
509
+ "xs": 12,
510
+ "sm": 12,
511
+ "md": 12,
512
+ "lg": 12,
513
+ "xl": 12,
455
514
  "hidden": "data.coordinatorCheck != true"
456
515
  },
457
516
  "spacer04": {
@@ -464,11 +523,21 @@
464
523
  "allwaysUpdateOccupancyState": {
465
524
  "type": "checkbox",
466
525
  "label": "Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System",
526
+ "xs": 12,
527
+ "sm": 12,
528
+ "md": 12,
529
+ "lg": 12,
530
+ "xl": 12,
467
531
  "newLine": true
468
532
  },
469
533
  "allwaysUpdateAvailableState": {
470
534
  "type": "checkbox",
471
535
  "label": "Allways update available state when message included last_seen status",
536
+ "xs": 12,
537
+ "sm": 12,
538
+ "md": 12,
539
+ "lg": 12,
540
+ "xl": 12,
472
541
  "newLine": true
473
542
  }
474
543
  }
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "zigbee2mqtt",
4
- "version": "3.0.6",
4
+ "version": "3.0.8",
5
5
  "news": {
6
+ "3.0.8": {
7
+ "en": "fix device is deleted\nfix translation",
8
+ "de": "fix device wird gelöscht\nbersetzung",
9
+ "ru": "фиксировать устройство удалено\nперевод",
10
+ "pt": "dispositivo de correção é excluído\ncorrigir tradução",
11
+ "nl": "fix apparaat wordt verwijderd\nfix vertaling",
12
+ "fr": "le dispositif de correction est supprimé\ncorriger la traduction",
13
+ "it": "dispositivo di correzione viene eliminato\ncorrezione della traduzione",
14
+ "es": "dispositivo de solución se elimina\ntraducción",
15
+ "pl": "urządzenie naprawcze zostaje usunięte\ntłumaczenie",
16
+ "uk": "видалити пристрій\nфіксувати переклад",
17
+ "zh-cn": "固定设备被删除\n固定翻译"
18
+ },
19
+ "3.0.7": {
20
+ "en": "fix jsconconf",
21
+ "de": "fix jsconf",
22
+ "ru": "исправить jsconconf",
23
+ "pt": "corrigir jsconconf",
24
+ "nl": "jsconconf repareren",
25
+ "fr": "corriger jsconconf",
26
+ "it": "correzione jsconconf",
27
+ "es": "jsconf",
28
+ "pl": "fix jsconconf",
29
+ "uk": "закріпити jsconconf",
30
+ "zh-cn": "修复 jsconconconf"
31
+ },
6
32
  "3.0.6": {
7
33
  "en": "settings restructure\nfix icon not found message",
8
34
  "de": "einstellungen restrukturieren\nsymbol nicht gefunden",
@@ -67,32 +93,6 @@
67
93
  "pl": "połączenie corr WebSocket",
68
94
  "uk": "корр WebSocket підключення",
69
95
  "zh-cn": "corr WebSocket 连接"
70
- },
71
- "3.0.1": {
72
- "en": "corr icon download",
73
- "de": "corr icon herunterladen",
74
- "ru": "скачать значок",
75
- "pt": "corrimento ícone download",
76
- "nl": "corr pictogramdownload",
77
- "fr": "corr icon télécharger",
78
- "it": "icona corr scaricare",
79
- "es": "corr icono descargar",
80
- "pl": "pobierz ikonę corr",
81
- "uk": "cкачати ігру corr",
82
- "zh-cn": "corr 图标下载"
83
- },
84
- "3.0.0": {
85
- "en": "adaptation z2m 2.x",
86
- "de": "anpassung z2m 2.x",
87
- "ru": "адаптация z2m 2.x",
88
- "pt": "adaptação z2m 2.x",
89
- "nl": "aanpassing z2m 2.x",
90
- "fr": "adaptation z2m 2.x",
91
- "it": "adattamento z2m 2.x",
92
- "es": "adaptación z2m 2.x",
93
- "pl": "adaptacja z2m 2.x",
94
- "uk": "адаптація z2m 2.x",
95
- "zh-cn": "适应z2m 2.x"
96
96
  }
97
97
  },
98
98
  "messages": [
@@ -226,10 +226,9 @@
226
226
  ],
227
227
  "globalDependencies": [
228
228
  {
229
- "admin": ">=6.6.14"
229
+ "admin": ">=7.4.10"
230
230
  }
231
- ],
232
- "installedFrom": "iobroker.zigbee2mqtt@3.0.4"
231
+ ]
233
232
  },
234
233
  "native": {
235
234
  "connectionType": "ws",
@@ -251,9 +251,7 @@ class DeviceController {
251
251
  }
252
252
  }
253
253
 
254
- if (!this.createCache[device.ieee_address] ||
255
- this.createCache[device.ieee_address].name != deviceName ||
256
- this.createCache[device.ieee_address].description != description) {
254
+ if (!this.createCache[device.ieee_address] || this.createCache[device.ieee_address].name != deviceName || this.createCache[device.ieee_address].description != description) {
257
255
  const deviceObj = {
258
256
  type: 'device',
259
257
  common: {
@@ -298,20 +296,18 @@ class DeviceController {
298
296
  }
299
297
  }
300
298
 
301
- for (const state of device.states) {
302
- if (
303
- state &&
304
- (!this.createCache[device.ieee_address][state.id] ||
305
- this.createCache[device.ieee_address][state.id].name != state.name)
306
- ) {
307
- const iobState = {
308
- type: 'state',
309
- common: await this.copyAndCleanStateObj(state),
310
- native: {},
311
- };
299
+ if (device != undefined && device.states != undefined) {
300
+ for (const state of device.states) {
301
+ if (state && (!this.createCache[device.ieee_address][state.id] || this.createCache[device.ieee_address][state.id].name != state.name)) {
302
+ const iobState = {
303
+ type: 'state',
304
+ common: await this.copyAndCleanStateObj(state),
305
+ native: {},
306
+ };
312
307
 
313
- await this.adapter.extendObjectAsync(`${device.ieee_address}.${state.id}`, iobState);
314
- this.createCache[device.ieee_address][state.id] = { name: state.name, created: true };
308
+ await this.adapter.extendObjectAsync(`${device.ieee_address}.${state.id}`, iobState);
309
+ this.createCache[device.ieee_address][state.id] = {name: state.name, created: true};
310
+ }
315
311
  }
316
312
  }
317
313
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.zigbee2mqtt",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "description": "Zigbee2MQTT adapter for ioBroker",
5
5
  "author": {
6
6
  "name": "Dennis Rathjen and Arthur Rupp",
@@ -25,14 +25,14 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@iobroker/adapter-core": "^3.2.3",
28
- "@iobroker/dm-utils": "^1.0.9",
28
+ "@iobroker/dm-utils": "^1.0.10",
29
29
  "aedes": "^0.51.3",
30
30
  "aedes-persistence-nedb": "^2.0.3",
31
31
  "mqtt": "^5.10.4",
32
32
  "net": "^1.0.2",
33
33
  "node-schedule": "^2.1.1",
34
34
  "sharp": "^0.33.5",
35
- "ws": "^8.16.0"
35
+ "ws": "^8.18.2"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@alcalzone/release-script": "^3.8.0",
@@ -42,10 +42,10 @@
42
42
  "@iobroker/adapter-dev": "^1.4.0",
43
43
  "@iobroker/testing": "^5.0.4",
44
44
  "@tsconfig/node14": "^14.1.3",
45
- "@types/chai": "^5.2.1",
45
+ "@types/chai": "^5.2.2",
46
46
  "@types/chai-as-promised": "^8.0.2",
47
47
  "@types/mocha": "^10.0.10",
48
- "@types/node": "^22.15.3",
48
+ "@types/node": "^22.15.29",
49
49
  "@types/node-schedule": "^2.1.7",
50
50
  "@types/proxyquire": "^1.3.31",
51
51
  "@types/sinon": "^17.0.3",
@@ -53,7 +53,7 @@
53
53
  "chai": "^5.2.0",
54
54
  "chai-as-promised": "^8.0.1",
55
55
  "eslint": "^9.25.1",
56
- "eslint-config-prettier": "^10.1.1",
56
+ "eslint-config-prettier": "^10.1.5",
57
57
  "eslint-plugin-prettier": "^5.2.3",
58
58
  "mocha": "^11.0.1",
59
59
  "prettier": "^3.5.3",