UNPKG

799 BJavaScriptView Raw
1'use strict';
2var os = require('os');
3var macosRelease = require('macos-release');
4var winRelease = require('win-release');
5
6module.exports = function (platform, release) {
7 if (!platform && release) {
8 throw new Error('You can\'t specify a `release` without specfying `platform`');
9 }
10
11 platform = platform || os.platform();
12 release = release || os.release();
13
14 var id;
15
16 if (platform === 'darwin') {
17 var prefix = Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X';
18 id = macosRelease(release).name;
19 return prefix + (id ? ' ' + id : '');
20 }
21
22 if (platform === 'linux') {
23 id = release.replace(/^(\d+\.\d+).*/, '$1');
24 return 'Linux' + (id ? ' ' + id : '');
25 }
26
27 if (platform === 'win32') {
28 id = winRelease(release);
29 return 'Windows' + (id ? ' ' + id : '');
30 }
31
32 return platform;
33};