@zswarm/cli 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +17 -1
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -15,16 +15,27 @@ async function awaitLiveSession(session, ms) {
|
|
|
15
15
|
await new Promise((r) => setTimeout(r, 1_000));
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
/** process.exit() drops whatever a piped stdout has not flushed yet (output past
|
|
19
|
+
* 64 KB, e.g. a long `relay --list --json`): call this before every exit. */
|
|
20
|
+
async function flushStreams() {
|
|
21
|
+
await Promise.all([process.stdout, process.stderr].map((s) => new Promise((resolve) => { s.write("", () => resolve()); })));
|
|
22
|
+
}
|
|
18
23
|
const argv = process.argv.slice(2);
|
|
19
24
|
if (argv[0] === "--version" || argv[0] === "-V") {
|
|
20
25
|
process.stdout.write(`${SERVE_CORE_VERSION}\n`);
|
|
26
|
+
await flushStreams();
|
|
21
27
|
process.exit(0);
|
|
22
28
|
}
|
|
23
29
|
if (argv.length > 0 && HOST_COMMANDS.includes(argv[0])) {
|
|
24
|
-
|
|
30
|
+
{
|
|
31
|
+
const code = await runHostCommand(argv);
|
|
32
|
+
await flushStreams();
|
|
33
|
+
process.exit(code);
|
|
34
|
+
}
|
|
25
35
|
}
|
|
26
36
|
if (argv.length === 0 || argv[0] === "-h" || argv[0] === "--help") {
|
|
27
37
|
process.stderr.write(cliUsage());
|
|
38
|
+
await flushStreams();
|
|
28
39
|
process.exit(argv.length === 0 ? 2 : 0);
|
|
29
40
|
}
|
|
30
41
|
// `zswarm <command> --help` / `-h`: the command's own usage and the flags
|
|
@@ -38,6 +49,7 @@ if (wantsHelp(argv)) {
|
|
|
38
49
|
else {
|
|
39
50
|
process.stderr.write(cliUsage());
|
|
40
51
|
}
|
|
52
|
+
await flushStreams();
|
|
41
53
|
process.exit(0);
|
|
42
54
|
}
|
|
43
55
|
let args;
|
|
@@ -47,6 +59,7 @@ try {
|
|
|
47
59
|
catch (err) {
|
|
48
60
|
const message = err instanceof ZellijError ? err.message : String(err);
|
|
49
61
|
process.stderr.write(`${message}\n${cliUsage()}`);
|
|
62
|
+
await flushStreams();
|
|
50
63
|
process.exit(2);
|
|
51
64
|
}
|
|
52
65
|
try {
|
|
@@ -56,6 +69,7 @@ catch (err) {
|
|
|
56
69
|
const code = err instanceof ZellijError ? err.code : "body_file_read";
|
|
57
70
|
const message = err instanceof Error ? err.message : String(err);
|
|
58
71
|
process.stdout.write(JSON.stringify({ ok: false, error: { code, message } }) + "\n");
|
|
72
|
+
await flushStreams();
|
|
59
73
|
process.exit(1);
|
|
60
74
|
}
|
|
61
75
|
// TCP server holds the event loop; process.exit would tear it down.
|
|
@@ -79,6 +93,7 @@ if (args.op === "serve" && args.install !== true && args.clear !== true) {
|
|
|
79
93
|
catch (err) {
|
|
80
94
|
const message = err instanceof Error ? err.message : String(err);
|
|
81
95
|
process.stdout.write(`${JSON.stringify({ ok: false, error: { code: "failed", message } }, null, 2)}\n`);
|
|
96
|
+
await flushStreams();
|
|
82
97
|
process.exit(1);
|
|
83
98
|
}
|
|
84
99
|
}
|
|
@@ -107,5 +122,6 @@ else {
|
|
|
107
122
|
process.off("SIGTERM", onStop);
|
|
108
123
|
await serveTunnels.closeAll();
|
|
109
124
|
}
|
|
125
|
+
await flushStreams();
|
|
110
126
|
process.exit(exitCode);
|
|
111
127
|
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zswarm/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "zSwarm CLI — list, send, dump Zellij panes",
|
|
6
6
|
"bin": {
|
|
7
7
|
"zswarm": "./dist/cli.js"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@zswarm/core": "0.
|
|
10
|
+
"@zswarm/core": "0.8.0"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@types/node": "22.14.1",
|