@alejandrochaves/devflow-cli 0.5.0 → 0.7.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/README.md +49 -0
- package/dist/commands/comments.d.ts +2 -0
- package/dist/commands/comments.d.ts.map +1 -1
- package/dist/commands/comments.js +126 -33
- package/dist/commands/comments.js.map +1 -1
- package/dist/commands/issue.d.ts +4 -0
- package/dist/commands/issue.d.ts.map +1 -0
- package/dist/commands/issue.js +349 -0
- package/dist/commands/issue.js.map +1 -0
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -198,6 +198,53 @@ devflow comments --number 303
|
|
|
198
198
|
|
|
199
199
|
Requires `gh` CLI.
|
|
200
200
|
|
|
201
|
+
### `devflow issue` (alias: `i`)
|
|
202
|
+
|
|
203
|
+
Create GitHub issues using Scrum-style templates with an interactive flow.
|
|
204
|
+
|
|
205
|
+
**Issue Types:**
|
|
206
|
+
|
|
207
|
+
| Type | Label | Branch Type |
|
|
208
|
+
|------|-------|-------------|
|
|
209
|
+
| User Story | `feature` | `feat/` |
|
|
210
|
+
| Bug | `bug` | `fix/` |
|
|
211
|
+
| Task | `task` | `chore/` |
|
|
212
|
+
| Spike | `spike` | `chore/` |
|
|
213
|
+
| Tech Debt | `tech-debt` | `refactor/` |
|
|
214
|
+
|
|
215
|
+
**Flow:**
|
|
216
|
+
1. Select issue type
|
|
217
|
+
2. Fill in type-specific fields (guided prompts)
|
|
218
|
+
3. Preview the issue
|
|
219
|
+
4. Confirm and create via `gh issue create`
|
|
220
|
+
5. Optionally create a branch and start working
|
|
221
|
+
|
|
222
|
+
**Example:**
|
|
223
|
+
```
|
|
224
|
+
$ devflow issue
|
|
225
|
+
? Select issue type: › User Story
|
|
226
|
+
? As a: › logged-in user
|
|
227
|
+
? I want to: › export my data as CSV
|
|
228
|
+
? So that: › I can use it in spreadsheets
|
|
229
|
+
? Acceptance criteria:
|
|
230
|
+
1. CSV includes all user data
|
|
231
|
+
2. (blank to finish)
|
|
232
|
+
|
|
233
|
+
─── Issue Preview ───
|
|
234
|
+
Type: User Story
|
|
235
|
+
Title: export my data as CSV
|
|
236
|
+
Labels: feature
|
|
237
|
+
|
|
238
|
+
? Create this issue? › Yes
|
|
239
|
+
✓ Issue created: https://github.com/owner/repo/issues/42
|
|
240
|
+
|
|
241
|
+
? Create a branch and start working on this issue? › Yes
|
|
242
|
+
? Short branch description: › export-csv
|
|
243
|
+
✓ Branch created: feat/#42_export-csv
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Requires `gh` CLI.
|
|
247
|
+
|
|
201
248
|
### `devflow stash` (alias: `st`)
|
|
202
249
|
|
|
203
250
|
Named stash management with an interactive interface.
|
|
@@ -340,6 +387,7 @@ eval "$(devflow completions --shell bash)"
|
|
|
340
387
|
| `devflow release` | `devflow rel` |
|
|
341
388
|
| `devflow review` | `devflow rv` |
|
|
342
389
|
| `devflow comments` | `devflow cm` |
|
|
390
|
+
| `devflow issue` | `devflow i` |
|
|
343
391
|
| `devflow stash` | `devflow st` |
|
|
344
392
|
| `devflow worktree` | `devflow wt` |
|
|
345
393
|
| `devflow log` | `devflow l` |
|
|
@@ -361,6 +409,7 @@ devflow fixup --dry-run
|
|
|
361
409
|
devflow merge --dry-run
|
|
362
410
|
devflow cleanup --dry-run
|
|
363
411
|
devflow changelog --dry-run
|
|
412
|
+
devflow issue --dry-run
|
|
364
413
|
```
|
|
365
414
|
|
|
366
415
|
## Configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AA0LA,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4HhB"}
|
|
@@ -3,7 +3,7 @@ import { bold, dim, cyan, yellow, green, magenta, gray } from "../colors.js";
|
|
|
3
3
|
import { checkGhInstalled } from "../git.js";
|
|
4
4
|
function getCurrentPr() {
|
|
5
5
|
try {
|
|
6
|
-
const result = execSync("gh pr view --json number,title
|
|
6
|
+
const result = execSync("gh pr view --json number,title", {
|
|
7
7
|
encoding: "utf-8",
|
|
8
8
|
stdio: ["pipe", "pipe", "ignore"],
|
|
9
9
|
}).trim();
|
|
@@ -26,10 +26,48 @@ function getRepoInfo() {
|
|
|
26
26
|
return undefined;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function getReviewThreads(owner, repo, prNumber) {
|
|
30
|
+
const query = `
|
|
31
|
+
query {
|
|
32
|
+
repository(owner: "${owner}", name: "${repo}") {
|
|
33
|
+
pullRequest(number: ${prNumber}) {
|
|
34
|
+
reviewThreads(first: 100) {
|
|
35
|
+
nodes {
|
|
36
|
+
isResolved
|
|
37
|
+
path
|
|
38
|
+
line
|
|
39
|
+
diffHunk
|
|
40
|
+
comments(first: 20) {
|
|
41
|
+
nodes {
|
|
42
|
+
author { login }
|
|
43
|
+
body
|
|
44
|
+
createdAt
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
30
53
|
try {
|
|
31
|
-
const result = execSync(`gh api
|
|
32
|
-
|
|
54
|
+
const result = execSync(`gh api graphql -f query='${query.replace(/'/g, "'\\''")}'`, {
|
|
55
|
+
encoding: "utf-8",
|
|
56
|
+
stdio: ["pipe", "pipe", "ignore"],
|
|
57
|
+
}).trim();
|
|
58
|
+
const data = JSON.parse(result);
|
|
59
|
+
const threads = data.data.repository.pullRequest.reviewThreads.nodes;
|
|
60
|
+
return threads.map((t) => ({
|
|
61
|
+
isResolved: t.isResolved,
|
|
62
|
+
path: t.path,
|
|
63
|
+
line: t.line,
|
|
64
|
+
diffHunk: t.diffHunk || "",
|
|
65
|
+
comments: t.comments.nodes.map((c) => ({
|
|
66
|
+
author: c.author?.login || "unknown",
|
|
67
|
+
body: c.body,
|
|
68
|
+
createdAt: c.createdAt,
|
|
69
|
+
})),
|
|
70
|
+
}));
|
|
33
71
|
}
|
|
34
72
|
catch {
|
|
35
73
|
return [];
|
|
@@ -58,14 +96,15 @@ function formatState(state) {
|
|
|
58
96
|
return state;
|
|
59
97
|
}
|
|
60
98
|
}
|
|
61
|
-
function formatDiffHunk(hunk) {
|
|
62
|
-
const lines = hunk.split("\n").slice(-4);
|
|
99
|
+
function formatDiffHunk(hunk, resolved) {
|
|
100
|
+
const lines = hunk.split("\n").slice(-4);
|
|
101
|
+
const format = resolved ? dim : (s) => s;
|
|
63
102
|
return lines
|
|
64
103
|
.map((line) => {
|
|
65
104
|
if (line.startsWith("+"))
|
|
66
|
-
return green(` ┃ ${line}`);
|
|
105
|
+
return format(green(` ┃ ${line}`));
|
|
67
106
|
if (line.startsWith("-"))
|
|
68
|
-
return yellow(` ┃ ${line}`);
|
|
107
|
+
return format(yellow(` ┃ ${line}`));
|
|
69
108
|
if (line.startsWith("@@"))
|
|
70
109
|
return dim(` ┃ ${line}`);
|
|
71
110
|
return gray(` ┃ ${line}`);
|
|
@@ -86,6 +125,29 @@ function formatDate(iso) {
|
|
|
86
125
|
return `${diffDays}d ago`;
|
|
87
126
|
return date.toLocaleDateString();
|
|
88
127
|
}
|
|
128
|
+
function renderThread(thread) {
|
|
129
|
+
const resolvedTag = thread.isResolved ? dim(gray(" [resolved]")) : "";
|
|
130
|
+
const lineInfo = thread.line ? `:${thread.line}` : "";
|
|
131
|
+
const firstComment = thread.comments[0];
|
|
132
|
+
console.log(` ${dim(`line${lineInfo}`)} ${dim("·")} ${magenta(`@${firstComment.author}`)} ${dim(formatDate(firstComment.createdAt))}${resolvedTag}`);
|
|
133
|
+
if (thread.diffHunk) {
|
|
134
|
+
console.log(formatDiffHunk(thread.diffHunk, thread.isResolved));
|
|
135
|
+
}
|
|
136
|
+
for (const comment of thread.comments) {
|
|
137
|
+
const bodyLines = comment.body.trim().split("\n");
|
|
138
|
+
const prefix = thread.comments.length > 1 ? `${magenta(`@${comment.author}`)} ` : "";
|
|
139
|
+
for (let i = 0; i < bodyLines.length; i++) {
|
|
140
|
+
const line = thread.isResolved ? dim(bodyLines[i]) : bodyLines[i];
|
|
141
|
+
if (i === 0 && prefix && thread.comments.indexOf(comment) > 0) {
|
|
142
|
+
console.log(` ${dim("│")} ${prefix}${line}`);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
console.log(` ${dim("│")} ${line}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
console.log("");
|
|
150
|
+
}
|
|
89
151
|
export async function commentsCommand(opts) {
|
|
90
152
|
checkGhInstalled();
|
|
91
153
|
const repoInfo = getRepoInfo();
|
|
@@ -108,9 +170,29 @@ export async function commentsCommand(opts) {
|
|
|
108
170
|
prNumber = pr.number;
|
|
109
171
|
prTitle = pr.title;
|
|
110
172
|
}
|
|
173
|
+
// Determine filter mode
|
|
174
|
+
const showResolved = opts.resolved === true;
|
|
175
|
+
const showUnresolved = opts.unresolved === true;
|
|
176
|
+
const showAll = !showResolved && !showUnresolved; // default: show all with distinction
|
|
111
177
|
const reviews = getReviews(repoInfo.owner, repoInfo.repo, prNumber);
|
|
112
|
-
const
|
|
113
|
-
|
|
178
|
+
const allThreads = getReviewThreads(repoInfo.owner, repoInfo.repo, prNumber);
|
|
179
|
+
// Filter threads
|
|
180
|
+
let threads;
|
|
181
|
+
if (showResolved) {
|
|
182
|
+
threads = allThreads.filter((t) => t.isResolved);
|
|
183
|
+
}
|
|
184
|
+
else if (showUnresolved) {
|
|
185
|
+
threads = allThreads.filter((t) => !t.isResolved);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
threads = allThreads;
|
|
189
|
+
}
|
|
190
|
+
const filterLabel = showResolved
|
|
191
|
+
? dim(" (resolved only)")
|
|
192
|
+
: showUnresolved
|
|
193
|
+
? dim(" (unresolved only)")
|
|
194
|
+
: "";
|
|
195
|
+
console.log(`\n${dim("───")} ${cyan(`#${prNumber}`)} ${bold(prTitle)}${filterLabel} ${dim("───")}\n`);
|
|
114
196
|
// Show reviews (top-level)
|
|
115
197
|
const meaningfulReviews = reviews.filter((r) => r.state !== "PENDING");
|
|
116
198
|
if (meaningfulReviews.length > 0) {
|
|
@@ -126,46 +208,57 @@ export async function commentsCommand(opts) {
|
|
|
126
208
|
console.log("");
|
|
127
209
|
}
|
|
128
210
|
}
|
|
129
|
-
// Show
|
|
130
|
-
if (
|
|
131
|
-
|
|
211
|
+
// Show threads grouped by file
|
|
212
|
+
if (threads.length > 0) {
|
|
213
|
+
const unresolvedCount = threads.filter((t) => !t.isResolved).length;
|
|
214
|
+
const resolvedCount = threads.filter((t) => t.isResolved).length;
|
|
215
|
+
const countParts = [];
|
|
216
|
+
if (unresolvedCount > 0)
|
|
217
|
+
countParts.push(yellow(`${unresolvedCount} unresolved`));
|
|
218
|
+
if (resolvedCount > 0)
|
|
219
|
+
countParts.push(dim(`${resolvedCount} resolved`));
|
|
220
|
+
console.log(`${bold("Inline Comments")} ${dim("(")}${countParts.join(dim(", "))}${dim(")")}\n`);
|
|
132
221
|
// Group by file
|
|
133
222
|
const byFile = new Map();
|
|
134
|
-
for (const
|
|
135
|
-
const existing = byFile.get(
|
|
136
|
-
existing.push(
|
|
137
|
-
byFile.set(
|
|
223
|
+
for (const thread of threads) {
|
|
224
|
+
const existing = byFile.get(thread.path) || [];
|
|
225
|
+
existing.push(thread);
|
|
226
|
+
byFile.set(thread.path, existing);
|
|
138
227
|
}
|
|
139
|
-
for (const [file,
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
228
|
+
for (const [file, fileThreads] of byFile) {
|
|
229
|
+
const fileUnresolved = fileThreads.filter((t) => !t.isResolved).length;
|
|
230
|
+
const fileLabel = fileUnresolved > 0 ? ` ${yellow(`(${fileUnresolved} unresolved)`)}` : "";
|
|
231
|
+
console.log(` ${cyan(file)}${fileLabel}`);
|
|
232
|
+
console.log("");
|
|
233
|
+
// Show unresolved first, then resolved
|
|
234
|
+
const sorted = [...fileThreads].sort((a, b) => {
|
|
235
|
+
if (a.isResolved === b.isResolved)
|
|
236
|
+
return 0;
|
|
237
|
+
return a.isResolved ? 1 : -1;
|
|
238
|
+
});
|
|
239
|
+
for (const thread of sorted) {
|
|
240
|
+
renderThread(thread);
|
|
152
241
|
}
|
|
153
242
|
}
|
|
154
243
|
}
|
|
155
|
-
if (meaningfulReviews.length === 0 &&
|
|
244
|
+
if (meaningfulReviews.length === 0 && threads.length === 0) {
|
|
156
245
|
console.log(dim(" No reviews or comments yet."));
|
|
157
246
|
console.log("");
|
|
158
247
|
}
|
|
159
248
|
// Summary
|
|
160
249
|
const approvals = reviews.filter((r) => r.state === "APPROVED").length;
|
|
161
250
|
const changesRequested = reviews.filter((r) => r.state === "CHANGES_REQUESTED").length;
|
|
251
|
+
const unresolvedTotal = allThreads.filter((t) => !t.isResolved).length;
|
|
252
|
+
const resolvedTotal = allThreads.filter((t) => t.isResolved).length;
|
|
162
253
|
const parts = [];
|
|
163
254
|
if (approvals > 0)
|
|
164
255
|
parts.push(green(`${approvals} approval${approvals > 1 ? "s" : ""}`));
|
|
165
256
|
if (changesRequested > 0)
|
|
166
257
|
parts.push(yellow(`${changesRequested} change request${changesRequested > 1 ? "s" : ""}`));
|
|
167
|
-
if (
|
|
168
|
-
parts.push(
|
|
258
|
+
if (unresolvedTotal > 0)
|
|
259
|
+
parts.push(yellow(`${unresolvedTotal} unresolved`));
|
|
260
|
+
if (resolvedTotal > 0)
|
|
261
|
+
parts.push(dim(`${resolvedTotal} resolved`));
|
|
169
262
|
if (parts.length > 0) {
|
|
170
263
|
console.log(`${dim("───")} ${parts.join(dim(" · "))} ${dim("───")}\n`);
|
|
171
264
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AA4B7C,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,gCAAgC,EAAE;YACxD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,gCAAgC,EAAE;YACxD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IACrE,MAAM,KAAK,GAAG;;2BAEW,KAAK,aAAa,IAAI;8BACnB,QAAQ;;;;;;;;;;;;;;;;;;;GAmBnC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,4BAA4B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;YACnF,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;QAErE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS;gBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CACrB,gBAAgB,KAAK,IAAI,IAAI,UAAU,QAAQ,uGAAuG,EACtJ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CACzD,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3B,KAAK,mBAAmB;YACtB,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,QAAiB;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IAE5C,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACrC,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,GAAG,SAAS,OAAO,CAAC;IAC/C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,GAAG,QAAQ,OAAO,CAAC;IAC5C,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,MAAoB;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CACT,KAAK,GAAG,CAAC,OAAO,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,EAAE,CACzI,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAIrC;IACC,gBAAgB,EAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAgB,CAAC;IACrB,IAAI,OAAe,CAAC;IAEpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,GAAG,OAAO,QAAQ,EAAE,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC;QACrB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,CAAC,qCAAqC;IAEvF,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE7E,iBAAiB;IACjB,IAAI,OAAuB,CAAC;IAC5B,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,UAAU,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACzB,CAAC,CAAC,cAAc;YACd,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC3B,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtG,2BAA2B;IAC3B,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACvE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;YACrH,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QAEjE,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,eAAe,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,eAAe,aAAa,CAAC,CAAC,CAAC;QAClF,IAAI,aAAa,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,WAAW,CAAC,CAAC,CAAC;QAEzE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEhG,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;QACjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YACvE,MAAM,SAAS,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,uCAAuC;YACvC,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;oBAAE,OAAO,CAAC,CAAC;gBAC5C,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;gBAC5B,YAAY,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,UAAU;IACV,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,CAAC,MAAM,CAAC;IACvF,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAEpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,YAAY,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzF,IAAI,gBAAgB,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,kBAAkB,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrH,IAAI,eAAe,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,eAAe,aAAa,CAAC,CAAC,CAAC;IAC7E,IAAI,aAAa,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,WAAW,CAAC,CAAC,CAAC;IAEpE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAqRA,wBAAsB,YAAY,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsIpF"}
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
import { select, input, confirm } from "@inquirer/prompts";
|
|
2
|
+
import { execSync } from "child_process";
|
|
3
|
+
import { loadConfig } from "../config.js";
|
|
4
|
+
import { bold, dim, green, cyan, gray } from "../colors.js";
|
|
5
|
+
import { checkGhInstalled } from "../git.js";
|
|
6
|
+
import { setTestPlan } from "../test-plan.js";
|
|
7
|
+
const ISSUE_TYPES = [
|
|
8
|
+
{ value: "user-story", label: "User Story", labelColor: "feature", branchType: "feat" },
|
|
9
|
+
{ value: "bug", label: "Bug", labelColor: "bug", branchType: "fix" },
|
|
10
|
+
{ value: "task", label: "Task", labelColor: "task", branchType: "chore" },
|
|
11
|
+
{ value: "spike", label: "Spike", labelColor: "spike", branchType: "chore" },
|
|
12
|
+
{ value: "tech-debt", label: "Tech Debt", labelColor: "tech-debt", branchType: "refactor" },
|
|
13
|
+
];
|
|
14
|
+
async function collectUserStory() {
|
|
15
|
+
const asA = await input({
|
|
16
|
+
message: "As a:",
|
|
17
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
18
|
+
});
|
|
19
|
+
const iWant = await input({
|
|
20
|
+
message: "I want to:",
|
|
21
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
22
|
+
});
|
|
23
|
+
const soThat = await input({
|
|
24
|
+
message: "So that:",
|
|
25
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
26
|
+
});
|
|
27
|
+
console.log(dim("\nAdd acceptance criteria (one per line). Empty line to finish:\n"));
|
|
28
|
+
const criteria = [];
|
|
29
|
+
let adding = true;
|
|
30
|
+
while (adding) {
|
|
31
|
+
const criterion = await input({
|
|
32
|
+
message: ` ${criteria.length + 1}.${criteria.length > 0 ? " (blank to finish)" : ""}`,
|
|
33
|
+
});
|
|
34
|
+
if (!criterion.trim()) {
|
|
35
|
+
adding = false;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
criteria.push(criterion.trim());
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const notes = await input({
|
|
42
|
+
message: "Additional notes (optional):",
|
|
43
|
+
});
|
|
44
|
+
const title = iWant.trim();
|
|
45
|
+
const body = `## User Story
|
|
46
|
+
|
|
47
|
+
**As a** ${asA.trim()}
|
|
48
|
+
**I want to** ${iWant.trim()}
|
|
49
|
+
**So that** ${soThat.trim()}
|
|
50
|
+
|
|
51
|
+
## Acceptance Criteria
|
|
52
|
+
|
|
53
|
+
${criteria.map((c) => `- [ ] ${c}`).join("\n")}
|
|
54
|
+
${notes.trim() ? `\n## Notes\n\n${notes.trim()}` : ""}`;
|
|
55
|
+
return { title, body };
|
|
56
|
+
}
|
|
57
|
+
async function collectBug() {
|
|
58
|
+
const description = await input({
|
|
59
|
+
message: "What happened?",
|
|
60
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
61
|
+
});
|
|
62
|
+
const expected = await input({
|
|
63
|
+
message: "What was expected?",
|
|
64
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
65
|
+
});
|
|
66
|
+
console.log(dim("\nSteps to reproduce (one per line). Empty line to finish:\n"));
|
|
67
|
+
const steps = [];
|
|
68
|
+
let adding = true;
|
|
69
|
+
while (adding) {
|
|
70
|
+
const step = await input({
|
|
71
|
+
message: ` ${steps.length + 1}.${steps.length > 0 ? " (blank to finish)" : ""}`,
|
|
72
|
+
});
|
|
73
|
+
if (!step.trim()) {
|
|
74
|
+
adding = false;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
steps.push(step.trim());
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const environment = await input({
|
|
81
|
+
message: "Environment (browser, OS, version - optional):",
|
|
82
|
+
});
|
|
83
|
+
const logs = await input({
|
|
84
|
+
message: "Error logs or screenshots URL (optional):",
|
|
85
|
+
});
|
|
86
|
+
const title = description.trim();
|
|
87
|
+
const body = `## Bug Report
|
|
88
|
+
|
|
89
|
+
### Description
|
|
90
|
+
${description.trim()}
|
|
91
|
+
|
|
92
|
+
### Expected Behavior
|
|
93
|
+
${expected.trim()}
|
|
94
|
+
|
|
95
|
+
### Steps to Reproduce
|
|
96
|
+
${steps.map((s, i) => `${i + 1}. ${s}`).join("\n")}
|
|
97
|
+
${environment.trim() ? `\n### Environment\n${environment.trim()}` : ""}
|
|
98
|
+
${logs.trim() ? `\n### Logs / Screenshots\n${logs.trim()}` : ""}`;
|
|
99
|
+
return { title, body };
|
|
100
|
+
}
|
|
101
|
+
async function collectTask() {
|
|
102
|
+
const what = await input({
|
|
103
|
+
message: "What needs to be done?",
|
|
104
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
105
|
+
});
|
|
106
|
+
const why = await input({
|
|
107
|
+
message: "Why is this needed?",
|
|
108
|
+
});
|
|
109
|
+
console.log(dim("\nDone criteria (one per line). Empty line to finish:\n"));
|
|
110
|
+
const criteria = [];
|
|
111
|
+
let adding = true;
|
|
112
|
+
while (adding) {
|
|
113
|
+
const criterion = await input({
|
|
114
|
+
message: ` ${criteria.length + 1}.${criteria.length > 0 ? " (blank to finish)" : ""}`,
|
|
115
|
+
});
|
|
116
|
+
if (!criterion.trim()) {
|
|
117
|
+
adding = false;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
criteria.push(criterion.trim());
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const title = what.trim();
|
|
124
|
+
const body = `## Task
|
|
125
|
+
|
|
126
|
+
### Description
|
|
127
|
+
${what.trim()}
|
|
128
|
+
${why.trim() ? `\n### Context\n${why.trim()}` : ""}
|
|
129
|
+
|
|
130
|
+
### Done Criteria
|
|
131
|
+
|
|
132
|
+
${criteria.map((c) => `- [ ] ${c}`).join("\n")}`;
|
|
133
|
+
return { title, body };
|
|
134
|
+
}
|
|
135
|
+
async function collectSpike() {
|
|
136
|
+
const question = await input({
|
|
137
|
+
message: "What question needs to be answered?",
|
|
138
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
139
|
+
});
|
|
140
|
+
const timebox = await select({
|
|
141
|
+
message: "Timebox:",
|
|
142
|
+
choices: [
|
|
143
|
+
{ value: "2 hours", name: "2 hours" },
|
|
144
|
+
{ value: "4 hours", name: "4 hours" },
|
|
145
|
+
{ value: "1 day", name: "1 day" },
|
|
146
|
+
{ value: "2 days", name: "2 days" },
|
|
147
|
+
],
|
|
148
|
+
});
|
|
149
|
+
const output = await select({
|
|
150
|
+
message: "Expected output:",
|
|
151
|
+
choices: [
|
|
152
|
+
{ value: "Document with findings", name: "Document with findings" },
|
|
153
|
+
{ value: "Proof of concept", name: "Proof of concept" },
|
|
154
|
+
{ value: "Recommendation", name: "Recommendation" },
|
|
155
|
+
{ value: "Prototype", name: "Prototype" },
|
|
156
|
+
],
|
|
157
|
+
});
|
|
158
|
+
const context = await input({
|
|
159
|
+
message: "Background context (optional):",
|
|
160
|
+
});
|
|
161
|
+
const title = question.trim();
|
|
162
|
+
const body = `## Spike
|
|
163
|
+
|
|
164
|
+
### Question to Answer
|
|
165
|
+
${question.trim()}
|
|
166
|
+
|
|
167
|
+
### Timebox
|
|
168
|
+
${timebox}
|
|
169
|
+
|
|
170
|
+
### Expected Output
|
|
171
|
+
${output}
|
|
172
|
+
${context.trim() ? `\n### Background Context\n${context.trim()}` : ""}
|
|
173
|
+
|
|
174
|
+
### Findings
|
|
175
|
+
_To be filled after investigation_`;
|
|
176
|
+
return { title, body };
|
|
177
|
+
}
|
|
178
|
+
async function collectTechDebt() {
|
|
179
|
+
const what = await input({
|
|
180
|
+
message: "What technical debt needs to be addressed?",
|
|
181
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
182
|
+
});
|
|
183
|
+
const impact = await input({
|
|
184
|
+
message: "Why does it matter? (impact on codebase/team)",
|
|
185
|
+
validate: (val) => val.trim().length > 0 || "Required",
|
|
186
|
+
});
|
|
187
|
+
const approach = await input({
|
|
188
|
+
message: "Proposed approach (optional):",
|
|
189
|
+
});
|
|
190
|
+
const title = what.trim();
|
|
191
|
+
const body = `## Tech Debt
|
|
192
|
+
|
|
193
|
+
### Description
|
|
194
|
+
${what.trim()}
|
|
195
|
+
|
|
196
|
+
### Impact
|
|
197
|
+
${impact.trim()}
|
|
198
|
+
${approach.trim() ? `\n### Proposed Approach\n${approach.trim()}` : ""}`;
|
|
199
|
+
return { title, body };
|
|
200
|
+
}
|
|
201
|
+
async function collectIssueData(issueType) {
|
|
202
|
+
switch (issueType.value) {
|
|
203
|
+
case "user-story":
|
|
204
|
+
return collectUserStory();
|
|
205
|
+
case "bug":
|
|
206
|
+
return collectBug();
|
|
207
|
+
case "task":
|
|
208
|
+
return collectTask();
|
|
209
|
+
case "spike":
|
|
210
|
+
return collectSpike();
|
|
211
|
+
case "tech-debt":
|
|
212
|
+
return collectTechDebt();
|
|
213
|
+
default:
|
|
214
|
+
throw new Error(`Unknown issue type: ${issueType.value}`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
function formatIssuePreview(data) {
|
|
218
|
+
const lines = [
|
|
219
|
+
`${dim("───")} ${bold("Issue Preview")} ${dim("───")}`,
|
|
220
|
+
"",
|
|
221
|
+
`${bold("Type:")} ${data.type.label}`,
|
|
222
|
+
`${bold("Title:")} ${cyan(data.title)}`,
|
|
223
|
+
`${bold("Labels:")} ${data.labels.join(", ")}`,
|
|
224
|
+
"",
|
|
225
|
+
gray("─── Body ───"),
|
|
226
|
+
"",
|
|
227
|
+
data.body,
|
|
228
|
+
"",
|
|
229
|
+
dim("─────────────────────"),
|
|
230
|
+
];
|
|
231
|
+
return lines.join("\n");
|
|
232
|
+
}
|
|
233
|
+
export async function issueCommand(options = {}) {
|
|
234
|
+
try {
|
|
235
|
+
checkGhInstalled();
|
|
236
|
+
const config = loadConfig();
|
|
237
|
+
// Select issue type
|
|
238
|
+
const issueType = await select({
|
|
239
|
+
message: "Select issue type:",
|
|
240
|
+
choices: ISSUE_TYPES.map((t) => ({
|
|
241
|
+
value: t,
|
|
242
|
+
name: `${t.label}`,
|
|
243
|
+
})),
|
|
244
|
+
});
|
|
245
|
+
// Collect type-specific data
|
|
246
|
+
console.log("");
|
|
247
|
+
const { title, body } = await collectIssueData(issueType);
|
|
248
|
+
// Determine labels
|
|
249
|
+
const labels = [issueType.labelColor];
|
|
250
|
+
// Build issue data
|
|
251
|
+
const issueData = {
|
|
252
|
+
type: issueType,
|
|
253
|
+
title,
|
|
254
|
+
body,
|
|
255
|
+
labels,
|
|
256
|
+
};
|
|
257
|
+
// Preview
|
|
258
|
+
console.log("\n" + formatIssuePreview(issueData));
|
|
259
|
+
if (options.dryRun) {
|
|
260
|
+
console.log(dim("[dry-run] No issue created."));
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const confirmed = await confirm({
|
|
264
|
+
message: "Create this issue?",
|
|
265
|
+
default: true,
|
|
266
|
+
});
|
|
267
|
+
if (!confirmed) {
|
|
268
|
+
console.log("Aborted.");
|
|
269
|
+
process.exit(0);
|
|
270
|
+
}
|
|
271
|
+
// Create the issue using gh CLI
|
|
272
|
+
const labelArg = labels.length > 0 ? `--label "${labels.join(",")}"` : "";
|
|
273
|
+
const cmd = `gh issue create --title ${JSON.stringify(title)} --body ${JSON.stringify(body)} ${labelArg}`;
|
|
274
|
+
const result = execSync(cmd, { encoding: "utf-8" }).trim();
|
|
275
|
+
// Extract issue number from URL (format: https://github.com/owner/repo/issues/123)
|
|
276
|
+
const issueUrlMatch = result.match(/\/issues\/(\d+)/);
|
|
277
|
+
const issueNumber = issueUrlMatch ? issueUrlMatch[1] : null;
|
|
278
|
+
console.log(green(`\n✓ Issue created: ${result}`));
|
|
279
|
+
// Offer to create a branch
|
|
280
|
+
const createBranch = await confirm({
|
|
281
|
+
message: "Create a branch and start working on this issue?",
|
|
282
|
+
default: true,
|
|
283
|
+
});
|
|
284
|
+
if (createBranch) {
|
|
285
|
+
const description = await input({
|
|
286
|
+
message: "Short branch description:",
|
|
287
|
+
default: title
|
|
288
|
+
.toLowerCase()
|
|
289
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
290
|
+
.replace(/^-|-$/g, "")
|
|
291
|
+
.slice(0, 50),
|
|
292
|
+
validate: (val) => val.trim().length > 0 || "Description is required",
|
|
293
|
+
});
|
|
294
|
+
const ticketPart = issueNumber ? `#${issueNumber}` : "UNTRACKED";
|
|
295
|
+
const kebab = description
|
|
296
|
+
.trim()
|
|
297
|
+
.toLowerCase()
|
|
298
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
299
|
+
.replace(/^-|-$/g, "");
|
|
300
|
+
const branchName = `${issueType.branchType}/${ticketPart}_${kebab}`;
|
|
301
|
+
console.log(`\n${dim("Branch:")} ${cyan(branchName)}`);
|
|
302
|
+
const confirmBranch = await confirm({
|
|
303
|
+
message: "Create this branch?",
|
|
304
|
+
default: true,
|
|
305
|
+
});
|
|
306
|
+
if (confirmBranch) {
|
|
307
|
+
execSync(`git checkout -b ${branchName}`, { stdio: "inherit" });
|
|
308
|
+
console.log(green(`✓ Branch created: ${branchName}`));
|
|
309
|
+
// Offer test plan for user stories and bugs
|
|
310
|
+
if (issueType.value === "user-story" || issueType.value === "bug") {
|
|
311
|
+
const addTestPlan = await confirm({
|
|
312
|
+
message: "Add test plan steps?",
|
|
313
|
+
default: false,
|
|
314
|
+
});
|
|
315
|
+
if (addTestPlan) {
|
|
316
|
+
const steps = [];
|
|
317
|
+
console.log(dim("\nAdd testing steps. Empty line to finish.\n"));
|
|
318
|
+
let adding = true;
|
|
319
|
+
while (adding) {
|
|
320
|
+
const step = await input({
|
|
321
|
+
message: `Step ${steps.length + 1}${steps.length > 0 ? " (blank to finish)" : ""}:`,
|
|
322
|
+
});
|
|
323
|
+
if (!step.trim()) {
|
|
324
|
+
adding = false;
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
steps.push(step.trim());
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
if (steps.length > 0) {
|
|
331
|
+
setTestPlan(branchName, steps);
|
|
332
|
+
console.log(green(`✓ Saved ${steps.length} test plan step${steps.length > 1 ? "s" : ""}`));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
console.log(dim("\nYou're ready to start working!"));
|
|
337
|
+
console.log(dim(` Make changes, then: ${cyan("devflow commit")}`));
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
if (error.name === "ExitPromptError") {
|
|
343
|
+
console.log("\nCancelled.");
|
|
344
|
+
process.exit(0);
|
|
345
|
+
}
|
|
346
|
+
throw error;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=issue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import { logCommand } from "./commands/log.js";
|
|
|
22
22
|
import { statsCommand } from "./commands/stats.js";
|
|
23
23
|
import { lintConfigCommand } from "./commands/lint-config.js";
|
|
24
24
|
import { commentsCommand } from "./commands/comments.js";
|
|
25
|
+
import { issueCommand } from "./commands/issue.js";
|
|
25
26
|
import { loadPlugins } from "./plugins.js";
|
|
26
27
|
import { checkForUpdates } from "./update-notifier.js";
|
|
27
28
|
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
@@ -90,7 +91,15 @@ program
|
|
|
90
91
|
.alias("cm")
|
|
91
92
|
.description("Show PR reviews and inline comments with diff context")
|
|
92
93
|
.option("--number <number>", "PR number (defaults to current branch PR)")
|
|
94
|
+
.option("--resolved", "Show only resolved comments")
|
|
95
|
+
.option("--unresolved", "Show only unresolved comments")
|
|
93
96
|
.action((opts) => commentsCommand(opts));
|
|
97
|
+
program
|
|
98
|
+
.command("issue")
|
|
99
|
+
.alias("i")
|
|
100
|
+
.description("Create a GitHub issue with Scrum templates (story, bug, task, spike, tech-debt)")
|
|
101
|
+
.option("--dry-run", "Preview without creating the issue")
|
|
102
|
+
.action((opts) => issueCommand(opts));
|
|
94
103
|
program
|
|
95
104
|
.command("stash")
|
|
96
105
|
.alias("st")
|
|
@@ -165,7 +174,7 @@ function generateBashCompletions() {
|
|
|
165
174
|
# Add to ~/.bashrc: eval "$(devflow completions --shell bash)"
|
|
166
175
|
_devflow_completions() {
|
|
167
176
|
local cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
168
|
-
local commands="branch commit pr amend undo fixup merge release review comments stash worktree log status test-plan changelog cleanup stats lint-config init doctor completions"
|
|
177
|
+
local commands="branch commit pr amend undo fixup merge release review comments issue stash worktree log status test-plan changelog cleanup stats lint-config init doctor completions"
|
|
169
178
|
|
|
170
179
|
if [ "\${COMP_CWORD}" -eq 1 ]; then
|
|
171
180
|
COMPREPLY=($(compgen -W "\${commands}" -- "\${cur}"))
|
|
@@ -191,6 +200,7 @@ _devflow() {
|
|
|
191
200
|
'release:Create a release (alias: rel)'
|
|
192
201
|
'review:List and interact with PRs (alias: rv)'
|
|
193
202
|
'comments:Show PR reviews and inline comments (alias: cm)'
|
|
203
|
+
'issue:Create GitHub issue with Scrum templates (alias: i)'
|
|
194
204
|
'stash:Manage named stashes (alias: st)'
|
|
195
205
|
'worktree:Manage git worktrees (alias: wt)'
|
|
196
206
|
'log:Interactive commit log (alias: l)'
|
|
@@ -215,7 +225,7 @@ _devflow() {
|
|
|
215
225
|
;;
|
|
216
226
|
args)
|
|
217
227
|
case "\${words[1]}" in
|
|
218
|
-
branch|commit|pr|amend|undo|fixup|merge|cleanup|changelog)
|
|
228
|
+
branch|commit|pr|amend|undo|fixup|merge|cleanup|changelog|issue)
|
|
219
229
|
_arguments '--dry-run[Preview without executing]'
|
|
220
230
|
;;
|
|
221
231
|
completions)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3F,2CAA2C;AAC3C,eAAe,EAAE,CAAC;AAElB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,8EAA8E,CAAC;KAC3F,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,wBAAwB;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzC,OAAO;KACJ,OAAO,CAAC,IAAI,CAAC;KACb,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAErC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAExC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAExC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAExC,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,CAAC;KACxE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3C,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,UAAU,CAAC,CAAC;AAEtB,wBAAwB;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACtD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5C,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;KACxD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1C,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,MAAM,CAAC;KACb,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,yBAAyB;AAEzB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,KAAK,CAAC;KAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,8BAA8B;AAC9B,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AAE3B,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,SAAS,uBAAuB;IAC9B,OAAO;;;;;;;;;;;;yCAYgC,CAAC;AAC1C,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|