iobroker.bshb 0.2.7 → 0.3.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.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 Christopher Holomek <holomekc.github@gmail.com>
3
+ Copyright (c) 2024 Christopher Holomek <holomekc.github@gmail.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -33,6 +33,12 @@ If you want to support the work I would appreciate a small donation. This is 100
33
33
 
34
34
  ## Changelog
35
35
 
36
+ ### 0.3.0
37
+ * (holomekc) Support for user automations
38
+
39
+ ### 0.2.8
40
+ * (holomekc) Improve stability and update dependencies
41
+
36
42
  ### 0.2.7
37
43
  * (holomekc) Update dependencies and fix rate limiting
38
44
 
@@ -50,8 +56,6 @@ If you want to support the work I would appreciate a small donation. This is 100
50
56
  * (holomekc) Add support for climate schedules with two options to activate them
51
57
  * (holomekc) Update intrusion detection so that more information is shown
52
58
  * (holomekc) Update intrusion detection and climate schedule switches stay active now
53
-
54
- ### 0.2.2
55
59
  * (holomekc) Support for rooms. Configuration to ignore server certificates. Allow ttesting controller 2 and can prevent issues in case certificates expire. Less secure though.
56
60
 
57
61
  ### 0.2.1
@@ -200,4 +204,4 @@ If you want to support the work I would appreciate a small donation. This is 100
200
204
 
201
205
  The MIT License (MIT)
202
206
 
203
- Copyright (c) 2023 Christopher Holomek <holomekc.github@gmail.com>
207
+ Copyright (c) 2024 Christopher Holomek <holomekc.github@gmail.com>
@@ -20,6 +20,7 @@ const bshb_device_status_update_handler_1 = require("./controller/handler/bshb-d
20
20
  const bshb_climate_handler_1 = require("./controller/handler/bshb-climate-handler");
21
21
  const bshb_user_defined_states_handler_1 = require("./controller/handler/bshb-user-defined-states-handler");
22
22
  const rate_limiter_1 = require("./rate-limiter");
23
+ const bshb_automation_handler_1 = require("./controller/handler/bshb-automation-handler");
23
24
  /**
24
25
  * This controller encapsulates bosch-smart-home-bridge and provides it to iobroker.bshb
25
26
  *
@@ -56,6 +57,7 @@ class BshbController {
56
57
  this.handlers = [];
57
58
  this.handlers.push(new bshb_general_update_handler_1.BshbGeneralUpdateHandler(this.bshb, this.boschSmartHomeBridge));
58
59
  this.handlers.push(new bshb_scenario_handler_1.BshbScenarioHandler(this.bshb, this.boschSmartHomeBridge));
60
+ this.handlers.push(new bshb_automation_handler_1.BshbAutomationHandler(this.bshb, this.boschSmartHomeBridge));
59
61
  this.handlers.push(new bshb_user_defined_states_handler_1.BshbUserDefinedStatesHandler(this.bshb, this.boschSmartHomeBridge));
60
62
  this.handlers.push(new bshb_device_status_update_handler_1.BshbDeviceStatusUpdateHandler(this.bshb, this.boschSmartHomeBridge));
61
63
  this.handlers.push(new bshb_messages_handler_1.BshbMessagesHandler(this.bshb, this.boschSmartHomeBridge));
@@ -70,7 +72,12 @@ class BshbController {
70
72
  this.$rateLimit.pipe((0, rate_limiter_1.rateLimit)(this.bshb.config.rateLimit, this.bshb), (0, rxjs_1.concatMap)(data => {
71
73
  const observables = [];
72
74
  for (let i = 0; i < this.handlers.length; i++) {
73
- observables.push(this.handlers[i].sendUpdateToBshc(data.id, data.state).pipe((0, operators_1.tap)(handled => {
75
+ observables.push(this.handlers[i].sendUpdateToBshc(data.id, data.state).pipe(
76
+ // Protect controller
77
+ (0, operators_1.catchError)(err => {
78
+ this.bshb.log.silly(`Handler "${this.handlers[i].constructor.name}" failed with ${err}. This might happen when the controller answers with an error.`);
79
+ return (0, rxjs_1.of)(true);
80
+ }), (0, operators_1.tap)(handled => {
74
81
  if (handled) {
75
82
  this.bshb.log.silly(`Handler "${this.handlers[i].constructor.name}" send message to controller with state id=${data.id} and value=${data.state.val}`);
76
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bshb-controller.js","sourceRoot":"","sources":["../src/bshb-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bshb-controller.js","sourceRoot":"","sources":["../src/bshb-controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bshb-definition.js","sourceRoot":"","sources":["../src/bshb-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bshb-definition.js","sourceRoot":"","sources":["../src/bshb-definition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BshbAutomationHandler = void 0;
4
+ const bshb_handler_1 = require("./bshb-handler");
5
+ const rxjs_1 = require("rxjs");
6
+ const operators_1 = require("rxjs/operators");
7
+ /**
8
+ * This handler is used to detect automations of bshc
9
+ *
10
+ * @author Christopher Holomek
11
+ * @since 18.01.2020
12
+ */
13
+ class BshbAutomationHandler extends bshb_handler_1.BshbHandler {
14
+ automationRegex = /bshb\.\d+\.automations\.(.+?)\.(.+)/;
15
+ handleDetection() {
16
+ return this.detectAutomations().pipe((0, rxjs_1.tap)({
17
+ subscribe: () => this.bshb.log.info('Start detecting automations...'),
18
+ finalize: () => this.bshb.log.info('Detecting automations finished')
19
+ }));
20
+ }
21
+ handleBshcUpdate(resultEntry) {
22
+ if (resultEntry['@type'] === 'automationRule') {
23
+ this.detectAutomations().subscribe();
24
+ return true;
25
+ }
26
+ return false;
27
+ }
28
+ sendUpdateToBshc(id, state) {
29
+ const match = this.automationRegex.exec(id);
30
+ let result = (0, rxjs_1.of)(false);
31
+ if (match) {
32
+ const automationId = match[1];
33
+ const key = match[2];
34
+ this.bshb.log.debug(`Found automation with id=${automationId}, key=${key} and value=${state.val}`);
35
+ if (key === 'trigger') {
36
+ result = this.getBshcClient().triggerAutomation(automationId, { timeout: this.long_timeout })
37
+ .pipe((0, operators_1.delay)(1000), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setStateAsync(id, {
38
+ val: false,
39
+ ack: true
40
+ }))), (0, rxjs_1.tap)(this.handleBshcSendError(`id=${automationId}, value=${state.val}, key=${key}, automationId=${automationId}`)), (0, rxjs_1.map)(() => true));
41
+ }
42
+ else {
43
+ const idPrefix = 'automations.' + automationId;
44
+ const data = {};
45
+ data['@type'] = 'automationRule';
46
+ data.id = automationId;
47
+ result = (0, rxjs_1.from)(this.addAutomationValue(idPrefix, 'enabled', data)
48
+ .then(() => this.addAutomationValue(idPrefix, 'name', data))
49
+ .then(() => this.addAutomationValue(idPrefix, 'automationConditions', data, val => JSON.parse(val)))
50
+ .then(() => this.addAutomationValue(idPrefix, 'automationTriggers', data, val => JSON.parse(val)))
51
+ .then(() => this.addAutomationValue(idPrefix, 'automationActions', data, val => JSON.parse(val)))
52
+ .then(() => this.addAutomationValue(idPrefix, 'conditionLogicalOp', data)))
53
+ .pipe((0, rxjs_1.switchMap)(() => this.getBshcClient().setAutomation(automationId, data, { timeout: this.long_timeout })), (0, rxjs_1.tap)(this.handleBshcSendError(`id=${automationId}, value=${state.val}, data=${JSON.stringify(data)}`)), (0, rxjs_1.map)(() => true));
54
+ }
55
+ }
56
+ return result;
57
+ }
58
+ async addAutomationValue(idPrefix, key, data, mapFnc) {
59
+ let state = await this.bshb.getStateAsync(`${idPrefix}.${key}`);
60
+ if (mapFnc) {
61
+ return (data[key] = mapFnc((state).val));
62
+ }
63
+ else {
64
+ return (data[key] = (state).val);
65
+ }
66
+ }
67
+ detectAutomations() {
68
+ return this.setObjectNotExistsAsync('automations', {
69
+ type: 'folder',
70
+ common: {
71
+ name: 'automations',
72
+ read: true
73
+ },
74
+ native: {
75
+ id: 'automations'
76
+ },
77
+ }).pipe((0, rxjs_1.switchMap)(() => this.getBshcClient().getAutomations(undefined, { timeout: this.long_timeout })), (0, rxjs_1.switchMap)(response => this.deleteMissingAutomations((response.parsedResponse)).pipe((0, rxjs_1.last)(undefined, void 0), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(response.parsedResponse)))), (0, rxjs_1.mergeMap)(automation => {
78
+ this.bshb.log.debug(`Found automation ${automation.id}, ${automation.name}`);
79
+ const id = 'automations.' + automation.id;
80
+ // we overwrite object here on purpose because we reflect 1-1 the data from controller here.
81
+ return (0, rxjs_1.from)(this.bshb.setObjectAsync(id, {
82
+ type: 'folder',
83
+ common: {
84
+ name: automation.name,
85
+ type: 'boolean',
86
+ role: 'switch',
87
+ write: true,
88
+ read: false
89
+ },
90
+ native: {
91
+ id: automation.id,
92
+ name: automation.name
93
+ },
94
+ })).pipe((0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setObjectAsync(`${id}.enabled`, {
95
+ type: 'state',
96
+ common: {
97
+ name: 'enabled',
98
+ type: 'boolean',
99
+ role: 'switch',
100
+ write: true,
101
+ read: true
102
+ },
103
+ native: {
104
+ id: `${id}.enabled`,
105
+ name: 'enabled'
106
+ },
107
+ }))), (0, rxjs_1.tap)(() => this.bshb.setState(`${id}.enabled`, { val: automation.enabled, ack: true })), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setObjectAsync(`${id}.name`, {
108
+ type: 'state',
109
+ common: {
110
+ name: 'name',
111
+ type: 'string',
112
+ role: 'text',
113
+ write: true,
114
+ read: true
115
+ },
116
+ native: {
117
+ id: `${id}.name`,
118
+ name: 'name'
119
+ },
120
+ }))), (0, rxjs_1.tap)(() => this.bshb.setState(`${id}.name`, { val: automation.name, ack: true })), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setObjectAsync(`${id}.trigger`, {
121
+ type: 'state',
122
+ common: {
123
+ name: 'trigger',
124
+ type: 'boolean',
125
+ role: 'switch',
126
+ write: true,
127
+ read: false
128
+ },
129
+ native: {
130
+ id: `${id}.trigger`,
131
+ name: 'trigger'
132
+ },
133
+ }))), (0, rxjs_1.tap)(() => this.bshb.setState(`${id}.trigger`, { val: false, ack: true })), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setObjectAsync(`${id}.automationConditions`, {
134
+ type: 'state',
135
+ common: {
136
+ name: 'automationConditions',
137
+ type: 'array',
138
+ role: 'list',
139
+ write: true,
140
+ read: true
141
+ },
142
+ native: {
143
+ id: `${id}.automationConditions`,
144
+ name: 'automationConditions'
145
+ },
146
+ }))), (0, rxjs_1.tap)(() => this.bshb.setState(`${id}.automationConditions`, {
147
+ val: this.mapValueToStorage(automation.automationConditions),
148
+ ack: true
149
+ })), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setObjectAsync(`${id}.automationTriggers`, {
150
+ type: 'state',
151
+ common: {
152
+ name: 'automationTriggers',
153
+ type: 'array',
154
+ role: 'list',
155
+ write: true,
156
+ read: true
157
+ },
158
+ native: {
159
+ id: `${id}.automationTriggers`,
160
+ name: 'automationTriggers'
161
+ },
162
+ }))), (0, rxjs_1.tap)(() => this.bshb.setState(`${id}.automationTriggers`, {
163
+ val: this.mapValueToStorage(automation.automationTriggers),
164
+ ack: true
165
+ })), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setObjectAsync(`${id}.automationActions`, {
166
+ type: 'state',
167
+ common: {
168
+ name: 'automationActions',
169
+ type: 'array',
170
+ role: 'list',
171
+ write: true,
172
+ read: true
173
+ },
174
+ native: {
175
+ id: `${id}.automationActions`,
176
+ name: 'automationActions'
177
+ },
178
+ }))), (0, rxjs_1.tap)(() => this.bshb.setState(`${id}.automationActions`, {
179
+ val: this.mapValueToStorage(automation.automationActions),
180
+ ack: true
181
+ })), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)(this.bshb.setObjectAsync(`${id}.conditionLogicalOp`, {
182
+ type: 'state',
183
+ common: {
184
+ name: 'conditionLogicalOp',
185
+ type: 'string',
186
+ role: 'text',
187
+ write: true,
188
+ read: true
189
+ },
190
+ native: {
191
+ id: `${id}.conditionLogicalOp`,
192
+ name: 'conditionLogicalOp'
193
+ },
194
+ }))), (0, rxjs_1.tap)(() => this.bshb.setState(`${id}.conditionLogicalOp`, {
195
+ val: automation.conditionLogicalOp,
196
+ ack: true
197
+ })));
198
+ }), (0, rxjs_1.switchMap)(() => (0, rxjs_1.of)(undefined)));
199
+ }
200
+ deleteMissingAutomations(automations) {
201
+ return (0, rxjs_1.from)(this.bshb.getStatesOfAsync('automations', '')).pipe((0, rxjs_1.switchMap)(objects => (0, rxjs_1.from)(objects)), (0, rxjs_1.switchMap)(object => {
202
+ let found = false;
203
+ for (let i = 0; i < automations.length; i++) {
204
+ if (object.native.id === automations[i].id) {
205
+ // found automation
206
+ found = true;
207
+ break;
208
+ }
209
+ }
210
+ if (!found) {
211
+ return (0, rxjs_1.from)(this.bshb.deleteStateAsync('automations', '', object.native.id)).pipe((0, rxjs_1.tap)(() => this.bshb.log.info(`automation with id=${object.native.id} removed because it does not exist anymore.`)), (0, operators_1.catchError)(err => {
212
+ this.bshb.log.error(`Could not delete automation with id=${object.native.id} because: ` + err);
213
+ return (0, rxjs_1.of)(undefined);
214
+ }));
215
+ }
216
+ else {
217
+ return (0, rxjs_1.of)(undefined);
218
+ }
219
+ }));
220
+ }
221
+ name() {
222
+ return 'automationHandler';
223
+ }
224
+ }
225
+ exports.BshbAutomationHandler = BshbAutomationHandler;
226
+ //# sourceMappingURL=bshb-automation-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bshb-automation-handler.js","sourceRoot":"","sources":["../../../src/controller/handler/bshb-automation-handler.ts"],"names":[],"mappings":"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"}
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "bshb",
4
- "version": "0.2.7",
4
+ "version": "0.3.0",
5
5
  "news": {
6
+ "0.3.0": {
7
+ "de": "Unterstützung für Automationen.",
8
+ "en": "Support for automations.",
9
+ "ru": "Поддержка автоматики.",
10
+ "pt": "Suporte para automatizações.",
11
+ "nl": "Ondersteuning voor automatiseringen.",
12
+ "fr": "Prise en charge des automatismes.",
13
+ "it": "Supporto per le automazioni.",
14
+ "es": "Soporte para automatizaciones.",
15
+ "pl": "Wsparcie dla automatyzacji.",
16
+ "uk": "Підтримка автоматизації.",
17
+ "zh-cn": "支持自动化。"
18
+ },
19
+ "0.2.8": {
20
+ "de": "Aktualisierung der Abhängigkeiten und Stabilisierungsmaßnahmen.",
21
+ "en": "Updating dependencies and stabilization measures.",
22
+ "ru": "Обновление зависимостей и стабилизационных мер.",
23
+ "pt": "Atualização das dependências e das medidas de estabilização.",
24
+ "nl": "Bijwerken van de afhankelijkheden en stabilisatiemaatregelen.",
25
+ "fr": "Mise à jour des dépendances et des mesures de stabilisation.",
26
+ "it": "Aggiornamento delle dipendenze e delle misure di stabilizzazione.",
27
+ "es": "Actualización de las dependencias y medidas de estabilización.",
28
+ "pl": "Aktualizacja zależności i środków stabilizacji.",
29
+ "uk": "Оновлення залежностей та стабілізаційних заходів.",
30
+ "zh-cn": "更新从属关系和稳定措施。"
31
+ },
6
32
  "0.2.7": {
7
33
  "de": "Aktualisierung der Abhängigkeiten und Behebung der Ratenbegrenzung.",
8
34
  "en": "Update dependencies and fix rate limiting.",
@@ -68,19 +94,6 @@
68
94
  "uk": "Оновлення інтерфейсу контролера, кліматичного розкладу та інші покращення.",
69
95
  "zh-cn": "更新控制器界面,气候时间表和其他改进。"
70
96
  },
71
- "0.2.2": {
72
- "de": "Unterstützung für Räume.",
73
- "en": "Support for rooms.",
74
- "ru": "Поддержка помещений.",
75
- "pt": "Apoio aos quartos.",
76
- "nl": "Steun voor kamers.",
77
- "fr": "Soutien pour les salles.",
78
- "it": "Supporto per le stanze.",
79
- "es": "Soporte para salas.",
80
- "pl": "Wsparcie dla pomieszczeń.",
81
- "uk": "Підтримка номерів.",
82
- "zh-cn": "对房间的支持。"
83
- },
84
97
  "0.2.1": {
85
98
  "de": "Unterstützung für weitere Dienste.",
86
99
  "en": "Support for additional services.",
@@ -106,32 +119,6 @@
106
119
  "pl": "Rozwiązano problemy z funkcją OpenDoorsAndWindows.",
107
120
  "uk": "Виправлено проблеми з openDoorsAndWindows.",
108
121
  "zh-cn": "修正了openDoorsAndWindows的问题。"
109
- },
110
- "0.1.19": {
111
- "de": "Probleme beim initialen Setup behoben.",
112
- "en": "Problems with initial setup fixed.",
113
- "ru": "Исправлены проблемы с начальной настройкой.",
114
- "pt": "Problemas com a configuração inicial resolvidos.",
115
- "nl": "Problemen met de eerste installatie opgelost.",
116
- "fr": "Correction de problèmes lors de l'installation initiale.",
117
- "it": "Problemi con la configurazione iniziale risolti.",
118
- "es": "Se han solucionado los problemas de la configuración inicial.",
119
- "pl": "Naprawiono problemy z początkową konfiguracją.",
120
- "uk": "Виправлено проблеми з початковим налаштуванням.",
121
- "zh-cn": "初始设置的问题得到解决。"
122
- },
123
- "0.1.18": {
124
- "de": "Verzögerung zwischen Controller Aufrufen konfigurierbar.",
125
- "en": "Delay between controller calls configurable.",
126
- "ru": "Задержка между вызовами контроллера настраивается.",
127
- "pt": "Atraso entre as chamadas do controlador configurável.",
128
- "nl": "Vertraging tussen controller oproepen configureerbaar.",
129
- "fr": "Délai configurable entre les appels du contrôleur.",
130
- "it": "Ritardo tra le chiamate del controller configurabile.",
131
- "es": "Retraso entre llamadas del controlador configurable.",
132
- "pl": "Konfigurowalne opóźnienie między wywołaniami kontrolera.",
133
- "uk": "Затримка між викликами контролера налаштовується.",
134
- "zh-cn": "可配置控制器调用之间的延迟。"
135
122
  }
136
123
  },
137
124
  "titleLang": {
@@ -166,7 +153,6 @@
166
153
  "keywords": [
167
154
  "Bosch"
168
155
  ],
169
- "license": "MIT",
170
156
  "platform": "Javascript/Node.js",
171
157
  "main": "build/main.js",
172
158
  "icon": "bshb-logo.jpg",
@@ -185,7 +171,7 @@
185
171
  "dataSource": "push",
186
172
  "dependencies": [
187
173
  {
188
- "js-controller": ">=3.3.22"
174
+ "js-controller": ">=5.0.19"
189
175
  }
190
176
  ],
191
177
  "globalDependencies": [
@@ -193,7 +179,11 @@
193
179
  "admin": ">=5.1.13"
194
180
  }
195
181
  ],
196
- "tier": 2
182
+ "tier": 2,
183
+ "licenseInformation": {
184
+ "license": "MIT",
185
+ "type": "free"
186
+ }
197
187
  },
198
188
  "native": {
199
189
  "host": "192.168.178.10",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.bshb",
3
- "version": "0.2.7",
3
+ "version": "0.3.0",
4
4
  "description": "Connects Bosch Smart Home Interface-Processes to ioBroker",
5
5
  "author": {
6
6
  "name": "Christopher Holomek",
@@ -18,39 +18,34 @@
18
18
  "url": "https://github.com/holomekc/ioBroker.bshb"
19
19
  },
20
20
  "engines": {
21
- "node": ">= 16"
21
+ "node": ">= 18"
22
22
  },
23
23
  "dependencies": {
24
- "@iobroker/adapter-core": "3.0.4",
25
- "bosch-smart-home-bridge": "1.4.1",
24
+ "@iobroker/adapter-core": "^3.1.6",
25
+ "bosch-smart-home-bridge": "1.6.0",
26
26
  "rxjs": "7.8.1"
27
27
  },
28
28
  "devDependencies": {
29
- "@iobroker/adapter-dev": "1.2.0",
30
- "@iobroker/testing": "4.1.0",
31
- "@types/chai": "4.3.11",
32
- "@types/chai-as-promised": "7.1.8",
33
- "@types/mocha": "10.0.6",
34
- "@types/node": "16.18.66",
29
+ "@iobroker/adapter-dev": "^1.3.0",
30
+ "@iobroker/testing": "^4.1.3",
31
+ "@tsconfig/node20": "20.1.4",
32
+ "@types/chai": "4.3.17",
33
+ "@types/mocha": "10.0.7",
34
+ "@types/node": "20.14.8",
35
35
  "@types/proxyquire": "1.3.31",
36
- "@types/sinon": "17.0.2",
37
- "@types/sinon-chai": "3.2.12",
38
- "@typescript-eslint/eslint-plugin": "6.16.0",
39
- "@typescript-eslint/parser": "6.16.0",
40
- "@tsconfig/node16": "16.1.1",
41
- "chai": "4.3.10",
42
- "chai-as-promised": "7.1.1",
43
- "eslint": "8.56.0",
44
- "mocha": "10.2.0",
45
- "nyc": "15.1.0",
36
+ "@typescript-eslint/eslint-plugin": "8.0.1",
37
+ "@typescript-eslint/parser": "8.0.1",
38
+ "chai": "4.5.0",
39
+ "eslint": "9.9.0",
40
+ "express": "4.19.2",
41
+ "globals": "^15.9.0",
42
+ "mocha": "10.7.3",
43
+ "nyc": "17.0.0",
46
44
  "proxyquire": "2.1.3",
47
- "rimraf": "5.0.5",
48
- "sinon": "17.0.1",
49
- "sinon-chai": "3.7.0",
45
+ "rimraf": "6.0.1",
50
46
  "source-map-support": "0.5.21",
51
47
  "ts-node": "10.9.2",
52
- "typescript": "5.3.3",
53
- "express": "4.18.2"
48
+ "typescript": "5.5.4"
54
49
  },
55
50
  "main": "build/main.js",
56
51
  "files": [
@@ -74,7 +69,7 @@
74
69
  "test": "npm run test:ts && npm run test:package",
75
70
  "check": "tsc --noEmit",
76
71
  "coverage": "nyc npm run test:ts",
77
- "lint": "eslint --ext .ts src/",
72
+ "lint": "eslint",
78
73
  "release": "release-script",
79
74
  "pack": "npm run build && npm pack",
80
75
  "translate": "translate-adapter"