system() improved wsl version detection (WSL)

This commit is contained in:
Sebastian Hildebrandt 2021-10-09 10:24:18 +02:00
parent 2ff9b239eb
commit e1f03db3a1

View File

@ -122,14 +122,12 @@ function system(callback) {
util.noop(); util.noop();
} }
} }
if (!result.virtual && (util.linuxVersion().toLowerCase().indexOf('microsoft') >= 0 || os.release().toLowerCase().indexOf('microsoft') >= 0 || os.release().toLowerCase().endsWith('wsl2'))) { if (!result.virtual && (os.release().toLowerCase().indexOf('microsoft') >= 0 || os.release().toLowerCase().endsWith('wsl2'))) {
let versionStr = util.linuxVersion().toLowerCase(); const kernelVersion = parseFloat(os.release().toLowerCase());
versionStr = versionStr.split('-')[0].replace('#', '');
const version = os.release().toLowerCase().endsWith('wsl2') ? 'WSL2' : parseInt(versionStr, 10) || null;
result.virtual = true; result.virtual = true;
result.manufacturer = 'Microsoft'; result.manufacturer = 'Microsoft';
result.model = 'WSL'; result.model = 'WSL';
result.version = version; result.version = kernelVersion < 4.19 ? '1' : '2';
} }
if ((_freebsd || _openbsd || _netbsd) && !result.virtualHost) { if ((_freebsd || _openbsd || _netbsd) && !result.virtualHost) {
try { try {