From 09fbed6c753c6bc3d9ac33dcab081b94af31aebe Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 21:51:32 +0200 Subject: [PATCH] Update zigbee-herdsman-converters to 12.0.214 (#4713) * Update zigbee-herdsman-converters to 12.0.214 * Update bridge.test.js * Update homeassistant.js * Update homeassistant.js Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Koen Kanters --- lib/extension/homeassistant.js | 137 ++++--------- npm-shrinkwrap.json | 345 +++++++++++++++++---------------- package.json | 2 +- test/bridge.test.js | 4 +- 4 files changed, 216 insertions(+), 272 deletions(-) diff --git a/lib/extension/homeassistant.js b/lib/extension/homeassistant.js index 9ee3b40b1..165a573d0 100644 --- a/lib/extension/homeassistant.js +++ b/lib/extension/homeassistant.js @@ -19,15 +19,6 @@ const cfg = { device_class: 'motion', }, }, - 'binary_sensor_sos': { - type: 'binary_sensor', - object_id: 'sos', - discovery_payload: { - payload_on: true, - payload_off: false, - value_template: '{{ value_json.sos }}', - }, - }, 'binary_sensor_alarm': { type: 'binary_sensor', object_id: 'alarm', @@ -835,17 +826,7 @@ const manualMaping = { 'QBKG03LM': [ switchEndpoint('left'), switchEndpoint('right'), cfg.sensor_click, cfg.sensor_action, cfg.sensor_temperature, ], - 'WSDCGQ01LM': [cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_battery], - 'WSDCGQ11LM': [cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_pressure, cfg.sensor_battery], - 'RTCGQ01LM': [cfg.binary_sensor_occupancy, cfg.sensor_battery], - 'RTCGQ11LM': [cfg.binary_sensor_occupancy, cfg.sensor_illuminance_lux_unit, cfg.sensor_battery], - 'MCCGQ01LM': [cfg.binary_sensor_contact, cfg.sensor_battery], - 'MCCGQ11LM': [cfg.binary_sensor_contact, cfg.sensor_battery], - 'SJCGQ11LM': [cfg.binary_sensor_water_leak, cfg.sensor_battery], 'MFKZQ01LM': [cfg.sensor_action, cfg.sensor_battery], - 'ZNCZ02LM': [cfg.switch, cfg.sensor_power, cfg.sensor_temperature, cfg.sensor_consumption, cfg.sensor_voltage], - 'QBCZ11LM': [cfg.switch, cfg.sensor_power], - 'JTYJ-GD-01LM/BW': [cfg.binary_sensor_smoke, cfg.sensor_battery, cfg.sensor_sensitivity, cfg.sensor_smoke_density], 'CC2530.ROUTER': [cfg.binary_sensor_led], 'ICTC-G-1': [cfg.sensor_brightness, cfg.sensor_battery, cfg.sensor_action], 'QBKG11LM': [cfg.switch, cfg.sensor_power, cfg.sensor_click, cfg.sensor_action, cfg.sensor_temperature], @@ -862,8 +843,6 @@ const manualMaping = { cfg.sensor_battery, ], 'STSS-MULT-001': [cfg.binary_sensor_contact, cfg.sensor_battery], - 'JTQJ-BF-01LM/BW': [cfg.binary_sensor_gas, cfg.sensor_gas_density, cfg.sensor_sensitivity], - 'AV2010/22': [cfg.binary_sensor_occupancy, cfg.sensor_battery], 'A6121': [cfg.sensor_lock], 'DJT11LM': [cfg.sensor_action, cfg.sensor_battery, cfg.sensor_sensitivity, cfg.sensor_strength], '4256251-RZHAC': [cfg.switch, cfg.sensor_power], @@ -873,7 +852,6 @@ const manualMaping = { 'HS1SA': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low], 'HS3SA': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low], '3321-S': [cfg.binary_sensor_contact, cfg.sensor_temperature, cfg.sensor_battery], - 'ZNCLDJ11LM': [cfg.cover_position, cfg.sensor_cover], 'TS0601_curtain': [cfg.cover_position], 'TS0601_curtain_switch': [cfg.cover_position], 'TS0003_curtain_switch': [cfg.cover], @@ -886,7 +864,6 @@ const manualMaping = { 'MLI-404011': [cfg.sensor_action], 'SP600': [cfg.switch, cfg.sensor_power, cfg.sensor_energy], 'SPZB0001': [climate(5, 30, 'current_heating_setpoint', 0.5), cfg.sensor_battery], - 'HS3CG': [cfg.binary_sensor_gas], '81825': [cfg.sensor_action], 'YRD426NRSC': [cfg.lock, cfg.sensor_battery], 'BE468': [cfg.lock, cfg.sensor_battery], @@ -906,18 +883,6 @@ const manualMaping = { cfg.sensor_requested_brightness_percent, ], 'ZYCT-202': [cfg.sensor_action], - 'NCZ-3043-HA': [ - cfg.binary_sensor_occupancy, cfg.sensor_temperature, - cfg.sensor_battery, cfg.binary_sensor_battery_low, - ], - 'NCZ-3041-HA': [ - cfg.binary_sensor_occupancy, cfg.sensor_temperature, - cfg.sensor_battery, cfg.binary_sensor_battery_low, - ], - 'NCZ-3045-HA': [ - cfg.binary_sensor_occupancy, cfg.sensor_temperature, - cfg.sensor_battery, cfg.binary_sensor_battery_low, - ], '3300-S': [ cfg.sensor_temperature, cfg.binary_sensor_contact, cfg.sensor_battery, cfg.binary_sensor_battery_low, @@ -942,10 +907,6 @@ const manualMaping = { 'SWO-KEF1PA': [cfg.sensor_action], 'HGZB-02S': [cfg.sensor_click, cfg.sensor_action, cfg.switch], 'HS1RC-N': [cfg.sensor_action, cfg.sensor_battery], - 'LLKZMK11LM': [ - switchEndpoint('l1'), switchEndpoint('l2'), - cfg.sensor_power, cfg.sensor_temperature, cfg.sensor_consumption, - ], 'HS2SS': [cfg.sensor_action, cfg.sensor_battery], 'N2G-SP': [cfg.sensor_power, cfg.switch, cfg.sensor_energy], 'SCM-5ZBS': [cfg.cover_position], @@ -954,17 +915,12 @@ const manualMaping = { 'V3-BTZB': [cfg.lock, cfg.sensor_battery], '99432': [cfg.fan, cfg.light_brightness], 'InstaRemote': [cfg.sensor_action], - 'HS1CA-E': [ - cfg.binary_sensor_carbon_monoxide, cfg.binary_sensor_battery_low, - cfg.sensor_battery, - ], 'ZGRC-KEY-013': [cfg.sensor_click, cfg.sensor_action], 'YRD256HA20BP': [cfg.sensor_battery, cfg.lock], 'SZ-ESW01-AU': [cfg.sensor_power, cfg.switch], 'SCM-S1': [cfg.cover_position], 'MEAZON_BIZY_PLUG': [cfg.sensor_power, cfg.switch, cfg.sensor_temperature], 'MEAZON_DINRAIL': [cfg.sensor_power, cfg.switch, cfg.sensor_temperature], - 'HS1CA-M': [cfg.binary_sensor_carbon_monoxide, cfg.binary_sensor_battery_low], '12031': [cfg.cover_position], 'LS12128': [cfg.cover_position], 'ZNMS12LM': [ @@ -1008,18 +964,12 @@ const manualMaping = { ], 'DIYRuZ_KEYPAD20': [], 'DTB190502A1': [], - 'HS1CG-M': [cfg.binary_sensor_gas], - 'HS1CG_M': [cfg.binary_sensor_gas], - 'LVS-SN10ZW_SN11': [cfg.sensor_battery, cfg.binary_sensor_occupancy], 'ZWallRemote0': [cfg.sensor_click, cfg.sensor_action], 'D1': [cfg.light_brightness, cfg.sensor_power], 'J1': [cfg.cover_position_tilt, cfg.sensor_power], - 'ZNCZ03LM': [cfg.switch, cfg.sensor_power], 'Z3-1BRL': [cfg.sensor_action, cfg.sensor_brightness], - 'HS1CG-E': [cfg.binary_sensor_gas], 'ROB_200-008-0': [cfg.sensor_battery, cfg.sensor_click, cfg.sensor_action], 'SZ-ESW01': [cfg.switch, cfg.sensor_power], - '2AJZ4KPBS': [cfg.sensor_battery, cfg.binary_sensor_occupancy, cfg.binary_sensor_battery_low], 'ICZB-KPD18S': [cfg.sensor_battery, cfg.sensor_click, cfg.sensor_action], 'E1757': [cfg.cover_position, cfg.sensor_battery], 'E1926': [cfg.cover_position, cfg.sensor_battery], @@ -1028,7 +978,6 @@ const manualMaping = { 'YRD210-HA-605': [cfg.lock, cfg.sensor_battery], 'YRD220/YRD221': [cfg.lock, cfg.sensor_battery], 'ZM-CSW032-D': [cfg.cover_position], - 'ZNCLDJ12LM': [cfg.cover_position, cfg.sensor_battery], 'YRD226/246 TSDB': [cfg.lock, cfg.sensor_battery], 'E1744': [cfg.sensor_action, cfg.sensor_battery], 'TERNCY-PP01': [ @@ -1037,23 +986,14 @@ const manualMaping = { ], 'CR11S8UZ': [cfg.sensor_action], 'UK7004240': [climate(), cfg.sensor_battery], - 'TS0204': [cfg.binary_sensor_gas], - 'TS0205': [cfg.binary_sensor_smoke, cfg.sensor_battery], - 'TS0202': [cfg.binary_sensor_occupancy, cfg.sensor_battery], 'TS0218': [cfg.sensor_action, cfg.sensor_battery], 'DIYRuZ_rspm': [cfg.switch, cfg.sensor_action, cfg.sensor_power, cfg.sensor_current], - 'ZNCZ04LM': [ - cfg.switch, cfg.sensor_power, cfg.sensor_consumption, - cfg.sensor_current, cfg.sensor_voltage, cfg.sensor_temperature, - ], - 'ZNCZ12LM': [cfg.switch, cfg.sensor_power], 'WXCJKG11LM': [cfg.sensor_action, cfg.sensor_battery], 'WXCJKG12LM': [cfg.sensor_action, cfg.sensor_battery], 'WXCJKG13LM': [cfg.sensor_action, cfg.sensor_battery], '8718699693985': [cfg.sensor_action, cfg.sensor_battery], 'TS0043': [cfg.sensor_action, cfg.sensor_battery], 'TS0041': [cfg.sensor_action, cfg.sensor_battery], - 'SP-EUC01': [cfg.switch, cfg.sensor_power], '6735/6736/6737': [cfg.switch, cfg.sensor_action], '9GED18000-009': [cfg.lock, cfg.sensor_battery], '9GED21500-005': [cfg.lock, cfg.sensor_battery], @@ -1092,9 +1032,6 @@ const manualMaping = { 'ZG2835RAC': [cfg.light_brightness, cfg.sensor_power, cfg.sensor_energy], 'BW-IS3': [cfg.binary_sensor_occupancy], 'SLR1b': [climate()], - 'AV2010/24A': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low, cfg.binary_sensor_tamper], - '902010/24': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low, cfg.binary_sensor_tamper], - 'SGMHM-I1': [cfg.binary_sensor_gas, cfg.binary_sensor_battery_low, cfg.binary_sensor_tamper], 'TS0042': [cfg.sensor_action, cfg.sensor_battery], 'SNZB-01': [cfg.sensor_action, cfg.sensor_battery], '07046L': [cfg.sensor_action], @@ -1127,10 +1064,6 @@ const manualMaping = { cfg.sensor_action, cfg.binary_sensor_contact, cfg.binary_sensor_water_leak, cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_battery, ], - 'SEB01ZB': [cfg.binary_sensor_sos, cfg.sensor_battery], - 'SSA01ZB': [cfg.binary_sensor_smoke, cfg.sensor_battery], - 'SCA01ZB': [cfg.binary_sensor_carbon_monoxide, cfg.sensor_battery], - 'SGA01ZB': [cfg.binary_sensor_gas, cfg.sensor_battery], 'SSS401ZB': [cfg.switch, cfg.sensor_action], '3460-L': [cfg.sensor_action, cfg.sensor_temperature, cfg.sensor_battery], '3157100': [climate(10, 30, 'occupied_heating_setpoint', 1, ['off', 'heat', 'cool'], @@ -1140,8 +1073,6 @@ const manualMaping = { 'RC-2000WH': [climate(10, 30, 'occupied_heating_setpoint', 1, ['off', 'auto', 'heat', 'cool'], ['auto', 'on', 'smart'], [], true, true)], '511.344': [cfg.sensor_battery, cfg.sensor_action, cfg.sensor_action_color, cfg.sensor_action_color_temperature], - 'SMSZB-120': [cfg.binary_sensor_smoke, cfg.sensor_temperature, cfg.sensor_battery], - 'MOT003': [cfg.binary_sensor_occupancy, cfg.sensor_temperature, cfg.sensor_battery, cfg.binary_sensor_battery_low], 'AU-A1ZBPIA': [cfg.switch, cfg.sensor_power, cfg.sensor_voltage, cfg.sensor_current], 'GreenPower_On_Off_Switch': [cfg.sensor_action], 'GreenPower_7': [cfg.sensor_action], @@ -1167,7 +1098,6 @@ const manualMaping = { ], 'WXKG07LM': [cfg.sensor_action, cfg.sensor_battery], '752189': [cfg.sensor_action, cfg.sensor_battery], - '5AA-SS-ZA-H0': [cfg.binary_sensor_occupancy, cfg.sensor_illuminance, cfg.sensor_illuminance_lux], 'AU-A1ZBRC': [cfg.sensor_action, cfg.sensor_battery], 'ZK03840': [climate()], 'MCLH-08': [cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_eco2, cfg.sensor_voc], @@ -1179,20 +1109,15 @@ const manualMaping = { '500.67': [cfg.sensor_action], 'E1E-G7F': [cfg.sensor_action], 'QBKG25LM': [switchEndpoint('left'), switchEndpoint('center'), switchEndpoint('right'), cfg.sensor_action], - 'QBKG23LM': [cfg.switch, cfg.sensor_power, cfg.sensor_temperature], 'QBKG24LM': [switchEndpoint('left'), switchEndpoint('right'), cfg.sensor_power, cfg.sensor_action], '100.462.31': [cfg.sensor_action], - 'SN10ZW': [cfg.binary_sensor_occupancy, cfg.binary_sensor_battery_low], 'AU-A1ZBPIAB': [cfg.switch, cfg.sensor_voltage, cfg.sensor_current, cfg.sensor_power], '4058075816459': [cfg.sensor_action, cfg.sensor_battery], 'SAGE206612': [cfg.sensor_action, cfg.sensor_battery], 'ZS232000178': [cfg.sensor_action], 'mcdj3aq': [cfg.cover_position], 'DIYRuZ_Geiger': [cfg.sensor_radioactive_events_per_minute, cfg.sensor_radiation_dose_per_hour, cfg.sensor_action], - 'WSDCGQ12LM': [cfg.sensor_temperature, cfg.sensor_pressure, cfg.sensor_humidity, cfg.sensor_battery], - 'SJCGQ12LM': [cfg.sensor_battery, cfg.binary_sensor_water_leak], 'DJT12LM': [cfg.sensor_action], - 'AV2010/22A': [cfg.binary_sensor_occupancy, cfg.binary_sensor_battery_low], 'KMPCIL_RES005': [ cfg.sensor_battery, cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_pressure, cfg.sensor_illuminance, cfg.sensor_illuminance_lux, cfg.binary_sensor_occupancy, cfg.switch, @@ -1292,10 +1217,10 @@ class HomeAssistant extends Extension { type: 'light', object_id: expose.endpoint ? `light_${expose.endpoint}` : 'light', discovery_payload: { - brightness: expose.features.includes('brightness'), - color_temp: expose.features.includes('color_temp'), - xy: expose.features.includes('color_xy'), - hs: expose.features.includes('color_hs'), + brightness: !!expose.features.find((e) => e.name === 'brightness'), + color_temp: !!expose.features.find((e) => e.name === 'color_temp'), + xy: !!expose.features.find((e) => e.name === 'color' && e.schema.properties.x), + hs: !!expose.features.find((e) => e.name === 'color' && e.schema.properties.hue), schema: 'json', command_topic: true, brightness_scale: 254, @@ -1317,8 +1242,8 @@ class HomeAssistant extends Extension { }; } else if (expose.type === 'cover') { assert(!expose.endpoint, `Endpoint not supported for cover type`); - const hasPosition = expose.features.includes('position'); - const hasTilt = expose.features.includes('tilt'); + const hasPosition = expose.features.find((e) => e.name === 'position'); + const hasTilt = expose.features.find((e) => e.name === 'tilt'); discoveryEntry = { type: 'cover', @@ -1349,25 +1274,31 @@ class HomeAssistant extends Extension { tilt_status_template: '{{ value_json.tilt }}', }; } - } else if (expose.type === 'boolean') { + } else if (expose.type === 'binary') { const lookup = { - occupancy: {payload_on: true, payload_off: false, device_class: 'motion'}, - battery_low: {payload_on: true, payload_off: false, device_class: 'battery'}, - tamper: {payload_on: true, payload_off: false}, - water_leak: {payload_on: true, payload_off: false, device_class: 'moisture'}, - vibration: {payload_on: true, payload_off: false, device_class: 'vibration'}, - contact: {payload_on: false, payload_off: true, device_class: 'door'}, + occupancy: {device_class: 'motion'}, + battery_low: {device_class: 'battery'}, + tamper: {}, + sos: {}, + water_leak: {device_class: 'moisture'}, + vibration: {device_class: 'vibration'}, + contact: {device_class: 'door'}, + smoke: {device_class: 'smoke'}, + gas: {device_class: 'gas'}, + carbon_monoxide: {device_class: 'safety'}, }; - assert(!expose.endpoint, `Endpoint not supported for boolean type`); - assert(lookup[expose.property], `${expose.property} not in lookup`); + assert(!expose.endpoint, `Endpoint not supported for binary type`); + assert(lookup[expose.name], `${expose.name} not in lookup`); discoveryEntry = { type: 'binary_sensor', - object_id: expose.property, + object_id: expose.name, discovery_payload: { - value_template: `{{ value_json.${expose.property} }}`, - ...lookup[expose.property], + value_template: `{{ value_json.${expose.name} }}`, + payload_on: expose.value_on, + payload_off: expose.value_off, + ...lookup[expose.name], }, }; } else if (expose.type === 'numeric') { @@ -1388,18 +1319,30 @@ class HomeAssistant extends Extension { current_phase_c: {icon: 'mdi:current-ac'}, voltage_phase_c: {icon: 'mdi:alpha-v'}, energy: {icon: 'mdi:power-plug'}, + smoke_density: {icon: 'mdi:google-circles-communities'}, + gas_density: {icon: 'mdi:google-circles-communities'}, }; assert(!expose.endpoint, `Endpoint not supported for numeric type`); - assert(lookup[expose.property], `${expose.property} not in lookup`); + assert(lookup[expose.name], `${expose.name} not in lookup`); discoveryEntry = { type: 'sensor', - object_id: expose.property, + object_id: expose.name, discovery_payload: { unit_of_measurement: expose.unit ? expose.unit : '-', - value_template: `{{ value_json.${expose.property} }}`, - ...lookup[expose.property], + value_template: `{{ value_json.${expose.name} }}`, + ...lookup[expose.name], + }, + }; + } else if (expose.type === 'enum' && (expose.access === 'r' || expose.access === 'rw')) { + assert(!expose.endpoint, `Endpoint not supported for enum type`); + + discoveryEntry = { + type: 'sensor', + object_id: expose.name, + discovery_payload: { + value_template: `{{ value_json.${expose.name} }}`, }, }; } else { diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 507181384..3c1ef327f 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -15887,9 +15887,9 @@ } }, "zigbee-herdsman-converters": { - "version": "12.0.213", - "resolved": "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-12.0.213.tgz", - "integrity": "sha512-tl+eBoPPH8yl/MoHEGo/39NsTzvFljbdyr4SwDMZ+Szetm2HeYC0xr7iNYTlNP/jw2+psRLBd6tFrFKuABk/Jw==", + "version": "12.0.214", + "resolved": "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-12.0.214.tgz", + "integrity": "sha512-HcNJuBScJup/Pwtz9M52GpkayfIuQoZQrndNUgY+0hoPfnEEw7nc21qyP4IkKoVTQpiIkIqw6tMsermGRNeYbA==", "requires": { "axios": "^0.20.0", "buffer-crc32": "^0.2.13", @@ -15906,18 +15906,18 @@ } }, "@babel/core": { - "version": "7.11.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz", - "integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==", + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", + "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", "requires": { "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.6", - "@babel/helper-module-transforms": "^7.11.0", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.11.5", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", "@babel/template": "^7.10.4", - "@babel/traverse": "^7.11.5", - "@babel/types": "^7.11.5", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -15941,11 +15941,11 @@ } }, "@babel/generator": { - "version": "7.11.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", - "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", + "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", "requires": { - "@babel/types": "^7.11.5", + "@babel/types": "^7.12.1", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -15976,32 +15976,34 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", - "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", + "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", "requires": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.12.1" } }, "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz", + "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==", "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.1" } }, "@babel/helper-module-transforms": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", - "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", "@babel/template": "^7.10.4", - "@babel/types": "^7.11.0", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", "lodash": "^4.17.19" } }, @@ -16019,23 +16021,22 @@ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" }, "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz", + "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1" } }, "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.1" } }, "@babel/helper-split-export-declaration": { @@ -16052,13 +16053,13 @@ "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" }, "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.1.tgz", + "integrity": "sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g==", "requires": { "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1" } }, "@babel/highlight": { @@ -16084,9 +16085,9 @@ } }, "@babel/parser": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", - "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==" + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", + "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==" }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -16105,9 +16106,9 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", - "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", "requires": { "@babel/helper-plugin-utils": "^7.10.4" } @@ -16187,16 +16188,16 @@ } }, "@babel/traverse": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", - "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", + "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", "requires": { "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.5", + "@babel/generator": "^7.12.1", "@babel/helper-function-name": "^7.10.4", "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.11.5", - "@babel/types": "^7.11.5", + "@babel/parser": "^7.12.1", + "@babel/types": "^7.12.1", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" @@ -16210,9 +16211,9 @@ } }, "@babel/types": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", - "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", + "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", "requires": { "@babel/helper-validator-identifier": "^7.10.4", "lodash": "^4.17.19", @@ -16288,12 +16289,12 @@ } }, "@jest/core": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.5.2.tgz", - "integrity": "sha512-LLTo1LQMg7eJjG/+P1NYqFof2B25EV1EqzD5FonklihG4UJKiK2JBIvWonunws6W7e+DhNLoFD+g05tCY03eyA==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.5.3.tgz", + "integrity": "sha512-CiU0UKFF1V7KzYTVEtFbFmGLdb2g4aTtY0WlyUfLgj/RtoTnJFhh50xKKr7OYkdmBUlGFSa2mD1TU3UZ6OLd4g==", "requires": { "@jest/console": "^26.5.2", - "@jest/reporters": "^26.5.2", + "@jest/reporters": "^26.5.3", "@jest/test-result": "^26.5.2", "@jest/transform": "^26.5.2", "@jest/types": "^26.5.2", @@ -16303,17 +16304,17 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.4", "jest-changed-files": "^26.5.2", - "jest-config": "^26.5.2", + "jest-config": "^26.5.3", "jest-haste-map": "^26.5.2", "jest-message-util": "^26.5.2", "jest-regex-util": "^26.0.0", "jest-resolve": "^26.5.2", - "jest-resolve-dependencies": "^26.5.2", - "jest-runner": "^26.5.2", - "jest-runtime": "^26.5.2", - "jest-snapshot": "^26.5.2", + "jest-resolve-dependencies": "^26.5.3", + "jest-runner": "^26.5.3", + "jest-runtime": "^26.5.3", + "jest-snapshot": "^26.5.3", "jest-util": "^26.5.2", - "jest-validate": "^26.5.2", + "jest-validate": "^26.5.3", "jest-watcher": "^26.5.2", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", @@ -16357,19 +16358,19 @@ } }, "@jest/globals": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.5.2.tgz", - "integrity": "sha512-9PmnFsAUJxpPt1s/stq02acS1YHliVBDNfAWMe1bwdRr1iTCfhbNt3ERQXrO/ZfZSweftoA26Q/2yhSVSWQ3sw==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.5.3.tgz", + "integrity": "sha512-7QztI0JC2CuB+Wx1VdnOUNeIGm8+PIaqngYsZXQCkH2QV0GFqzAYc9BZfU0nuqA6cbYrWh5wkuMzyii3P7deug==", "requires": { "@jest/environment": "^26.5.2", "@jest/types": "^26.5.2", - "expect": "^26.5.2" + "expect": "^26.5.3" } }, "@jest/reporters": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.5.2.tgz", - "integrity": "sha512-zvq6Wvy6MmJq/0QY0YfOPb49CXKSf42wkJbrBPkeypVa8I+XDxijvFuywo6TJBX/ILPrdrlE/FW9vJZh6Rf9vA==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.5.3.tgz", + "integrity": "sha512-X+vR0CpfMQzYcYmMFKNY9n4jklcb14Kffffp7+H/MqitWnb0440bW2L76NGWKAa+bnXhNoZr+lCVtdtPmfJVOQ==", "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^26.5.2", @@ -16395,7 +16396,7 @@ "source-map": "^0.6.0", "string-length": "^4.0.1", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^5.0.1" + "v8-to-istanbul": "^6.0.1" } }, "@jest/source-map": { @@ -16420,15 +16421,15 @@ } }, "@jest/test-sequencer": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.5.2.tgz", - "integrity": "sha512-XmGEh7hh07H2B8mHLFCIgr7gA5Y6Hw1ZATIsbz2fOhpnQ5AnQtZk0gmP0Q5/+mVB2xygO64tVFQxOajzoptkNA==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.5.3.tgz", + "integrity": "sha512-Wqzb7aQ13L3T47xHdpUqYMOpiqz6Dx2QDDghp5AV/eUDXR7JieY+E1s233TQlNyl+PqtqgjVokmyjzX/HA51BA==", "requires": { "@jest/test-result": "^26.5.2", "graceful-fs": "^4.2.4", "jest-haste-map": "^26.5.2", - "jest-runner": "^26.5.2", - "jest-runtime": "^26.5.2" + "jest-runner": "^26.5.3", + "jest-runtime": "^26.5.3" } }, "@jest/transform": { @@ -16576,9 +16577,9 @@ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" }, "@types/node": { - "version": "14.11.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz", - "integrity": "sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw==" + "version": "14.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.10.tgz", + "integrity": "sha512-yV1nWZPlMFpoXyoknm4S56y2nlTAuFYaJuQtYRAOU7xA/FJ9RY0Xm7QOkaYMMmr8ESdHIuUb6oQgR/0+2NqlyA==" }, "@types/normalize-package-data": { "version": "2.4.0", @@ -16586,9 +16587,9 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" }, "@types/prettier": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.2.tgz", - "integrity": "sha512-IiPhNnenzkqdSdQH3ifk9LoX7oQe61ZlDdDO4+MUv6FyWdPGDPr26gCPVs3oguZEMq//nFZZpwUZcVuNJsG+DQ==" + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", + "integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==" }, "@types/stack-utils": { "version": "2.0.0", @@ -16596,9 +16597,9 @@ "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" }, "@types/yargs": { - "version": "15.0.8", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.8.tgz", - "integrity": "sha512-b0BYzFUzBpOhPjpl1wtAHU994jBeKF4TKVlT7ssFv44T617XNcPdRoG4AzHLVshLzlrF7i3lTelH7UbuNYV58Q==", + "version": "15.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.9.tgz", + "integrity": "sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g==", "requires": { "@types/yargs-parser": "*" } @@ -16609,39 +16610,39 @@ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" }, "@typescript-eslint/experimental-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.0.tgz", - "integrity": "sha512-01+OtK/oWeSJTjQcyzDztfLF1YjvKpLFo+JZmurK/qjSRcyObpIecJ4rckDoRCSh5Etw+jKfdSzVEHevh9gJ1w==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.1.tgz", + "integrity": "sha512-Nt4EVlb1mqExW9cWhpV6pd1a3DkUbX9DeyYsdoeziKOpIJ04S2KMVDO+SEidsXRH/XHDpbzXykKcMTLdTXH6cQ==", "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.4.0", - "@typescript-eslint/types": "4.4.0", - "@typescript-eslint/typescript-estree": "4.4.0", + "@typescript-eslint/scope-manager": "4.4.1", + "@typescript-eslint/types": "4.4.1", + "@typescript-eslint/typescript-estree": "4.4.1", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/scope-manager": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.4.0.tgz", - "integrity": "sha512-r2FIeeU1lmW4K3CxgOAt8djI5c6Q/5ULAgdVo9AF3hPMpu0B14WznBAtxrmB/qFVbVIB6fSx2a+EVXuhSVMEyA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.4.1.tgz", + "integrity": "sha512-2oD/ZqD4Gj41UdFeWZxegH3cVEEH/Z6Bhr/XvwTtGv66737XkR4C9IqEkebCuqArqBJQSj4AgNHHiN1okzD/wQ==", "requires": { - "@typescript-eslint/types": "4.4.0", - "@typescript-eslint/visitor-keys": "4.4.0" + "@typescript-eslint/types": "4.4.1", + "@typescript-eslint/visitor-keys": "4.4.1" } }, "@typescript-eslint/types": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.4.0.tgz", - "integrity": "sha512-nU0VUpzanFw3jjX+50OTQy6MehVvf8pkqFcURPAE06xFNFenMj1GPEI6IESvp7UOHAnq+n/brMirZdR+7rCrlA==" + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.4.1.tgz", + "integrity": "sha512-KNDfH2bCyax5db+KKIZT4rfA8rEk5N0EJ8P0T5AJjo5xrV26UAzaiqoJCxeaibqc0c/IvZxp7v2g3difn2Pn3w==" }, "@typescript-eslint/typescript-estree": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.0.tgz", - "integrity": "sha512-Fh85feshKXwki4nZ1uhCJHmqKJqCMba+8ZicQIhNi5d5jSQFteWiGeF96DTjO8br7fn+prTP+t3Cz/a/3yOKqw==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.1.tgz", + "integrity": "sha512-wP/V7ScKzgSdtcY1a0pZYBoCxrCstLrgRQ2O9MmCUZDtmgxCO/TCqOTGRVwpP4/2hVfqMz/Vw1ZYrG8cVxvN3g==", "requires": { - "@typescript-eslint/types": "4.4.0", - "@typescript-eslint/visitor-keys": "4.4.0", + "@typescript-eslint/types": "4.4.1", + "@typescript-eslint/visitor-keys": "4.4.1", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -16651,11 +16652,11 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.0.tgz", - "integrity": "sha512-oBWeroUZCVsHLiWRdcTXJB7s1nB3taFY8WGvS23tiAlT6jXVvsdAV4rs581bgdEjOhn43q6ro7NkOiLKu6kFqA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.1.tgz", + "integrity": "sha512-H2JMWhLaJNeaylSnMSQFEhT/S/FsJbebQALmoJxMPMxLtlVAMy2uJP/Z543n9IizhjRayLSqoInehCeNW9rWcw==", "requires": { - "@typescript-eslint/types": "4.4.0", + "@typescript-eslint/types": "4.4.1", "eslint-visitor-keys": "^2.0.0" } }, @@ -17421,9 +17422,9 @@ } }, "emittery": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.1.tgz", - "integrity": "sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ==" + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" }, "emoji-regex": { "version": "7.0.3", @@ -17771,9 +17772,9 @@ } }, "expect": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.5.2.tgz", - "integrity": "sha512-ccTGrXZd8DZCcvCz4htGXTkd/LOoy6OEtiDS38x3/VVf6E4AQL0QoeksBiw7BtGR5xDNiRYPB8GN6pfbuTOi7w==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.5.3.tgz", + "integrity": "sha512-kkpOhGRWGOr+TEFUnYAjfGvv35bfP+OlPtqPIJpOCR9DVtv8QV+p8zG0Edqafh80fsjeE+7RBcVUq1xApnYglw==", "requires": { "@jest/types": "^26.5.2", "ansi-styles": "^4.0.0", @@ -18531,21 +18532,21 @@ } }, "jest": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.5.2.tgz", - "integrity": "sha512-4HFabJVwsgDwul/7rhXJ3yFAF/aUkVIXiJWmgFxb+WMdZG39fVvOwYAs8/3r4AlFPc4m/n5sTMtuMbOL3kNtrQ==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.5.3.tgz", + "integrity": "sha512-uJi3FuVSLmkZrWvaDyaVTZGLL8WcfynbRnFXyAHuEtYiSZ+ijDDIMOw1ytmftK+y/+OdAtsG9QrtbF7WIBmOyA==", "requires": { - "@jest/core": "^26.5.2", + "@jest/core": "^26.5.3", "import-local": "^3.0.2", - "jest-cli": "^26.5.2" + "jest-cli": "^26.5.3" }, "dependencies": { "jest-cli": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.5.2.tgz", - "integrity": "sha512-usm48COuUvRp8YEG5OWOaxbSM0my7eHn3QeBWxiGUuFhvkGVBvl1fic4UjC02EAEQtDv8KrNQUXdQTV6ZZBsoA==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.5.3.tgz", + "integrity": "sha512-HkbSvtugpSXBf2660v9FrNVUgxvPkssN8CRGj9gPM8PLhnaa6zziFiCEKQAkQS4uRzseww45o0TR+l6KeRYV9A==", "requires": { - "@jest/core": "^26.5.2", + "@jest/core": "^26.5.3", "@jest/test-result": "^26.5.2", "@jest/types": "^26.5.2", "chalk": "^4.0.0", @@ -18553,9 +18554,9 @@ "graceful-fs": "^4.2.4", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^26.5.2", + "jest-config": "^26.5.3", "jest-util": "^26.5.2", - "jest-validate": "^26.5.2", + "jest-validate": "^26.5.3", "prompts": "^2.0.1", "yargs": "^15.4.1" } @@ -18612,12 +18613,12 @@ } }, "jest-config": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.5.2.tgz", - "integrity": "sha512-dqJOnSegNdE5yDiuGHsjTM5gec7Z4AcAMHiW+YscbOYJAlb3LEtDSobXCq0or9EmGQI5SFmKy4T7P1FxetJOfg==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.5.3.tgz", + "integrity": "sha512-NVhZiIuN0GQM6b6as4CI5FSCyXKxdrx5ACMCcv/7Pf+TeCajJhJc+6dwgdAVPyerUFB9pRBIz3bE7clSrRge/w==", "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.5.2", + "@jest/test-sequencer": "^26.5.3", "@jest/types": "^26.5.2", "babel-jest": "^26.5.2", "chalk": "^4.0.0", @@ -18627,11 +18628,11 @@ "jest-environment-jsdom": "^26.5.2", "jest-environment-node": "^26.5.2", "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.5.2", + "jest-jasmine2": "^26.5.3", "jest-regex-util": "^26.0.0", "jest-resolve": "^26.5.2", "jest-util": "^26.5.2", - "jest-validate": "^26.5.2", + "jest-validate": "^26.5.3", "micromatch": "^4.0.2", "pretty-format": "^26.5.2" } @@ -18721,9 +18722,9 @@ } }, "jest-jasmine2": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.5.2.tgz", - "integrity": "sha512-2J+GYcgLVPTkpmvHEj0/IDTIAuyblGNGlyGe4fLfDT2aktEPBYvoxUwFiOmDDxxzuuEAD2uxcYXr0+1Yw4tjFA==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.5.3.tgz", + "integrity": "sha512-nFlZOpnGlNc7y/+UkkeHnvbOM+rLz4wB1AimgI9QhtnqSZte0wYjbAm8hf7TCwXlXgDwZxAXo6z0a2Wzn9FoOg==", "requires": { "@babel/traverse": "^7.1.0", "@jest/environment": "^26.5.2", @@ -18733,13 +18734,13 @@ "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^26.5.2", + "expect": "^26.5.3", "is-generator-fn": "^2.0.0", "jest-each": "^26.5.2", "jest-matcher-utils": "^26.5.2", "jest-message-util": "^26.5.2", - "jest-runtime": "^26.5.2", - "jest-snapshot": "^26.5.2", + "jest-runtime": "^26.5.3", + "jest-snapshot": "^26.5.3", "jest-util": "^26.5.2", "pretty-format": "^26.5.2", "throat": "^5.0.0" @@ -18815,19 +18816,19 @@ } }, "jest-resolve-dependencies": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.2.tgz", - "integrity": "sha512-LLkc8LuRtxqOx0AtX/Npa2C4I23WcIrwUgNtHYXg4owYF/ZDQShcwBAHjYZIFR06+HpQcZ43+kCTMlQ3aDCYTg==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.3.tgz", + "integrity": "sha512-+KMDeke/BFK+mIQ2IYSyBz010h7zQaVt4Xie6cLqUGChorx66vVeQVv4ErNoMwInnyYHi1Ud73tDS01UbXbfLQ==", "requires": { "@jest/types": "^26.5.2", "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.5.2" + "jest-snapshot": "^26.5.3" } }, "jest-runner": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.5.2.tgz", - "integrity": "sha512-GKhYxtSX5+tXZsd2QwfkDqPIj5C2HqOdXLRc2x2qYqWE26OJh17xo58/fN/mLhRkO4y6o60ZVloan7Kk5YA6hg==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.5.3.tgz", + "integrity": "sha512-qproP0Pq7IIule+263W57k2+8kWCszVJTC9TJWGUz0xJBr+gNiniGXlG8rotd0XxwonD5UiJloYoSO5vbUr5FQ==", "requires": { "@jest/console": "^26.5.2", "@jest/environment": "^26.5.2", @@ -18838,13 +18839,13 @@ "emittery": "^0.7.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", - "jest-config": "^26.5.2", + "jest-config": "^26.5.3", "jest-docblock": "^26.0.0", "jest-haste-map": "^26.5.2", "jest-leak-detector": "^26.5.2", "jest-message-util": "^26.5.2", "jest-resolve": "^26.5.2", - "jest-runtime": "^26.5.2", + "jest-runtime": "^26.5.3", "jest-util": "^26.5.2", "jest-worker": "^26.5.0", "source-map-support": "^0.5.6", @@ -18852,14 +18853,14 @@ } }, "jest-runtime": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.5.2.tgz", - "integrity": "sha512-zArr4DatX/Sn0wswX/AnAuJgmwgAR5rNtrUz36HR8BfMuysHYNq5sDbYHuLC4ICyRdy5ae/KQ+sczxyS9G6Qvw==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.5.3.tgz", + "integrity": "sha512-IDjalmn2s/Tc4GvUwhPHZ0iaXCdMRq5p6taW9P8RpU+FpG01O3+H8z+p3rDCQ9mbyyyviDgxy/LHPLzrIOKBkQ==", "requires": { "@jest/console": "^26.5.2", "@jest/environment": "^26.5.2", "@jest/fake-timers": "^26.5.2", - "@jest/globals": "^26.5.2", + "@jest/globals": "^26.5.3", "@jest/source-map": "^26.5.0", "@jest/test-result": "^26.5.2", "@jest/transform": "^26.5.2", @@ -18870,15 +18871,15 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.4", - "jest-config": "^26.5.2", + "jest-config": "^26.5.3", "jest-haste-map": "^26.5.2", "jest-message-util": "^26.5.2", "jest-mock": "^26.5.2", "jest-regex-util": "^26.0.0", "jest-resolve": "^26.5.2", - "jest-snapshot": "^26.5.2", + "jest-snapshot": "^26.5.3", "jest-util": "^26.5.2", - "jest-validate": "^26.5.2", + "jest-validate": "^26.5.3", "slash": "^3.0.0", "strip-bom": "^4.0.0", "yargs": "^15.4.1" @@ -18894,16 +18895,16 @@ } }, "jest-snapshot": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.5.2.tgz", - "integrity": "sha512-MkXIDvEefzDubI/WaDVSRH4xnkuirP/Pz8LhAIDXcVQTmcEfwxywj5LGwBmhz+kAAIldA7XM4l96vbpzltSjqg==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.5.3.tgz", + "integrity": "sha512-ZgAk0Wm0JJ75WS4lGaeRfa0zIgpL0KD595+XmtwlIEMe8j4FaYHyZhP1LNOO+8fXq7HJ3hll54+sFV9X4+CGVw==", "requires": { "@babel/types": "^7.0.0", "@jest/types": "^26.5.2", "@types/babel__traverse": "^7.0.4", "@types/prettier": "^2.0.0", "chalk": "^4.0.0", - "expect": "^26.5.2", + "expect": "^26.5.3", "graceful-fs": "^4.2.4", "jest-diff": "^26.5.2", "jest-get-type": "^26.3.0", @@ -18930,9 +18931,9 @@ } }, "jest-validate": { - "version": "26.5.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.5.2.tgz", - "integrity": "sha512-FmJks0zY36mp6Af/5sqO6CTL9bNMU45yKCJk3hrz8d2aIqQIlN1pr9HPIwZE8blLaewOla134nt5+xAmWsx3SQ==", + "version": "26.5.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.5.3.tgz", + "integrity": "sha512-LX07qKeAtY+lsU0o3IvfDdN5KH9OulEGOMN1sFo6PnEf5/qjS1LZIwNk9blcBeW94pQUI9dLN9FlDYDWI5tyaA==", "requires": { "@jest/types": "^26.5.2", "camelcase": "^6.0.0", @@ -20666,9 +20667,9 @@ "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==" }, "v8-to-istanbul": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz", - "integrity": "sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-6.0.1.tgz", + "integrity": "sha512-PzM1WlqquhBvsV+Gco6WSFeg1AGdD53ccMRkFeyHRE/KRZaVacPOmQYP3EeVgDBtKD2BJ8kgynBQ5OtKiHCH+w==", "requires": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", diff --git a/package.json b/package.json index f9cead594..33267869b 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "winston-syslog": "^2.4.4", "ws": "^7.3.1", "zigbee-herdsman": "0.13.18", - "zigbee-herdsman-converters": "12.0.213", + "zigbee-herdsman-converters": "12.0.214", "zigbee2mqtt-frontend": "0.2.31" }, "devDependencies": { diff --git a/test/bridge.test.js b/test/bridge.test.js index f0d0163a8..4f22ba57c 100644 --- a/test/bridge.test.js +++ b/test/bridge.test.js @@ -51,7 +51,7 @@ describe('Bridge', () => { it('Should publish devices on startup', async () => { expect(MQTT.publish).toHaveBeenCalledWith( 'zigbee2mqtt/bridge/devices', - stringify([{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]}}},"friendly_name":"Coordinator","ieee_address":"0x00124b00120144ae","interview_completed":false,"interviewing":false,"network_address":0,"power_source":null,"software_build_id":null,"supported":false,"type":"Coordinator"},{"date_code":null,"definition":{"description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":["state","brightness","color_temp"],"type":"light"},{"property":"linkquality","type":"numeric","unit":"lqi"}],"model":"LED1545G12","vendor":"IKEA"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genScenes","genOnOff","genLevelCtrl","lightingColorCtrl"],"output":["genScenes","genOta"]}}},"friendly_name":"bulb","ieee_address":"0x000b57fffec6a5b2","interview_completed":true,"interviewing":false,"network_address":40369,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"},{"date_code":null,"definition":{"description":"Hue dimmer switch","model":"324131092621","supports":"on/off, brightness, up/down/hold/release, click count","vendor":"Philips"},"endpoints":{"1":{"bindings":[{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0x000b57fffec6a5b3","type":"endpoint"}},{"cluster":"genOnOff","target":{"id":1,"type":"group"}}],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}},"2":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genOta","genOnOff"]}}},"friendly_name":"remote","ieee_address":"0x0017880104e45517","interview_completed":true,"interviewing":false,"network_address":6535,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"0x0017880104e45518","ieee_address":"0x0017880104e45518","interview_completed":true,"interviewing":false,"network_address":6536,"power_source":"Battery","software_build_id":null,"supported":false,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Aqara wireless switch","model":"WXKG11LM","supports":"single, double click (and triple, quadruple, hold, release depending on model)","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"button","ieee_address":"0x0017880104e45520","interview_completed":true,"interviewing":false,"network_address":6537,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Mi power plug ZigBee","model":"ZNCZ02LM","supports":"on/off, power measurement","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":[]}}},"friendly_name":"power_plug","ieee_address":"0x0017880104e45524","interview_completed":true,"interviewing":false,"network_address":6540,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"}]), + stringify([{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]}}},"friendly_name":"Coordinator","ieee_address":"0x00124b00120144ae","interview_completed":false,"interviewing":false,"network_address":0,"power_source":null,"software_build_id":null,"supported":false,"type":"Coordinator"},{"date_code":null,"definition":{"description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":[{"access":"rw","name":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":"rw","name":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":"rw","name":"color_temp","type":"numeric"}],"type":"light"},{"access":"r","name":"linkquality","type":"numeric","unit":"lqi"}],"model":"LED1545G12","vendor":"IKEA"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genScenes","genOnOff","genLevelCtrl","lightingColorCtrl"],"output":["genScenes","genOta"]}}},"friendly_name":"bulb","ieee_address":"0x000b57fffec6a5b2","interview_completed":true,"interviewing":false,"network_address":40369,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"},{"date_code":null,"definition":{"description":"Hue dimmer switch","model":"324131092621","supports":"on/off, brightness, up/down/hold/release, click count","vendor":"Philips"},"endpoints":{"1":{"bindings":[{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0x000b57fffec6a5b3","type":"endpoint"}},{"cluster":"genOnOff","target":{"id":1,"type":"group"}}],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}},"2":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genOta","genOnOff"]}}},"friendly_name":"remote","ieee_address":"0x0017880104e45517","interview_completed":true,"interviewing":false,"network_address":6535,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"0x0017880104e45518","ieee_address":"0x0017880104e45518","interview_completed":true,"interviewing":false,"network_address":6536,"power_source":"Battery","software_build_id":null,"supported":false,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Aqara wireless switch","model":"WXKG11LM","supports":"single, double click (and triple, quadruple, hold, release depending on model)","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"button","ieee_address":"0x0017880104e45520","interview_completed":true,"interviewing":false,"network_address":6537,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Mi power plug ZigBee","exposes":[{"features":[{"access":"rw","name":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":"r","name":"power","type":"numeric","unit":"W"},{"access":"r","name":"energy","type":"numeric","unit":"kWh"},{"access":"r","name":"temperature","type":"numeric","unit":"°C"},{"access":"r","name":"linkquality","type":"numeric","unit":"lqi"}],"model":"ZNCZ02LM","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":[]}}},"friendly_name":"power_plug","ieee_address":"0x0017880104e45524","interview_completed":true,"interviewing":false,"network_address":6540,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"}]), { retain: true, qos: 0 }, expect.any(Function) ); @@ -159,7 +159,7 @@ describe('Bridge', () => { expect(MQTT.publish).toHaveBeenCalledTimes(4); expect(MQTT.publish).toHaveBeenCalledWith( 'zigbee2mqtt/bridge/event', - stringify({"type":"device_interview","data":{"friendly_name":"bulb","status":"successful","ieee_address":"0x000b57fffec6a5b2","supported":true,"definition":{"model":"LED1545G12","vendor":"IKEA","description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":["state","brightness","color_temp"],"type":"light"},{"property":"linkquality","type":"numeric","unit":"lqi"}]}}}), + stringify({"data":{"definition":{"description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":[{"access":"rw","name":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":"rw","name":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":"rw","name":"color_temp","type":"numeric"}],"type":"light"},{"access":"r","name":"linkquality","type":"numeric","unit":"lqi"}],"model":"LED1545G12","vendor":"IKEA"},"friendly_name":"bulb","ieee_address":"0x000b57fffec6a5b2","status":"successful","supported":true},"type":"device_interview"}), { retain: false, qos: 0 }, expect.any(Function) );