systeminformation 5.23.25 → 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 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
- openssl: '',
456
- systemOpenssl: '',
457
- systemOpensslLib: '',
458
- node: process.versions.node,
459
- v8: process.versions.v8,
460
- npm: '',
461
- yarn: '',
462
- pm2: '',
463
- gulp: '',
464
- grunt: '',
455
+ apache: '',
456
+ bash: '',
457
+ bun: '',
458
+ deno: '',
459
+ docker: '',
460
+ dotnet: '',
461
+ fish: '',
462
+ gcc: '',
465
463
  git: '',
466
- tsc: '',
467
- mysql: '',
468
- redis: '',
464
+ grunt: '',
465
+ gulp: '',
466
+ java: '',
469
467
  mongodb: '',
470
- apache: '',
468
+ mysql: '',
471
469
  nginx: '',
470
+ node: process.versions.node,
471
+ npm: '',
472
+ openssl: '',
473
+ perl: '',
472
474
  php: '',
473
- docker: '',
475
+ pip3: '',
476
+ pip: '',
477
+ pm2: '',
474
478
  postfix: '',
475
479
  postgresql: '',
476
- perl: '',
477
- python: '',
480
+ powershell: '',
478
481
  python3: '',
479
- pip: '',
480
- pip3: '',
481
- java: '',
482
- gcc: '',
482
+ python: '',
483
+ redis: '',
484
+ systemOpenssl: '',
485
+ systemOpensslLib: '',
486
+ tsc: '',
487
+ v8: process.versions.v8,
483
488
  virtualbox: '',
484
- bash: '',
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: 30
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 || result.serial.toLowerCase().indexOf('o.e.m.') !== -1) { result.serial = '-'; }
74
- if (!result.manufacturer || result.manufacturer.toLowerCase().indexOf('o.e.m.') !== -1) { result.manufacturer = ''; }
75
- if (!result.model || result.model.toLowerCase().indexOf('o.e.m.') !== -1) { result.model = 'Computer'; }
76
- if (!result.version || result.version.toLowerCase().indexOf('o.e.m.') !== -1) { result.version = ''; }
77
- if (!result.sku || result.sku.toLowerCase().indexOf('o.e.m.') !== -1) { 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')) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "systeminformation",
3
- "version": "5.23.25",
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)",