1 | #!/usr/bin/env node
|
2 | let chalk = require('chalk')
|
3 | let deploy = require('@architect/deploy/cli')
|
4 | let env = require('@architect/env')
|
5 | let hydrate = require('@architect/hydrate/cli')
|
6 | let init = require('@architect/utils/init')
|
7 | let logs = require('@architect/logs/cli')
|
8 | let pkg = require('@architect/package/cli')
|
9 | let repl = require('@architect/repl')
|
10 | let sandbox = require('@architect/sandbox/src/cli/arc')
|
11 |
|
12 | let before = require('./before')
|
13 | let help = require('./help')
|
14 | let version = require('./version')
|
15 |
|
16 | let cmds = {
|
17 | deploy,
|
18 | env,
|
19 | help,
|
20 | hydrate,
|
21 | init,
|
22 | logs,
|
23 | package: pkg,
|
24 | repl,
|
25 | sandbox,
|
26 | version
|
27 | }
|
28 |
|
29 | let red = chalk.bgRed.bold.white
|
30 | let yel = chalk.yellow
|
31 | let dim = chalk.grey
|
32 |
|
33 | let pretty = {
|
34 | fail(cmd, err) {
|
35 | console.log(red(`${cmd} failed!`), err && err.message? yel(err.message) : '')
|
36 | if (err && err.message)
|
37 | console.log(dim(err.stack))
|
38 | },
|
39 | notFound(cmd) {
|
40 | console.log(dim(`Sorry, ${chalk.green.bold('arc ' +cmd)} command not found!`))
|
41 | }
|
42 | }
|
43 |
|
44 | let args = process.argv.slice(2)
|
45 |
|
46 | before()
|
47 |
|
48 | ;(async function main() {
|
49 | if (args.length === 0) {
|
50 | help(args)
|
51 | }
|
52 | else {
|
53 | let cmd = args.shift()
|
54 | let opts = args.slice(0)
|
55 | if (cmds[cmd]) {
|
56 | try {
|
57 | await cmds[cmd](opts)
|
58 | }
|
59 | catch(e) {
|
60 | pretty.fail(cmd, e)
|
61 | process.exit(1)
|
62 | }
|
63 | }
|
64 | else {
|
65 | pretty.notFound(cmd)
|
66 | process.exit(1)
|
67 | }
|
68 | }
|
69 | })()
|