diff options
author | Yang (Gabriel) Yu <Gabriel.yuyang@huawei.com> | 2018-09-04 21:02:27 +0800 |
---|---|---|
committer | Yang (Gabriel) Yu <Gabriel.yuyang@huawei.com> | 2018-09-06 14:58:45 +0800 |
commit | e32043f58a2450b6a5986dc2a01f64f8b22c3992 (patch) | |
tree | 650f6ce0381e53c3ca935025e9121f06725efd5d /test-scheduler/ui/build/check-versions.js | |
parent | a09bbea983aca3e437e254566da98196177748d9 (diff) |
Change naming and veriy test-scheduler function
Changes:
1. Testing-scheduler -> Test-scheduler
2. lots of windows breaks '\r' and '^M' in files,
batch changes to unix breaks '$'
3. Add ui/build
Change-Id: I1f2c98ab9348460d4e68bfbfab664dae82b761ba
Signed-off-by: Yang (Gabriel) Yu <Gabriel.yuyang@huawei.com>
Diffstat (limited to 'test-scheduler/ui/build/check-versions.js')
-rw-r--r-- | test-scheduler/ui/build/check-versions.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test-scheduler/ui/build/check-versions.js b/test-scheduler/ui/build/check-versions.js new file mode 100644 index 00000000..3ef972a0 --- /dev/null +++ b/test-scheduler/ui/build/check-versions.js @@ -0,0 +1,54 @@ +'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) + } +} |