From 2865f7af721a1ea4a1363e01fea050eb6071a008 Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Fri, 6 Jan 2023 10:37:48 -0700 Subject: [PATCH] Fix crash on invalid server versions Clean up countVersion function a bit --- index.js | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/index.js b/index.js index 0125f43..86a4e46 100644 --- a/index.js +++ b/index.js @@ -210,8 +210,10 @@ function findHighestVersion() { for (const key in serverList.servers) { if (serverList.servers.hasOwnProperty(key)) { const currentVersion = serverList.servers[key].version; - if (semver.gt(currentVersion, highestVersion)) { - highestVersion = currentVersion; + if (semver.valid(currentVersion)) { // check if currentVersion is a valid semver string + if (semver.gt(currentVersion, highestVersion)) { + highestVersion = currentVersion; + } } } } @@ -227,8 +229,10 @@ function findLowestVersion() { for (const key in serverList.servers) { if (serverList.servers.hasOwnProperty(key)) { const currentVersion = serverList.servers[key].version; - if (semver.lt(currentVersion, lowestVersion)) { - lowestVersion = currentVersion; + if (semver.valid(currentVersion)) { // check if currentVersion is a valid semver string + if (semver.lt(currentVersion, lowestVersion)) { + lowestVersion = currentVersion; + } } } } @@ -259,19 +263,14 @@ var versions = {}; // Track server versions function countVersions() { console.log(`${colors.cyan(`[INFO ${new Date()}]`)} Counting server versions...`); - versions = {}; - for (var key in serverList.servers) { - if (serverList.servers.hasOwnProperty(key)) { - if (versions[serverList.servers[key].version] == undefined) { - versions[serverList.servers[key].version] = 1; - } else { - versions[serverList.servers[key].version] += 1; - } - } + const versions = {}; + for (const key in serverList.servers) { + const server = serverList.servers[key]; + versions[server.version] = (versions[server.version] || 0) + 1; } - console.log(`${colors.cyan(`[INFO ${new Date()}]`)} ${objectLength(versions)} versions found!`); + console.log(`${colors.cyan(`[INFO ${new Date()}]`)} ${Object.keys(versions).length} versions found!`); return versions; -}; +} // updateMasterList function function updateMasterList() {