diff --git a/CHANGELOG.md b/CHANGELOG.md index f6c7b90..273a26e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -100,6 +100,7 @@ Other changes | Version | Date | Comment | | -------------- | -------------- | -------- | +| 3.52.7 | 2018-12-29 | `versions()` bug fix macOS detection | | 3.52.6 | 2018-12-28 | `versions()` bug fix macOS | | 3.52.5 | 2018-12-28 | preparing automated tests, travis-ci integration, added dev-dependencies | | 3.52.4 | 2018-12-27 | `graphics().controllers` bugfix linux | diff --git a/README.md b/README.md index eaa7fab..e5861ee 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,6 @@ Lightweight collection of 35+ functions to retrieve detailed hardware, system an $ npm install systeminformation --save ``` -For production builds (to prevent installing `dev-dependencies`) be sure to set `NODE_ENV` environment variable to `production` befor running `npm install` - ### Usage All functions (except `version` and `time`) are implemented as asynchronous functions. Here a small example how to use them: diff --git a/lib/osinfo.js b/lib/osinfo.js index 6e5c695..3742797 100644 --- a/lib/osinfo.js +++ b/lib/osinfo.js @@ -367,35 +367,21 @@ function versions(callback) { functionProcessed(); }); if (_darwin) { - let filename = '/Library/Developer/CommandLineTools/'; - fs.access(filename, fs.constants.F_OK, (err) => { - if (!err) { - exec('git --version', function (error, stdout) { - if (!error) { - let git = stdout.toString().split('\n')[0] || ''; - git = (git.toLowerCase().split('version')[1] || '').trim(); - result.git = (git.split(' ')[0] || '').trim(); - } - functionProcessed(); - }); - } else { - let filename = '/usr/local/Cellar/git'; - fs.access(filename, fs.constants.F_OK, (err) => { - if (!err) { - exec('git --version', function (error, stdout) { - if (!error) { - let git = stdout.toString().split('\n')[0] || ''; - git = (git.toLowerCase().split('version')[1] || '').trim(); - result.git = (git.split(' ')[0] || '').trim(); - } - functionProcessed(); - }); - } else { - functionProcessed(); - } - }); - } - }); + const cmdLineToolsExists = fs.existsSync('/Library/Developer/CommandLineTools/'); + const xcodeExists = fs.existsSync('/Library/Developer/Xcode/'); + const gitHomebrewExists = fs.existsSync('/usr/local/Cellar/git'); + if (cmdLineToolsExists || xcodeExists || gitHomebrewExists) { + exec('git --version', function (error, stdout) { + if (!error) { + let git = stdout.toString().split('\n')[0] || ''; + git = (git.toLowerCase().split('version')[1] || '').trim(); + result.git = (git.split(' ')[0] || '').trim(); + } + functionProcessed(); + }); + } else { + functionProcessed(); + } } else { exec('git --version', function (error, stdout) { if (!error) {