UNPKG

780 Btext/coffeescriptView Raw
1colors = require 'colors'
2program = require 'commander'
3packageJSON = require './package.json'
4
5program
6 .version packageJSON.version
7 .command 'cluster', 'set the state state of a deployment'
8 .command 'build', 'set the build state of a deployment'
9
10class Command
11 constructor: ->
12 process.on 'uncaughtException', @die
13 {@runningCommand} = @parseOptions()
14
15 parseOptions: =>
16 program.parse process.argv
17 { runningCommand } = program
18 return { runningCommand }
19
20 run: =>
21 return if @runningCommand
22 program.outputHelp()
23 process.exit 0
24
25 dieHelp: (error) =>
26 program.outputHelp()
27 return @die error
28
29 die: (error) =>
30 return process.exit(0) unless error?
31 console.error error.stack
32 process.exit 1
33
34module.exports = Command