mirror of
				https://github.com/KevinMidboe/leifsopplevelser.git
				synced 2025-10-29 17:50:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| const chalk = require('chalk')
 | |
| const semver = require('semver')
 | |
| const packageConfig = require('../package.json')
 | |
| const shell = require('shelljs')
 | |
| 
 | |
| function exec (cmd) {
 | |
|   return require('child_process').execSync(cmd).toString().trim()
 | |
| }
 | |
| 
 | |
| const versionRequirements = [
 | |
|   {
 | |
|     name: 'node',
 | |
|     currentVersion: semver.clean(process.version),
 | |
|     versionRequirement: packageConfig.engines.node
 | |
|   }
 | |
| ]
 | |
| 
 | |
| if (shell.which('npm')) {
 | |
|   versionRequirements.push({
 | |
|     name: 'npm',
 | |
|     currentVersion: exec('npm --version'),
 | |
|     versionRequirement: packageConfig.engines.npm
 | |
|   })
 | |
| }
 | |
| 
 | |
| module.exports = function () {
 | |
|   const warnings = []
 | |
| 
 | |
|   for (let i = 0; i < versionRequirements.length; i++) {
 | |
|     const mod = versionRequirements[i]
 | |
| 
 | |
|     if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
 | |
|       warnings.push(mod.name + ': ' +
 | |
|         chalk.red(mod.currentVersion) + ' should be ' +
 | |
|         chalk.green(mod.versionRequirement)
 | |
|       )
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   if (warnings.length) {
 | |
|     console.log('')
 | |
|     console.log(chalk.yellow('To use this template, you must update following to modules:'))
 | |
|     console.log()
 | |
| 
 | |
|     for (let i = 0; i < warnings.length; i++) {
 | |
|       const warning = warnings[i]
 | |
|       console.log('  ' + warning)
 | |
|     }
 | |
| 
 | |
|     console.log()
 | |
|     process.exit(1)
 | |
|   }
 | |
| }
 |