26 lines
		
	
	
		
			705 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			705 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var semverCompare = require('semver-compare') | ||
|  | 
 | ||
|  | module.exports = function pleaseUpgradeNode(pkg, opts) { | ||
|  |   var opts = opts || {} | ||
|  |   var requiredVersion = pkg.engines.node.replace('>=', '') | ||
|  |   var currentVersion = process.version.replace('v', '') | ||
|  |   if (semverCompare(currentVersion, requiredVersion) === -1) { | ||
|  |     if (opts.message) { | ||
|  |       console.error(opts.message(requiredVersion)) | ||
|  |     } else { | ||
|  |       console.error( | ||
|  |         pkg.name + | ||
|  |           ' requires at least version ' + | ||
|  |           requiredVersion + | ||
|  |           ' of Node, please upgrade' | ||
|  |       ) | ||
|  |     } | ||
|  | 
 | ||
|  |     if (opts.hasOwnProperty('exitCode')) { | ||
|  |       process.exit(opts.exitCode) | ||
|  |     } else { | ||
|  |       process.exit(1) | ||
|  |     } | ||
|  |   } | ||
|  | } |