This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
765 B
35 lines
765 B
'use strict'; |
|
var os = require('os'); |
|
var semver = require('semver'); |
|
|
|
var nameMap = { |
|
'10.0': '10', |
|
'6.3': '8.1', |
|
'6.2': '8', |
|
'6.1': '7', |
|
'6.0': 'Vista', |
|
'5.1': 'XP', |
|
'5.0': '2000', |
|
'4.9': 'ME', |
|
'4.1': '98', |
|
'4.0': '95' |
|
}; |
|
|
|
module.exports = function (release) { |
|
var verRe = /\d+\.\d+/; |
|
var version = verRe.exec(release || os.release()); |
|
|
|
// workaround for Windows 10 on node < 3.1.0 |
|
if (!release && process.platform === 'win32' && |
|
semver.satisfies(process.version, '>=0.12.0 <3.1.0')) { |
|
try { |
|
version = verRe.exec(String(require('child_process').execSync('ver.exe', {timeout: 2000}))); |
|
} catch (err) {} |
|
} |
|
|
|
if (release && !version) { |
|
throw new Error('`release` argument doesn\'t match `n.n`'); |
|
} |
|
|
|
return nameMap[(version || [])[0]]; |
|
};
|
|
|