UNPKG

beekeeper-util

Version:

CLI utility for managing the beekeeper-service

49 lines (37 loc) 1.43 kB
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', @die @config = new Config() @beekeeperService = new BeekeeperService { @config } parseOptions: => program.parse process.argv repo = program.args[0] || @config.name owner = program.owner ? @config.owner tag = program.tag ? @config.version docker_url = program.dockerUrl @dieHelp new Error 'Missing repo argument' unless repo? @dieHelp new Error 'Missing docker-url argument' unless docker_url? return { repo, owner, tag, docker_url } run: => {repo, owner, tag, docker_url } = @parseOptions() @beekeeperService.update { repo, owner, tag, docker_url }, (error) => return @die error if error? process.exit 0 dieHelp: (error) => program.outputHelp() return @die error die: (error) => return process.exit(0) unless error? console.error error.stack process.exit 1 module.exports = Command