update mqtt library

This commit is contained in:
Thomas Nordquist
2022-02-27 20:06:11 +01:00
parent 5da8fe0f90
commit 6e4d08e4b5
6 changed files with 4093 additions and 4250 deletions

View File

@@ -4,9 +4,8 @@
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"build": "yarn rebuild && webpack --mode production", "build": "webpack --mode production",
"dev": "node_modules/.bin/webpack-dev-server --mode development --progress", "dev": "node_modules/.bin/webpack-dev-server --mode development --progress",
"rebuild": "cd node_modules/heapdump && node-gyp rebuild --target=7.1.1 --arch=x64 --dist-url=https://atom.io/download/electron || echo Could not build heapdump; cd -",
"test": "cross-env TS_NODE_PROJECT=test/tsconfig.json yarn mochatest", "test": "cross-env TS_NODE_PROJECT=test/tsconfig.json yarn mochatest",
"mochatest": "mocha --require ts-node/register src/**/*.spec.ts" "mochatest": "mocha --require ts-node/register src/**/*.spec.ts"
}, },
@@ -74,7 +73,6 @@
"chai": "^4.2.0", "chai": "^4.2.0",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
"css-loader": "^3.0.0", "css-loader": "^3.0.0",
"heapdump": "^0.3.12",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mocha": "^9.2.1", "mocha": "^9.2.1",

View File

@@ -2265,13 +2265,6 @@ he@1.2.0, he@^1.2.0:
resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
heapdump@^0.3.12:
version "0.3.15"
resolved "https://registry.npmjs.org/heapdump/-/heapdump-0.3.15.tgz"
integrity sha512-n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==
dependencies:
nan "^2.13.2"
hoek@4.2.1: hoek@4.2.1:
version "4.2.1" version "4.2.1"
resolved "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz" resolved "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz"
@@ -3026,11 +3019,6 @@ multicast-dns@^6.0.1:
dns-packet "^1.3.1" dns-packet "^1.3.1"
thunky "^1.0.2" thunky "^1.0.2"
nan@^2.13.2:
version "2.14.0"
resolved "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
nanoid@3.2.0: nanoid@3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz"

View File

@@ -1,4 +1,4 @@
import * as Url from 'url' import { URL } from 'url'
import { Client, connect as mqttConnect } from 'mqtt' import { Client, connect as mqttConnect } from 'mqtt'
import { DataSource, DataSourceStateMachine } from './' import { DataSource, DataSourceStateMachine } from './'
@@ -41,13 +41,14 @@ export class MqttSource implements DataSource<MqttOptions> {
const urlStr = options.tls ? options.url.replace(/^(mqtt|ws):/, '$1s:') : options.url const urlStr = options.tls ? options.url.replace(/^(mqtt|ws):/, '$1s:') : options.url
let url let url
try { try {
url = Url.parse(urlStr) url = new URL(urlStr)
} catch (error) { } catch (error) {
this.stateMachine.setError(error as Error) this.stateMachine.setError(error as Error)
throw error throw error
} }
const client = mqttConnect(url, {
const client = mqttConnect(url.toString(), {
resubscribe: false, resubscribe: false,
rejectUnauthorized: options.certValidation, rejectUnauthorized: options.certValidation,
username: options.username, username: options.username,

View File

@@ -112,9 +112,9 @@
"json-to-ast": "^2.1.0", "json-to-ast": "^2.1.0",
"lowdb": "^1.0.0", "lowdb": "^1.0.0",
"mime": "^2.4.4", "mime": "^2.4.4",
"mqtt": "^3.0.0", "mqtt": "^4.3.6",
"sha1": "^1.1.1", "sha1": "^1.1.1",
"uuid": "^8.3.2", "uuid": "^8.3.2",
"yarn-run-all": "^3.1.1" "yarn-run-all": "^3.1.1"
} }
} }

View File

@@ -17,8 +17,7 @@ export async function publishTopic(browser: Browser<'async'>) {
await writeText('set', browser, 300) await writeText('set', browser, 300)
const payloadInput = await browser.$('//*[contains(@class, "ace_text-input")]') const payloadInput = await browser.$('//*[contains(@class, "ace_text-input")]')
await writeTextPayload(payloadInput, '{"action": "setState", "state": "on" }') await writeTextPayload(payloadInput, 'off')
await sleep(500) await sleep(500)
const formatJsonButton = await browser.$('#sidebar-publish-format-json') const formatJsonButton = await browser.$('#sidebar-publish-format-json')
await clickOn(formatJsonButton, browser) await clickOn(formatJsonButton, browser)

8313
yarn.lock

File diff suppressed because it is too large Load Diff