doque 0.1.0 → 0.3.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/api/client.d.ts +2 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +13 -4
- package/dist/api/client.js.map +1 -1
- package/dist/commands/activity.d.ts +3 -0
- package/dist/commands/activity.d.ts.map +1 -0
- package/dist/commands/activity.js +36 -0
- package/dist/commands/activity.js.map +1 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +33 -16
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/beacon.d.ts +3 -0
- package/dist/commands/beacon.d.ts.map +1 -0
- package/dist/commands/beacon.js +43 -0
- package/dist/commands/beacon.js.map +1 -0
- package/dist/commands/cargo.d.ts.map +1 -1
- package/dist/commands/cargo.js +141 -45
- package/dist/commands/cargo.js.map +1 -1
- package/dist/commands/comment.d.ts +3 -0
- package/dist/commands/comment.d.ts.map +1 -0
- package/dist/commands/comment.js +45 -0
- package/dist/commands/comment.js.map +1 -0
- package/dist/commands/dump.d.ts +3 -0
- package/dist/commands/dump.d.ts.map +1 -0
- package/dist/commands/dump.js +214 -0
- package/dist/commands/dump.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +38 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/journal.d.ts +3 -0
- package/dist/commands/journal.d.ts.map +1 -0
- package/dist/commands/journal.js +166 -0
- package/dist/commands/journal.js.map +1 -0
- package/dist/commands/ns.d.ts +3 -0
- package/dist/commands/ns.d.ts.map +1 -0
- package/dist/commands/ns.js +96 -0
- package/dist/commands/ns.js.map +1 -0
- package/dist/commands/vessel.d.ts.map +1 -1
- package/dist/commands/vessel.js +86 -16
- package/dist/commands/vessel.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +24 -6
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config/store.d.ts +9 -0
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js +26 -0
- package/dist/config/store.js.map +1 -1
- package/dist/index.js +96 -3
- package/dist/index.js.map +1 -1
- package/dist/utils/output.d.ts +13 -0
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +78 -3
- package/dist/utils/output.js.map +1 -1
- package/package.json +24 -2
package/dist/utils/output.js
CHANGED
|
@@ -1,13 +1,50 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import Table from 'cli-table3';
|
|
3
|
+
// ─── 상태 아이콘 ──────────────────────────────────────────────
|
|
4
|
+
export function statusIcon(status) {
|
|
5
|
+
switch (status.toLowerCase()) {
|
|
6
|
+
case 'done': return chalk.green('✓');
|
|
7
|
+
case 'in_progress': return chalk.yellow('●');
|
|
8
|
+
case 'review': return chalk.cyan('◎');
|
|
9
|
+
case 'todo': return chalk.blue('○');
|
|
10
|
+
case 'backlog': return chalk.gray('○');
|
|
11
|
+
default: return chalk.gray('·');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function statusLabel(status) {
|
|
15
|
+
const icon = statusIcon(status);
|
|
16
|
+
switch (status.toLowerCase()) {
|
|
17
|
+
case 'done': return `${icon} ${chalk.green(status)}`;
|
|
18
|
+
case 'in_progress': return `${icon} ${chalk.yellow(status)}`;
|
|
19
|
+
case 'review': return `${icon} ${chalk.cyan(status)}`;
|
|
20
|
+
case 'todo': return `${icon} ${chalk.blue(status)}`;
|
|
21
|
+
case 'backlog': return `${icon} ${chalk.gray(status)}`;
|
|
22
|
+
default: return `${icon} ${status}`;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function typeLabel(type) {
|
|
26
|
+
switch (type.toLowerCase()) {
|
|
27
|
+
case 'epic': return chalk.magenta(`[${type}]`);
|
|
28
|
+
case 'story': return chalk.blue(`[${type}]`);
|
|
29
|
+
case 'task': return chalk.cyan(`[${type}]`);
|
|
30
|
+
default: return chalk.gray(`[${type}]`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// ─── 테이블 ───────────────────────────────────────────────────
|
|
3
34
|
export function formatTable(data, columns) {
|
|
4
35
|
if (data.length === 0) {
|
|
5
|
-
console.log(chalk.gray('(결과 없음)'));
|
|
36
|
+
console.log(chalk.gray(' (결과 없음)'));
|
|
6
37
|
return;
|
|
7
38
|
}
|
|
8
39
|
const table = new Table({
|
|
9
|
-
head: columns.map((c) => chalk.bold.cyan(c
|
|
40
|
+
head: columns.map((c) => chalk.bold.cyan(c)),
|
|
10
41
|
style: { head: [], border: [] },
|
|
42
|
+
chars: {
|
|
43
|
+
top: '─', 'top-mid': '┬', 'top-left': '┌', 'top-right': '┐',
|
|
44
|
+
bottom: '─', 'bottom-mid': '┴', 'bottom-left': '└', 'bottom-right': '┘',
|
|
45
|
+
left: '│', 'left-mid': '├', mid: '─', 'mid-mid': '┼',
|
|
46
|
+
right: '│', 'right-mid': '┤', middle: '│',
|
|
47
|
+
},
|
|
11
48
|
});
|
|
12
49
|
for (const row of data) {
|
|
13
50
|
table.push(columns.map((col) => {
|
|
@@ -23,11 +60,49 @@ export function formatJson(data) {
|
|
|
23
60
|
console.log(JSON.stringify(data, null, 2));
|
|
24
61
|
}
|
|
25
62
|
export function formatDetail(label, pairs) {
|
|
26
|
-
console.log(
|
|
63
|
+
console.log(label);
|
|
27
64
|
for (const [key, value] of pairs) {
|
|
28
65
|
if (value != null && value !== '') {
|
|
29
66
|
console.log(` ${chalk.cyan(key)}: ${String(value)}`);
|
|
30
67
|
}
|
|
31
68
|
}
|
|
32
69
|
}
|
|
70
|
+
function renderNode(node, prefix, isLast) {
|
|
71
|
+
const connector = isLast ? '└─' : '├─';
|
|
72
|
+
const icon = statusIcon(node.status);
|
|
73
|
+
const typeLbl = typeLabel(node.type);
|
|
74
|
+
const idStr = chalk.gray(`#${node.id}`);
|
|
75
|
+
console.log(`${prefix}${connector} ${idStr} ${node.title} ${typeLbl} ${icon} ${chalk.gray(node.status)}`);
|
|
76
|
+
const childPrefix = prefix + (isLast ? ' ' : '│ ');
|
|
77
|
+
node.children.forEach((child, i) => {
|
|
78
|
+
renderNode(child, childPrefix, i === node.children.length - 1);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
export function renderCargoTree(roots) {
|
|
82
|
+
if (roots.length === 0) {
|
|
83
|
+
console.log(chalk.gray(' (결과 없음)'));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
roots.forEach((root, i) => {
|
|
87
|
+
const isLast = i === roots.length - 1;
|
|
88
|
+
const icon = statusIcon(root.status);
|
|
89
|
+
const typeLbl = typeLabel(root.type);
|
|
90
|
+
const idStr = chalk.gray(`#${root.id}`);
|
|
91
|
+
console.log(`${isLast ? '└─' : '├─'} ${idStr} ${root.title} ${typeLbl} ${icon} ${chalk.gray(root.status)}`);
|
|
92
|
+
const childPrefix = isLast ? ' ' : '│ ';
|
|
93
|
+
root.children.forEach((child, ci) => {
|
|
94
|
+
renderNode(child, childPrefix, ci === root.children.length - 1);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export function findCargoById(nodes, id) {
|
|
99
|
+
for (const node of nodes) {
|
|
100
|
+
if (node.id === id)
|
|
101
|
+
return node;
|
|
102
|
+
const found = findCargoById(node.children, id);
|
|
103
|
+
if (found)
|
|
104
|
+
return found;
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
33
108
|
//# sourceMappingURL=output.js.map
|
package/dist/utils/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,UAAU,WAAW,CACzB,IAA+B,EAC/B,OAAiB;IAEjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,4DAA4D;AAE5D,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,aAAa,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,KAAK,QAAQ,CAAC,CAAM,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,CAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,KAAK,SAAS,CAAC,CAAK,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAY,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAQ,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,KAAK,aAAa,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,KAAK,QAAQ,CAAC,CAAM,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,CAAC,CAAQ,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,KAAK,SAAS,CAAC,CAAK,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,CAAY,OAAO,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,CAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAChD,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,CAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,8DAA8D;AAE9D,MAAM,UAAU,WAAW,CACzB,IAA+B,EAC/B,OAAiB;IAEjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/B,KAAK,EAAE;YACL,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;YAC3D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;YACvE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;YACpD,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;SAC1C;KACF,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAA0B;IACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAYD,SAAS,UAAU,CAAC,IAAe,EAAE,MAAc,EAAE,MAAe;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE1G,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE5G,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAkB,EAAE,EAAU;IAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "doque",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Doque CLI - Manage your projects and tasks from the terminal",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -18,7 +18,12 @@
|
|
|
18
18
|
"engines": {
|
|
19
19
|
"node": ">=20.0.0"
|
|
20
20
|
},
|
|
21
|
-
"keywords": [
|
|
21
|
+
"keywords": [
|
|
22
|
+
"cli",
|
|
23
|
+
"doque",
|
|
24
|
+
"project-management",
|
|
25
|
+
"task-management"
|
|
26
|
+
],
|
|
22
27
|
"license": "MIT",
|
|
23
28
|
"author": "rn00n",
|
|
24
29
|
"repository": {
|
|
@@ -33,7 +38,24 @@
|
|
|
33
38
|
"ora": "^8.2.0"
|
|
34
39
|
},
|
|
35
40
|
"devDependencies": {
|
|
41
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
42
|
+
"@semantic-release/git": "^10.0.1",
|
|
36
43
|
"@types/node": "^20.0.0",
|
|
44
|
+
"semantic-release": "^25.0.3",
|
|
37
45
|
"typescript": "^5.7.0"
|
|
46
|
+
},
|
|
47
|
+
"release": {
|
|
48
|
+
"branches": ["main"],
|
|
49
|
+
"plugins": [
|
|
50
|
+
"@semantic-release/commit-analyzer",
|
|
51
|
+
"@semantic-release/release-notes-generator",
|
|
52
|
+
"@semantic-release/changelog",
|
|
53
|
+
"@semantic-release/npm",
|
|
54
|
+
["@semantic-release/git", {
|
|
55
|
+
"assets": ["package.json", "CHANGELOG.md"],
|
|
56
|
+
"message": "chore(release): ${nextRelease.version}"
|
|
57
|
+
}],
|
|
58
|
+
"@semantic-release/github"
|
|
59
|
+
]
|
|
38
60
|
}
|
|
39
61
|
}
|