From 2cd889dcd4aa5cb35dbe6bb29d36ffdc861e2594 Mon Sep 17 00:00:00 2001 From: Jaco Koster Date: Fri, 14 Jul 2023 15:21:50 +0200 Subject: [PATCH 1/2] Fix: Minimum version check --- bin/signalk-server | 10 ++++++++++ package.json | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bin/signalk-server b/bin/signalk-server index 03912d65a..4db5030ae 100755 --- a/bin/signalk-server +++ b/bin/signalk-server @@ -16,6 +16,16 @@ * limitations under the License. */ +const { engines } = require('../package.json'); +const semver = require('semver'); + +const version = engines.node; + +if (!semver.satisfies(process.version, version)) { + console.log(`The installed version of node (${process.version}) is older than the required minimum version (${version}). See https://github.com/SignalK/signalk-server/wiki/Updating-to-Node.js-18 for more information how to upgrade.`); + process.exit(1); +} + const Server = require('../lib') const server = new Server() diff --git a/package.json b/package.json index 4134da0ad..5df60715a 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ ], "license": "Apache-2.0", "engines": { - "node": ">=16" + "node": ">=18" }, "workspaces": [ "packages/server-admin-ui-dependencies", @@ -118,7 +118,7 @@ "ncp": "^2.0.0", "node-fetch": "^2.6.0", "primus": "^7.0.0", - "semver": "^7.1.1", + "semver": "^7.5.4", "split": "^1.0.0", "stat-mode": "^1.0.0", "swagger-ui-express": "^4.5.0", From 706633943fa643e9eb5034258682e0e4c169a907 Mon Sep 17 00:00:00 2001 From: Jaco Koster Date: Tue, 18 Jul 2023 10:09:36 +0200 Subject: [PATCH 2/2] MAdded distinction between minimum and recommended version --- bin/signalk-server | 12 +++++++----- package.json | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bin/signalk-server b/bin/signalk-server index 4db5030ae..75ab017fd 100755 --- a/bin/signalk-server +++ b/bin/signalk-server @@ -18,13 +18,15 @@ const { engines } = require('../package.json'); const semver = require('semver'); +const minimumVersion = engines.node; +const recommendedVersion = "18"; -const version = engines.node; - -if (!semver.satisfies(process.version, version)) { - console.log(`The installed version of node (${process.version}) is older than the required minimum version (${version}). See https://github.com/SignalK/signalk-server/wiki/Updating-to-Node.js-18 for more information how to upgrade.`); +if (!semver.satisfies(process.version, minimumVersion)) { + console.error(`The installed version of node (${process.version}) is older than the minimum required version (${minimumVersion}). See https://github.com/SignalK/signalk-server/wiki/Installing-and-Updating-Node.js for more information how to upgrade.`); process.exit(1); -} +} else if (!semver.satisfies(process.version, recommendedVersion)) { + console.warn(`The installed version of node (${process.version}) is different than the recommended version (${recommendedVersion}). See https://github.com/SignalK/signalk-server/wiki/Installing-and-Updating-Node.js for more information how to upgrade.`); +} const Server = require('../lib') const server = new Server() diff --git a/package.json b/package.json index 5df60715a..022868577 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ ], "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": ">=16" }, "workspaces": [ "packages/server-admin-ui-dependencies",