@leaperone/cli 0.1.1 → 0.1.2
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/commands/docs.js +37 -22
- package/dist/commands/docs.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/commands/docs.js
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
import { request } from "../lib/api.js";
|
|
2
2
|
import { jsonOutput, table, error } from "../lib/output.js";
|
|
3
|
+
function stripMdxComponents(text) {
|
|
4
|
+
return text
|
|
5
|
+
.replace(/<Cards>[\s\S]*?<\/Cards>/g, "")
|
|
6
|
+
.replace(/<Card\s+title="([^"]*)"[^>]*>\s*([\s\S]*?)\s*<\/Card>/g, " [$1] $2")
|
|
7
|
+
.replace(/<Callout[^>]*>\s*([\s\S]*?)\s*<\/Callout>/g, " ⓘ $1")
|
|
8
|
+
.replace(/<[^>]+>/g, "")
|
|
9
|
+
.replace(/\n{3,}/g, "\n\n")
|
|
10
|
+
.trim();
|
|
11
|
+
}
|
|
3
12
|
export function registerDocsCommand(program) {
|
|
4
|
-
const docs = program.command("docs").description("
|
|
13
|
+
const docs = program.command("docs").description("Browse API documentation");
|
|
5
14
|
docs
|
|
6
|
-
.command("
|
|
7
|
-
.
|
|
15
|
+
.command("list")
|
|
16
|
+
.alias("ls")
|
|
17
|
+
.description("List all documentation pages")
|
|
8
18
|
.action(async () => {
|
|
9
19
|
const json = program.opts().json;
|
|
10
20
|
try {
|
|
11
21
|
const data = await request("/docs");
|
|
12
22
|
if (json) {
|
|
13
|
-
jsonOutput(data.
|
|
23
|
+
jsonOutput(data.pages);
|
|
14
24
|
return;
|
|
15
25
|
}
|
|
16
|
-
table(["
|
|
26
|
+
table(["Slug", "Title", "Description"], data.pages.map((p) => [p.slug, p.title, p.description]));
|
|
17
27
|
}
|
|
18
28
|
catch (err) {
|
|
19
29
|
if (json)
|
|
@@ -24,22 +34,26 @@ export function registerDocsCommand(program) {
|
|
|
24
34
|
}
|
|
25
35
|
});
|
|
26
36
|
docs
|
|
27
|
-
.command("
|
|
28
|
-
.description("
|
|
29
|
-
.action(async () => {
|
|
37
|
+
.command("read <slug>")
|
|
38
|
+
.description("Read a documentation page (e.g. quickstart, guides/authentication)")
|
|
39
|
+
.action(async (slug) => {
|
|
30
40
|
const json = program.opts().json;
|
|
31
41
|
try {
|
|
32
|
-
const data = await request("/docs"
|
|
42
|
+
const data = await request("/docs", {
|
|
43
|
+
query: { slug },
|
|
44
|
+
});
|
|
33
45
|
if (json) {
|
|
34
|
-
jsonOutput(data
|
|
46
|
+
jsonOutput(data);
|
|
35
47
|
return;
|
|
36
48
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
const divider = "─".repeat(60);
|
|
50
|
+
console.log(divider);
|
|
51
|
+
console.log(` ${data.title}`);
|
|
52
|
+
if (data.description)
|
|
53
|
+
console.log(` ${data.description}`);
|
|
54
|
+
console.log(divider);
|
|
55
|
+
console.log();
|
|
56
|
+
console.log(stripMdxComponents(data.content));
|
|
43
57
|
}
|
|
44
58
|
catch (err) {
|
|
45
59
|
if (json)
|
|
@@ -49,18 +63,19 @@ export function registerDocsCommand(program) {
|
|
|
49
63
|
process.exit(1);
|
|
50
64
|
}
|
|
51
65
|
});
|
|
52
|
-
docs
|
|
53
|
-
|
|
54
|
-
.description("Show quick start guide")
|
|
55
|
-
.action(async () => {
|
|
66
|
+
// Default action: show list when running `leaperone docs` with no subcommand
|
|
67
|
+
docs.action(async () => {
|
|
56
68
|
const json = program.opts().json;
|
|
57
69
|
try {
|
|
58
70
|
const data = await request("/docs");
|
|
59
71
|
if (json) {
|
|
60
|
-
jsonOutput(
|
|
72
|
+
jsonOutput(data.pages);
|
|
61
73
|
return;
|
|
62
74
|
}
|
|
63
|
-
console.log(
|
|
75
|
+
console.log("Available documentation pages:\n");
|
|
76
|
+
table(["Slug", "Title"], data.pages.map((p) => [p.slug, p.title]));
|
|
77
|
+
console.log("\nRead a page: leaperone docs read <slug>");
|
|
78
|
+
console.log("Full docs: https://leaper.one/docs");
|
|
64
79
|
}
|
|
65
80
|
catch (err) {
|
|
66
81
|
if (json)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ const program = new Command();
|
|
|
8
8
|
program
|
|
9
9
|
.name("leaperone")
|
|
10
10
|
.description("LEAPERone CLI - Manage API keys, credits, and access documentation")
|
|
11
|
-
.version("0.1.
|
|
11
|
+
.version("0.1.2")
|
|
12
12
|
.option("--json", "Output in JSON format (useful for agents and scripts)")
|
|
13
13
|
.configureHelp({
|
|
14
14
|
sortSubcommands: true,
|