Skip to content

Commit 9d89345

Browse files
committed
chore: added semver
1 parent 8d80c1b commit 9d89345

File tree

2 files changed

+6
-19
lines changed

2 files changed

+6
-19
lines changed

packages/core/src/util/nodeJsVersionCheck.js

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
'use strict';
66

7+
const semver = require('semver');
78
/**
89
* This is the minimum required Node.js version for all @instana packages.
910
*/
@@ -17,23 +18,9 @@ exports.minimumNodeJsVersion = '18.19.0';
1718
*/
1819
exports.isNodeJsTooOld = function isNodeJsTooOld() {
1920
const currentVersion = process.version;
20-
if (typeof currentVersion === 'string') {
21-
const parts = currentVersion.split('.');
22-
const majorVersionStr = parts[0];
23-
if (majorVersionStr.length > 1 && majorVersionStr.charAt(0) === 'v') {
24-
const major = parseInt(majorVersionStr.slice(1), 10);
25-
const minor = parseInt(parts[1], 10);
26-
const patch = parseInt(parts[2], 10);
27-
28-
if (isNaN(major) || isNaN(minor) || isNaN(patch)) return false;
29-
30-
const [minMajor, minMinor, minPatch] = exports.minimumNodeJsVersion.split('.').map(Number);
31-
return (
32-
major < minMajor ||
33-
(major === minMajor && minor < minMinor) ||
34-
(major === minMajor && minor === minMinor && patch < minPatch)
35-
);
36-
}
21+
if (!semver.valid(currentVersion)) {
22+
return false;
3723
}
38-
return false;
24+
25+
return semver.lt(currentVersion, exports.minimumNodeJsVersion);
3926
};

packages/core/test/util/nodeJsTooOld_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ describe('util.nodeJsTooOld', () => {
109109

110110
it('should accept if process.version is in an unexpected format (no v prefix)', () => {
111111
setProcessVersion('11.22.33');
112-
expect(isNodeJsTooOld()).to.be.false;
112+
expect(isNodeJsTooOld()).to.be.true;
113113
});
114114
});
115115

0 commit comments

Comments
 (0)