jirallm 0.4.0 → 0.6.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.
Files changed (240) hide show
  1. package/dist/cli/commands/assign.d.ts.map +1 -1
  2. package/dist/cli/commands/assign.js +23 -21
  3. package/dist/cli/commands/assign.js.map +1 -1
  4. package/dist/cli/commands/assign.test.js +78 -13
  5. package/dist/cli/commands/assign.test.js.map +1 -1
  6. package/dist/cli/commands/attach.d.ts +3 -2
  7. package/dist/cli/commands/attach.d.ts.map +1 -1
  8. package/dist/cli/commands/attach.js +110 -14
  9. package/dist/cli/commands/attach.js.map +1 -1
  10. package/dist/cli/commands/attach.test.js +135 -10
  11. package/dist/cli/commands/attach.test.js.map +1 -1
  12. package/dist/cli/commands/auth.d.ts.map +1 -1
  13. package/dist/cli/commands/auth.js +5 -3
  14. package/dist/cli/commands/auth.js.map +1 -1
  15. package/dist/cli/commands/auth.test.d.ts +2 -0
  16. package/dist/cli/commands/auth.test.d.ts.map +1 -0
  17. package/dist/cli/commands/auth.test.js +191 -0
  18. package/dist/cli/commands/auth.test.js.map +1 -0
  19. package/dist/cli/commands/board.d.ts +1 -1
  20. package/dist/cli/commands/board.d.ts.map +1 -1
  21. package/dist/cli/commands/board.js +23 -7
  22. package/dist/cli/commands/board.js.map +1 -1
  23. package/dist/cli/commands/board.test.d.ts +2 -0
  24. package/dist/cli/commands/board.test.d.ts.map +1 -0
  25. package/dist/cli/commands/board.test.js +106 -0
  26. package/dist/cli/commands/board.test.js.map +1 -0
  27. package/dist/cli/commands/boards.d.ts +1 -1
  28. package/dist/cli/commands/boards.d.ts.map +1 -1
  29. package/dist/cli/commands/boards.js +19 -3
  30. package/dist/cli/commands/boards.js.map +1 -1
  31. package/dist/cli/commands/boards.test.js +78 -5
  32. package/dist/cli/commands/boards.test.js.map +1 -1
  33. package/dist/cli/commands/comment.d.ts +13 -3
  34. package/dist/cli/commands/comment.d.ts.map +1 -1
  35. package/dist/cli/commands/comment.js +97 -16
  36. package/dist/cli/commands/comment.js.map +1 -1
  37. package/dist/cli/commands/comment.test.d.ts +2 -0
  38. package/dist/cli/commands/comment.test.d.ts.map +1 -0
  39. package/dist/cli/commands/comment.test.js +170 -0
  40. package/dist/cli/commands/comment.test.js.map +1 -0
  41. package/dist/cli/commands/components.d.ts +1 -1
  42. package/dist/cli/commands/components.d.ts.map +1 -1
  43. package/dist/cli/commands/components.js +27 -15
  44. package/dist/cli/commands/components.js.map +1 -1
  45. package/dist/cli/commands/components.test.js +40 -5
  46. package/dist/cli/commands/components.test.js.map +1 -1
  47. package/dist/cli/commands/create.d.ts +1 -1
  48. package/dist/cli/commands/create.d.ts.map +1 -1
  49. package/dist/cli/commands/create.js +20 -7
  50. package/dist/cli/commands/create.js.map +1 -1
  51. package/dist/cli/commands/create.test.js +92 -13
  52. package/dist/cli/commands/create.test.js.map +1 -1
  53. package/dist/cli/commands/doctor.d.ts +2 -0
  54. package/dist/cli/commands/doctor.d.ts.map +1 -1
  55. package/dist/cli/commands/doctor.js +43 -15
  56. package/dist/cli/commands/doctor.js.map +1 -1
  57. package/dist/cli/commands/doctor.test.d.ts +2 -0
  58. package/dist/cli/commands/doctor.test.d.ts.map +1 -0
  59. package/dist/cli/commands/doctor.test.js +271 -0
  60. package/dist/cli/commands/doctor.test.js.map +1 -0
  61. package/dist/cli/commands/edit.d.ts.map +1 -1
  62. package/dist/cli/commands/edit.js +19 -6
  63. package/dist/cli/commands/edit.js.map +1 -1
  64. package/dist/cli/commands/edit.test.js +76 -3
  65. package/dist/cli/commands/edit.test.js.map +1 -1
  66. package/dist/cli/commands/fields.d.ts +1 -1
  67. package/dist/cli/commands/fields.d.ts.map +1 -1
  68. package/dist/cli/commands/fields.js +9 -3
  69. package/dist/cli/commands/fields.js.map +1 -1
  70. package/dist/cli/commands/fields.test.js +72 -7
  71. package/dist/cli/commands/fields.test.js.map +1 -1
  72. package/dist/cli/commands/init.d.ts +9 -1
  73. package/dist/cli/commands/init.d.ts.map +1 -1
  74. package/dist/cli/commands/init.js +109 -6
  75. package/dist/cli/commands/init.js.map +1 -1
  76. package/dist/cli/commands/init.test.d.ts +2 -0
  77. package/dist/cli/commands/init.test.d.ts.map +1 -0
  78. package/dist/cli/commands/init.test.js +272 -0
  79. package/dist/cli/commands/init.test.js.map +1 -0
  80. package/dist/cli/commands/issuetypes.d.ts +1 -1
  81. package/dist/cli/commands/issuetypes.d.ts.map +1 -1
  82. package/dist/cli/commands/issuetypes.js +5 -3
  83. package/dist/cli/commands/issuetypes.js.map +1 -1
  84. package/dist/cli/commands/issuetypes.test.js +39 -7
  85. package/dist/cli/commands/issuetypes.test.js.map +1 -1
  86. package/dist/cli/commands/link.d.ts +2 -1
  87. package/dist/cli/commands/link.d.ts.map +1 -1
  88. package/dist/cli/commands/link.js +116 -14
  89. package/dist/cli/commands/link.js.map +1 -1
  90. package/dist/cli/commands/link.test.js +178 -4
  91. package/dist/cli/commands/link.test.js.map +1 -1
  92. package/dist/cli/commands/linktypes.js +2 -2
  93. package/dist/cli/commands/linktypes.js.map +1 -1
  94. package/dist/cli/commands/linktypes.test.js +15 -4
  95. package/dist/cli/commands/linktypes.test.js.map +1 -1
  96. package/dist/cli/commands/me.js +2 -2
  97. package/dist/cli/commands/me.js.map +1 -1
  98. package/dist/cli/commands/me.test.js +20 -3
  99. package/dist/cli/commands/me.test.js.map +1 -1
  100. package/dist/cli/commands/orgs.d.ts +13 -5
  101. package/dist/cli/commands/orgs.d.ts.map +1 -1
  102. package/dist/cli/commands/orgs.js +68 -37
  103. package/dist/cli/commands/orgs.js.map +1 -1
  104. package/dist/cli/commands/orgs.test.d.ts +2 -0
  105. package/dist/cli/commands/orgs.test.d.ts.map +1 -0
  106. package/dist/cli/commands/orgs.test.js +230 -0
  107. package/dist/cli/commands/orgs.test.js.map +1 -0
  108. package/dist/cli/commands/projects.js +2 -2
  109. package/dist/cli/commands/projects.js.map +1 -1
  110. package/dist/cli/commands/projects.test.js +24 -3
  111. package/dist/cli/commands/projects.test.js.map +1 -1
  112. package/dist/cli/commands/search.d.ts +1 -1
  113. package/dist/cli/commands/search.d.ts.map +1 -1
  114. package/dist/cli/commands/search.js +4 -4
  115. package/dist/cli/commands/search.js.map +1 -1
  116. package/dist/cli/commands/search.test.js +28 -4
  117. package/dist/cli/commands/search.test.js.map +1 -1
  118. package/dist/cli/commands/setup.d.ts +2 -0
  119. package/dist/cli/commands/setup.d.ts.map +1 -1
  120. package/dist/cli/commands/setup.js +53 -7
  121. package/dist/cli/commands/setup.js.map +1 -1
  122. package/dist/cli/commands/setup.test.d.ts +2 -0
  123. package/dist/cli/commands/setup.test.d.ts.map +1 -0
  124. package/dist/cli/commands/setup.test.js +274 -0
  125. package/dist/cli/commands/setup.test.js.map +1 -0
  126. package/dist/cli/commands/sprints.js +2 -2
  127. package/dist/cli/commands/sprints.js.map +1 -1
  128. package/dist/cli/commands/sprints.test.js +17 -5
  129. package/dist/cli/commands/sprints.test.js.map +1 -1
  130. package/dist/cli/commands/transition.d.ts +1 -0
  131. package/dist/cli/commands/transition.d.ts.map +1 -1
  132. package/dist/cli/commands/transition.js +13 -16
  133. package/dist/cli/commands/transition.js.map +1 -1
  134. package/dist/cli/commands/transition.test.d.ts +2 -0
  135. package/dist/cli/commands/transition.test.d.ts.map +1 -0
  136. package/dist/cli/commands/transition.test.js +100 -0
  137. package/dist/cli/commands/transition.test.js.map +1 -0
  138. package/dist/cli/commands/upgrade.d.ts +1 -0
  139. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  140. package/dist/cli/commands/upgrade.js +10 -5
  141. package/dist/cli/commands/upgrade.js.map +1 -1
  142. package/dist/cli/commands/upgrade.test.js +22 -0
  143. package/dist/cli/commands/upgrade.test.js.map +1 -1
  144. package/dist/cli/commands/watchers.d.ts.map +1 -1
  145. package/dist/cli/commands/watchers.js +17 -10
  146. package/dist/cli/commands/watchers.js.map +1 -1
  147. package/dist/cli/commands/watchers.test.js +69 -9
  148. package/dist/cli/commands/watchers.test.js.map +1 -1
  149. package/dist/cli/commands/worklog.d.ts +3 -0
  150. package/dist/cli/commands/worklog.d.ts.map +1 -1
  151. package/dist/cli/commands/worklog.js +63 -21
  152. package/dist/cli/commands/worklog.js.map +1 -1
  153. package/dist/cli/commands/worklog.test.js +54 -0
  154. package/dist/cli/commands/worklog.test.js.map +1 -1
  155. package/dist/cli/confirm.d.ts +7 -0
  156. package/dist/cli/confirm.d.ts.map +1 -0
  157. package/dist/cli/confirm.js +27 -0
  158. package/dist/cli/confirm.js.map +1 -0
  159. package/dist/cli/confirm.test.d.ts +2 -0
  160. package/dist/cli/confirm.test.d.ts.map +1 -0
  161. package/dist/cli/confirm.test.js +67 -0
  162. package/dist/cli/confirm.test.js.map +1 -0
  163. package/dist/cli/index.d.ts +2 -1
  164. package/dist/cli/index.d.ts.map +1 -1
  165. package/dist/cli/index.js +701 -624
  166. package/dist/cli/index.js.map +1 -1
  167. package/dist/cli/index.test.d.ts +2 -0
  168. package/dist/cli/index.test.d.ts.map +1 -0
  169. package/dist/cli/index.test.js +490 -0
  170. package/dist/cli/index.test.js.map +1 -0
  171. package/dist/cli/resolveOrg.d.ts +1 -0
  172. package/dist/cli/resolveOrg.d.ts.map +1 -1
  173. package/dist/cli/resolveOrg.js +36 -1
  174. package/dist/cli/resolveOrg.js.map +1 -1
  175. package/dist/cli/resolveOrg.test.d.ts +2 -0
  176. package/dist/cli/resolveOrg.test.d.ts.map +1 -0
  177. package/dist/cli/resolveOrg.test.js +76 -0
  178. package/dist/cli/resolveOrg.test.js.map +1 -0
  179. package/dist/cli/resolveUser.d.ts +28 -0
  180. package/dist/cli/resolveUser.d.ts.map +1 -0
  181. package/dist/cli/resolveUser.js +60 -0
  182. package/dist/cli/resolveUser.js.map +1 -0
  183. package/dist/cli/resolveUser.test.d.ts +2 -0
  184. package/dist/cli/resolveUser.test.d.ts.map +1 -0
  185. package/dist/cli/resolveUser.test.js +91 -0
  186. package/dist/cli/resolveUser.test.js.map +1 -0
  187. package/dist/index.d.ts +2 -2
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +1 -1
  190. package/dist/index.js.map +1 -1
  191. package/dist/lib/config.d.ts +10 -1
  192. package/dist/lib/config.d.ts.map +1 -1
  193. package/dist/lib/config.js +28 -6
  194. package/dist/lib/config.js.map +1 -1
  195. package/dist/lib/config.test.js +114 -3
  196. package/dist/lib/config.test.js.map +1 -1
  197. package/dist/lib/configSchema.d.ts +0 -2
  198. package/dist/lib/configSchema.d.ts.map +1 -1
  199. package/dist/lib/configSchema.js +0 -1
  200. package/dist/lib/configSchema.js.map +1 -1
  201. package/dist/lib/credentials.d.ts +1 -0
  202. package/dist/lib/credentials.d.ts.map +1 -1
  203. package/dist/lib/credentials.js +22 -1
  204. package/dist/lib/credentials.js.map +1 -1
  205. package/dist/lib/credentials.test.js +52 -1
  206. package/dist/lib/credentials.test.js.map +1 -1
  207. package/dist/lib/exporter.d.ts +0 -1
  208. package/dist/lib/exporter.d.ts.map +1 -1
  209. package/dist/lib/exporter.js +15 -16
  210. package/dist/lib/exporter.js.map +1 -1
  211. package/dist/lib/exporter.test.js +144 -7
  212. package/dist/lib/exporter.test.js.map +1 -1
  213. package/dist/lib/jiraClient.d.ts +35 -3
  214. package/dist/lib/jiraClient.d.ts.map +1 -1
  215. package/dist/lib/jiraClient.discovery.test.js +169 -0
  216. package/dist/lib/jiraClient.discovery.test.js.map +1 -1
  217. package/dist/lib/jiraClient.js +50 -5
  218. package/dist/lib/jiraClient.js.map +1 -1
  219. package/dist/lib/jiraClient.test.js +322 -2
  220. package/dist/lib/jiraClient.test.js.map +1 -1
  221. package/dist/lib/jiraClient.write.test.js +284 -1
  222. package/dist/lib/jiraClient.write.test.js.map +1 -1
  223. package/dist/lib/platform.test.d.ts +2 -0
  224. package/dist/lib/platform.test.d.ts.map +1 -0
  225. package/dist/lib/platform.test.js +161 -0
  226. package/dist/lib/platform.test.js.map +1 -0
  227. package/dist/lib/runCommand.test.d.ts +2 -0
  228. package/dist/lib/runCommand.test.d.ts.map +1 -0
  229. package/dist/lib/runCommand.test.js +95 -0
  230. package/dist/lib/runCommand.test.js.map +1 -0
  231. package/dist/lib/worklog.d.ts.map +1 -1
  232. package/dist/lib/worklog.js +3 -2
  233. package/dist/lib/worklog.js.map +1 -1
  234. package/dist/lib/worklog.test.js +11 -0
  235. package/dist/lib/worklog.test.js.map +1 -1
  236. package/package.json +7 -6
  237. package/dist/lib/videoFrameExtractor.d.ts +0 -22
  238. package/dist/lib/videoFrameExtractor.d.ts.map +0 -1
  239. package/dist/lib/videoFrameExtractor.js +0 -234
  240. package/dist/lib/videoFrameExtractor.js.map +0 -1
@@ -4,7 +4,10 @@ import { JiraClient } from '../../lib/jiraClient.js';
4
4
  import { markdownToWiki } from '../../lib/markdownToWiki.js';
5
5
  import { resolveOrg } from '../resolveOrg.js';
6
6
  import { validateAll, formatStartedForJira, formatDurationHuman, } from '../../lib/worklog.js';
7
- export async function runWorklog(opts) {
7
+ function readEntries(opts) {
8
+ if (opts.issueKey && opts.duration) {
9
+ return [{ issueKey: opts.issueKey, duration: opts.duration }];
10
+ }
8
11
  const raw = opts.file ? readFileSync(opts.file, 'utf-8') : readFileSync(0, 'utf-8');
9
12
  if (!raw.trim())
10
13
  throw new Error('Empty input.');
@@ -21,7 +24,14 @@ export async function runWorklog(opts) {
21
24
  if (parsed.length === 0) {
22
25
  throw new Error('No worklog entries provided.');
23
26
  }
24
- console.log(`Validating ${parsed.length} worklog entr${parsed.length === 1 ? 'y' : 'ies'}...`);
27
+ return parsed;
28
+ }
29
+ export async function runWorklog(opts) {
30
+ const json = opts.json ?? false;
31
+ const parsed = readEntries(opts);
32
+ if (!json) {
33
+ console.log(`Validating ${parsed.length} worklog entr${parsed.length === 1 ? 'y' : 'ies'}...`);
34
+ }
25
35
  const { valid, errors } = validateAll(parsed);
26
36
  const resolved = [];
27
37
  for (const v of valid) {
@@ -34,15 +44,22 @@ export async function runWorklog(opts) {
34
44
  }
35
45
  }
36
46
  if (errors.length > 0) {
37
- console.error(`Validation failed for ${errors.length} entr${errors.length === 1 ? 'y' : 'ies'}:`);
38
- for (const e of errors.sort((a, b) => a.index - b.index)) {
39
- console.error(` [${e.index}] ${e.message}`);
47
+ if (json) {
48
+ console.log(JSON.stringify({ ok: false, errors: errors.sort((a, b) => a.index - b.index) }, null, 2));
49
+ }
50
+ else {
51
+ console.error(`Validation failed for ${errors.length} entr${errors.length === 1 ? 'y' : 'ies'}:`);
52
+ for (const e of errors.sort((a, b) => a.index - b.index)) {
53
+ console.error(` [${e.index}] ${e.message}`);
54
+ }
40
55
  }
41
56
  throw new Error('Aborting — fix validation errors and retry.');
42
57
  }
43
- console.log(` ✓ ${resolved.length}/${parsed.length} valid`);
44
- console.log('');
45
- console.log(`Posting ${resolved.length} worklog(s)...`);
58
+ if (!json) {
59
+ console.log(` ✓ ${resolved.length}/${parsed.length} valid`);
60
+ console.log('');
61
+ console.log(`Posting ${resolved.length} worklog(s)...`);
62
+ }
46
63
  const clientCache = new Map();
47
64
  const getClient = async (org, projectKey) => {
48
65
  const cached = clientCache.get(org);
@@ -53,7 +70,9 @@ export async function runWorklog(opts) {
53
70
  clientCache.set(org, client);
54
71
  return client;
55
72
  };
56
- const results = [];
73
+ const jsonEntries = [];
74
+ let okCount = 0;
75
+ let failCount = 0;
57
76
  for (const entry of resolved.sort((a, b) => a.index - b.index)) {
58
77
  const started = formatStartedForJira(entry.started);
59
78
  const commentBody = entry.description
@@ -62,9 +81,20 @@ export async function runWorklog(opts) {
62
81
  : markdownToWiki(entry.description)
63
82
  : undefined;
64
83
  const human = formatDurationHuman(entry.durationSeconds);
84
+ const base = {
85
+ index: entry.index,
86
+ org: entry.resolvedOrg,
87
+ issueKey: entry.issueKey,
88
+ durationSeconds: entry.durationSeconds,
89
+ started,
90
+ comment: commentBody,
91
+ };
65
92
  if (opts.dryRun) {
66
- console.log(` • [${entry.index}] ${entry.resolvedOrg}/${entry.issueKey} ${human} started=${started}` +
67
- (commentBody ? ` comment="${commentBody.slice(0, 60).replace(/\n/g, ' ')}${commentBody.length > 60 ? '…' : ''}"` : ''));
93
+ jsonEntries.push(base);
94
+ if (!json) {
95
+ console.log(` • [${entry.index}] ${entry.resolvedOrg}/${entry.issueKey} ${human} started=${started}` +
96
+ (commentBody ? ` comment="${commentBody.slice(0, 60).replace(/\n/g, ' ')}${commentBody.length > 60 ? '…' : ''}"` : ''));
97
+ }
68
98
  continue;
69
99
  }
70
100
  try {
@@ -75,24 +105,36 @@ export async function runWorklog(opts) {
75
105
  comment: commentBody,
76
106
  visibility: entry.visibility,
77
107
  });
78
- console.log(` ✓ [${entry.index}] ${entry.issueKey} ${human} (id=${res.id})`);
79
- results.push({ entry, ok: true, id: res.id });
108
+ okCount++;
109
+ jsonEntries.push({ ...base, ok: true, id: res.id });
110
+ if (!json)
111
+ console.log(` ✓ [${entry.index}] ${entry.issueKey} ${human} (id=${res.id})`);
80
112
  }
81
113
  catch (err) {
82
114
  const message = err.message;
83
- console.log(` ✗ [${entry.index}] ${entry.issueKey} ${human} failed: ${message.split('\n')[0]}`);
84
- results.push({ entry, ok: false, error: message });
115
+ failCount++;
116
+ jsonEntries.push({ ...base, ok: false, error: message });
117
+ if (!json)
118
+ console.log(` ✗ [${entry.index}] ${entry.issueKey} ${human} failed: ${message.split('\n')[0]}`);
85
119
  }
86
120
  }
87
121
  if (opts.dryRun) {
88
- console.log('');
89
- console.log('(dry-run no worklogs posted)');
122
+ if (json) {
123
+ console.log(JSON.stringify({ ok: true, dryRun: true, worklogs: jsonEntries }, null, 2));
124
+ }
125
+ else {
126
+ console.log('');
127
+ console.log('(dry-run — no worklogs posted)');
128
+ }
90
129
  return;
91
130
  }
92
- const okCount = results.filter((r) => r.ok).length;
93
- const failCount = results.length - okCount;
94
- console.log('');
95
- console.log(`Summary: ${okCount} posted, ${failCount} failed.`);
131
+ if (json) {
132
+ console.log(JSON.stringify({ ok: failCount === 0, dryRun: false, worklogs: jsonEntries, summary: { posted: okCount, failed: failCount } }, null, 2));
133
+ }
134
+ else {
135
+ console.log('');
136
+ console.log(`Summary: ${okCount} posted, ${failCount} failed.`);
137
+ }
96
138
  if (failCount > 0) {
97
139
  process.exitCode = 1;
98
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worklog.js","sourceRoot":"","sources":["../../../src/cli/commands/worklog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAC;AAW9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAoB;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAEjD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iBAAkB,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IAC/F,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAClG,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAClD,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAE,UAAkB,EAAuB,EAAE;QAC/E,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAGF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW;YACnC,CAAC,CAAC,IAAI,CAAC,MAAM;gBACX,CAAC,CAAC,KAAK,CAAC,WAAW;gBACnB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CACT,QAAQ,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,aAAa,OAAO,EAAE;gBACzF,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1H,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClD,OAAO;gBACP,gBAAgB,EAAE,KAAK,CAAC,eAAe;gBACvC,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,KAAK,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,KAAK,aAAa,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,YAAY,SAAS,UAAU,CAAC,CAAC;IAChE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"worklog.js","sourceRoot":"","sources":["../../../src/cli/commands/worklog.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,60 @@ describe('runWorklog (live posting)', () => {
174
174
  expect(loadProfileMock).toHaveBeenCalledTimes(1);
175
175
  });
176
176
  });
177
+ describe('runWorklog positional quick-log', () => {
178
+ it('builds a single-entry array from issueKey + duration (dry-run)', async () => {
179
+ setStdin('');
180
+ await runWorklog({ org: 'solo', issueKey: 'PROJ-9', duration: '45m', dryRun: true });
181
+ expect(addWorklogMock).not.toHaveBeenCalled();
182
+ expect(logs.join('\n')).toMatch(/1\/1 valid/);
183
+ expect(logs.join('\n')).toMatch(/PROJ-9.*45m/);
184
+ });
185
+ it('posts the quick-log entry live', async () => {
186
+ addWorklogMock.mockResolvedValueOnce({ id: '900', issueId: '9' });
187
+ setStdin('');
188
+ await runWorklog({ org: 'solo', issueKey: 'PROJ-9', duration: '1h' });
189
+ expect(addWorklogMock).toHaveBeenCalledTimes(1);
190
+ const [key, payload] = addWorklogMock.mock.calls[0];
191
+ expect(key).toBe('PROJ-9');
192
+ expect(payload.timeSpentSeconds).toBe(3600);
193
+ expect(logs.join('\n')).toMatch(/Summary: 1 posted, 0 failed/);
194
+ });
195
+ });
196
+ describe('runWorklog --json', () => {
197
+ it('emits dry-run JSON shape', async () => {
198
+ setStdin(JSON.stringify([{ issueKey: 'PROJ-1', startTime: '2026-05-23T09:00:00Z', duration: '1h' }]));
199
+ await runWorklog({ org: 'solo', dryRun: true, json: true });
200
+ expect(addWorklogMock).not.toHaveBeenCalled();
201
+ const out = JSON.parse(logs.join('\n'));
202
+ expect(out.dryRun).toBe(true);
203
+ expect(out.ok).toBe(true);
204
+ expect(out.worklogs).toHaveLength(1);
205
+ expect(out.worklogs[0]).toMatchObject({
206
+ index: 0,
207
+ org: 'solo',
208
+ issueKey: 'PROJ-1',
209
+ durationSeconds: 3600,
210
+ });
211
+ expect(out.worklogs[0].started).toMatch(/^\d{4}-\d{2}-\d{2}T/);
212
+ });
213
+ it('emits live JSON shape with summary', async () => {
214
+ addWorklogMock.mockResolvedValueOnce({ id: '100', issueId: '1' });
215
+ setStdin(JSON.stringify([{ issueKey: 'PROJ-1', startTime: '2026-05-23T09:00:00Z', duration: '1h' }]));
216
+ await runWorklog({ org: 'solo', json: true });
217
+ const out = JSON.parse(logs.join('\n'));
218
+ expect(out.dryRun).toBe(false);
219
+ expect(out.ok).toBe(true);
220
+ expect(out.summary).toEqual({ posted: 1, failed: 0 });
221
+ expect(out.worklogs[0]).toMatchObject({ ok: true, id: '100', issueKey: 'PROJ-1' });
222
+ });
223
+ it('emits validation errors as JSON and aborts', async () => {
224
+ setStdin(JSON.stringify([{ issueKey: 'bad-key!', duration: '30m' }]));
225
+ await expect(runWorklog({ org: 'solo', json: true })).rejects.toThrow(/Aborting/);
226
+ const out = JSON.parse(logs.join('\n'));
227
+ expect(out.ok).toBe(false);
228
+ expect(out.errors[0].index).toBe(0);
229
+ });
230
+ });
177
231
  describe('runWorklog input handling', () => {
178
232
  it('rejects empty input', async () => {
179
233
  setStdin('');
@@ -1 +1 @@
1
- {"version":3,"file":"worklog.test.js","sourceRoot":"","sources":["../../../src/cli/commands/worklog.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worklog.test.js","sourceRoot":"","sources":["../../../src/cli/commands/worklog.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAsB,IAAI,CAAC,CAAC;IAChE,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAW,EAAE,GAAY,EAAE,EAAE;YAChD,IAAI,EAAE,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;YAChC,OAAO,MAAM,CAAC,YAAY,CAAC,EAAW,EAAE,GAAY,CAAC,CAAC;QACxD,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,KAAK,EAAE;QAChE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,UAAkB,EAAE,EAAE;QACjD,IAAI,UAAU,KAAK,OAAO;YAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC/B,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE;QACV,UAAU,GAAG,cAAc,CAAC;KAC7B;CACF,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,IAAI,IAAc,CAAC;AACnB,IAAI,IAAc,CAAC;AACnB,IAAI,gBAAoD,CAAC;AAEzD,SAAS,cAAc;IACrB,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,GAAG,EAAE,CAAC;IACV,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE;QACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE;QACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,UAAU,GAAG,KAAK,CAAC;AACrB,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,cAAc,EAAE,CAAC;IACjB,cAAc,CAAC,SAAS,EAAE,CAAC;IAC3B,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IACpC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACrB,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,EAAE;SAC3F,CAAC,CACH,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC3D,CAAC,CACH,CAAC;QACF,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpF,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5F,CAAC;QACF,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAC7F,CAAC;QACF,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;SAChF,CAAC,CACH,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE;YAClG,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,EAAE;SAC3F,CAAC,CACH,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB;QAC3D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;QAE1F,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QAEzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE;SACnG,CAAC,CACH,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,cAAc,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACjE,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1E,CAAC,CACH,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb;gBACE,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,sBAAsB;gBACjC,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE;aAClD;SACF,CAAC,CACH,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YACzD,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,eAAe,CAAC,SAAS,EAAE,CAAC;QAC5B,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC;YACb,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1E,CAAC,CACH,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5F,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACpC,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,MAAM;YACX,QAAQ,EAAE,QAAQ;YAClB,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,QAAQ,CACN,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5F,CAAC;QACF,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrB,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ type ConfirmOptions = {
2
+ yes?: boolean;
3
+ };
4
+ export declare function confirmOrAbort(message: string, opts?: ConfirmOptions): Promise<boolean>;
5
+ export declare function typedNameConfirm(expected: string, opts?: ConfirmOptions): Promise<boolean>;
6
+ export {};
7
+ //# sourceMappingURL=confirm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.d.ts","sourceRoot":"","sources":["../../src/cli/confirm.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAExC,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQjG;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAapG"}
@@ -0,0 +1,27 @@
1
+ import { confirm, text, isCancel } from '@clack/prompts';
2
+ export async function confirmOrAbort(message, opts = {}) {
3
+ if (opts.yes)
4
+ return true;
5
+ if (!process.stdin.isTTY) {
6
+ throw new Error('Confirmation required but no interactive terminal available. Pass --yes to proceed.');
7
+ }
8
+ const answer = await confirm({ message, initialValue: false });
9
+ if (isCancel(answer))
10
+ return false;
11
+ return answer === true;
12
+ }
13
+ export async function typedNameConfirm(expected, opts = {}) {
14
+ if (opts.yes)
15
+ return true;
16
+ if (!process.stdin.isTTY) {
17
+ throw new Error(`Confirmation required but no interactive terminal available. Pass --yes to proceed.`);
18
+ }
19
+ const answer = await text({
20
+ message: `Type "${expected}" to confirm:`,
21
+ validate: (v) => (v === expected ? undefined : 'Does not match — aborting if left empty.'),
22
+ });
23
+ if (isCancel(answer))
24
+ return false;
25
+ return answer === expected;
26
+ }
27
+ //# sourceMappingURL=confirm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.js","sourceRoot":"","sources":["../../src/cli/confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAIzD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,OAAuB,EAAE;IAC7E,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAuB,EAAE;IAChF,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;QACxB,OAAO,EAAE,SAAS,QAAQ,eAAe;QACzC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0CAA0C,CAAC;KAC3F,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,MAAM,KAAK,QAAQ,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=confirm.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.test.d.ts","sourceRoot":"","sources":["../../src/cli/confirm.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
2
+ const { confirmMock, textMock } = vi.hoisted(() => ({
3
+ confirmMock: vi.fn(),
4
+ textMock: vi.fn(),
5
+ }));
6
+ vi.mock('@clack/prompts', () => ({
7
+ confirm: confirmMock,
8
+ text: textMock,
9
+ isCancel: (v) => typeof v === 'symbol',
10
+ }));
11
+ import { confirmOrAbort, typedNameConfirm } from './confirm.js';
12
+ const originalIsTTY = process.stdin.isTTY;
13
+ function setTTY(value) {
14
+ Object.defineProperty(process.stdin, 'isTTY', { value, configurable: true });
15
+ }
16
+ beforeEach(() => {
17
+ confirmMock.mockReset();
18
+ textMock.mockReset();
19
+ });
20
+ afterEach(() => {
21
+ Object.defineProperty(process.stdin, 'isTTY', { value: originalIsTTY, configurable: true });
22
+ });
23
+ describe('confirmOrAbort', () => {
24
+ it('bypasses to true with --yes', async () => {
25
+ expect(await confirmOrAbort('sure?', { yes: true })).toBe(true);
26
+ expect(confirmMock).not.toHaveBeenCalled();
27
+ });
28
+ it('throws in non-TTY without --yes', async () => {
29
+ setTTY(false);
30
+ await expect(confirmOrAbort('sure?')).rejects.toThrow(/--yes/);
31
+ });
32
+ it('returns the prompt answer in TTY', async () => {
33
+ setTTY(true);
34
+ confirmMock.mockResolvedValue(true);
35
+ expect(await confirmOrAbort('sure?')).toBe(true);
36
+ confirmMock.mockResolvedValue(false);
37
+ expect(await confirmOrAbort('sure?')).toBe(false);
38
+ });
39
+ it('returns false on cancel', async () => {
40
+ setTTY(true);
41
+ confirmMock.mockResolvedValue(Symbol('cancel'));
42
+ expect(await confirmOrAbort('sure?')).toBe(false);
43
+ });
44
+ });
45
+ describe('typedNameConfirm', () => {
46
+ it('bypasses to true with --yes', async () => {
47
+ expect(await typedNameConfirm('acme', { yes: true })).toBe(true);
48
+ expect(textMock).not.toHaveBeenCalled();
49
+ });
50
+ it('throws in non-TTY without --yes', async () => {
51
+ setTTY(false);
52
+ await expect(typedNameConfirm('acme')).rejects.toThrow(/--yes/);
53
+ });
54
+ it('returns true only when typed name matches', async () => {
55
+ setTTY(true);
56
+ textMock.mockResolvedValue('acme');
57
+ expect(await typedNameConfirm('acme')).toBe(true);
58
+ textMock.mockResolvedValue('nope');
59
+ expect(await typedNameConfirm('acme')).toBe(false);
60
+ });
61
+ it('returns false on cancel', async () => {
62
+ setTTY(true);
63
+ textMock.mockResolvedValue(Symbol('cancel'));
64
+ expect(await typedNameConfirm('acme')).toBe(false);
65
+ });
66
+ });
67
+ //# sourceMappingURL=confirm.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.test.js","sourceRoot":"","sources":["../../src/cli/confirm.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import { Command } from 'commander';
3
+ export declare function buildProgram(): Command;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAgN5C,wBAAgB,YAAY,IAAI,OAAO,CAq8BtC"}