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)
 | |
|     }
 | |
|   }
 | |
| }
 |