@w6w/cli 0.1.0
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/LICENSE +21 -0
- package/README.md +110 -0
- package/dist/bin/w6w.d.ts +22 -0
- package/dist/bin/w6w.d.ts.map +1 -0
- package/dist/bin/w6w.js +58 -0
- package/dist/bin/w6w.js.map +1 -0
- package/dist/mod.d.ts +131 -0
- package/dist/mod.d.ts.map +1 -0
- package/dist/mod.js +257 -0
- package/dist/mod.js.map +1 -0
- package/dist/src/args.d.ts +79 -0
- package/dist/src/args.d.ts.map +1 -0
- package/dist/src/args.js +130 -0
- package/dist/src/args.js.map +1 -0
- package/dist/src/client.d.ts +90 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +172 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/commands/connections.d.ts +13 -0
- package/dist/src/commands/connections.d.ts.map +1 -0
- package/dist/src/commands/connections.js +30 -0
- package/dist/src/commands/connections.js.map +1 -0
- package/dist/src/commands/documents.d.ts +34 -0
- package/dist/src/commands/documents.d.ts.map +1 -0
- package/dist/src/commands/documents.js +179 -0
- package/dist/src/commands/documents.js.map +1 -0
- package/dist/src/commands/index.d.ts +27 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +39 -0
- package/dist/src/commands/index.js.map +1 -0
- package/dist/src/commands/me.d.ts +29 -0
- package/dist/src/commands/me.d.ts.map +1 -0
- package/dist/src/commands/me.js +52 -0
- package/dist/src/commands/me.js.map +1 -0
- package/dist/src/commands/run.d.ts +24 -0
- package/dist/src/commands/run.d.ts.map +1 -0
- package/dist/src/commands/run.js +78 -0
- package/dist/src/commands/run.js.map +1 -0
- package/dist/src/commands/shared.d.ts +117 -0
- package/dist/src/commands/shared.d.ts.map +1 -0
- package/dist/src/commands/shared.js +152 -0
- package/dist/src/commands/shared.js.map +1 -0
- package/dist/src/commands/vars.d.ts +59 -0
- package/dist/src/commands/vars.d.ts.map +1 -0
- package/dist/src/commands/vars.js +216 -0
- package/dist/src/commands/vars.js.map +1 -0
- package/dist/src/commands/workflows.d.ts +13 -0
- package/dist/src/commands/workflows.d.ts.map +1 -0
- package/dist/src/commands/workflows.js +75 -0
- package/dist/src/commands/workflows.js.map +1 -0
- package/dist/src/exit.d.ts +51 -0
- package/dist/src/exit.d.ts.map +1 -0
- package/dist/src/exit.js +94 -0
- package/dist/src/exit.js.map +1 -0
- package/dist/src/help.d.ts +48 -0
- package/dist/src/help.d.ts.map +1 -0
- package/dist/src/help.generated.d.ts +88 -0
- package/dist/src/help.generated.d.ts.map +1 -0
- package/dist/src/help.generated.js +988 -0
- package/dist/src/help.generated.js.map +1 -0
- package/dist/src/help.js +128 -0
- package/dist/src/help.js.map +1 -0
- package/dist/src/output.d.ts +84 -0
- package/dist/src/output.d.ts.map +1 -0
- package/dist/src/output.js +94 -0
- package/dist/src/output.js.map +1 -0
- package/dist/src/runtime.d.ts +37 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/runtime.js +57 -0
- package/dist/src/runtime.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.generated.js","sourceRoot":"","sources":["../../src/help.generated.ts"],"names":[],"mappings":"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"}
|
package/dist/src/help.js
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The help renderer.
|
|
3
|
+
*
|
|
4
|
+
* `--help` is the CLI's documentation — not a pointer to documentation, the thing
|
|
5
|
+
* itself. So it resolves at all three levels (root, group, command), it never
|
|
6
|
+
* authenticates, it never reads configuration, it never makes a network call, and
|
|
7
|
+
* nothing in this file does any I/O at all: every function here takes a tree and
|
|
8
|
+
* returns a string. The caller decides whether that string goes to stdout with
|
|
9
|
+
* exit 0 (help was asked for) or to stderr with exit 1 (the invocation was
|
|
10
|
+
* unknown or incomplete).
|
|
11
|
+
*
|
|
12
|
+
* The tree itself is generated from the shared wrapper surface contract — see
|
|
13
|
+
* `scripts/gen-help.ts`. This file only lays it out.
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
import { HELP_TREE } from "./help.generated.js";
|
|
18
|
+
/** The column descriptions start in, matching `docs/cli.md`. */
|
|
19
|
+
const LABEL_WIDTH = 22;
|
|
20
|
+
/** Where prose wraps. Narrower than the 100-column source limit, on purpose. */
|
|
21
|
+
const PROSE_WIDTH = 76;
|
|
22
|
+
function row(label, description) {
|
|
23
|
+
return ` ${label.padEnd(LABEL_WIDTH)} ${description}`.trimEnd();
|
|
24
|
+
}
|
|
25
|
+
function wrap(text, width = PROSE_WIDTH) {
|
|
26
|
+
const lines = [];
|
|
27
|
+
let current = "";
|
|
28
|
+
for (const word of text.split(/\s+/)) {
|
|
29
|
+
if (current === "") {
|
|
30
|
+
current = word;
|
|
31
|
+
}
|
|
32
|
+
else if (`${current} ${word}`.length <= width) {
|
|
33
|
+
current = `${current} ${word}`;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
lines.push(current);
|
|
37
|
+
current = word;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (current !== "")
|
|
41
|
+
lines.push(current);
|
|
42
|
+
return lines;
|
|
43
|
+
}
|
|
44
|
+
function section(title, lines, into) {
|
|
45
|
+
if (lines.length === 0)
|
|
46
|
+
return;
|
|
47
|
+
into.push("", title, ...lines);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Resolves a command path against the tree.
|
|
51
|
+
*
|
|
52
|
+
* Handles the `w6w info` style aliases declared by the contract, so an alias
|
|
53
|
+
* prints the help of the command it stands for rather than a second copy.
|
|
54
|
+
*/
|
|
55
|
+
export function resolve(path, tree = HELP_TREE) {
|
|
56
|
+
if (path.length === 0)
|
|
57
|
+
return { kind: "root" };
|
|
58
|
+
const matches = (candidate, against) => candidate.length === against.length && candidate.every((token, i) => token === against[i]);
|
|
59
|
+
const pathsOf = (command) => [command.path, ...command.aliases];
|
|
60
|
+
for (const command of tree.commands) {
|
|
61
|
+
if (pathsOf(command).some((candidate) => matches(candidate, path))) {
|
|
62
|
+
return { kind: "command", command, group: null };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const group = tree.groups.find((candidate) => candidate.name === path[0]) ?? null;
|
|
66
|
+
if (!group)
|
|
67
|
+
return { kind: "unknown", token: path[0], group: null };
|
|
68
|
+
if (path.length === 1)
|
|
69
|
+
return { kind: "group", group };
|
|
70
|
+
for (const command of group.commands) {
|
|
71
|
+
if (pathsOf(command).some((candidate) => matches(candidate, path))) {
|
|
72
|
+
return { kind: "command", command, group };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return { kind: "unknown", token: path[1], group };
|
|
76
|
+
}
|
|
77
|
+
/** Root help: what w6w is, its command groups, and the global flags. */
|
|
78
|
+
export function renderRootHelp(tree = HELP_TREE) {
|
|
79
|
+
const lines = [`${tree.binary} — ${tree.tagline}`];
|
|
80
|
+
section("USAGE", [` ${tree.usage}`], lines);
|
|
81
|
+
section("COMMANDS", [
|
|
82
|
+
...tree.commands.map((command) => row(command.name, command.short)),
|
|
83
|
+
...tree.groups.map((group) => row(group.name, group.summary)),
|
|
84
|
+
], lines);
|
|
85
|
+
section("GLOBAL OPTIONS", tree.globalFlags.map((flag) => row(flag.display, flag.description)), lines);
|
|
86
|
+
section("EXAMPLES", tree.examples.map((example) => ` ${example}`), lines);
|
|
87
|
+
lines.push("", ` Docs: ${tree.docsUrl}`);
|
|
88
|
+
return lines.join("\n");
|
|
89
|
+
}
|
|
90
|
+
/** Group help: the commands in that group, and nothing else. */
|
|
91
|
+
export function renderGroupHelp(group, tree = HELP_TREE) {
|
|
92
|
+
const lines = [`${tree.binary} ${group.name} — ${group.headline}`];
|
|
93
|
+
section("USAGE", [` ${group.usage}`], lines);
|
|
94
|
+
section("COMMANDS", group.commands.map((command) => row(command.name, command.short)), lines);
|
|
95
|
+
section("OPTIONS", group.options.map((param) => row(param.display, param.description)), lines);
|
|
96
|
+
section("EXAMPLES", group.examples.map((example) => ` ${example}`), lines);
|
|
97
|
+
return lines.join("\n");
|
|
98
|
+
}
|
|
99
|
+
/** Command help: summary, usage, arguments, flags, and a runnable example. */
|
|
100
|
+
export function renderCommandHelp(command, tree = HELP_TREE) {
|
|
101
|
+
const args = command.params.filter((param) => param.kind === "argument");
|
|
102
|
+
const flags = command.params.filter((param) => param.kind === "flag");
|
|
103
|
+
const lines = [`${tree.binary} ${command.path.join(" ")} — ${command.headline}`];
|
|
104
|
+
section("USAGE", [` ${command.usage}`], lines);
|
|
105
|
+
section("ARGUMENTS", args.map((param) => row(param.display, param.description)), lines);
|
|
106
|
+
section("OPTIONS", flags.map((param) => row(param.display, param.description)), lines);
|
|
107
|
+
section("ALIASES", command.aliases.map((alias) => ` ${tree.binary} ${alias.join(" ")}`), lines);
|
|
108
|
+
section("EXAMPLES", command.examples.map((example) => ` ${example}`), lines);
|
|
109
|
+
section("NOTES", command.notes.flatMap((note, index) => {
|
|
110
|
+
const body = wrap(note).map((line) => ` ${line}`);
|
|
111
|
+
return index === 0 ? body : ["", ...body];
|
|
112
|
+
}), lines);
|
|
113
|
+
return lines.join("\n");
|
|
114
|
+
}
|
|
115
|
+
/** Renders whichever level a resolution landed on. */
|
|
116
|
+
export function renderHelp(resolution, tree = HELP_TREE) {
|
|
117
|
+
switch (resolution.kind) {
|
|
118
|
+
case "command":
|
|
119
|
+
return renderCommandHelp(resolution.command, tree);
|
|
120
|
+
case "group":
|
|
121
|
+
return renderGroupHelp(resolution.group, tree);
|
|
122
|
+
case "unknown":
|
|
123
|
+
return resolution.group ? renderGroupHelp(resolution.group, tree) : renderRootHelp(tree);
|
|
124
|
+
default:
|
|
125
|
+
return renderRootHelp(tree);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The output renderer — one place that decides what a command's answer looks
|
|
3
|
+
* like, and which stream it lands on.
|
|
4
|
+
*
|
|
5
|
+
* Three rules, and every command inherits all three by writing through this
|
|
6
|
+
* module instead of touching the writer directly:
|
|
7
|
+
*
|
|
8
|
+
* 1. **`--json` prints the payload and nothing else.** No banner, no progress
|
|
9
|
+
* line, no "done" — the point of the flag is that the output goes into a pipe.
|
|
10
|
+
* Anything a human would have wanted to read is suppressed, not reworded.
|
|
11
|
+
* 2. **Errors go to stderr. Always.** So `--json` output stays parseable even
|
|
12
|
+
* when the command failed, and so `w6w … > out.json` never quietly writes an
|
|
13
|
+
* error message into a file something else is going to read as data.
|
|
14
|
+
* 3. **Colour is opt-out three ways** — `--no-color`, a `NO_COLOR` environment
|
|
15
|
+
* variable, and a stdout that is not a terminal — and it is off under `--json`
|
|
16
|
+
* unconditionally, because an escape sequence in a JSON document is a bug.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
import { type EnvReader } from "./client.ts";
|
|
21
|
+
import type { CliIo } from "./runtime.ts";
|
|
22
|
+
/**
|
|
23
|
+
* The conventional opt-out (https://no-color.org). Any non-blank value disables
|
|
24
|
+
* colour; a blank one is treated as absent, exactly like every other environment
|
|
25
|
+
* variable this CLI reads.
|
|
26
|
+
*/
|
|
27
|
+
export declare const ENV_NO_COLOR = "NO_COLOR";
|
|
28
|
+
/** Text decorations. Every one is the identity function when colour is off. */
|
|
29
|
+
export interface Styles {
|
|
30
|
+
bold(text: string): string;
|
|
31
|
+
dim(text: string): string;
|
|
32
|
+
red(text: string): string;
|
|
33
|
+
green(text: string): string;
|
|
34
|
+
yellow(text: string): string;
|
|
35
|
+
}
|
|
36
|
+
/** How a command's output should be rendered. */
|
|
37
|
+
export interface OutputOptions {
|
|
38
|
+
/** `--json`: print the payload as JSON and nothing else. */
|
|
39
|
+
json?: boolean;
|
|
40
|
+
/** `--no-color`: never emit escape sequences. */
|
|
41
|
+
noColor?: boolean;
|
|
42
|
+
/** Whether stdout is a terminal. Defaults to `false` — the safe assumption for a pipe. */
|
|
43
|
+
isTty?: boolean;
|
|
44
|
+
/** The environment seam, for `NO_COLOR`. Defaults to an empty environment. */
|
|
45
|
+
env?: EnvReader;
|
|
46
|
+
}
|
|
47
|
+
/** What a command writes through. */
|
|
48
|
+
export interface Output {
|
|
49
|
+
/** Whether `--json` is in force. */
|
|
50
|
+
readonly json: boolean;
|
|
51
|
+
/** Whether colour is in force. */
|
|
52
|
+
readonly color: boolean;
|
|
53
|
+
/** The decorations, already resolved to plain text when colour is off. */
|
|
54
|
+
readonly styles: Styles;
|
|
55
|
+
/**
|
|
56
|
+
* The command's result: the payload under `--json`, the human rendering
|
|
57
|
+
* otherwise. Both go to stdout.
|
|
58
|
+
*/
|
|
59
|
+
emit(payload: unknown, render: (styles: Styles) => string): void;
|
|
60
|
+
/** A line for a human — a hint, a heading, a count. Suppressed by `--json`. */
|
|
61
|
+
note(text: string): void;
|
|
62
|
+
/** A failure. Prefixed with the binary name, and always on stderr. */
|
|
63
|
+
error(message: string): void;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Whether this invocation may emit colour.
|
|
67
|
+
*
|
|
68
|
+
* Pure, and exported, so the decision is testable without a terminal: it is
|
|
69
|
+
* every escape-sequence bug's root cause and none of the inputs are things a
|
|
70
|
+
* test can arrange for real.
|
|
71
|
+
*
|
|
72
|
+
* @param options - The flags, the terminal-ness of stdout, and the environment.
|
|
73
|
+
* @returns `true` only when nothing at all objects.
|
|
74
|
+
*/
|
|
75
|
+
export declare function useColor(options?: OutputOptions): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Build the renderer for one invocation.
|
|
78
|
+
*
|
|
79
|
+
* @param io - Where to write. The only I/O this module performs.
|
|
80
|
+
* @param options - The global flags, the terminal-ness of stdout, and the environment.
|
|
81
|
+
* @returns The renderer every command in this invocation writes through.
|
|
82
|
+
*/
|
|
83
|
+
export declare function createOutput(io: CliIo, options?: OutputOptions): Output;
|
|
84
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,+EAA+E;AAC/E,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,+EAA+E;IAC/E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sEAAsE;IACtE,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAK7D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAoB3E"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The output renderer — one place that decides what a command's answer looks
|
|
3
|
+
* like, and which stream it lands on.
|
|
4
|
+
*
|
|
5
|
+
* Three rules, and every command inherits all three by writing through this
|
|
6
|
+
* module instead of touching the writer directly:
|
|
7
|
+
*
|
|
8
|
+
* 1. **`--json` prints the payload and nothing else.** No banner, no progress
|
|
9
|
+
* line, no "done" — the point of the flag is that the output goes into a pipe.
|
|
10
|
+
* Anything a human would have wanted to read is suppressed, not reworded.
|
|
11
|
+
* 2. **Errors go to stderr. Always.** So `--json` output stays parseable even
|
|
12
|
+
* when the command failed, and so `w6w … > out.json` never quietly writes an
|
|
13
|
+
* error message into a file something else is going to read as data.
|
|
14
|
+
* 3. **Colour is opt-out three ways** — `--no-color`, a `NO_COLOR` environment
|
|
15
|
+
* variable, and a stdout that is not a terminal — and it is off under `--json`
|
|
16
|
+
* unconditionally, because an escape sequence in a JSON document is a bug.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
import { envValue, NO_ENV } from "./client.js";
|
|
21
|
+
import { HELP_TREE } from "./help.generated.js";
|
|
22
|
+
/**
|
|
23
|
+
* The conventional opt-out (https://no-color.org). Any non-blank value disables
|
|
24
|
+
* colour; a blank one is treated as absent, exactly like every other environment
|
|
25
|
+
* variable this CLI reads.
|
|
26
|
+
*/
|
|
27
|
+
export const ENV_NO_COLOR = "NO_COLOR";
|
|
28
|
+
const PLAIN = {
|
|
29
|
+
bold: (text) => text,
|
|
30
|
+
dim: (text) => text,
|
|
31
|
+
red: (text) => text,
|
|
32
|
+
green: (text) => text,
|
|
33
|
+
yellow: (text) => text,
|
|
34
|
+
};
|
|
35
|
+
/** SGR wrapper. Reset is the full reset, so nested decorations cannot leak. */
|
|
36
|
+
function sgr(code) {
|
|
37
|
+
return (text) => `\x1b[${code}m${text}\x1b[0m`;
|
|
38
|
+
}
|
|
39
|
+
const COLOURED = {
|
|
40
|
+
bold: sgr("1"),
|
|
41
|
+
dim: sgr("2"),
|
|
42
|
+
red: sgr("31"),
|
|
43
|
+
green: sgr("32"),
|
|
44
|
+
yellow: sgr("33"),
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Whether this invocation may emit colour.
|
|
48
|
+
*
|
|
49
|
+
* Pure, and exported, so the decision is testable without a terminal: it is
|
|
50
|
+
* every escape-sequence bug's root cause and none of the inputs are things a
|
|
51
|
+
* test can arrange for real.
|
|
52
|
+
*
|
|
53
|
+
* @param options - The flags, the terminal-ness of stdout, and the environment.
|
|
54
|
+
* @returns `true` only when nothing at all objects.
|
|
55
|
+
*/
|
|
56
|
+
export function useColor(options = {}) {
|
|
57
|
+
if (options.json)
|
|
58
|
+
return false;
|
|
59
|
+
if (options.noColor)
|
|
60
|
+
return false;
|
|
61
|
+
if (options.isTty !== true)
|
|
62
|
+
return false;
|
|
63
|
+
return envValue(options.env ?? NO_ENV, ENV_NO_COLOR) === undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Build the renderer for one invocation.
|
|
67
|
+
*
|
|
68
|
+
* @param io - Where to write. The only I/O this module performs.
|
|
69
|
+
* @param options - The global flags, the terminal-ness of stdout, and the environment.
|
|
70
|
+
* @returns The renderer every command in this invocation writes through.
|
|
71
|
+
*/
|
|
72
|
+
export function createOutput(io, options = {}) {
|
|
73
|
+
const json = options.json === true;
|
|
74
|
+
const color = useColor(options);
|
|
75
|
+
const styles = color ? COLOURED : PLAIN;
|
|
76
|
+
return {
|
|
77
|
+
json,
|
|
78
|
+
color,
|
|
79
|
+
styles,
|
|
80
|
+
emit(payload, render) {
|
|
81
|
+
// Two spaces of indent: still one document, still `jq`-able, and readable
|
|
82
|
+
// when a user forgets they redirected it.
|
|
83
|
+
io.stdout(json ? JSON.stringify(payload ?? null, null, 2) : render(styles));
|
|
84
|
+
},
|
|
85
|
+
note(text) {
|
|
86
|
+
if (!json)
|
|
87
|
+
io.stdout(text);
|
|
88
|
+
},
|
|
89
|
+
error(message) {
|
|
90
|
+
io.stderr(`${HELP_TREE.binary}: ${message}`);
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAkB,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AA0CvC,MAAM,KAAK,GAAW;IACpB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACnB,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACnB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;CACvB,CAAC;AAEF,+EAA+E;AAC/E,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,IAAI,SAAS,CAAC;AACzD,CAAC;AAED,MAAM,QAAQ,GAAW;IACvB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;IACd,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IACb,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IACd,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAyB,EAAE;IAClD,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,EAAE,YAAY,CAAC,KAAK,SAAS,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAAS,EAAE,UAAyB,EAAE;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxC,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,IAAI,CAAC,OAAgB,EAAE,MAAkC;YACvD,0EAA0E;YAC1E,0CAA0C;YAC1C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,IAAY;YACf,IAAI,CAAC,IAAI;gBAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,OAAe;YACnB,EAAE,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The runtime adapter — the **only** module in this package that touches a host
|
|
3
|
+
* runtime's globals.
|
|
4
|
+
*
|
|
5
|
+
* The CLI is authored as runtime-neutral TypeScript: it is developed and tested
|
|
6
|
+
* with Deno and published to npm to run under Node, so `Deno.args`, `Deno.env`,
|
|
7
|
+
* `Deno.exit`, `process.argv`, `process.env` and `process.exit` are confined to
|
|
8
|
+
* this file. Everything else in `src/` uses Web-standard globals only, which is
|
|
9
|
+
* what makes the parser and the help renderer testable in any runtime and
|
|
10
|
+
* portable to both.
|
|
11
|
+
*
|
|
12
|
+
* Access is a **capability probe**, not a runtime assumption — the same shape
|
|
13
|
+
* `docs/implementation.md` §2 pins for the SDK's env module — so this file
|
|
14
|
+
* compiles under `tsc` for the npm build (where no Deno types exist) and runs
|
|
15
|
+
* unchanged under Deno, Node and Bun.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
/** Somewhere for a command to write. Everything the CLI prints goes through this. */
|
|
20
|
+
export interface CliIo {
|
|
21
|
+
/** Writes a line to standard output. */
|
|
22
|
+
stdout(text: string): void;
|
|
23
|
+
/** Writes a line to standard error. */
|
|
24
|
+
stderr(text: string): void;
|
|
25
|
+
}
|
|
26
|
+
/** The full host surface the binary entry point needs. */
|
|
27
|
+
export interface CliRuntime extends CliIo {
|
|
28
|
+
/** The command-line arguments, with the runtime's own prefix already dropped. */
|
|
29
|
+
readonly args: string[];
|
|
30
|
+
/** Reads an environment variable, or `undefined` where the host has no env. */
|
|
31
|
+
env(name: string): string | undefined;
|
|
32
|
+
/** Ends the process with the given exit code. */
|
|
33
|
+
exit(code: number): never;
|
|
34
|
+
}
|
|
35
|
+
/** The real host runtime. Called once, by `bin/w6w.ts`. */
|
|
36
|
+
export declare function systemRuntime(): CliRuntime;
|
|
37
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuBH,qFAAqF;AACrF,MAAM,WAAW,KAAK;IACpB,wCAAwC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uCAAuC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,+EAA+E;IAC/E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,iDAAiD;IACjD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3B;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,IAAI,UAAU,CAQ1C"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The runtime adapter — the **only** module in this package that touches a host
|
|
3
|
+
* runtime's globals.
|
|
4
|
+
*
|
|
5
|
+
* The CLI is authored as runtime-neutral TypeScript: it is developed and tested
|
|
6
|
+
* with Deno and published to npm to run under Node, so `Deno.args`, `Deno.env`,
|
|
7
|
+
* `Deno.exit`, `process.argv`, `process.env` and `process.exit` are confined to
|
|
8
|
+
* this file. Everything else in `src/` uses Web-standard globals only, which is
|
|
9
|
+
* what makes the parser and the help renderer testable in any runtime and
|
|
10
|
+
* portable to both.
|
|
11
|
+
*
|
|
12
|
+
* Access is a **capability probe**, not a runtime assumption — the same shape
|
|
13
|
+
* `docs/implementation.md` §2 pins for the SDK's env module — so this file
|
|
14
|
+
* compiles under `tsc` for the npm build (where no Deno types exist) and runs
|
|
15
|
+
* unchanged under Deno, Node and Bun.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
const host = globalThis;
|
|
20
|
+
/** The real host runtime. Called once, by `bin/w6w.ts`. */
|
|
21
|
+
export function systemRuntime() {
|
|
22
|
+
return {
|
|
23
|
+
args: readArgs(),
|
|
24
|
+
env: readEnv,
|
|
25
|
+
stdout: (text) => console.log(text),
|
|
26
|
+
stderr: (text) => console.error(text),
|
|
27
|
+
exit: exitProcess,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function readArgs() {
|
|
31
|
+
const deno = host.Deno;
|
|
32
|
+
if (deno)
|
|
33
|
+
return [...deno.args];
|
|
34
|
+
const node = host.process;
|
|
35
|
+
if (node)
|
|
36
|
+
return node.argv.slice(2);
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
function readEnv(name) {
|
|
40
|
+
const deno = host.Deno;
|
|
41
|
+
if (deno)
|
|
42
|
+
return deno.env.get(name) ?? undefined;
|
|
43
|
+
const node = host.process;
|
|
44
|
+
if (node)
|
|
45
|
+
return node.env[name] ?? undefined;
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
function exitProcess(code) {
|
|
49
|
+
const deno = host.Deno;
|
|
50
|
+
if (deno)
|
|
51
|
+
deno.exit(code);
|
|
52
|
+
const node = host.process;
|
|
53
|
+
if (node)
|
|
54
|
+
node.exit(code);
|
|
55
|
+
throw new Error(`w6w: no host runtime to exit from (wanted exit code ${code})`);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqBH,MAAM,IAAI,GAAG,UAAoC,CAAC;AAoBlD,2DAA2D;AAC3D,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,IAAI,EAAE,QAAQ,EAAE;QAChB,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,GAAG,CAAC,CAAC;AAClF,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@w6w/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The w6w command-line client. Thin transport over the w6w HTTP API, with help generated from the shared wrapper contract.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/w6w-io/w6w-cli.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/w6w-io/w6w-cli#readme",
|
|
11
|
+
"bugs": "https://github.com/w6w-io/w6w-cli/issues",
|
|
12
|
+
"keywords": ["w6w", "workflow", "cli", "client", "api"],
|
|
13
|
+
"type": "module",
|
|
14
|
+
"bin": {
|
|
15
|
+
"w6w": "./dist/bin/w6w.js"
|
|
16
|
+
},
|
|
17
|
+
"types": "./dist/mod.d.ts",
|
|
18
|
+
"main": "./dist/mod.js",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/mod.d.ts",
|
|
22
|
+
"import": "./dist/mod.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"files": ["dist"],
|
|
26
|
+
"sideEffects": false,
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=18"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsc -p tsconfig.build.json && node scripts/fix-shebang.mjs"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@w6w/sdk": "^0.1.0"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"typescript": "^5.7.2"
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
}
|
|
42
|
+
}
|