feat(post): add initial version of command

This commit is contained in:
Stephan Bönnemann 2015-02-02 04:13:35 +01:00
parent 0ee9cc31e9
commit 17ad82bfbc

51
src/post.js Normal file
View File

@ -0,0 +1,51 @@
'use strict'
var exec = require('child_process').exec
var readFile = require('fs').readFileSync
var changelog = require('conventional-changelog')
var GitHubApi = require('github')
var parse = require('parse-github-repo-url')
var github = new GitHubApi({
version: '3.0.0'
})
module.exports = function (options, cb) {
var pkg = JSON.parse(readFile('./package.json'))
var repository = pkg.repository ? pkg.repository.url : null
if (!repository) return cb('Package must have a repository')
changelog({
version: pkg.version,
repository: repository,
file: false
}, function(err, log) {
if (err) return cb(err)
exec('git rev-parse HEAD', function(err, hash) {
if (err) return cb(err)
var ghRepo = parse(repository)
var release = {
owner: ghRepo[0],
repo: ghRepo[1],
tag_name: 'v' + pkg.version,
target_commitish: hash,
draft: options.debug,
body: log
}
github.authenticate({
type: 'oauth',
token: options.token
})
github.releases.createRelease(release, function(err) {
if (err) return cb(err)
cb(null, true)
})
})
})
}