beekeeper-util
Version:
CLI utility for managing the beekeeper-service
49 lines (37 loc) • 1.43 kB
text/coffeescript
program = require 'commander'
packageJSON = require './package.json'
Config = require './src/config'
BeekeeperService = require './src/beekeeper-service'
program
.version packageJSON.version
.usage '[options] <project-name>'
.option '-d, --docker-url <docker-url>', '(required) Docker URL to update'
.option '-t, --tag <tag>', 'Project version (not the tag on the deployment). Defaults to package.version'
.option '-o, --owner <octoblu>', 'Project owner'
class Command
constructor: ->
process.on 'uncaughtException',
= new Config()
= new BeekeeperService { }
parseOptions: =>
program.parse process.argv
repo = program.args[0] || .name
owner = program.owner ? .owner
tag = program.tag ? .version
docker_url = program.dockerUrl
new Error 'Missing repo argument' unless repo?
new Error 'Missing docker-url argument' unless docker_url?
return { repo, owner, tag, docker_url }
run: =>
{repo, owner, tag, docker_url } = ()
.update { repo, owner, tag, docker_url }, (error) =>
return error if error?
process.exit 0
dieHelp: (error) =>
program.outputHelp()
return error
die: (error) =>
return process.exit(0) unless error?
console.error error.stack
process.exit 1
module.exports = Command