taskchef 4.1.2 → 4.1.3

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskchef",
3
- "version": "4.1.2",
3
+ "version": "4.1.3",
4
4
  "description": "Dispatch work from a data-only workspace to visible Codex project tasks.",
5
5
  "author": {
6
6
  "name": "Favo Yang",
package/README.md CHANGED
@@ -253,17 +253,16 @@ taskchef project list --workspace <workspace>
253
253
  taskchef project remove payments --workspace <workspace>
254
254
  ```
255
255
 
256
- Human-readable project listings show one parent row per project. The first
257
- configured GitHub repository appears on that row; additional repositories
258
- appear beneath it as indented tree rows, aligned with the repository column and
259
- with repeated kind and path cells left blank. A project without a configured
260
- repository has only its parent row, containing `-` in the repository column:
256
+ Human-readable project listings show one row per configured GitHub repository.
257
+ Project details repeat on each row so multi-repository projects remain clear.
258
+ A project without a configured repository has one row containing `-` in the
259
+ repository column:
261
260
 
262
261
  ```text
263
262
  NAME KIND GITHUB REPOSITORY PATH
264
263
  notes folder - /workspace/notes
265
264
  payments git https://github.com/example/payments-api /workspace/payments
266
- └─ https://github.com/example/payments-sdk
265
+ payments git https://github.com/example/payments-sdk /workspace/payments
267
266
  ```
268
267
 
269
268
  Import projects as a JSON array from a file or standard input:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskchef",
3
- "version": "4.1.2",
3
+ "version": "4.1.3",
4
4
  "description": "A non-blocking interactive dispatcher for visible Codex tasks.",
5
5
  "license": "MIT",
6
6
  "author": "Favo Yang",
package/src/cli.js CHANGED
@@ -15,8 +15,6 @@ import {
15
15
  resolveTask,
16
16
  } from "./workspace.js";
17
17
 
18
- const BLANK_TABLE_CELL = Symbol("blank table cell");
19
-
20
18
  async function readStdin() {
21
19
  let input = "";
22
20
  process.stdin.setEncoding("utf8");
@@ -90,11 +88,9 @@ function print(value, args, human) {
90
88
  }
91
89
 
92
90
  function table(headers, rows) {
93
- const display = (value) => {
94
- if (value === BLANK_TABLE_CELL) return "";
95
- if (value === null || value === undefined || value === "") return "-";
96
- return String(value);
97
- };
91
+ const display = (value) => value === null || value === undefined || value === ""
92
+ ? "-"
93
+ : String(value);
98
94
  const widths = headers.map((header, index) =>
99
95
  Math.max(header.length, ...rows.map((row) => display(row[index]).length)));
100
96
  const format = (row) => row.map((value, index) => index === row.length - 1
@@ -105,18 +101,13 @@ function table(headers, rows) {
105
101
 
106
102
  function projectRows(projects) {
107
103
  return projects.flatMap((project) => {
108
- const [primaryRepository = null, ...additionalRepositories] = project.githubRepos;
109
- return [[
104
+ const repositories = project.githubRepos.length > 0 ? project.githubRepos : [null];
105
+ return repositories.map((repository) => [
110
106
  project.name,
111
107
  project.isGitRepository ? "git" : "folder",
112
- primaryRepository,
113
- project.path,
114
- ], ...additionalRepositories.map((repository, index) => [
115
- ` ${index === additionalRepositories.length - 1 ? "└─" : "├─"}`,
116
- BLANK_TABLE_CELL,
117
108
  repository,
118
- BLANK_TABLE_CELL,
119
- ])];
109
+ project.path,
110
+ ]);
120
111
  });
121
112
  }
122
113