-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathcli.js
executable file
·55 lines (46 loc) · 983 Bytes
/
cli.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env node
require = require("esm")(module)
const meow = require("meow")
const build = require("./lib/build").default
const serve = require("./lib/serve").default
const cli = meow(`
Usage
❯ charge serve <source directory>
❯ charge build <source directory> <target directory>
`)
let command = cli.input[0]
switch (command) {
case undefined:
return cli.showHelp()
case "build":
return build({
source: cli.input[1],
target: cli.input[2],
})
case "serve":
case "server":
let serveCLI = meow(
`
Usage
❯ charge serve <source directory>
Options
--port
Examples
❯ charge serve <source directory> --port 2468
`,
{
flags: {
port: {
type: "number",
},
},
},
)
if (cli.input[1]) {
return serve({
source: cli.input[1],
port: cli.flags.port,
})
}
serveCLI.showHelp()
}