From 0c25994c8598d872bdbe8980b1a98cc9584600e6 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sat, 4 Jan 2025 16:26:20 +0100 Subject: [PATCH] versions() added homebrew --- CHANGELOG.md | 2 + README.md | 1 + docs/history.html | 5 ++ docs/index.html | 2 +- docs/os.html | 225 ++++++++++++++++++++++++++-------------------- lib/osinfo.js | 13 ++- 6 files changed, 149 insertions(+), 99 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb84c3a3..5cb8b9f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -90,6 +90,8 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | ------- | ---------- | --------------------------------------------------------------------------------------------------- | +| 5.25.0 | 2025-01-05 | `versions()` added homebrew | +| 5.24.9 | 2025-01-04 | `checkWebsite()` reestablished certificate validation | | 5.24.9 | 2025-01-04 | `checkWebsite()` reestablished certificate validation | | 5.24.8 | 2025-01-03 | `powerShell()` detect default installation path (windows) | | 5.24.7 | 2025-01-03 | `system()` chassis type parsing improved (macOS) | diff --git a/README.md b/README.md index ddfda61d..1d494c03 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ si.cpu() (last 7 major and minor version releases) +- Version 5.24.0: `versions()` added homebrew - Version 5.24.0: `versions()` added bun and deno - Version 5.23.0: `usb()` added serial number (linux) - Version 5.22.0: `wifiConnections()` added signal quality diff --git a/docs/history.html b/docs/history.html index 14a9f622..89994237 100644 --- a/docs/history.html +++ b/docs/history.html @@ -57,6 +57,11 @@

Full version history

+ + 5.25.0 + 2024-01-05 + versions() added homebrew + 5.24.9 2025-01-04 diff --git a/docs/index.html b/docs/index.html index 87530fa1..b99e2bf2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
- 3
New Version: 5.24.9
+ 3
New Version: 5.24.10
diff --git a/docs/os.html b/docs/os.html index 6bd57e30..007a5ba5 100644 --- a/docs/os.html +++ b/docs/os.html @@ -289,107 +289,107 @@
Example
X X X - os kernel version + kernel version - openssl + apache X X X X X - node openssl version + apache version - systemOpenssl + bash X X X X X - os openssl version + bash version - systemOpensslLib + bun X X X X X - openSSL, LibreSSL, ... + bun version - node + deno X X X X X - node version + deno version - deno + docker X X X X X - deno version + docker version - bun + dotnet X X X X X - bun version + dotnet version - v8 + fish X X X X X - v8 version + fish version - npm + gcc X X X X X - npm version + gcc version - yarn + git X X X X X - yarn version + git version - pm2 + grunt X X X X X - pm2 version + grunt version @@ -403,33 +403,33 @@
Example
- grunt + homebrew X X X X X - grunt version + homebrew version - git + java X X X X X - git version + java version - tsc + mongodb X X X X X - typescript version + mongodb version @@ -443,43 +443,53 @@
Example
- redis + nginx X X X X X - redis version + nginx version - mongodb + node X X X X X - mongodb version + node version - apache + npm X X X X X - apache version + npm version - nginx + openssl X X X X X - nginx version + openssl version + + + + perl + X + X + X + X + X + perl version @@ -493,13 +503,33 @@
Example
- docker + pip3 X X X X X - docker version + pip3 version + + + + pip + X + X + X + X + X + pip version + + + + pm2 + X + X + X + X + X + pm2 version @@ -523,113 +553,113 @@
Example
- perl + powershell X X X X X - perl version + powershell version - python + python3 X X X X X - python version + python3 version - python3 + python X X X X X - python3 version + python version - java + redis X X X X X - java version + redis version - gcc + systemOpenssl X X X X X - gcc version + systemOpenssl version - virtualbox + systemOpensslLib X X X X X - virtualbox version + systemOpensslLib version - bash + tsc X X X X X - bash version + tsc version - zsh + v8 X X X X X - zsh version + v8 version - fish + virtualbox X X X X X - fish version + virtualbox version - powershell - - - + yarn X - - powershell version + X + X + X + X + yarn version - dotnet - - - + zsh X - - dotnet version + X + X + X + X + zsh version @@ -639,43 +669,44 @@
Example
si.versions().then(data => console.log(data));
 {
-  kernel: '19.3.0',
-  openssl: '1.1.1d',
-  systemOpenssl: '2.8.3',
-  systemOpensslLib: 'LibreSSL',
-  node: '13.8.0',
+  kernel: '23.6.0',
+  apache: '2.4.62',
+  bash: '3.2.57',
   bun: '1.1.21',
   deno: '2.1.4',
-  v8: '7.9.317.25-node.28',
-  npm: '6.13.6',
-  yarn: '',
-  pm2: '',
-  gulp: '',
+  docker: '26.1.1',
+  dotnet: '',
+  fish: '',
+  gcc: '15.0.0',
+  git: '2.39.3',
   grunt: '',
-  git: '2.21.1',
-  tsc: '3.7.5',
-  mysql: 'gpl)',
-  redis: '',
+  gulp: '',
+  homebrew: '4.4.14',
+  java: '17.0.2',
   mongodb: '',
-  apache: '2.4.41 (Unix)',
+  mysql: '9.0.1',
   nginx: '',
-  php: '7.3.11',
-  docker: '19.03.5',
+  node: '22.12.0',
+  npm: '10.9.0',
+  openssl: '3.0.15+quic',
+  perl: '5.34.1',
+  php: '8.3.6',
+  pip3: '24.2',
+  pip: '20.3.4',
+  pm2: '5.1.2',
   postfix: '3.2.2',
-  postgresql: '12.1',
-  perl: '5.18.4',
-  python: '2.7.16',
-  python3: '3.7.3',
-  pip: '',
-  pip3: '19.0.3',
-  java: '',
-  gcc: '4.2.1',
-  virtualbox: '',
-  bash: '3.2.57',
-  zsh: '5.8',
-  fish: '',
+  postgresql: '16.4',
   powershell: '',
-  dotnet: ''
+  python3: '3.12.5',
+  python: '',
+  redis: '',
+  systemOpenssl: '3.3.1',
+  systemOpensslLib: 'OpenSSL',
+  tsc: '5.2.2',
+  v8: '12.4.254.21-node.21',
+  virtualbox: '',
+  yarn: '1.22.17',
+  zsh: '5.9''
 }
Example 2
const si = require('systeminformation');
diff --git a/lib/osinfo.js b/lib/osinfo.js
index afafdb9e..e07488ff 100644
--- a/lib/osinfo.js
+++ b/lib/osinfo.js
@@ -463,6 +463,7 @@ function versions(apps, callback) {
     git: '',
     grunt: '',
     gulp: '',
+    homebrew: '',
     java: '',
     mongodb: '',
     mysql: '',
@@ -494,7 +495,7 @@ function versions(apps, callback) {
     if (apps === '*') {
       return {
         versions: versionObject,
-        counter: 32
+        counter: 34
       };
     }
     if (!Array.isArray(apps)) {
@@ -609,6 +610,16 @@ function versions(apps, callback) {
             functionProcessed();
           });
         }
+        if ({}.hasOwnProperty.call(appsObj.versions, 'homebrew')) {
+          cmd = 'brew';
+          exec(`${cmd} --version`, function (error, stdout) {
+            if (!error) {
+              const brew = stdout.toString().split('\n')[0] || '';
+              appsObj.versions.homebrew = (brew.toLowerCase().split(' ')[1] || '').trim();
+            }
+            functionProcessed();
+          });
+        }
         if ({}.hasOwnProperty.call(appsObj.versions, 'tsc')) {
           cmd = 'tsc';
           if (_windows) {