@requestdock/cli 0.1.0 → 0.2.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/dist/commands/export.js +3 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.js +4 -4
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.js +7 -5
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/inspect.js +10 -14
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/repl.d.ts +3 -0
- package/dist/commands/repl.js +132 -0
- package/dist/commands/repl.js.map +1 -0
- package/dist/commands/run.js +9 -10
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/send.js +10 -2
- package/dist/commands/send.js.map +1 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/output.d.ts +1 -0
- package/dist/output.js +61 -15
- package/dist/output.js.map +1 -1
- package/dist/repl/commands.d.ts +23 -0
- package/dist/repl/commands.js +184 -0
- package/dist/repl/commands.js.map +1 -0
- package/dist/repl/completer.d.ts +2 -0
- package/dist/repl/completer.js +34 -0
- package/dist/repl/completer.js.map +1 -0
- package/dist/repl/history.d.ts +22 -0
- package/dist/repl/history.js +43 -0
- package/dist/repl/history.js.map +1 -0
- package/dist/repl/parser.d.ts +39 -0
- package/dist/repl/parser.js +74 -0
- package/dist/repl/parser.js.map +1 -0
- package/dist/styles.d.ts +31 -0
- package/dist/styles.js +94 -0
- package/dist/styles.js.map +1 -0
- package/package.json +20 -9
package/dist/styles.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
// ── Brand colors ──────────────────────────────────────────────────
|
|
3
|
+
export const brand = {
|
|
4
|
+
primary: chalk.hex('#7C6BFF'),
|
|
5
|
+
accent: chalk.cyan,
|
|
6
|
+
dim: chalk.dim,
|
|
7
|
+
bold: chalk.bold,
|
|
8
|
+
};
|
|
9
|
+
// ── Semantic colors ───────────────────────────────────────────────
|
|
10
|
+
export const semantic = {
|
|
11
|
+
success: chalk.green,
|
|
12
|
+
warning: chalk.yellow,
|
|
13
|
+
error: chalk.red,
|
|
14
|
+
info: chalk.cyan,
|
|
15
|
+
};
|
|
16
|
+
// ── HTTP method colors ────────────────────────────────────────────
|
|
17
|
+
const methodColorMap = {
|
|
18
|
+
GET: chalk.green,
|
|
19
|
+
POST: chalk.yellow,
|
|
20
|
+
PUT: chalk.blue,
|
|
21
|
+
PATCH: chalk.magenta,
|
|
22
|
+
DELETE: chalk.red,
|
|
23
|
+
HEAD: chalk.cyan,
|
|
24
|
+
OPTIONS: chalk.gray,
|
|
25
|
+
};
|
|
26
|
+
export function methodColor(method) {
|
|
27
|
+
const color = methodColorMap[method.toUpperCase()] || chalk.white;
|
|
28
|
+
return color(method.toUpperCase());
|
|
29
|
+
}
|
|
30
|
+
// ── Status badge ──────────────────────────────────────────────────
|
|
31
|
+
function statusColor(code) {
|
|
32
|
+
if (code < 300)
|
|
33
|
+
return chalk.green;
|
|
34
|
+
if (code < 400)
|
|
35
|
+
return chalk.yellow;
|
|
36
|
+
return chalk.red;
|
|
37
|
+
}
|
|
38
|
+
export function statusBadge(code, text) {
|
|
39
|
+
const color = statusColor(code);
|
|
40
|
+
return color.bold(` ${code} `) + ' ' + color(text);
|
|
41
|
+
}
|
|
42
|
+
// ── Icons ─────────────────────────────────────────────────────────
|
|
43
|
+
export const icons = {
|
|
44
|
+
check: chalk.green('✓'),
|
|
45
|
+
cross: chalk.red('✗'),
|
|
46
|
+
arrow: chalk.dim('→'),
|
|
47
|
+
dot: chalk.dim('·'),
|
|
48
|
+
triangle: chalk.dim('▸'),
|
|
49
|
+
dash: chalk.dim('─'),
|
|
50
|
+
folder: chalk.dim('📁'),
|
|
51
|
+
file: chalk.dim('📄'),
|
|
52
|
+
};
|
|
53
|
+
// ── Formatters ────────────────────────────────────────────────────
|
|
54
|
+
export function formatTiming(ms) {
|
|
55
|
+
if (ms < 1000)
|
|
56
|
+
return chalk.dim(`${ms}ms`);
|
|
57
|
+
return chalk.dim(`${(ms / 1000).toFixed(1)}s`);
|
|
58
|
+
}
|
|
59
|
+
export function formatSize(bytes) {
|
|
60
|
+
if (bytes < 1024)
|
|
61
|
+
return chalk.dim(`${bytes} B`);
|
|
62
|
+
if (bytes < 1024 * 1024)
|
|
63
|
+
return chalk.dim(`${(bytes / 1024).toFixed(1)} KB`);
|
|
64
|
+
return chalk.dim(`${(bytes / (1024 * 1024)).toFixed(1)} MB`);
|
|
65
|
+
}
|
|
66
|
+
export function formatError(message) {
|
|
67
|
+
return `${icons.cross} ${chalk.red.bold('Error')} ${icons.dot} ${message}`;
|
|
68
|
+
}
|
|
69
|
+
export function formatSuccess(message) {
|
|
70
|
+
return `${icons.check} ${message}`;
|
|
71
|
+
}
|
|
72
|
+
// ── JSON syntax highlighter ───────────────────────────────────────
|
|
73
|
+
export function highlightJson(jsonStr) {
|
|
74
|
+
return jsonStr
|
|
75
|
+
// Keys (before the colon)
|
|
76
|
+
.replace(/"([^"]+)"(?=\s*:)/g, chalk.cyan('"$1"'))
|
|
77
|
+
// String values (after the colon)
|
|
78
|
+
.replace(/:\s*"([^"]*?)"/g, (match, val) => `: ${chalk.green(`"${val}"`)}`)
|
|
79
|
+
// Numbers
|
|
80
|
+
.replace(/:\s*(-?\d+\.?\d*)/g, (_, num) => `: ${chalk.yellow(num)}`)
|
|
81
|
+
// Booleans and null
|
|
82
|
+
.replace(/:\s*(true|false|null)/g, (_, val) => `: ${chalk.magenta(val)}`);
|
|
83
|
+
}
|
|
84
|
+
// ── Banner ────────────────────────────────────────────────────────
|
|
85
|
+
export function renderBanner() {
|
|
86
|
+
const box = [
|
|
87
|
+
chalk.hex('#4A7BF7')(' ┌───┐'),
|
|
88
|
+
chalk.hex('#4A7BF7')(' │') + chalk.hex('#4A7BF7').bold('>_') + chalk.hex('#4A7BF7')(' │') + ' ' + brand.primary.bold('R E Q U E S T D O C K'),
|
|
89
|
+
chalk.hex('#4A7BF7')(' └───┘'),
|
|
90
|
+
];
|
|
91
|
+
const tagline = chalk.dim(' API testing from the command line');
|
|
92
|
+
return '\n' + box.join('\n') + '\n' + tagline + '\n';
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@requestdock/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI for RequestDock — send requests, run collections, import from Postman/Insomnia/cURL/OpenAPI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,20 +9,31 @@
|
|
|
9
9
|
"url": "https://github.com/bighippoman/the-tool-vault.git",
|
|
10
10
|
"directory": "packages/cli"
|
|
11
11
|
},
|
|
12
|
-
"keywords": [
|
|
12
|
+
"keywords": [
|
|
13
|
+
"api",
|
|
14
|
+
"http",
|
|
15
|
+
"cli",
|
|
16
|
+
"rest",
|
|
17
|
+
"api-client"
|
|
18
|
+
],
|
|
13
19
|
"bin": {
|
|
14
20
|
"requestdock": "dist/index.js"
|
|
15
21
|
},
|
|
16
|
-
"files": [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"prepublishOnly": "tsc"
|
|
20
|
-
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
21
25
|
"dependencies": {
|
|
26
|
+
"@inquirer/prompts": "^8.3.0",
|
|
22
27
|
"@requestdock/engine": "^0.1.0",
|
|
23
|
-
"
|
|
28
|
+
"boxen": "^8.0.1",
|
|
29
|
+
"chalk": "^5.6.2",
|
|
30
|
+
"commander": "^13.1.0",
|
|
31
|
+
"ora": "^9.3.0"
|
|
24
32
|
},
|
|
25
33
|
"devDependencies": {
|
|
26
34
|
"typescript": "5.8.3"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "tsc"
|
|
27
38
|
}
|
|
28
|
-
}
|
|
39
|
+
}
|