From 7a16dfc863c29f8bb255c6d9e9b84f8af0963ce1 Mon Sep 17 00:00:00 2001 From: Markus Reisenhofer Date: Wed, 17 Jul 2024 22:25:27 +0200 Subject: [PATCH 1/5] chore: bumped library --- package-lock.json | 28 ++++++++++++++-------------- package.json | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7cf38c7f1..07d5b5979 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "express-basic-auth": "~1.2.1", "express-static-gzip": "~2.1.7", "form-data": "~4.0.0", - "gamedig": "^4.2.0", + "gamedig": "^5.0.1", "html-escaper": "^3.0.3", "http-graceful-shutdown": "~3.1.7", "http-proxy-agent": "~5.0.0", @@ -10718,17 +10718,17 @@ } }, "node_modules/gamedig": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-4.3.1.tgz", - "integrity": "sha512-et9Aq4wlD0cExXEO3r3LWiEEjOzsnG5l/0YSqza7FZLoJqunNT6DedkAXAdeOqAqStkRQahQiPFjx2WCg4SOtg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gamedig/-/gamedig-5.0.1.tgz", + "integrity": "sha512-iCjgMbpYxUof+4bdACZzQrDuhBHcn72nnxNReoEljc2aNWr/tPgYjqKeoj9TFtlXkh2+PMIod/5w52fwzvf1Jg==", "dependencies": { - "cheerio": "^1.0.0-rc.10", + "cheerio": "^1.0.0-rc.12", "gbxremote": "^0.2.1", - "got": "^12.1.0", + "got": "^13.0.0", "iconv-lite": "^0.6.3", - "long": "^5.2.0", - "minimist": "^1.2.6", - "punycode": "^2.1.1", + "long": "^5.2.3", + "minimist": "^1.2.8", + "punycode": "^2.3.0", "seek-bzip": "^2.0.0", "varint": "^6.0.0" }, @@ -10736,7 +10736,7 @@ "gamedig": "bin/gamedig.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.20.0" } }, "node_modules/gauge": { @@ -11037,9 +11037,9 @@ } }, "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/got/-/got-13.0.0.tgz", + "integrity": "sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==", "dependencies": { "@sindresorhus/is": "^5.2.0", "@szmarczak/http-timer": "^5.0.1", @@ -11054,7 +11054,7 @@ "responselike": "^3.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sindresorhus/got?sponsor=1" diff --git a/package.json b/package.json index 938b4b175..9c79d7c4d 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "express-basic-auth": "~1.2.1", "express-static-gzip": "~2.1.7", "form-data": "~4.0.0", - "gamedig": "^4.2.0", + "gamedig": "^5.0.1", "html-escaper": "^3.0.3", "http-graceful-shutdown": "~3.1.7", "http-proxy-agent": "~5.0.0", @@ -208,4 +208,4 @@ "wait-on": "^7.2.0", "whatwg-url": "~12.0.1" } -} +} \ No newline at end of file From 787c4e90f210524116bf7952adb5f15fff2e504f Mon Sep 17 00:00:00 2001 From: Markus Reisenhofer Date: Wed, 17 Jul 2024 22:26:09 +0200 Subject: [PATCH 2/5] feature: made use of new version of library and keeping original sort --- server/model/monitor.js | 5 ++- .../socket-handlers/general-socket-handler.js | 37 +++++++++++-------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 2848a0cb9..1a986cd62 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -19,7 +19,7 @@ const { UptimeKumaServer } = require("../uptime-kuma-server"); const { CacheableDnsHttpAgent } = require("../cacheable-dns-http-agent"); const { DockerHost } = require("../docker"); const { UptimeCacheList } = require("../uptime-cache-list"); -const Gamedig = require("gamedig"); +const { GameDig } = require("gamedig"); const jsonata = require("jsonata"); const jwt = require("jsonwebtoken"); const crypto = require("crypto"); @@ -722,12 +722,13 @@ class Monitor extends BeanModel { } } else if (this.type === "gamedig") { try { - const state = await Gamedig.query({ + const state = await GameDig.query({ type: this.game, host: this.hostname, port: this.port, givenPortOnly: this.getGameDigGivenPortOnly(), }); + console.log(state); bean.msg = state.name; bean.status = UP; diff --git a/server/socket-handlers/general-socket-handler.js b/server/socket-handlers/general-socket-handler.js index b3163c1c1..bb4d348c2 100644 --- a/server/socket-handlers/general-socket-handler.js +++ b/server/socket-handlers/general-socket-handler.js @@ -2,29 +2,34 @@ const { log } = require("../../src/util"); const { Settings } = require("../settings"); const { sendInfo } = require("../client"); const { checkLogin } = require("../util-server"); -const GameResolver = require("gamedig/lib/GameResolver"); +const { games } = require("gamedig"); const { testChrome } = require("../monitor-types/real-browser-monitor-type"); -let gameResolver = new GameResolver(); -let gameList = null; - /** * Get a game list via GameDig * @returns {Object[]} list of games supported by GameDig */ function getGameList() { - if (gameList == null) { - gameList = gameResolver._readGames().games.sort((a, b) => { - if ( a.pretty < b.pretty ) { - return -1; - } - if ( a.pretty > b.pretty ) { - return 1; - } - return 0; - }); - } - return gameList; + let gamelist = []; + gamelist = Object.keys(games).map(key => { + const item = games[key]; + return { + keys: [key ], + pretty: item.name, + options: item.options, + extra: item.extra || {} + }; + }); + gamelist.sort((a, b) => { + if ( a.pretty < b.pretty ) { + return -1; + } + if ( a.pretty > b.pretty ) { + return 1; + } + return 0; + }); + return gamelist; } module.exports.generalSocketHandler = (socket, server) => { From 48780b4b295f524068cdfec4646a70ab40d8bd8e Mon Sep 17 00:00:00 2001 From: Markus Reisenhofer Date: Wed, 17 Jul 2024 22:33:45 +0200 Subject: [PATCH 3/5] chore: please the linter --- server/socket-handlers/general-socket-handler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/socket-handlers/general-socket-handler.js b/server/socket-handlers/general-socket-handler.js index bb4d348c2..647a9f8ad 100644 --- a/server/socket-handlers/general-socket-handler.js +++ b/server/socket-handlers/general-socket-handler.js @@ -14,7 +14,7 @@ function getGameList() { gamelist = Object.keys(games).map(key => { const item = games[key]; return { - keys: [key ], + keys: [ key ], pretty: item.name, options: item.options, extra: item.extra || {} From f434246f79f1f9f7009b31851ba78bef3de573e3 Mon Sep 17 00:00:00 2001 From: Markus Reisenhofer Date: Wed, 17 Jul 2024 22:34:46 +0200 Subject: [PATCH 4/5] chore: change object type in comment --- server/socket-handlers/general-socket-handler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/socket-handlers/general-socket-handler.js b/server/socket-handlers/general-socket-handler.js index 647a9f8ad..629c5420f 100644 --- a/server/socket-handlers/general-socket-handler.js +++ b/server/socket-handlers/general-socket-handler.js @@ -7,7 +7,7 @@ const { testChrome } = require("../monitor-types/real-browser-monitor-type"); /** * Get a game list via GameDig - * @returns {Object[]} list of games supported by GameDig + * @returns {Object} list of games supported by GameDig */ function getGameList() { let gamelist = []; From ef9b9df3355a7c43b096ed69acbfd6d4aa8a021a Mon Sep 17 00:00:00 2001 From: Markus Reisenhofer Date: Wed, 17 Jul 2024 22:44:21 +0200 Subject: [PATCH 5/5] chore: remove console.log --- server/model/monitor.js | 1 - 1 file changed, 1 deletion(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 1a986cd62..ee308b5a1 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -728,7 +728,6 @@ class Monitor extends BeanModel { port: this.port, givenPortOnly: this.getGameDigGivenPortOnly(), }); - console.log(state); bean.msg = state.name; bean.status = UP;