require('shelljs/global'); if (!which('git')) { echo('Sorry, this script requires git'); exit(1); } if (!which('npm')) { echo('Sorry, this script requires npm'); exit(1); } exec('npm run build', {silent:true}); exec('git status', {silent:true}, function(code, stdout, stderr) { const indexHasUpdated = stdout.split('\n')[2] !== 'nothing to commit, working directory clean'; if(indexHasUpdated) { exec('git add versions.js full-versions.js', {silent:true}); exec('git commit -m "generate new version"', {silent:true}); exec('npm version patch', {silent:true}); exec('git push origin master', {silent:true}); exec('git push --tags', {silent:true}); exec('npm publish', {silent:true}); echo('new version released.'); } else { echo('nothing to do.'); exit(0); } });