monday-cli 0.7.0 → 0.7.1
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/CHANGELOG.md +50 -0
- package/dist/api/board-metadata.d.ts +7 -4
- package/dist/api/board-metadata.d.ts.map +1 -1
- package/dist/api/board-metadata.js +21 -6
- package/dist/api/board-metadata.js.map +1 -1
- package/dist/commands/board/describe.d.ts +5 -3
- package/dist/commands/board/describe.d.ts.map +1 -1
- package/dist/commands/board/describe.js +12 -4
- package/dist/commands/board/describe.js.map +1 -1
- package/dist/commands/emit.d.ts.map +1 -1
- package/dist/commands/emit.js +19 -16
- package/dist/commands/emit.js.map +1 -1
- package/dist/utils/output/select.d.ts +22 -0
- package/dist/utils/output/select.d.ts.map +1 -1
- package/dist/utils/output/select.js +30 -0
- package/dist/utils/output/select.js.map +1 -1
- package/dist/utils/output/table.d.ts +9 -0
- package/dist/utils/output/table.d.ts.map +1 -1
- package/dist/utils/output/table.js +13 -3
- package/dist/utils/output/table.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/update/body-source.d.ts +0 -38
- package/dist/commands/update/body-source.d.ts.map +0 -1
- package/dist/commands/update/body-source.js +0 -80
- package/dist/commands/update/body-source.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,56 @@ output envelope (`{ ok, data, meta, ... }`) and 29 stable error
|
|
|
7
7
|
codes are part of the public contract — the SemVer rules in
|
|
8
8
|
[`docs/cli-design.md`](./docs/cli-design.md) §6 govern bumps.
|
|
9
9
|
|
|
10
|
+
## [0.7.1] - 2026-05-20 — Live-API hotfix: `is_leaf` schema drift + non-TTY table colour
|
|
11
|
+
|
|
12
|
+
Emergency patch. `0.7.0` shipped two defects that only surface
|
|
13
|
+
against the **live** Monday API (the test suite mocks the network
|
|
14
|
+
boundary, so all 4124 tests stayed green). No new commands, no
|
|
15
|
+
contract changes — strictly bug fixes. **No breaking changes vs
|
|
16
|
+
`0.7.0`.**
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **`is_leaf` field removed from the board-metadata query (critical).**
|
|
21
|
+
Monday removed `is_leaf` from the `Board` type at API `2026-01`
|
|
22
|
+
(confirmed by introspection — `hierarchy_type` is still valid).
|
|
23
|
+
The shared `BOARD_METADATA_QUERY` still selected it, so Monday
|
|
24
|
+
rejected the whole query with `validation_failed` ("Cannot query
|
|
25
|
+
field \"is_leaf\" on type \"Board\""). Because that query backs
|
|
26
|
+
`loadBoardMetadata` → the column-name resolver, this broke **every
|
|
27
|
+
board-metadata path**: `board describe` / `columns` / `groups` /
|
|
28
|
+
`doctor`, `item list` / `search`, and **all `--set` / `--set-raw`
|
|
29
|
+
column writes** on `item create` / `update` / `set` (the column-
|
|
30
|
+
value path prequeries board metadata). Against live `2026-01` the
|
|
31
|
+
CLI was effectively read-by-ID + bare-create only. The query no
|
|
32
|
+
longer selects `is_leaf`; the `board describe` output **preserves
|
|
33
|
+
the `is_leaf` key as `null`** (non-breaking per §6.1 — removing the
|
|
34
|
+
key is deferred to the next major).
|
|
35
|
+
- **Table output no longer leaks ANSI colour into pipes.** `cli-table3`
|
|
36
|
+
colours its borders grey unconditionally, so `--output table`
|
|
37
|
+
forced through a pipe emitted `^[[90m`/`^[[39m` around every box
|
|
38
|
+
character. Colour is now gated on stdout TTY-ness and honours
|
|
39
|
+
`NO_COLOR` / `FORCE_COLOR` / `--no-color` (`cli.md` "Respect
|
|
40
|
+
NO_COLOR"). The non-TTY default was already JSON, so this only
|
|
41
|
+
affected explicitly-forced piped tables.
|
|
42
|
+
|
|
43
|
+
### Internal
|
|
44
|
+
|
|
45
|
+
- Added a `RUN_LIVE_TESTS`-gated e2e smoke test
|
|
46
|
+
(`tests/e2e/live-schema-drift.test.ts`) that runs the exact
|
|
47
|
+
production `BOARD_METADATA_QUERY` against the live API and asserts
|
|
48
|
+
no GraphQL errors — catches the `is_leaf` class of field drift
|
|
49
|
+
before release. Skipped in normal CI; run via
|
|
50
|
+
`RUN_LIVE_TESTS=1 MONDAY_API_TOKEN=... npm run test:e2e`.
|
|
51
|
+
|
|
52
|
+
### Known limitations (unchanged, not regressions)
|
|
53
|
+
|
|
54
|
+
- `monday board column-create --type board_relation --settings` still
|
|
55
|
+
rejects `boardIds` / `boardId` / `allowMultipleItems` — a deliberate
|
|
56
|
+
M19 limitation (Monday has no documented `create_column.defaults`
|
|
57
|
+
shape for linked boards), not a regression. Adding writable
|
|
58
|
+
Connect-Boards settings is a v0.8 feature pending a wire probe.
|
|
59
|
+
|
|
10
60
|
## [0.7.0] - 2026-05-20 — Bulk + create-time file `--set` carve-out folds (M42 + M43)
|
|
11
61
|
|
|
12
62
|
The "friendly file `--set` reaches every callShape" milestone —
|
|
@@ -7,9 +7,11 @@
|
|
|
7
7
|
* The data is cached on disk via `api/cache.ts` (5-minute default TTL,
|
|
8
8
|
* `--no-cache` bypasses) and the cache miss path issues a single
|
|
9
9
|
* GraphQL call against the raw `client.raw<T>` escape hatch — the
|
|
10
|
-
* SDK's typed `boards` query doesn't expose `hierarchy_type
|
|
11
|
-
*
|
|
12
|
-
* (`
|
|
10
|
+
* SDK's typed `boards` query doesn't expose `hierarchy_type`, which
|
|
11
|
+
* the design's "describe" output requires (`cli-design.md` §2.8).
|
|
12
|
+
* (`is_leaf` was also fetched here until Monday removed it from the
|
|
13
|
+
* `Board` type at API 2026-01 — the query no longer selects it; see
|
|
14
|
+
* the schema comment + memory `project-is-leaf-live-drift`.)
|
|
13
15
|
*
|
|
14
16
|
* The cache layer holds Monday-shape JSON; this module is the *only*
|
|
15
17
|
* place that reshapes Monday's response into the projected
|
|
@@ -35,6 +37,7 @@ import { z } from 'zod';
|
|
|
35
37
|
import type { MondayClient } from './client.js';
|
|
36
38
|
import { type BoardId } from '../types/ids.js';
|
|
37
39
|
import type { Complexity } from '../utils/output/envelope.js';
|
|
40
|
+
export declare const BOARD_METADATA_QUERY = "\n query BoardMetadata($ids: [ID!]!) {\n boards(ids: $ids) {\n id\n name\n description\n state\n board_kind\n board_folder_id\n workspace_id\n url\n hierarchy_type\n items_count\n permissions\n updated_at\n groups {\n id\n title\n color\n position\n archived\n deleted\n }\n columns {\n id\n title\n type\n description\n archived\n settings_str\n width\n }\n }\n }\n";
|
|
38
41
|
declare const groupSchema: z.ZodObject<{
|
|
39
42
|
id: z.ZodString;
|
|
40
43
|
title: z.ZodString;
|
|
@@ -62,7 +65,7 @@ export declare const boardMetadataSchema: z.ZodObject<{
|
|
|
62
65
|
workspace_id: z.ZodNullable<z.ZodString>;
|
|
63
66
|
url: z.ZodNullable<z.ZodString>;
|
|
64
67
|
hierarchy_type: z.ZodNullable<z.ZodString>;
|
|
65
|
-
is_leaf: z.ZodNullable<z.ZodBoolean
|
|
68
|
+
is_leaf: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
66
69
|
items_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
67
70
|
permissions: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
68
71
|
updated_at: z.ZodNullable<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-metadata.d.ts","sourceRoot":"","sources":["../../src/api/board-metadata.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"board-metadata.d.ts","sourceRoot":"","sources":["../../src/api/board-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAO9D,eAAO,MAAM,oBAAoB,siBAkChC,CAAC;AAEF,QAAA,MAAM,WAAW;;;;;;;kBASN,CAAC;AAEZ,QAAA,MAAM,YAAY;;;;;;;;kBAUP,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgCrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAUrD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CACxC;AAkED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,uBAAuB,KAC9B,OAAO,CAAC,uBAAuB,CAsDjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,KAC/C,OAAO,CAAC,uBAAuB,CACe,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,GAAG,MAAM,EAEzB,MAAK,MAAM,CAAC,UAAwB,KACnC,OAAO,CAAC,IAAI,CAId,CAAC"}
|
|
@@ -7,9 +7,11 @@
|
|
|
7
7
|
* The data is cached on disk via `api/cache.ts` (5-minute default TTL,
|
|
8
8
|
* `--no-cache` bypasses) and the cache miss path issues a single
|
|
9
9
|
* GraphQL call against the raw `client.raw<T>` escape hatch — the
|
|
10
|
-
* SDK's typed `boards` query doesn't expose `hierarchy_type
|
|
11
|
-
*
|
|
12
|
-
* (`
|
|
10
|
+
* SDK's typed `boards` query doesn't expose `hierarchy_type`, which
|
|
11
|
+
* the design's "describe" output requires (`cli-design.md` §2.8).
|
|
12
|
+
* (`is_leaf` was also fetched here until Monday removed it from the
|
|
13
|
+
* `Board` type at API 2026-01 — the query no longer selects it; see
|
|
14
|
+
* the schema comment + memory `project-is-leaf-live-drift`.)
|
|
13
15
|
*
|
|
14
16
|
* The cache layer holds Monday-shape JSON; this module is the *only*
|
|
15
17
|
* place that reshapes Monday's response into the projected
|
|
@@ -36,7 +38,12 @@ import { clearEntry, readEntry, resolveCacheRoot, writeEntry, DEFAULT_CACHE_TTL_
|
|
|
36
38
|
import { BoardIdSchema } from '../types/ids.js';
|
|
37
39
|
import { ApiError } from '../utils/errors.js';
|
|
38
40
|
import { unwrapOrThrow } from '../utils/parse-boundary.js';
|
|
39
|
-
|
|
41
|
+
// Exported so the RUN_LIVE_TESTS schema-drift smoke test can run the
|
|
42
|
+
// exact production document against the live API — the is_leaf
|
|
43
|
+
// regression (Monday removed the field from `Board` at 2026-01) shipped
|
|
44
|
+
// precisely because the test suite mocks the network boundary and never
|
|
45
|
+
// exercised the real field selection. See tests/e2e/live-schema-drift.test.ts.
|
|
46
|
+
export const BOARD_METADATA_QUERY = `
|
|
40
47
|
query BoardMetadata($ids: [ID!]!) {
|
|
41
48
|
boards(ids: $ids) {
|
|
42
49
|
id
|
|
@@ -48,7 +55,6 @@ const BOARD_METADATA_QUERY = `
|
|
|
48
55
|
workspace_id
|
|
49
56
|
url
|
|
50
57
|
hierarchy_type
|
|
51
|
-
is_leaf
|
|
52
58
|
items_count
|
|
53
59
|
permissions
|
|
54
60
|
updated_at
|
|
@@ -104,7 +110,16 @@ export const boardMetadataSchema = z
|
|
|
104
110
|
workspace_id: z.string().nullable(),
|
|
105
111
|
url: z.string().nullable(),
|
|
106
112
|
hierarchy_type: z.string().nullable(),
|
|
107
|
-
is_leaf
|
|
113
|
+
// Monday removed `is_leaf` from the `Board` type at API 2026-01
|
|
114
|
+
// (live introspection: the field is gone; the canned query no
|
|
115
|
+
// longer selects it). Kept optional+nullable so (a) the live
|
|
116
|
+
// projection parses a response that omits it and (b) pre-removal
|
|
117
|
+
// on-disk cache entries that still carry it parse cleanly. The
|
|
118
|
+
// `board describe` output preserves the key (null-projected) to
|
|
119
|
+
// stay non-breaking per cli-design §6.1 — dropping the output
|
|
120
|
+
// key entirely is a SemVer-major change deferred to the next
|
|
121
|
+
// major. See memory `project-is-leaf-live-drift`.
|
|
122
|
+
is_leaf: z.boolean().nullable().optional(),
|
|
108
123
|
// Optional+nullable so existing pre-M15 cache entries (which
|
|
109
124
|
// didn't carry these fields) parse cleanly post-bump. New
|
|
110
125
|
// BOARD_METADATA_QUERY runs include the fields; the M15 board
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-metadata.js","sourceRoot":"","sources":["../../src/api/board-metadata.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"board-metadata.js","sourceRoot":"","sources":["../../src/api/board-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* The CLI's introspection endpoint for one board: every column with
|
|
6
6
|
* its parsed `settings_str`, every group, the workspace + folder
|
|
7
|
-
* pointers, hierarchy info (`hierarchy_type`
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* pointers, hierarchy info (`hierarchy_type` — raw GraphQL because
|
|
8
|
+
* the SDK doesn't type it in 14.0.0; `is_leaf` was also surfaced here
|
|
9
|
+
* until Monday removed it from the `Board` type at API 2026-01, and
|
|
10
|
+
* the output key is now null-projected to stay non-breaking), plus a
|
|
11
|
+
* per-writable-column `example_set` so an agent can construct
|
|
10
12
|
* `--set <token>=<value>` calls without consulting Monday's docs.
|
|
11
13
|
*
|
|
12
14
|
* Reads through `loadBoardMetadata` (cache-aware). The `example_set`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/commands/board/describe.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/commands/board/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAKnE,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AAcrC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,WAAW,KAAG,MAAM,EAAE,GAAG,IA4GpE,CAAC;AA2BF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgB3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,QAAA,MAAM,WAAW;;;kBAKN,CAAC;AAEZ,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,mBAAmB,CAoGpB,CAAC"}
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* The CLI's introspection endpoint for one board: every column with
|
|
6
6
|
* its parsed `settings_str`, every group, the workspace + folder
|
|
7
|
-
* pointers, hierarchy info (`hierarchy_type`
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* pointers, hierarchy info (`hierarchy_type` — raw GraphQL because
|
|
8
|
+
* the SDK doesn't type it in 14.0.0; `is_leaf` was also surfaced here
|
|
9
|
+
* until Monday removed it from the `Board` type at API 2026-01, and
|
|
10
|
+
* the output key is now null-projected to stay non-breaking), plus a
|
|
11
|
+
* per-writable-column `example_set` so an agent can construct
|
|
10
12
|
* `--set <token>=<value>` calls without consulting Monday's docs.
|
|
11
13
|
*
|
|
12
14
|
* Reads through `loadBoardMetadata` (cache-aware). The `example_set`
|
|
@@ -232,7 +234,13 @@ export const boardDescribeCommand = {
|
|
|
232
234
|
board_folder_id: result.metadata.board_folder_id,
|
|
233
235
|
url: result.metadata.url,
|
|
234
236
|
hierarchy_type: result.metadata.hierarchy_type,
|
|
235
|
-
is_leaf
|
|
237
|
+
// Monday removed `is_leaf` from the `Board` type at API
|
|
238
|
+
// 2026-01, so live metadata no longer carries it. Forced to
|
|
239
|
+
// `null` (not `?? null`) so the value is consistent even when
|
|
240
|
+
// served from a pre-upgrade on-disk cache entry that still
|
|
241
|
+
// holds the old boolean. The output key is preserved to stay
|
|
242
|
+
// non-breaking per §6.1; see board-metadata.ts.
|
|
243
|
+
is_leaf: null,
|
|
236
244
|
updated_at: result.metadata.updated_at,
|
|
237
245
|
columns: cols.map((c) => ({
|
|
238
246
|
id: c.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/commands/board/describe.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/commands/board/describe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/commands/emit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,OAAO,EACb,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/commands/emit.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/emit.js
CHANGED
|
@@ -3,7 +3,7 @@ import { renderJson } from '../utils/output/json.js';
|
|
|
3
3
|
import { renderNdjson } from '../utils/output/ndjson.js';
|
|
4
4
|
import { renderTable } from '../utils/output/table.js';
|
|
5
5
|
import { renderText } from '../utils/output/text.js';
|
|
6
|
-
import { selectOutput } from '../utils/output/select.js';
|
|
6
|
+
import { resolveColorEnabled, selectOutput, } from '../utils/output/select.js';
|
|
7
7
|
import { redact } from '../utils/redact.js';
|
|
8
8
|
import { parseGlobalFlags, } from '../types/global-flags.js';
|
|
9
9
|
import { collectSecrets } from '../cli/envelope-out.js';
|
|
@@ -34,34 +34,37 @@ const renderForFormat = (format, envelope, data, ctx, globalFlags, kind, warning
|
|
|
34
34
|
case 'json':
|
|
35
35
|
renderJson(redacted, ctx.stdout);
|
|
36
36
|
return;
|
|
37
|
-
case 'table':
|
|
37
|
+
case 'table': {
|
|
38
|
+
// Gate cli-table3's default border/header colour on TTY-ness +
|
|
39
|
+
// NO_COLOR/--no-color so a piped `--output table` doesn't leak
|
|
40
|
+
// ANSI escapes into captured output (cli.md "Respect NO_COLOR").
|
|
41
|
+
const color = resolveColorEnabled({
|
|
42
|
+
noColor: globalFlags.noColor,
|
|
43
|
+
env: ctx.env,
|
|
44
|
+
isTTY: ctx.isTTY,
|
|
45
|
+
});
|
|
46
|
+
const tableOptions = {
|
|
47
|
+
full: globalFlags.full,
|
|
48
|
+
color,
|
|
49
|
+
...(globalFlags.width === undefined ? {} : { width: globalFlags.width }),
|
|
50
|
+
...(globalFlags.columns === undefined ? {} : { columns: globalFlags.columns }),
|
|
51
|
+
};
|
|
38
52
|
if (kind === 'collection') {
|
|
39
53
|
renderTable({
|
|
40
54
|
kind: 'collection',
|
|
41
55
|
data: redactedData,
|
|
42
|
-
options:
|
|
43
|
-
full: globalFlags.full,
|
|
44
|
-
...(globalFlags.width === undefined ? {} : { width: globalFlags.width }),
|
|
45
|
-
...(globalFlags.columns === undefined
|
|
46
|
-
? {}
|
|
47
|
-
: { columns: globalFlags.columns }),
|
|
48
|
-
},
|
|
56
|
+
options: tableOptions,
|
|
49
57
|
}, ctx.stdout);
|
|
50
58
|
}
|
|
51
59
|
else {
|
|
52
60
|
renderTable({
|
|
53
61
|
kind: 'single',
|
|
54
62
|
data: redactedData,
|
|
55
|
-
options:
|
|
56
|
-
full: globalFlags.full,
|
|
57
|
-
...(globalFlags.width === undefined ? {} : { width: globalFlags.width }),
|
|
58
|
-
...(globalFlags.columns === undefined
|
|
59
|
-
? {}
|
|
60
|
-
: { columns: globalFlags.columns }),
|
|
61
|
-
},
|
|
63
|
+
options: tableOptions,
|
|
62
64
|
}, ctx.stdout);
|
|
63
65
|
}
|
|
64
66
|
return;
|
|
67
|
+
}
|
|
65
68
|
case 'text':
|
|
66
69
|
if (kind === 'collection') {
|
|
67
70
|
// Text renderer is single-resource only per v0.1; collections
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/commands/emit.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,GAMb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/commands/emit.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,26 @@ export interface SelectOutputInput {
|
|
|
19
19
|
readonly isTTY: boolean;
|
|
20
20
|
}
|
|
21
21
|
export declare const selectOutput: (input: SelectOutputInput) => OutputFormat;
|
|
22
|
+
export interface ResolveColorInput {
|
|
23
|
+
/** `--no-color` flag (commander-inverted `globalFlags.noColor`). */
|
|
24
|
+
readonly noColor: boolean;
|
|
25
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
26
|
+
readonly isTTY: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Decides whether presentation output (cli-table3 borders/headers,
|
|
30
|
+
* any future styled text) may emit ANSI colour. Unlike `selectOutput`,
|
|
31
|
+
* this is a hard gate the renderers must honour: cli-table3 colours its
|
|
32
|
+
* borders unconditionally otherwise, so a `--output table` forced
|
|
33
|
+
* through a pipe leaks `^[[90m`/`^[[39m` into captured output
|
|
34
|
+
* (`cli-design.md` §3.2 / `cli.md` "Respect NO_COLOR"). Default is the
|
|
35
|
+
* stdout TTY-ness so a normal pipe gets clean text without a flag.
|
|
36
|
+
*
|
|
37
|
+
* Resolution priority (first match wins):
|
|
38
|
+
* 1. `--no-color` → off (explicit user intent, strongest).
|
|
39
|
+
* 2. `FORCE_COLOR` (present, not `0`/`false`) → on, even off-TTY.
|
|
40
|
+
* 3. `NO_COLOR` (present, non-empty) → off.
|
|
41
|
+
* 4. fall back to `isTTY`.
|
|
42
|
+
*/
|
|
43
|
+
export declare const resolveColorEnabled: (input: ResolveColorInput) => boolean;
|
|
22
44
|
//# sourceMappingURL=select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/utils/output/select.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,8CAA+C,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAKD,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,KAAG,YA6CvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/utils/output/select.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,8CAA+C,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAKD,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,KAAG,YA6CvD,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,iBAAiB,KAAG,OAc9D,CAAC"}
|
|
@@ -44,4 +44,34 @@ export const selectOutput = (input) => {
|
|
|
44
44
|
}
|
|
45
45
|
return isTTY ? 'table' : 'json';
|
|
46
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Decides whether presentation output (cli-table3 borders/headers,
|
|
49
|
+
* any future styled text) may emit ANSI colour. Unlike `selectOutput`,
|
|
50
|
+
* this is a hard gate the renderers must honour: cli-table3 colours its
|
|
51
|
+
* borders unconditionally otherwise, so a `--output table` forced
|
|
52
|
+
* through a pipe leaks `^[[90m`/`^[[39m` into captured output
|
|
53
|
+
* (`cli-design.md` §3.2 / `cli.md` "Respect NO_COLOR"). Default is the
|
|
54
|
+
* stdout TTY-ness so a normal pipe gets clean text without a flag.
|
|
55
|
+
*
|
|
56
|
+
* Resolution priority (first match wins):
|
|
57
|
+
* 1. `--no-color` → off (explicit user intent, strongest).
|
|
58
|
+
* 2. `FORCE_COLOR` (present, not `0`/`false`) → on, even off-TTY.
|
|
59
|
+
* 3. `NO_COLOR` (present, non-empty) → off.
|
|
60
|
+
* 4. fall back to `isTTY`.
|
|
61
|
+
*/
|
|
62
|
+
export const resolveColorEnabled = (input) => {
|
|
63
|
+
const { noColor, env, isTTY } = input;
|
|
64
|
+
if (noColor) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
const force = env?.FORCE_COLOR;
|
|
68
|
+
if (force !== undefined && force !== '' && force !== '0' && force !== 'false') {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
const no = env?.NO_COLOR;
|
|
72
|
+
if (no !== undefined && no !== '') {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return isTTY;
|
|
76
|
+
};
|
|
47
77
|
//# sourceMappingURL=select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/utils/output/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAW3E,MAAM,cAAc,GAAG,CAAC,KAAa,EAAyB,EAAE,CAC7D,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAgB,EAAE;IACrE,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAElE,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,UAAU,CAClB,2BAA2B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,IAAI,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,UAAU,CAClB,kCAAkC,MAAM,yBAAyB,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,UAAU,CAClB,mCAAmC,MAAM,yBAAyB,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,EAAE,aAAa,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAClB,gCAAgC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,OAAO,IAAI,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/utils/output/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAW3E,MAAM,cAAc,GAAG,CAAC,KAAa,EAAyB,EAAE,CAC7D,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAgB,EAAE;IACrE,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAElE,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,UAAU,CAClB,2BAA2B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,IAAI,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,UAAU,CAClB,kCAAkC,MAAM,yBAAyB,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,UAAU,CAClB,mCAAmC,MAAM,yBAAyB,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,EAAE,aAAa,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAClB,gCAAgC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,OAAO,IAAI,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC,CAAC;AASF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAW,EAAE;IACvE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,EAAE,WAAW,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,EAAE,QAAQ,CAAC;IACzB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -10,6 +10,15 @@ export interface TableOptions {
|
|
|
10
10
|
* already, and a truncated header is more useful than an error here.
|
|
11
11
|
*/
|
|
12
12
|
readonly columns?: readonly string[];
|
|
13
|
+
/**
|
|
14
|
+
* Whether ANSI colour may be emitted. cli-table3 colours its
|
|
15
|
+
* borders + header grey/red by default regardless of TTY-ness, so a
|
|
16
|
+
* `--output table` forced through a pipe leaks escape codes. When
|
|
17
|
+
* `false` (the default — callers opt INTO colour), border + head
|
|
18
|
+
* style arrays are emptied so the table is plain text. The
|
|
19
|
+
* command layer computes this via `resolveColorEnabled`.
|
|
20
|
+
*/
|
|
21
|
+
readonly color?: boolean;
|
|
13
22
|
}
|
|
14
23
|
export interface SingleResourceTableInput {
|
|
15
24
|
readonly kind: 'single';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/output/table.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,YAAY,KAAK,CAAC;AAI/B,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/output/table.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,YAAY,KAAK,CAAC;AAI/B,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,MAAM,MAAM,UAAU,GAAG,wBAAwB,GAAG,oBAAoB,CAAC;AAkBzE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAQvD,CAAC;AA+GF,eAAO,MAAM,WAAW,GACtB,OAAO,UAAU,EACjB,QAAQ,MAAM,CAAC,cAAc,KAC5B,IAGF,CAAC"}
|
|
@@ -86,14 +86,23 @@ const collectKeysInOrder = (rows) => {
|
|
|
86
86
|
}
|
|
87
87
|
return ordered;
|
|
88
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* cli-table3 colours its `head` (red) and `border` (grey) by default,
|
|
91
|
+
* emitting ANSI even when stdout isn't a TTY. When colour is off we
|
|
92
|
+
* empty both style arrays so the rendered table is plain text. Colour
|
|
93
|
+
* defaults to OFF here — callers opt in via `options.color`, which the
|
|
94
|
+
* emit layer computes from `resolveColorEnabled`.
|
|
95
|
+
*/
|
|
96
|
+
const colourStyle = (color) => color === true ? {} : { style: { head: [], border: [] } };
|
|
89
97
|
const renderSingle = (input) => {
|
|
90
98
|
const { data, options = {} } = input;
|
|
91
|
-
const { full = false, width = FALLBACK_WIDTH, columns } = options;
|
|
99
|
+
const { full = false, width = FALLBACK_WIDTH, columns, color } = options;
|
|
92
100
|
const allKeys = Object.keys(data);
|
|
93
101
|
const keys = filterAndOrderKeys(allKeys, columns);
|
|
94
102
|
const valueColWidth = full ? Number.POSITIVE_INFINITY : computeColumnWidth(2, width);
|
|
95
103
|
const table = new Table({
|
|
96
104
|
head: ['field', 'value'],
|
|
105
|
+
...colourStyle(color),
|
|
97
106
|
});
|
|
98
107
|
for (const key of keys) {
|
|
99
108
|
const cell = formatCell(data[key]);
|
|
@@ -106,17 +115,18 @@ const renderSingle = (input) => {
|
|
|
106
115
|
};
|
|
107
116
|
const renderCollection = (input) => {
|
|
108
117
|
const { data, options = {} } = input;
|
|
109
|
-
const { full = false, width = FALLBACK_WIDTH, columns } = options;
|
|
118
|
+
const { full = false, width = FALLBACK_WIDTH, columns, color } = options;
|
|
110
119
|
const allKeys = collectKeysInOrder(data);
|
|
111
120
|
const keys = filterAndOrderKeys(allKeys, columns);
|
|
112
121
|
if (keys.length === 0) {
|
|
113
122
|
// Empty collection still emits a table-shaped sentinel; an empty
|
|
114
123
|
// string would let the renderer-selection bug ride silently.
|
|
115
|
-
return new Table({ head: [] }).toString();
|
|
124
|
+
return new Table({ head: [], ...colourStyle(color) }).toString();
|
|
116
125
|
}
|
|
117
126
|
const colWidth = full ? Number.POSITIVE_INFINITY : computeColumnWidth(keys.length, width);
|
|
118
127
|
const table = new Table({
|
|
119
128
|
head: full ? [...keys] : keys.map((k) => truncate(k, colWidth)),
|
|
129
|
+
...colourStyle(color),
|
|
120
130
|
});
|
|
121
131
|
for (const row of data) {
|
|
122
132
|
table.push(keys.map((key) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/utils/output/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,eAAe,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/utils/output/table.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monday-cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Agent-first CLI for Monday.com — read boards, file backlog items, transition statuses, and post comments from the terminal. Built for AI coding agents (Claude Code, Codex) with humans as a welcome second audience.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared body-source resolver for the comment-cluster verbs (`update
|
|
3
|
-
* create` / `update reply` / `update edit`). Lifted out of M5b's
|
|
4
|
-
* `update create` when the third consumer arrived — `update edit`
|
|
5
|
-
* (M13) — per the v0.1-plan §17 R-timing rule ("lift on the third
|
|
6
|
-
* consumer").
|
|
7
|
-
*
|
|
8
|
-
* Reads the markdown body from one of the three accepted sources:
|
|
9
|
-
*
|
|
10
|
-
* 1. `--body <md>` (`inlineBody`) — inline.
|
|
11
|
-
* 2. `--body-file <path>` (`bodyFile`) — from disk.
|
|
12
|
-
* 3. `--body-file -` — from stdin (`ctx.stdin`).
|
|
13
|
-
*
|
|
14
|
-
* Throws `usage_error` for:
|
|
15
|
-
* - Both `--body` and `--body-file` set (mutually exclusive).
|
|
16
|
-
* - Neither set (no source).
|
|
17
|
-
* - `--body-file -` with no `ctx.stdin` available (programmer
|
|
18
|
-
* wiring bug; should not happen via the binary).
|
|
19
|
-
* - Empty (or whitespace-only) result after read (Monday rejects
|
|
20
|
-
* empty body strings; surface up-front rather than wait for
|
|
21
|
-
* `validation_failed`).
|
|
22
|
-
*/
|
|
23
|
-
export interface ReadBodyInputs {
|
|
24
|
-
/** `--body <md>` value (per-command flag). */
|
|
25
|
-
readonly inlineBody: string | undefined;
|
|
26
|
-
/** `--body-file <path>` value (global flag — see `types/global-flags.ts`). */
|
|
27
|
-
readonly bodyFile: string | undefined;
|
|
28
|
-
/** `ctx.stdin` from the runner — needed for `--body-file -`. */
|
|
29
|
-
readonly stdin: NodeJS.ReadableStream | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* Verb name for the "no source" error message (e.g. "monday update
|
|
32
|
-
* reply requires either --body <md> or ..."). Defaults to a generic
|
|
33
|
-
* phrasing if omitted.
|
|
34
|
-
*/
|
|
35
|
-
readonly verbHint?: string;
|
|
36
|
-
}
|
|
37
|
-
export declare const readUpdateBody: (inputs: ReadBodyInputs) => Promise<string>;
|
|
38
|
-
//# sourceMappingURL=body-source.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"body-source.d.ts","sourceRoot":"","sources":["../../../src/commands/update/body-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;IAClD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD,eAAO,MAAM,cAAc,GACzB,QAAQ,cAAc,KACrB,OAAO,CAAC,MAAM,CAqEhB,CAAC"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared body-source resolver for the comment-cluster verbs (`update
|
|
3
|
-
* create` / `update reply` / `update edit`). Lifted out of M5b's
|
|
4
|
-
* `update create` when the third consumer arrived — `update edit`
|
|
5
|
-
* (M13) — per the v0.1-plan §17 R-timing rule ("lift on the third
|
|
6
|
-
* consumer").
|
|
7
|
-
*
|
|
8
|
-
* Reads the markdown body from one of the three accepted sources:
|
|
9
|
-
*
|
|
10
|
-
* 1. `--body <md>` (`inlineBody`) — inline.
|
|
11
|
-
* 2. `--body-file <path>` (`bodyFile`) — from disk.
|
|
12
|
-
* 3. `--body-file -` — from stdin (`ctx.stdin`).
|
|
13
|
-
*
|
|
14
|
-
* Throws `usage_error` for:
|
|
15
|
-
* - Both `--body` and `--body-file` set (mutually exclusive).
|
|
16
|
-
* - Neither set (no source).
|
|
17
|
-
* - `--body-file -` with no `ctx.stdin` available (programmer
|
|
18
|
-
* wiring bug; should not happen via the binary).
|
|
19
|
-
* - Empty (or whitespace-only) result after read (Monday rejects
|
|
20
|
-
* empty body strings; surface up-front rather than wait for
|
|
21
|
-
* `validation_failed`).
|
|
22
|
-
*/
|
|
23
|
-
import { readFile } from 'node:fs/promises';
|
|
24
|
-
import { UsageError, errorMessage } from '../../utils/errors.js';
|
|
25
|
-
const DEFAULT_NO_SOURCE_VERB = 'monday update create / reply / edit requires either --body <md> or ' +
|
|
26
|
-
'--body-file <path>. Use --body-file - to read from stdin.';
|
|
27
|
-
export const readUpdateBody = async (inputs) => {
|
|
28
|
-
const { inlineBody, bodyFile, stdin } = inputs;
|
|
29
|
-
const verbHint = inputs.verbHint ?? DEFAULT_NO_SOURCE_VERB;
|
|
30
|
-
if (inlineBody !== undefined && bodyFile !== undefined) {
|
|
31
|
-
throw new UsageError('--body and --body-file are mutually exclusive; pick one.', { details: { has_inline_body: true, body_file: bodyFile } });
|
|
32
|
-
}
|
|
33
|
-
if (inlineBody !== undefined) {
|
|
34
|
-
if (inlineBody.trim().length === 0) {
|
|
35
|
-
// Empty-after-trim must reject too — `--body " "` shouldn't
|
|
36
|
-
// sneak past and surface as Monday's `validation_failed`
|
|
37
|
-
// post-mutation. Same trim policy the file / stdin branches
|
|
38
|
-
// apply.
|
|
39
|
-
throw new UsageError('--body cannot be empty (or whitespace-only). Pass markdown ' +
|
|
40
|
-
'content or use --body-file <path> to read from disk / stdin.');
|
|
41
|
-
}
|
|
42
|
-
return inlineBody;
|
|
43
|
-
}
|
|
44
|
-
if (bodyFile === undefined) {
|
|
45
|
-
throw new UsageError(verbHint);
|
|
46
|
-
}
|
|
47
|
-
if (bodyFile === '-') {
|
|
48
|
-
if (stdin === undefined) {
|
|
49
|
-
throw new UsageError('--body-file - requested stdin, but no stdin is wired into ' +
|
|
50
|
-
'the runner. This is a programmer wiring bug.');
|
|
51
|
-
}
|
|
52
|
-
const chunks = [];
|
|
53
|
-
for await (const chunk of stdin) {
|
|
54
|
-
chunks.push(Buffer.from(chunk));
|
|
55
|
-
}
|
|
56
|
-
const body = Buffer.concat(chunks).toString('utf8').trimEnd();
|
|
57
|
-
if (body.length === 0) {
|
|
58
|
-
throw new UsageError('stdin produced an empty body. Pipe non-empty content into ' +
|
|
59
|
-
'--body-file - or pass --body <md> inline.', { details: { body_file: '-' } });
|
|
60
|
-
}
|
|
61
|
-
return body;
|
|
62
|
-
}
|
|
63
|
-
// File on disk. UTF-8 always; binary content would corrupt the
|
|
64
|
-
// markdown anyway. Trim trailing whitespace so a trailing newline
|
|
65
|
-
// from `cat foo.md` doesn't surface as a literal `\n` in the
|
|
66
|
-
// posted comment.
|
|
67
|
-
const raw = await readFile(bodyFile, 'utf8').catch((err) => {
|
|
68
|
-
throw new UsageError(`--body-file: failed to read ${JSON.stringify(bodyFile)} (${errorMessage(err)}).`, {
|
|
69
|
-
cause: err,
|
|
70
|
-
details: { body_file: bodyFile },
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
const body = raw.trimEnd();
|
|
74
|
-
if (body.length === 0) {
|
|
75
|
-
throw new UsageError(`--body-file: ${JSON.stringify(bodyFile)} is empty (after trim). ` +
|
|
76
|
-
`Monday rejects empty comment bodies.`, { details: { body_file: bodyFile } });
|
|
77
|
-
}
|
|
78
|
-
return body;
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=body-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"body-source.js","sourceRoot":"","sources":["../../../src/commands/update/body-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAiBjE,MAAM,sBAAsB,GAC1B,qEAAqE;IACrE,2DAA2D,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,MAAsB,EACL,EAAE;IACnB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,sBAAsB,CAAC;IAE3D,IAAI,UAAU,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,UAAU,CAClB,0DAA0D,EAC1D,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,8DAA8D;YAC9D,yDAAyD;YACzD,4DAA4D;YAC5D,SAAS;YACT,MAAM,IAAI,UAAU,CAClB,6DAA6D;gBAC3D,8DAA8D,CACjE,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAClB,4DAA4D;gBAC1D,8CAA8C,CACjD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,UAAU,CAClB,4DAA4D;gBAC1D,2CAA2C,EAC7C,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAChC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+DAA+D;IAC/D,kEAAkE;IAClE,6DAA6D;IAC7D,kBAAkB;IAClB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAClE,MAAM,IAAI,UAAU,CAClB,+BAA+B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,IAAI,EACjF;YACE,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SACjC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAClB,gBAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B;YAChE,sCAAsC,EACxC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CACrC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|