gh-action-bump-version/cli.js

35 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-01-26 23:00:32 +00:00
#!/usr/bin/env node
2019-01-27 00:14:12 +00:00
console.log(process.argv)
2019-01-26 22:29:58 +00:00
const fs = require('fs')
const { execSync } = require('child_process')
2019-01-26 23:48:46 +00:00
2019-01-27 00:14:12 +00:00
/* Configure git */
//fs.writeFileSync('git-credentials')
//execSync('git
const event = JSON.parse(fs.readFileSync('/github/workflow/event.json').toString())
let messages = event.commits.map(commit => commit.message)
let version = 'patch'
if (messages.map(message => message.includes('BREAKING CHANGE')).includes(true)) {
version = 'major'
} else if (messages.map(message => message.toLowerCase().startsWith('feat')).includes(true)) {
version = 'minor'
2019-01-26 23:48:46 +00:00
}
2019-01-26 23:31:18 +00:00
let version = 'patch'
let pkg = require('./package.json')
let current = execSync(`npm view ${pkg.name} version`).toString()
2019-01-26 23:40:54 +00:00
process.stdout.write(execSync(`npm version --allow-same-version=true --git-tag-version=false ${current} `))
2019-01-26 23:48:46 +00:00
let newVersion = execSync(`npm version --git-tag-version=false ${version}`).toString()
console.log(newVersion)
process.stdout.write(execSync(`npm publish --access=public`))
2019-01-26 23:48:46 +00:00
process.stdout.write(execSync(`git tag -a ${newVersion} -m "Created by merge-release.\n\n##Changelog:\n${messages.join('\n')}"`))
process.stdout.write(execSync(`git push --tags`))
// npm version minor && npm publish --access=public && git push --tags