pipe-kan 0.25.2 → 0.25.4

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 CHANGED
@@ -18,7 +18,9 @@ The published CLI is on npm. From a clone: `bun run build && bun dist/pipe-kan.j
18
18
 
19
19
  - Left: All stories and All epics. Center: Cards (one Column per status in the payload). Right: Open URL; remote Jira is a link, not an iframe.
20
20
  - Drop a Card on a Column to Move (`jira issue move`).
21
- - Same-Column drop and column reorder do nothing.
21
+ - Drag a Column to change status order. The order is stored locally and kept after Refresh.
22
+ - Same-Column drop does not write back to Jira.
23
+ - Collapse the left pane to hide Epics; the Board header expands it again.
22
24
  - Theme is stored in `localStorage`.
23
25
 
24
26
  LAN: `HOST=0.0.0.0 bunx pipe-kan`.
package/dist/pipe-kan.js CHANGED
@@ -294,7 +294,7 @@ function parseFlags(flags) {
294
294
  if (raw) {
295
295
  return { jql: raw, projects };
296
296
  }
297
- const projectClause = projects.length ? `project in (${projects.map((p) => `'${p}'`).join(", ")})` : "";
297
+ const projectClause = projects.length ? `project in (${projects.map((p) => `"${p}"`).join(", ")})` : "";
298
298
  const clauses = [];
299
299
  if (projectClause)
300
300
  clauses.push(projectClause);
@@ -455,7 +455,7 @@ function projectClause(flags) {
455
455
  const { projects } = parseFlags(flags || DEFAULT_FLAGS);
456
456
  if (!projects.length)
457
457
  return "";
458
- return `project in (${projects.map((p) => `'${p}'`).join(", ")})`;
458
+ return `project in (${projects.map((p) => `"${p}"`).join(", ")})`;
459
459
  }
460
460
  function emptyList(text) {
461
461
  return /no result found/i.test(text);
@@ -614,18 +614,36 @@ function createJiraCli(opts = {}) {
614
614
  }
615
615
  return {
616
616
  async list(flags) {
617
- const extra = (flags || DEFAULT_FLAGS).split(/\s+/).filter(Boolean);
618
- return JSON.stringify(await listOnce(["issue", "list", ...extra, "--raw"]));
617
+ const parsed = parseFlags(flags || defaultFlags);
618
+ const args = ["issue", "list"];
619
+ if (parsed.projects.length) {
620
+ args.push("-q", parsed.jql);
621
+ } else {
622
+ const extra = (flags || defaultFlags).split(/\s+/).filter(Boolean);
623
+ args.push(...extra);
624
+ }
625
+ args.push("--raw");
626
+ return JSON.stringify(await listOnce(args));
619
627
  },
620
628
  async listEpics(queryFlags = defaultFlags) {
621
- const clause = projectClause(queryFlags || defaultFlags);
622
- const jql = clause ? `${clause} AND type="Epic"` : 'type="Epic"';
623
- return listAll(["issue", "list", "-q", jql]);
629
+ const parsed = parseFlags(queryFlags || defaultFlags);
630
+ const args = ["issue", "list"];
631
+ if (parsed.projects.length) {
632
+ args.push("-q", `project in (${parsed.projects.map((p) => `"${p}"`).join(", ")}) AND type="Epic"`);
633
+ } else {
634
+ args.push("-q", 'type="Epic"');
635
+ }
636
+ return listAll(args);
624
637
  },
625
638
  async listEpic(key, queryFlags = defaultFlags) {
626
- const clause = projectClause(queryFlags || defaultFlags);
627
- const jql = clause ? `${clause} AND (parent="${key}" OR "Epic Link"="${key}")` : `(parent="${key}" OR "Epic Link"="${key}")`;
628
- return listAll(["issue", "list", "-q", jql]);
639
+ const parsed = parseFlags(queryFlags || defaultFlags);
640
+ const args = ["issue", "list"];
641
+ if (parsed.projects.length) {
642
+ args.push("-q", `project in (${parsed.projects.map((p) => `"${p}"`).join(", ")}) AND (parent="${key}" OR "Epic Link"="${key}")`);
643
+ } else {
644
+ args.push("-q", `(parent="${key}" OR "Epic Link"="${key}")`);
645
+ }
646
+ return listAll(args);
629
647
  },
630
648
  async listChildren(keys) {
631
649
  const validKeys = keys.filter(validIssueKey);