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;
 |