systeminformation 5.23.24 → 5.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/lib/osinfo.js +50 -27
- package/lib/system.js +19 -16
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -172,6 +172,7 @@ si.cpu()
|
|
|
172
172
|
|
|
173
173
|
(last 7 major and minor version releases)
|
|
174
174
|
|
|
175
|
+
- Version 5.24.0: `versions()` added bun and deno
|
|
175
176
|
- Version 5.23.0: `usb()` added serial number (linux)
|
|
176
177
|
- Version 5.22.0: `wifiConnections()` added signal quality
|
|
177
178
|
- Version 5.21.0: `graphics()` added subVendor (linux)
|
package/lib/osinfo.js
CHANGED
|
@@ -452,47 +452,49 @@ function isUefiWindows() {
|
|
|
452
452
|
function versions(apps, callback) {
|
|
453
453
|
let versionObject = {
|
|
454
454
|
kernel: os.release(),
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
gulp: '',
|
|
464
|
-
grunt: '',
|
|
455
|
+
apache: '',
|
|
456
|
+
bash: '',
|
|
457
|
+
bun: '',
|
|
458
|
+
deno: '',
|
|
459
|
+
docker: '',
|
|
460
|
+
dotnet: '',
|
|
461
|
+
fish: '',
|
|
462
|
+
gcc: '',
|
|
465
463
|
git: '',
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
464
|
+
grunt: '',
|
|
465
|
+
gulp: '',
|
|
466
|
+
java: '',
|
|
469
467
|
mongodb: '',
|
|
470
|
-
|
|
468
|
+
mysql: '',
|
|
471
469
|
nginx: '',
|
|
470
|
+
node: process.versions.node,
|
|
471
|
+
npm: '',
|
|
472
|
+
openssl: '',
|
|
473
|
+
perl: '',
|
|
472
474
|
php: '',
|
|
473
|
-
|
|
475
|
+
pip3: '',
|
|
476
|
+
pip: '',
|
|
477
|
+
pm2: '',
|
|
474
478
|
postfix: '',
|
|
475
479
|
postgresql: '',
|
|
476
|
-
|
|
477
|
-
python: '',
|
|
480
|
+
powershell: '',
|
|
478
481
|
python3: '',
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
482
|
+
python: '',
|
|
483
|
+
redis: '',
|
|
484
|
+
systemOpenssl: '',
|
|
485
|
+
systemOpensslLib: '',
|
|
486
|
+
tsc: '',
|
|
487
|
+
v8: process.versions.v8,
|
|
483
488
|
virtualbox: '',
|
|
484
|
-
|
|
485
|
-
zsh: ''
|
|
486
|
-
fish: '',
|
|
487
|
-
powershell: '',
|
|
488
|
-
dotnet: ''
|
|
489
|
+
yarn: '',
|
|
490
|
+
zsh: ''
|
|
489
491
|
};
|
|
490
492
|
|
|
491
493
|
function checkVersionParam(apps) {
|
|
492
494
|
if (apps === '*') {
|
|
493
495
|
return {
|
|
494
496
|
versions: versionObject,
|
|
495
|
-
counter:
|
|
497
|
+
counter: 32
|
|
496
498
|
};
|
|
497
499
|
}
|
|
498
500
|
if (!Array.isArray(apps)) {
|
|
@@ -1027,6 +1029,27 @@ function versions(apps, callback) {
|
|
|
1027
1029
|
functionProcessed();
|
|
1028
1030
|
});
|
|
1029
1031
|
}
|
|
1032
|
+
if ({}.hasOwnProperty.call(appsObj.versions, 'bun')) {
|
|
1033
|
+
exec('bun -v', function (error, stdout) {
|
|
1034
|
+
if (!error) {
|
|
1035
|
+
const line = stdout.toString().split('\n')[0].trim();
|
|
1036
|
+
appsObj.versions.fish = line;
|
|
1037
|
+
}
|
|
1038
|
+
functionProcessed();
|
|
1039
|
+
});
|
|
1040
|
+
}
|
|
1041
|
+
if ({}.hasOwnProperty.call(appsObj.versions, 'deno')) {
|
|
1042
|
+
exec('deno -v', function (error, stdout) {
|
|
1043
|
+
if (!error) {
|
|
1044
|
+
const line = stdout.toString().split('\n')[0].trim();
|
|
1045
|
+
const parts = line.split(' ');
|
|
1046
|
+
if (parts.length > 1) {
|
|
1047
|
+
appsObj.versions.fish = parts[1];
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
functionProcessed();
|
|
1051
|
+
});
|
|
1052
|
+
}
|
|
1030
1053
|
if ({}.hasOwnProperty.call(appsObj.versions, 'powershell')) {
|
|
1031
1054
|
if (_windows) {
|
|
1032
1055
|
util.powerShell('$PSVersionTable').then(stdout => {
|
package/lib/system.js
CHANGED
|
@@ -50,10 +50,10 @@ function system(callback) {
|
|
|
50
50
|
let lines = stdout.toString().split('\n');
|
|
51
51
|
result.manufacturer = util.getValue(lines, 'manufacturer');
|
|
52
52
|
result.model = util.getValue(lines, 'product name');
|
|
53
|
-
result.version = util.getValue(lines, 'version');
|
|
54
|
-
result.serial = util.getValue(lines, 'serial number');
|
|
55
|
-
result.uuid = util.getValue(lines, 'uuid').toLowerCase();
|
|
56
|
-
result.sku = util.getValue(lines, 'sku number');
|
|
53
|
+
result.version = cleanDefaults(util.getValue(lines, 'version'));
|
|
54
|
+
result.serial = cleanDefaults(util.getValue(lines, 'serial number'));
|
|
55
|
+
result.uuid = cleanDefaults((util.getValue(lines, 'uuid').toLowerCase()));
|
|
56
|
+
result.sku = cleanDefaults(util.getValue(lines, 'sku number'));
|
|
57
57
|
// Non-Root values
|
|
58
58
|
const cmd = `echo -n "product_name: "; cat /sys/devices/virtual/dmi/id/product_name 2>/dev/null; echo;
|
|
59
59
|
echo -n "product_serial: "; cat /sys/devices/virtual/dmi/id/product_serial 2>/dev/null; echo;
|
|
@@ -64,17 +64,17 @@ function system(callback) {
|
|
|
64
64
|
lines = execSync(cmd, util.execOptsLinux).toString().split('\n');
|
|
65
65
|
result.manufacturer = result.manufacturer === '' ? util.getValue(lines, 'sys_vendor') : result.manufacturer;
|
|
66
66
|
result.model = result.model === '' ? util.getValue(lines, 'product_name') : result.model;
|
|
67
|
-
result.version = result.version === '' ? util.getValue(lines, 'product_version') : result.version;
|
|
68
|
-
result.serial = result.serial === '' ? util.getValue(lines, 'product_serial') : result.serial;
|
|
69
|
-
result.uuid = result.uuid === '' ? util.getValue(lines, 'product_uuid').toLowerCase() : result.uuid;
|
|
67
|
+
result.version = cleanDefaults(result.version === '' ? util.getValue(lines, 'product_version') : result.version);
|
|
68
|
+
result.serial = cleanDefaults(result.serial === '' ? util.getValue(lines, 'product_serial') : result.serial);
|
|
69
|
+
result.uuid = cleanDefaults(result.uuid === '' ? util.getValue(lines, 'product_uuid').toLowerCase() : result.uuid);
|
|
70
70
|
} catch (e) {
|
|
71
71
|
util.noop();
|
|
72
72
|
}
|
|
73
|
-
if (!result.serial
|
|
74
|
-
if (!result.manufacturer
|
|
75
|
-
if (!result.model
|
|
76
|
-
if (!result.version
|
|
77
|
-
if (!result.sku
|
|
73
|
+
if (!result.serial) { result.serial = '-'; }
|
|
74
|
+
if (!result.manufacturer) { result.manufacturer = ''; }
|
|
75
|
+
if (!result.model) { result.model = 'Computer'; }
|
|
76
|
+
if (!result.version) { result.version = ''; }
|
|
77
|
+
if (!result.sku) { result.sku = '-'; }
|
|
78
78
|
|
|
79
79
|
// detect virtual (1)
|
|
80
80
|
if (result.model.toLowerCase() === 'virtualbox' || result.model.toLowerCase() === 'kvm' || result.model.toLowerCase() === 'virtual machine' || result.model.toLowerCase() === 'bochs' || result.model.toLowerCase().startsWith('vmware') || result.model.toLowerCase().startsWith('droplet')) {
|
|
@@ -215,11 +215,14 @@ function system(callback) {
|
|
|
215
215
|
exec('ioreg -c IOPlatformExpertDevice -d 2', function (error, stdout) {
|
|
216
216
|
if (!error) {
|
|
217
217
|
let lines = stdout.toString().replace(/[<>"]/g, '').split('\n');
|
|
218
|
-
|
|
219
|
-
const
|
|
218
|
+
|
|
219
|
+
const model = util.getAppleModel(util.getValue(lines, 'model', '=', true));
|
|
220
|
+
// const modelParts = util.splitByNumber(model);
|
|
221
|
+
// const version = util.getValue(lines, 'version', '=', true);
|
|
220
222
|
result.manufacturer = util.getValue(lines, 'manufacturer', '=', true);
|
|
221
|
-
result.model =
|
|
222
|
-
result.
|
|
223
|
+
result.model = model.key;
|
|
224
|
+
result.type = macOsChassisType(model.model);
|
|
225
|
+
result.version = model.version;
|
|
223
226
|
result.serial = util.getValue(lines, 'ioplatformserialnumber', '=', true);
|
|
224
227
|
result.uuid = util.getValue(lines, 'ioplatformuuid', '=', true).toLowerCase();
|
|
225
228
|
result.sku = util.getValue(lines, 'board-id', '=', true) || util.getValue(lines, 'target-sub-type', '=', true);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "systeminformation",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.24.0",
|
|
4
4
|
"description": "Advanced, lightweight system and OS information library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Sebastian Hildebrandt <hildebrandt@plus-innovations.com> (https://plus-innovations.com)",
|