1 | 'use strict';
|
2 | var os = require('os');
|
3 | var macosRelease = require('macos-release');
|
4 | var winRelease = require('win-release');
|
5 |
|
6 | module.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 | };
|