Skip to content

Commit

Permalink
Require Node.js 6 and upgrade dependencies (#5)
Browse files Browse the repository at this point in the history
  • Loading branch information
jacargentina authored and sindresorhus committed Nov 20, 2018
1 parent c4903a3 commit c716329
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 15 deletions.
5 changes: 2 additions & 3 deletions .travis.yml
@@ -1,7 +1,6 @@
sudo: false
language: node_js
node_js:
- '10'
- '8'
- '6'
- '4'
- '0.12'
- '0.10'
26 changes: 17 additions & 9 deletions index.js
@@ -1,31 +1,39 @@
'use strict';
var os = require('os');
var macosRelease = require('macos-release');
var winRelease = require('win-release');
const os = require('os');
const macosRelease = require('macos-release');
const winRelease = require('windows-release');

module.exports = function (platform, release) {
if (!platform && release) {
throw new Error('You can\'t specify a `release` without specifying `platform`');
}

platform = platform || os.platform();
release = release || os.release();

var id;
let id;

if (platform === 'darwin') {
var prefix = Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X';
id = macosRelease(release).name;
if (!release && os.platform() === 'darwin') {
release = os.release();
}
const prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS';
id = release ? macosRelease(release).name : '';
return prefix + (id ? ' ' + id : '');
}

if (platform === 'linux') {
id = release.replace(/^(\d+\.\d+).*/, '$1');
if (!release && os.platform() === 'linux') {
release = os.release();
}
id = release ? release.replace(/^(\d+\.\d+).*/, '$1') : '';
return 'Linux' + (id ? ' ' + id : '');
}

if (platform === 'win32') {
id = winRelease(release);
if (!release && os.platform() === 'win32') {
release = os.release();
}
id = release ? winRelease(release) : '';
return 'Windows' + (id ? ' ' + id : '');
}

Expand Down
4 changes: 2 additions & 2 deletions package.json
Expand Up @@ -33,8 +33,8 @@
"linux"
],
"dependencies": {
"macos-release": "^1.0.0",
"win-release": "^1.0.0"
"macos-release": "^2.0.0",
"windows-release": "^3.1.0"
},
"devDependencies": {
"ava": "*",
Expand Down
19 changes: 18 additions & 1 deletion test.js
@@ -1,12 +1,29 @@
import os from 'os';
import test from 'ava';
import m from './';
import m from '.';

test(t => {
t.true(m().length > 0);
t.is(m('darwin', '18.0.0'), 'macOS Mojave');
t.is(m('darwin', '17.0.0'), 'macOS High Sierra');
t.is(m('darwin', '16.0.0'), 'macOS Sierra');
t.is(m('darwin', '14.0.0'), 'OS X Yosemite');
t.is(m('darwin', '99.0.0'), 'macOS');
t.is(m('linux', '3.13.0-24-generic'), 'Linux 3.13');
t.is(m('win32', '5.1.2600'), 'Windows XP');
t.is(m('win32', '4.90'), 'Windows ME');
t.is(m('win32', '6.2'), 'Windows 8');
t.is(m('win32', '10.0'), 'Windows 10');

os.platform = () => 'darwin';
t.is(m('win32'), 'Windows');
t.is(m('linux'), 'Linux');

os.platform = () => 'linux';
t.is(m('darwin'), 'macOS');
t.is(m('win32'), 'Windows');

os.platform = () => 'win32';
t.is(m('darwin'), 'macOS');
t.is(m('linux'), 'Linux');
});

0 comments on commit c716329

Please sign in to comment.