21 lines
497 B
JavaScript
21 lines
497 B
JavaScript
|
'use strict';
|
||
|
|
||
|
function parseNodeVersion(version) {
|
||
|
var match = version.match(/^v(\d{1,2})\.(\d{1,2})\.(\d{1,2})(?:-([0-9A-Za-z-.]+))?(?:\+([0-9A-Za-z-.]+))?$/); // eslint-disable-line max-len
|
||
|
if (!match) {
|
||
|
throw new Error('Unable to parse: ' + version);
|
||
|
}
|
||
|
|
||
|
var res = {
|
||
|
major: parseInt(match[1], 10),
|
||
|
minor: parseInt(match[2], 10),
|
||
|
patch: parseInt(match[3], 10),
|
||
|
pre: match[4] || '',
|
||
|
build: match[5] || '',
|
||
|
};
|
||
|
|
||
|
return res;
|
||
|
}
|
||
|
|
||
|
module.exports = parseNodeVersion;
|