fix(ignore): update dependencies (#23508)

* fix(ignore): update dependencies

* update

---------

Co-authored-by: Koenkk <2892853+Koenkk@users.noreply.github.com>
This commit is contained in:
Koen Kanters
2024-08-05 21:08:40 +00:00
committed by GitHub
co-authored by Koenkk
parent 9bb21f486c
commit bd7dec0f11
18 changed files with 1187 additions and 371 deletions
+4 -3
View File
@@ -66,6 +66,7 @@ type ExtensionArgs = [
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let sdNotify: any = null;
try {
// eslint-disable-next-line @typescript-eslint/no-require-imports
sdNotify = process.env.NOTIFY_SOCKET ? require('sd-notify') : null;
} catch {
// sd-notify is optional
@@ -175,14 +176,14 @@ export class Controller {
await this.zigbee.permitJoin(settings.get().permit_join);
} catch (error) {
logger.error(`Failed to set permit join to ${settings.get().permit_join}`);
logger.error(`Failed to set permit join to ${settings.get().permit_join} (${error.message})`);
}
// MQTT
try {
await this.mqtt.connect();
} catch (error) {
logger.error(`MQTT failed to connect, exiting...`);
logger.error(`MQTT failed to connect, exiting... (${error.message})`);
await this.zigbee.stop();
return this.exit(1);
}
@@ -247,7 +248,7 @@ export class Controller {
await this.zigbee.stop();
logger.info('Stopped Zigbee2MQTT');
} catch (error) {
logger.error('Failed to stop Zigbee2MQTT');
logger.error(`Failed to stop Zigbee2MQTT (${error.message})`);
code = 1;
}
+3 -1
View File
@@ -66,7 +66,9 @@ export default class Availability extends Extension {
private removeFromPingQueue(device: Device): void {
const index = this.pingQueue.findIndex((d) => d.ieeeAddr === device.ieeeAddr);
index != -1 && this.pingQueue.splice(index, 1);
if (index != -1) {
this.pingQueue.splice(index, 1);
}
}
private async pingQueueExecuteNext(): Promise<void> {
+5 -3
View File
@@ -429,7 +429,7 @@ export default class Bind extends Extension {
await endpoint.configureReporting(bind.cluster.name, items);
logger.info(`Successfully setup reporting for '${entity}' cluster '${bind.cluster.name}'`);
} catch (error) {
logger.warning(`Failed to setup reporting for '${entity}' cluster '${bind.cluster.name}'`);
logger.warning(`Failed to setup reporting for '${entity}' cluster '${bind.cluster.name}' (${error.message})`);
}
}
}
@@ -489,7 +489,7 @@ export default class Bind extends Extension {
await endpoint.configureReporting(cluster, items);
logger.info(`Successfully disabled reporting for '${entity}' cluster '${cluster}'`);
} catch (error) {
logger.warning(`Failed to disable reporting for '${entity}' cluster '${cluster}'`);
logger.warning(`Failed to disable reporting for '${entity}' cluster '${cluster}' (${error.message})`);
}
}
@@ -555,7 +555,9 @@ export default class Bind extends Extension {
try {
await endpoint.read(poll.read.cluster, readAttrs);
} catch (error) {
logger.error(`Failed to poll ${readAttrs} from ${this.zigbee.resolveEntity(endpoint.getDevice()).name}`);
logger.error(
`Failed to poll ${readAttrs} from ${this.zigbee.resolveEntity(endpoint.getDevice()).name} (${error.message})`,
);
}
}, 1000);
}
+3 -1
View File
@@ -687,7 +687,9 @@ export default class Bridge extends Extension {
const config = objectAssignDeep({}, settings.get());
delete config.advanced.network_key;
delete config.mqtt.password;
config.frontend && delete config.frontend.auth_token;
if (config.frontend) {
delete config.frontend.auth_token;
}
const payload = {
version: this.zigbee2mqttVersion.version,
commit: this.zigbee2mqttVersion.commitHash,
+4 -4
View File
@@ -596,8 +596,8 @@ export default class HomeAssistant extends Extension {
// If curtains do not have `running`, `motor_state` or `moving` properties.
if (!discoveryEntry.discovery_payload.value_template) {
(discoveryEntry.discovery_payload.value_template = `{{ value_json.${featurePropertyWithoutEndpoint(state)} }}`),
(discoveryEntry.discovery_payload.state_open = 'OPEN');
discoveryEntry.discovery_payload.value_template = `{{ value_json.${featurePropertyWithoutEndpoint(state)} }}`;
discoveryEntry.discovery_payload.state_open = 'OPEN';
discoveryEntry.discovery_payload.state_closed = 'CLOSE';
discoveryEntry.discovery_payload.state_stopped = 'STOP';
}
@@ -1014,7 +1014,7 @@ export default class HomeAssistant extends Extension {
};
if (lookup[firstExpose.name]?.device_class === 'temperature') {
discoveryEntry.discovery_payload.device_class == lookup[firstExpose.name]?.device_class;
discoveryEntry.discovery_payload.device_class = lookup[firstExpose.name]?.device_class;
} else {
delete discoveryEntry.discovery_payload.device_class;
}
@@ -1745,7 +1745,7 @@ export default class HomeAssistant extends Extension {
if (!isDeviceAutomation && (!message.availability || !message.availability[0].topic.startsWith(baseTopic))) {
return;
}
} catch (e) {
} catch {
return;
}
+5 -5
View File
@@ -61,7 +61,7 @@ export default class BridgeLegacy extends Extension {
let json = null;
try {
json = JSON.parse(message);
} catch (e) {
} catch {
logger.error('Failed to parse message as JSON');
return;
}
@@ -86,7 +86,7 @@ export default class BridgeLegacy extends Extension {
try {
await this.zigbee.reset('soft');
logger.info('Soft reset ZNP');
} catch (error) {
} catch {
logger.error('Soft reset failed');
}
}
@@ -179,7 +179,7 @@ export default class BridgeLegacy extends Extension {
let json = null;
try {
json = JSON.parse(message);
} catch (e) {
} catch {
logger.error(invalid);
return;
}
@@ -213,7 +213,7 @@ export default class BridgeLegacy extends Extension {
}
await this.mqtt.publish('bridge/log', stringify({type: `${isGroup ? 'group' : 'device'}_renamed`, message: {from, to}}));
} catch (error) {
} catch {
logger.error(`Failed to rename - ${from} to ${to}`);
}
}
@@ -231,7 +231,7 @@ export default class BridgeLegacy extends Extension {
if (json.hasOwnProperty('friendly_name')) {
name = json.friendly_name;
}
} catch (e) {
} catch {
// just friendly_name
name = message;
}
+5 -3
View File
@@ -106,9 +106,11 @@ export default class Report extends Extension {
}
}
this.enabled
? await ep.bind(cluster, this.zigbee.firstCoordinatorEndpoint())
: await ep.unbind(cluster, this.zigbee.firstCoordinatorEndpoint());
if (this.enabled) {
await ep.bind(cluster, this.zigbee.firstCoordinatorEndpoint());
} else {
await ep.unbind(cluster, this.zigbee.firstCoordinatorEndpoint());
}
await ep.configureReporting(cluster, items);
logger.info(`Successfully ${term2} reporting for '${device.ieeeAddr}' - ${ep.ID} - ${cluster}`);
+2 -2
View File
@@ -45,7 +45,7 @@ export default class SoftReset extends Extension {
await this.zigbee.reset('soft');
logger.warning('Soft reset ZNP due to timeout');
} catch (error) {
logger.warning('Soft reset failed, trying stop/start');
logger.warning(`Soft reset failed, trying stop/start (${error.message})`);
await this.zigbee.stop();
logger.warning('Zigbee stopped');
@@ -53,7 +53,7 @@ export default class SoftReset extends Extension {
try {
await this.zigbee.start();
} catch (error) {
logger.error('Failed to restart!');
logger.error(`Failed to restart! (${error.message})`);
}
}
+1 -1
View File
@@ -250,7 +250,7 @@ export default class NetworkMap extends Extension {
logger.debug(`Routing table succeeded for '${device.name}'`);
} catch (error) {
failed.get(device).push('routingTable');
logger.error(`Failed to execute routing table for '${device.name}'`);
logger.error(`Failed to execute routing table for '${device.name}' (${error.message})`);
}
}
}
+5 -3
View File
@@ -16,7 +16,7 @@ function isValidUrl(url: string): boolean {
let parsed;
try {
parsed = URI.parse(url);
} catch (_) {
} catch {
// istanbul ignore next
return false;
}
@@ -138,7 +138,7 @@ export default class OTAUpdate extends Extension {
const endpoint = device.zh.endpoints.find((e) => e.supportsInputCluster('genBasic'));
const result = await endpoint.read('genBasic', ['dateCode', 'swBuildId'], {sendPolicy});
return {softwareBuildID: result.swBuildId, dateCode: result.dateCode};
} catch (e) {
} catch {
return null;
}
}
@@ -319,7 +319,9 @@ export default class OTAUpdate extends Extension {
if (error) {
logger.error(error);
errorStack && logger.debug(errorStack);
if (errorStack) {
logger.debug(errorStack);
}
}
}
}
+2 -2
View File
@@ -74,13 +74,13 @@ export default class Publish extends Extension {
if (parsedTopic.attribute) {
try {
return {[parsedTopic.attribute]: JSON.parse(data.message)};
} catch (e) {
} catch {
return {[parsedTopic.attribute]: data.message};
}
} else {
try {
return JSON.parse(data.message);
} catch (e) {
} catch {
if (stateValues.includes(data.message.toLowerCase())) {
return {state: data.message};
} else {
+2 -2
View File
@@ -65,8 +65,8 @@ class State {
try {
this.state = JSON.parse(fs.readFileSync(this.file, 'utf8'));
logger.debug(`Loaded state from file ${this.file}`);
} catch (e) {
logger.debug(`Failed to load state from file ${this.file} (corrupt file?)`);
} catch (error) {
logger.debug(`Failed to load state from file ${this.file} (corrupt file?) (${error.message})`);
}
} else {
logger.debug(`Can't load state from file ${this.file} (doesn't exist)`);
+31 -25
View File
@@ -7,7 +7,7 @@ import schemaJson from './settings.schema.json';
import utils from './utils';
import yaml from './yaml';
export let schema = schemaJson;
// @ts-ignore
// @ts-expect-error
schema = {};
objectAssignDeep(schema, schemaJson);
@@ -140,16 +140,16 @@ function loadSettingsWithDefaults(): void {
'homeassistant_legacy_entity_attributes',
'homeassistant_status_topic',
]) {
// @ts-ignore
// @ts-expect-error
if (_settingsWithDefaults.advanced[key] !== undefined) {
// @ts-ignore
// @ts-expect-error
sLegacy[key.replace('homeassistant_', '')] = _settingsWithDefaults.advanced[key];
}
}
}
const s = typeof _settingsWithDefaults.homeassistant === 'object' ? _settingsWithDefaults.homeassistant : {};
// @ts-ignore
// @ts-expect-error
_settingsWithDefaults.homeassistant = {};
objectAssignDeep(_settingsWithDefaults.homeassistant, defaults, sLegacy, s);
}
@@ -157,7 +157,7 @@ function loadSettingsWithDefaults(): void {
if (_settingsWithDefaults.availability || _settingsWithDefaults.advanced?.availability_timeout) {
const defaults = {};
const s = typeof _settingsWithDefaults.availability === 'object' ? _settingsWithDefaults.availability : {};
// @ts-ignore
// @ts-expect-error
_settingsWithDefaults.availability = {};
objectAssignDeep(_settingsWithDefaults.availability, defaults, s);
}
@@ -165,35 +165,34 @@ function loadSettingsWithDefaults(): void {
if (_settingsWithDefaults.frontend) {
const defaults = {port: 8080, auth_token: false};
const s = typeof _settingsWithDefaults.frontend === 'object' ? _settingsWithDefaults.frontend : {};
// @ts-ignore
_settingsWithDefaults.frontend = {};
objectAssignDeep(_settingsWithDefaults.frontend, defaults, s);
}
if (_settings.advanced?.hasOwnProperty('baudrate') && _settings.serial?.baudrate == null) {
// @ts-ignore
// @ts-expect-error
_settingsWithDefaults.serial.baudrate = _settings.advanced.baudrate;
}
if (_settings.advanced?.hasOwnProperty('rtscts') && _settings.serial?.rtscts == null) {
// @ts-ignore
// @ts-expect-error
_settingsWithDefaults.serial.rtscts = _settings.advanced.rtscts;
}
if (_settings.advanced?.hasOwnProperty('ikea_ota_use_test_url') && _settings.ota?.ikea_ota_use_test_url == null) {
// @ts-ignore
// @ts-expect-error
_settingsWithDefaults.ota.ikea_ota_use_test_url = _settings.advanced.ikea_ota_use_test_url;
}
// @ts-ignore
// @ts-expect-error
if (_settings.experimental?.hasOwnProperty('transmit_power') && _settings.advanced?.transmit_power == null) {
// @ts-ignore
// @ts-expect-error
_settingsWithDefaults.advanced.transmit_power = _settings.experimental.transmit_power;
}
// @ts-ignore
// @ts-expect-error
if (_settings.experimental?.hasOwnProperty('output') && _settings.advanced?.output == null) {
// @ts-ignore
// @ts-expect-error
_settingsWithDefaults.advanced.output = _settings.experimental.output;
}
@@ -201,10 +200,17 @@ function loadSettingsWithDefaults(): void {
_settingsWithDefaults.advanced.log_level = 'warning';
}
// @ts-ignore
_settingsWithDefaults.ban && _settingsWithDefaults.blocklist.push(..._settingsWithDefaults.ban);
// @ts-ignore
_settingsWithDefaults.whitelist && _settingsWithDefaults.passlist.push(..._settingsWithDefaults.whitelist);
// @ts-expect-error
if (_settingsWithDefaults.ban) {
// @ts-expect-error
_settingsWithDefaults.blocklist.push(..._settingsWithDefaults.ban);
}
// @ts-expect-error
if (_settingsWithDefaults.whitelist) {
// @ts-expect-error
_settingsWithDefaults.passlist.push(..._settingsWithDefaults.whitelist);
}
}
function parseValueRef(text: string): {filename: string; key: string} | null {
@@ -257,7 +263,7 @@ function write(): void {
.filter((f: string, i: number) => i !== 0)
.map((f: string) => yaml.readIfExists(data.joinPath(f), {}))
.map((c: KeyValue) => Object.keys(c))
// @ts-ignore
// @ts-expect-error
.forEach((k: string) => delete content[k]);
}
@@ -395,12 +401,12 @@ function read(): Settings {
// Read devices/groups configuration from separate file if specified.
const readDevicesOrGroups = (type: 'devices' | 'groups'): void => {
if (typeof s[type] === 'string' || (Array.isArray(s[type]) && Array(s[type]).length > 0)) {
/* eslint-disable-line */ // @ts-ignore
/* eslint-disable-line */
const files: string[] = Array.isArray(s[type]) ? s[type] : [s[type]];
s[type] = {};
for (const file of files) {
const content = yaml.readIfExists(data.joinPath(file), {});
/* eslint-disable-line */ // @ts-ignore
/* eslint-disable-line */ // @ts-expect-error
s[type] = objectAssignDeep.noMutate(s[type], content);
}
}
@@ -422,20 +428,20 @@ function applyEnvironmentVariables(settings: Partial<Settings>): void {
const envVariableName = `ZIGBEE2MQTT_CONFIG_${envPart}${key}`.toUpperCase();
if (process.env[envVariableName]) {
const setting = path.reduce((acc, val) => {
/* eslint-disable-line */ // @ts-ignore
/* eslint-disable-line */ // @ts-expect-error
acc[val] = acc[val] || {};
/* eslint-disable-line */ // @ts-ignore
/* eslint-disable-line */ // @ts-expect-error
return acc[val];
}, settings);
if (type.indexOf('object') >= 0 || type.indexOf('array') >= 0) {
try {
setting[key] = JSON.parse(process.env[envVariableName]);
} catch (error) {
} catch {
setting[key] = process.env[envVariableName];
}
} else if (type.indexOf('number') >= 0) {
/* eslint-disable-line */ // @ts-ignore
/* eslint-disable-line */ // @ts-expect-error
setting[key] = process.env[envVariableName] * 1;
} else if (type.indexOf('boolean') >= 0) {
setting[key] = process.env[envVariableName].toLowerCase() === 'true';
@@ -499,7 +505,7 @@ export function set(path: string[], value: string | number | boolean | KeyValue)
export function apply(settings: Record<string, unknown>): boolean {
getInternalSettings(); // Ensure _settings is initialized.
/* eslint-disable-line */ // @ts-ignore
/* eslint-disable-line */ // @ts-expect-error
const newSettings = objectAssignDeep.noMutate(_settings, settings);
utils.removeNullPropertiesFromObject(newSettings, NULLABLE_SETTINGS);
ajvSetting(newSettings);
+3 -2
View File
@@ -60,7 +60,7 @@ async function getZigbee2MQTTVersion(includeCommitHash = true): Promise<{commitH
if (err) {
try {
commitHash = fs.readFileSync(path.join(__dirname, '..', '..', 'dist', '.hash'), 'utf-8');
} catch (error) {
} catch {
/* istanbul ignore next */
commitHash = 'unknown';
}
@@ -128,7 +128,7 @@ function getResponse(request: KeyValue | string, data: KeyValue, error: string):
function parseJSON(value: string, fallback: string): KeyValue | string {
try {
return JSON.parse(value);
} catch (e) {
} catch {
return fallback;
}
}
@@ -162,6 +162,7 @@ export function* loadExternalConverter(moduleName: string): Generator<ExternalDe
if (moduleName.endsWith('.js')) {
converter = loadModuleFromFile(data.joinPath(moduleName));
} else {
// eslint-disable-next-line @typescript-eslint/no-require-imports
converter = require(moduleName);
}
+3 -1
View File
@@ -253,7 +253,9 @@ export default class Zigbee {
@bind private resolveDevice(ieeeAddr: string): Device {
if (!this.deviceLookup[ieeeAddr]) {
const device = this.herdsman.getDeviceByIeeeAddr(ieeeAddr);
device && (this.deviceLookup[ieeeAddr] = new Device(device));
if (device) {
this.deviceLookup[ieeeAddr] = new Device(device);
}
}
const device = this.deviceLookup[ieeeAddr];
+1099 -303
View File
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -50,7 +50,7 @@
"jszip": "^3.10.1",
"mkdir-recursive": "^0.4.0",
"moment": "^2.30.1",
"mqtt": "^5.9.0",
"mqtt": "^5.9.1",
"object-assign-deep": "^0.4.0",
"rimraf": "^6.0.1",
"semver": "^7.6.3",
@@ -65,25 +65,25 @@
"zigbee2mqtt-frontend": "0.7.4"
},
"devDependencies": {
"@babel/core": "^7.24.9",
"@babel/core": "^7.25.2",
"@babel/plugin-proposal-decorators": "^7.24.7",
"@babel/preset-env": "^7.25.0",
"@babel/preset-env": "^7.25.3",
"@babel/preset-typescript": "^7.24.7",
"@types/finalhandler": "^1.2.3",
"@types/humanize-duration": "^3.27.4",
"@types/jest": "^29.5.12",
"@types/js-yaml": "^4.0.9",
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@types/object-assign-deep": "^0.4.3",
"@types/readable-stream": "4.0.15",
"@types/ws": "8.5.11",
"@typescript-eslint/eslint-plugin": "^7.17.0",
"@typescript-eslint/parser": "^7.17.0",
"@types/ws": "8.5.12",
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"babel-jest": "^29.7.0",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jest": "^28.6.0",
"eslint-plugin-perfectionist": "^3.0.0",
"eslint-plugin-jest": "^28.7.0",
"eslint-plugin-perfectionist": "^3.1.0",
"jest": "^29.7.0",
"prettier": "^3.3.3",
"tmp": "^0.2.3",
+1 -1
View File
@@ -277,7 +277,7 @@ describe('Controller', () => {
await controller.start();
await flushPromises();
expect(logger.error).toHaveBeenCalledWith('MQTT error: addr not found');
expect(logger.error).toHaveBeenCalledWith('MQTT failed to connect, exiting...');
expect(logger.error).toHaveBeenCalledWith('MQTT failed to connect, exiting... (addr not found)');
expect(mockExit).toHaveBeenCalledTimes(1);
expect(mockExit).toHaveBeenCalledWith(1, false);
});