Skip to content

Instantly share code, notes, and snippets.

@albert-zhang
Created August 14, 2018 23:49
Show Gist options
  • Save albert-zhang/f5ffc8c367f39f77d32d73ff50e038ea to your computer and use it in GitHub Desktop.
Save albert-zhang/f5ffc8c367f39f77d32d73ff50e038ea to your computer and use it in GitHub Desktop.
check-repo-version.js
const semver = require('semver')
const exec = require('child_process').exec
const packageJson = require('./package.json')
const prjName = packageJson.name
function getRemoteVer() {
return new Promise((resolve, reject) => {
const theCmd = 'npm show ' + prjName + ' version --registry=http://example.com'
exec(theCmd, function(err, stdout, stderr) {
if (err) {
reject(err)
} else {
resolve(stdout.trim())
}
})
})
}
getRemoteVer().then(remoteVer => {
console.log('Remote version is: ' + remoteVer)
console.log('Current version is: ' + packageJson.version)
if (remoteVer === packageJson.version) {
console.log('Error: current version is already been built')
process.exit(1)
}
if (semver.gt(remoteVer, packageJson.version)) {
console.log('Error: current version is out of date')
process.exit(2)
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment