@nathapp/koda-cli 0.0.1
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/client.d.ts +9 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +23 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +91 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/comment.d.ts +3 -0
- package/dist/commands/comment.d.ts.map +1 -0
- package/dist/commands/comment.js +57 -0
- package/dist/commands/comment.js.map +1 -0
- package/dist/commands/config.d.ts +14 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +20 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/kb.d.ts +3 -0
- package/dist/commands/kb.d.ts.map +1 -0
- package/dist/commands/kb.js +137 -0
- package/dist/commands/kb.js.map +1 -0
- package/dist/commands/label.d.ts +3 -0
- package/dist/commands/label.d.ts.map +1 -0
- package/dist/commands/label.js +105 -0
- package/dist/commands/label.js.map +1 -0
- package/dist/commands/login.d.ts +6 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +26 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +148 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/ticket.d.ts +3 -0
- package/dist/commands/ticket.d.ts.map +1 -0
- package/dist/commands/ticket.js +538 -0
- package/dist/commands/ticket.js.map +1 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +68 -0
- package/dist/config.js.map +1 -0
- package/dist/generated.d.ts +185 -0
- package/dist/generated.d.ts.map +1 -0
- package/dist/generated.js +119 -0
- package/dist/generated.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +135 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/api.d.ts +10 -0
- package/dist/utils/api.d.ts.map +1 -0
- package/dist/utils/api.js +32 -0
- package/dist/utils/api.js.map +1 -0
- package/dist/utils/auth.d.ts +9 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +14 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/error.d.ts +14 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +42 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/output.d.ts +28 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +80 -0
- package/dist/utils/output.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
interface OutputOptions {
|
|
2
|
+
json?: boolean;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Output data in JSON or pretty-printed format.
|
|
6
|
+
* JSON mode: outputs valid JSON to stdout
|
|
7
|
+
* Pretty mode: outputs formatted representation to stdout
|
|
8
|
+
*/
|
|
9
|
+
export declare function output(data: unknown, options?: OutputOptions): void;
|
|
10
|
+
/**
|
|
11
|
+
* Render a column-aligned table with cyan/bold headers.
|
|
12
|
+
* Headers are colored; rows are plain text.
|
|
13
|
+
*/
|
|
14
|
+
export declare function table(headers: string[], rows: string[][]): void;
|
|
15
|
+
/**
|
|
16
|
+
* Print a success message in green to stdout.
|
|
17
|
+
*/
|
|
18
|
+
export declare function success(message: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Print an error message in red to stderr.
|
|
21
|
+
*/
|
|
22
|
+
export declare function error(message: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Print a warning message in yellow to stdout.
|
|
25
|
+
*/
|
|
26
|
+
export declare function warn(message: string): void;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI,CAMvE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAmC/D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.output = output;
|
|
7
|
+
exports.table = table;
|
|
8
|
+
exports.success = success;
|
|
9
|
+
exports.error = error;
|
|
10
|
+
exports.warn = warn;
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const util_1 = __importDefault(require("util"));
|
|
13
|
+
/**
|
|
14
|
+
* Output data in JSON or pretty-printed format.
|
|
15
|
+
* JSON mode: outputs valid JSON to stdout
|
|
16
|
+
* Pretty mode: outputs formatted representation to stdout
|
|
17
|
+
*/
|
|
18
|
+
function output(data, options = {}) {
|
|
19
|
+
if (options.json) {
|
|
20
|
+
console.log(JSON.stringify(data, null, 2));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.log(util_1.default.inspect(data, { colors: true, depth: null }));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Render a column-aligned table with cyan/bold headers.
|
|
28
|
+
* Headers are colored; rows are plain text.
|
|
29
|
+
*/
|
|
30
|
+
function table(headers, rows) {
|
|
31
|
+
if (headers.length === 0) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Calculate column widths based on headers and rows
|
|
35
|
+
const columnWidths = headers.map((header, i) => {
|
|
36
|
+
let maxWidth = header.length;
|
|
37
|
+
for (const row of rows) {
|
|
38
|
+
if (row[i]) {
|
|
39
|
+
maxWidth = Math.max(maxWidth, row[i].length);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return maxWidth;
|
|
43
|
+
});
|
|
44
|
+
// Print header row with cyan bold
|
|
45
|
+
const headerRow = headers
|
|
46
|
+
.map((header, i) => header.padEnd(columnWidths[i]))
|
|
47
|
+
.join(' ');
|
|
48
|
+
console.log(chalk_1.default.cyan.bold(headerRow));
|
|
49
|
+
// Print separator
|
|
50
|
+
const separator = columnWidths
|
|
51
|
+
.map((width) => '─'.repeat(width))
|
|
52
|
+
.join(' ');
|
|
53
|
+
console.log(chalk_1.default.gray(separator));
|
|
54
|
+
// Print data rows
|
|
55
|
+
for (const row of rows) {
|
|
56
|
+
const paddedRow = row
|
|
57
|
+
.map((cell, i) => (cell || '').padEnd(columnWidths[i]))
|
|
58
|
+
.join(' ');
|
|
59
|
+
console.log(paddedRow);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Print a success message in green to stdout.
|
|
64
|
+
*/
|
|
65
|
+
function success(message) {
|
|
66
|
+
console.log(chalk_1.default.green(`✓ ${message}`));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Print an error message in red to stderr.
|
|
70
|
+
*/
|
|
71
|
+
function error(message) {
|
|
72
|
+
console.error(chalk_1.default.red(`✗ ${message}`));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Print a warning message in yellow to stdout.
|
|
76
|
+
*/
|
|
77
|
+
function warn(message) {
|
|
78
|
+
console.log(chalk_1.default.yellow(`⚠ ${message}`));
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nathapp/koda-cli",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "CLI for Koda — dev ticket tracker",
|
|
5
|
+
"bin": {
|
|
6
|
+
"koda": "./dist/index.js"
|
|
7
|
+
},
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"files": ["dist"],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"dev": "tsc --watch",
|
|
18
|
+
"test": "jest --forceExit --passWithNoTests",
|
|
19
|
+
"test:watch": "jest --watch",
|
|
20
|
+
"lint": "eslint \"src/**/*.ts\" --ignore-pattern \"src/generated/**\" --max-warnings=0",
|
|
21
|
+
"lint:fix": "eslint \"src/**/*.ts\" --ignore-pattern \"src/generated/**\" --fix",
|
|
22
|
+
"type-check": "tsc --noEmit"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@hey-api/client-axios": "^0.3.0",
|
|
26
|
+
"axios": "^1.7.0",
|
|
27
|
+
"chalk": "^5.3.0",
|
|
28
|
+
"commander": "^12.0.0",
|
|
29
|
+
"conf": "^13.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/jest": "^29.0.0",
|
|
33
|
+
"@types/node": "^22.0.0",
|
|
34
|
+
"jest": "^29.0.0",
|
|
35
|
+
"ts-jest": "^29.0.0",
|
|
36
|
+
"typescript": "^5.4.0"
|
|
37
|
+
}
|
|
38
|
+
}
|