-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathcli.js
More file actions
52 lines (46 loc) · 1013 Bytes
/
cli.js
File metadata and controls
52 lines (46 loc) · 1013 Bytes
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
#!/usr/bin/env node
const pm2 = require("pm2")
const args = process.argv.slice(2)
const cmds = {
wao: { script: "./src/run.js" },
hub: { script: "./hub/index.js" },
fs: { script: "./hub/fs.js" },
proxy: { script: "./hub/ws-proxy.js" },
}
const cmd = cmds[args[0]] ?? cmds["wao"]
if (cmds[args[0]]) args.shift()
if (!cmd) {
console.log("The wrong command")
process.exit()
}
pm2.connect(false, err => {
if (err) {
console.error("Error connecting to PM2:", err)
process.exit(2)
}
pm2.start(
{
script: "./cjs/run.js",
nodeArgs: "--experimental-wasm-memory64",
instances: 1,
force: true,
args: args,
daemon: false,
name: "wao",
},
err => {
if (err) {
console.error("Error starting process:", err)
pm2.disconnect()
process.exit(2)
}
}
)
pm2.streamLogs("all", 0, false)
})
process.on("SIGINT", () => {
pm2.delete("wao", err => {
pm2.disconnect()
process.exit(err ? 1 : 0)
})
})