@se-studio/contentful-cms 1.0.54 → 1.0.57
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 +21 -0
- package/README.md +24 -16
- package/dist/commands/create-from-json.d.ts.map +1 -1
- package/dist/commands/create-from-json.js +61 -17
- package/dist/commands/create-from-json.js.map +1 -1
- package/dist/commands/nav.d.ts.map +1 -1
- package/dist/commands/nav.js +11 -5
- package/dist/commands/nav.js.map +1 -1
- package/dist/commands/rtf.d.ts.map +1 -1
- package/dist/commands/rtf.js +105 -40
- package/dist/commands/rtf.js.map +1 -1
- package/dist/commands/set.d.ts.map +1 -1
- package/dist/commands/set.js +117 -14
- package/dist/commands/set.js.map +1 -1
- package/dist/contentful/set-field-schema.d.ts +0 -2
- package/dist/contentful/set-field-schema.d.ts.map +1 -1
- package/dist/contentful/set-field-schema.js +1 -1
- package/dist/contentful/set-field-schema.js.map +1 -1
- package/dist/rtf/convertToRtf.d.ts +7 -0
- package/dist/rtf/convertToRtf.d.ts.map +1 -0
- package/dist/rtf/convertToRtf.js +24 -0
- package/dist/rtf/convertToRtf.js.map +1 -0
- package/dist/rtf/fromHtml.d.ts +8 -0
- package/dist/rtf/fromHtml.d.ts.map +1 -0
- package/dist/rtf/fromHtml.js +290 -0
- package/dist/rtf/fromHtml.js.map +1 -0
- package/dist/rtf/fromPlainText.d.ts +7 -0
- package/dist/rtf/fromPlainText.d.ts.map +1 -0
- package/dist/rtf/fromPlainText.js +39 -0
- package/dist/rtf/fromPlainText.js.map +1 -0
- package/dist/rtf/fromRtfJson.d.ts +10 -0
- package/dist/rtf/fromRtfJson.d.ts.map +1 -0
- package/dist/rtf/fromRtfJson.js +52 -0
- package/dist/rtf/fromRtfJson.js.map +1 -0
- package/dist/rtf/inlineHtml.d.ts +6 -0
- package/dist/rtf/inlineHtml.d.ts.map +1 -0
- package/dist/rtf/inlineHtml.js +152 -0
- package/dist/rtf/inlineHtml.js.map +1 -0
- package/dist/rtf/replacePlainText.d.ts +8 -0
- package/dist/rtf/replacePlainText.d.ts.map +1 -1
- package/dist/rtf/replacePlainText.js +48 -11
- package/dist/rtf/replacePlainText.js.map +1 -1
- package/dist/rtf/resolveRtfInput.d.ts +11 -0
- package/dist/rtf/resolveRtfInput.d.ts.map +1 -0
- package/dist/rtf/{resolveMarkdownInput.js → resolveRtfInput.js} +13 -7
- package/dist/rtf/resolveRtfInput.js.map +1 -0
- package/dist/rtf/types.d.ts +5 -0
- package/dist/rtf/types.d.ts.map +1 -0
- package/dist/rtf/types.js +2 -0
- package/dist/rtf/types.js.map +1 -0
- package/package.json +1 -1
- package/dist/rtf/resolveMarkdownInput.d.ts +0 -6
- package/dist/rtf/resolveMarkdownInput.d.ts.map +0 -1
- package/dist/rtf/resolveMarkdownInput.js.map +0 -1
package/dist/commands/rtf.js
CHANGED
|
@@ -4,40 +4,59 @@ import { BLOCKS } from '@contentful/rich-text-types';
|
|
|
4
4
|
import pc from 'picocolors';
|
|
5
5
|
import { isJsonMode } from '../output/mode.js';
|
|
6
6
|
import { errorMsg, successMsg, warnMsg } from '../output/print.js';
|
|
7
|
-
import {
|
|
7
|
+
import { stringToRtfDocument } from '../rtf/convertToRtf.js';
|
|
8
8
|
import { extractBlockPlainText, getHeadingLevel, isHeadingBlock, RichTextReplaceError, replaceRtfPlainText, } from '../rtf/replacePlainText.js';
|
|
9
|
-
import {
|
|
9
|
+
import { resolveRtfInput } from '../rtf/resolveRtfInput.js';
|
|
10
10
|
import { rtfToMarkdown } from '../rtf/toMarkdown.js';
|
|
11
11
|
import { isRtfDocument } from '../rtf/utils.js';
|
|
12
12
|
import { resolveRef } from '../session/refs.js';
|
|
13
13
|
import { requireSession, saveSession } from '../session/store.js';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
function pickRtfFormat(opts) {
|
|
15
|
+
const chosen = [];
|
|
16
|
+
if (opts.text)
|
|
17
|
+
chosen.push('text');
|
|
18
|
+
if (opts.markdown)
|
|
19
|
+
chosen.push('markdown');
|
|
20
|
+
if (opts.html)
|
|
21
|
+
chosen.push('html');
|
|
22
|
+
if (opts.json)
|
|
23
|
+
chosen.push('json');
|
|
24
|
+
if (chosen.length > 1) {
|
|
25
|
+
throw new Error('Use only one of --text, --markdown, --html, --json');
|
|
26
|
+
}
|
|
27
|
+
return chosen[0] ?? 'markdown';
|
|
28
|
+
}
|
|
29
|
+
const RTF_DESCRIPTION = 'Set a rich text field from plain text, Markdown, HTML, or Rich Text JSON.\n' +
|
|
30
|
+
'Format: --text | --markdown (default) | --html | --json — exactly one optional flag.\n' +
|
|
31
|
+
'Inline (short content): rtf @c0 body --markdown "# Heading\\n\\nParagraph."\n' +
|
|
32
|
+
'Named flag: rtf @c0 body --content "<p>…</p>" --html\n' +
|
|
33
|
+
'Base64: rtf @c0 body --base64 <base64> --json\n' +
|
|
34
|
+
'File: rtf @c0 body --file <absolute-path> --markdown\n' +
|
|
21
35
|
'Subcommands: embed — embedded blocks; replace — surgical find/replace; patch — JSON batch replace; edit — replace via stdin; headings — list heading blocks.';
|
|
22
36
|
export function registerRtfCommand(program) {
|
|
23
37
|
const rtfCmd = program
|
|
24
|
-
.command('rtf [ref] [field] [
|
|
38
|
+
.command('rtf [ref] [field] [content]')
|
|
25
39
|
.description(RTF_DESCRIPTION)
|
|
26
|
-
.option('--file <path>', 'Read
|
|
27
|
-
.option('--content <
|
|
28
|
-
.option('--base64 <encoded>', 'Base64-encoded
|
|
29
|
-
.
|
|
40
|
+
.option('--file <path>', 'Read input from a file (platform-native absolute path)')
|
|
41
|
+
.option('--content <string>', 'Content as a named string flag (preferred for AI use)')
|
|
42
|
+
.option('--base64 <encoded>', 'Base64-encoded input — eliminates filesystem dependency')
|
|
43
|
+
.option('--text', 'Interpret input as plain text (paragraphs from newlines; inline **bold** allowed)')
|
|
44
|
+
.option('--markdown', 'Interpret input as Markdown (default when no format flag)')
|
|
45
|
+
.option('--html', 'Interpret input as HTML')
|
|
46
|
+
.option('--json', 'Interpret input as Contentful Rich Text document JSON')
|
|
47
|
+
.action(async (ref, field, contentArg, opts, cmd) => {
|
|
30
48
|
try {
|
|
31
49
|
if (!ref || !field) {
|
|
32
50
|
errorMsg('Set rich text: provide <ref> and <field>. Example: cms-edit rtf @c1 body "..."');
|
|
33
51
|
process.exit(1);
|
|
34
52
|
}
|
|
35
|
-
const
|
|
53
|
+
const format = pickRtfFormat(opts);
|
|
54
|
+
const raw = await resolveRtfInput(format, contentArg, opts.file, opts.content, opts.base64);
|
|
36
55
|
const parentOpts = cmd.parent?.opts() ?? {};
|
|
37
56
|
const session = requireSession(parentOpts.session, parentOpts.config);
|
|
38
57
|
const entry = resolveRef(session, ref);
|
|
39
58
|
const locale = session.defaultLocale;
|
|
40
|
-
const document =
|
|
59
|
+
const document = stringToRtfDocument(raw, format);
|
|
41
60
|
if (!entry.fields[field]) {
|
|
42
61
|
entry.fields[field] = {};
|
|
43
62
|
}
|
|
@@ -67,6 +86,8 @@ export function registerRtfCommand(program) {
|
|
|
67
86
|
.option('--find-plain <text>', 'Alias for --find; use when the search string contains * characters')
|
|
68
87
|
.option('--replace <markdown>', 'Replacement as inline Markdown (**bold**, [links](url), …)')
|
|
69
88
|
.option('--replace-plain <text>', 'Replacement as literal text (no Markdown); use for strings containing *')
|
|
89
|
+
.option('--replace-html <html>', 'Replacement as inline HTML (bold, links, …)')
|
|
90
|
+
.option('--replace-json <json>', 'Replacement as JSON array of inline rich-text nodes')
|
|
70
91
|
.option('--mode <mode>', 'all = replace every match; exactlyOne = require a single match (default: all)', 'all')
|
|
71
92
|
.option('--ignore-marks', 'Match across adjacent bold/plain text node splits within the same block')
|
|
72
93
|
.option('--in-table-col <n>', 'Restrict replacements to table column N (1-indexed); non-table content is unaffected', (v) => Number.parseInt(v, 10))
|
|
@@ -93,6 +114,8 @@ export function registerRtfCommand(program) {
|
|
|
93
114
|
const findStr = (hasFind ? opts.find : opts.findPlain) ?? '';
|
|
94
115
|
const hasMd = opts.replace !== undefined && opts.replace !== '';
|
|
95
116
|
const hasPlain = opts.replacePlain !== undefined && opts.replacePlain !== '';
|
|
117
|
+
const hasHtml = opts.replaceHtml !== undefined && opts.replaceHtml !== '';
|
|
118
|
+
const hasJson = opts.replaceJson !== undefined && opts.replaceJson !== '';
|
|
96
119
|
if (opts.mode !== 'all' && opts.mode !== 'exactlyOne') {
|
|
97
120
|
errorMsg('--mode must be "all" or "exactlyOne".');
|
|
98
121
|
process.exit(1);
|
|
@@ -132,11 +155,14 @@ export function registerRtfCommand(program) {
|
|
|
132
155
|
errorMsg(`Field "${field}" is not rich text on ${ref}.`);
|
|
133
156
|
process.exit(1);
|
|
134
157
|
}
|
|
135
|
-
// In dry-run mode,
|
|
158
|
+
// In dry-run mode, replacement flags can be omitted
|
|
136
159
|
const isDryRun = !!opts.dryRun;
|
|
137
|
-
if (!isDryRun
|
|
138
|
-
|
|
139
|
-
|
|
160
|
+
if (!isDryRun) {
|
|
161
|
+
const replaceCount = [hasMd, hasPlain, hasHtml, hasJson].filter(Boolean).length;
|
|
162
|
+
if (replaceCount !== 1) {
|
|
163
|
+
errorMsg('Provide exactly one of --replace, --replace-plain, --replace-html, or --replace-json.');
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
140
166
|
}
|
|
141
167
|
if (opts.inTableRow !== undefined &&
|
|
142
168
|
(Number.isNaN(opts.inTableRow) || opts.inTableRow < 1)) {
|
|
@@ -150,7 +176,11 @@ export function registerRtfCommand(program) {
|
|
|
150
176
|
? { replacePlain: opts.replacePlain ?? '' }
|
|
151
177
|
: hasMd
|
|
152
178
|
? { replaceMarkdown: opts.replace ?? '' }
|
|
153
|
-
:
|
|
179
|
+
: hasHtml
|
|
180
|
+
? { replaceHtml: opts.replaceHtml ?? '' }
|
|
181
|
+
: hasJson
|
|
182
|
+
? { replaceJson: opts.replaceJson ?? '' }
|
|
183
|
+
: { replacePlain: '' }), // dry-run placeholder
|
|
154
184
|
...(opts.ignoreMarks ? { ignoreMarks: true } : {}),
|
|
155
185
|
...(opts.inTableCol !== undefined ? { tableCol: opts.inTableCol } : {}),
|
|
156
186
|
...(opts.inTableRow !== undefined ? { tableRow: opts.inTableRow } : {}),
|
|
@@ -315,10 +345,10 @@ export function registerRtfCommand(program) {
|
|
|
315
345
|
.command('patch <ref> <field>')
|
|
316
346
|
.description('Apply a JSON array of find/replace operations to a rich text field in sequence.\n' +
|
|
317
347
|
'Pass --file <path> to read from a file; omit to read JSON from stdin.\n' +
|
|
318
|
-
'Each op: { "find": "...", "replaceWith": "...", "replaceIsMarkdown"
|
|
319
|
-
'"
|
|
320
|
-
'Supported op fields: find, replaceWith, replaceIsMarkdown,
|
|
321
|
-
' inRowContaining, inColContaining, section, sectionNth, protectPattern.\n' +
|
|
348
|
+
'Each op: { "find": "...", "replaceWith": "...", "replaceIsMarkdown"|"replaceIsHtml"|"replaceIsJson": true, ... }\n' +
|
|
349
|
+
'Or use "replaceFormat": "plain"|"markdown"|"html"|"json" with "replaceWith".\n' +
|
|
350
|
+
'Supported op fields: find, replaceWith, replaceIsMarkdown, replaceIsHtml, replaceIsJson, replaceFormat, mode, ignoreMarks,\n' +
|
|
351
|
+
' inTableCol, inTableRow, inRowContaining, inColContaining, section, sectionNth, protectPattern.\n' +
|
|
322
352
|
'All ops are applied in order; if any fails, no changes are saved.')
|
|
323
353
|
.option('--file <path>', 'Read JSON patch ops from a file (omit to read from stdin)')
|
|
324
354
|
.option('--dry-run', 'Count matches for each op without writing changes')
|
|
@@ -372,17 +402,47 @@ export function registerRtfCommand(program) {
|
|
|
372
402
|
}
|
|
373
403
|
const replaceWith = typeof o['replaceWith'] === 'string' ? o['replaceWith'] : '';
|
|
374
404
|
const replaceIsMarkdown = !!o['replaceIsMarkdown'];
|
|
405
|
+
const replaceIsHtml = !!o['replaceIsHtml'];
|
|
406
|
+
const replaceIsJson = !!o['replaceIsJson'];
|
|
407
|
+
const replaceFormatRaw = typeof o['replaceFormat'] === 'string' ? o['replaceFormat'].toLowerCase().trim() : '';
|
|
375
408
|
const mode = typeof o['mode'] === 'string' ? o['mode'] : 'all';
|
|
376
409
|
if (mode !== 'all' && mode !== 'exactlyOne') {
|
|
377
410
|
errorMsg(`Op ${String(i)}: "mode" must be "all" or "exactlyOne".`);
|
|
378
411
|
process.exit(1);
|
|
379
412
|
}
|
|
413
|
+
const fmtFlags = [
|
|
414
|
+
replaceIsMarkdown,
|
|
415
|
+
replaceIsHtml,
|
|
416
|
+
replaceIsJson,
|
|
417
|
+
replaceFormatRaw !== '',
|
|
418
|
+
].filter(Boolean).length;
|
|
419
|
+
if (fmtFlags > 1) {
|
|
420
|
+
errorMsg(`Op ${String(i)}: use at most one of replaceIsMarkdown, replaceIsHtml, replaceIsJson, replaceFormat.`);
|
|
421
|
+
process.exit(1);
|
|
422
|
+
}
|
|
423
|
+
let replacePart;
|
|
424
|
+
if (replaceIsMarkdown || replaceFormatRaw === 'markdown') {
|
|
425
|
+
replacePart = { replaceMarkdown: replaceWith };
|
|
426
|
+
}
|
|
427
|
+
else if (replaceIsHtml || replaceFormatRaw === 'html') {
|
|
428
|
+
replacePart = { replaceHtml: replaceWith };
|
|
429
|
+
}
|
|
430
|
+
else if (replaceIsJson || replaceFormatRaw === 'json') {
|
|
431
|
+
replacePart = { replaceJson: replaceWith };
|
|
432
|
+
}
|
|
433
|
+
else if (replaceFormatRaw === 'plain' ||
|
|
434
|
+
replaceFormatRaw === 'text' ||
|
|
435
|
+
replaceFormatRaw === '') {
|
|
436
|
+
replacePart = { replacePlain: replaceWith };
|
|
437
|
+
}
|
|
438
|
+
else {
|
|
439
|
+
errorMsg(`Op ${String(i)}: "replaceFormat" must be plain, text, markdown, html, or json.`);
|
|
440
|
+
process.exit(1);
|
|
441
|
+
}
|
|
380
442
|
const opOptions = {
|
|
381
443
|
find: o['find'],
|
|
382
444
|
mode: mode,
|
|
383
|
-
...
|
|
384
|
-
? { replaceMarkdown: replaceWith }
|
|
385
|
-
: { replacePlain: replaceWith }),
|
|
445
|
+
...replacePart,
|
|
386
446
|
...(o['ignoreMarks'] ? { ignoreMarks: true } : {}),
|
|
387
447
|
...(typeof o['inTableCol'] === 'number'
|
|
388
448
|
? { tableCol: o['inTableCol'] }
|
|
@@ -463,10 +523,15 @@ export function registerRtfCommand(program) {
|
|
|
463
523
|
});
|
|
464
524
|
rtfCmd
|
|
465
525
|
.command('edit <ref> <field>')
|
|
466
|
-
.description('Replace a rich text field by reading
|
|
526
|
+
.description('Replace a rich text field by reading new content from stdin.\n' +
|
|
527
|
+
'Format: --text | --markdown (default) | --html | --json.\n' +
|
|
467
528
|
'In human mode, the current field content is printed to stdout as Markdown first.\n' +
|
|
468
|
-
'Example: echo "# New heading\\n\\nBody text." | cms-edit rtf edit @c1 body')
|
|
469
|
-
.
|
|
529
|
+
'Example: echo "# New heading\\n\\nBody text." | cms-edit rtf edit @c1 body --markdown')
|
|
530
|
+
.option('--text', 'Stdin is plain text')
|
|
531
|
+
.option('--markdown', 'Stdin is Markdown (default)')
|
|
532
|
+
.option('--html', 'Stdin is HTML')
|
|
533
|
+
.option('--json', 'Stdin is Rich Text document JSON')
|
|
534
|
+
.action(async (ref, field, opts, cmd) => {
|
|
470
535
|
const parentOpts = cmd.parent?.parent?.opts() ?? {};
|
|
471
536
|
try {
|
|
472
537
|
const session = requireSession(parentOpts.session, parentOpts.config);
|
|
@@ -477,28 +542,28 @@ export function registerRtfCommand(program) {
|
|
|
477
542
|
errorMsg(`Field "${field}" is missing on ${ref}.`);
|
|
478
543
|
process.exit(1);
|
|
479
544
|
}
|
|
480
|
-
const
|
|
481
|
-
if (
|
|
545
|
+
const rawField = fieldData[locale] ?? fieldData['en-US'];
|
|
546
|
+
if (rawField === undefined || rawField === null) {
|
|
482
547
|
errorMsg(`Field "${field}" has no value for locale on ${ref}.`);
|
|
483
548
|
process.exit(1);
|
|
484
549
|
}
|
|
485
|
-
if (typeof
|
|
486
|
-
|
|
487
|
-
|
|
550
|
+
if (typeof rawField !== 'object' ||
|
|
551
|
+
rawField === null ||
|
|
552
|
+
rawField.nodeType !== BLOCKS.DOCUMENT) {
|
|
488
553
|
errorMsg(`Field "${field}" is not rich text on ${ref}.`);
|
|
489
554
|
process.exit(1);
|
|
490
555
|
}
|
|
491
556
|
// In human mode, print current content as Markdown so the caller can diff
|
|
492
557
|
if (!isJsonMode()) {
|
|
493
|
-
const currentMarkdown = rtfToMarkdown(
|
|
558
|
+
const currentMarkdown = rtfToMarkdown(rawField);
|
|
494
559
|
process.stdout.write(currentMarkdown);
|
|
495
560
|
if (!currentMarkdown.endsWith('\n')) {
|
|
496
561
|
process.stdout.write('\n');
|
|
497
562
|
}
|
|
498
563
|
}
|
|
499
|
-
|
|
500
|
-
const
|
|
501
|
-
const newDocument =
|
|
564
|
+
const format = pickRtfFormat(opts);
|
|
565
|
+
const replacement = await resolveRtfInput(format, '-', undefined);
|
|
566
|
+
const newDocument = stringToRtfDocument(replacement, format);
|
|
502
567
|
entry.fields[field][locale] = newDocument;
|
|
503
568
|
if (!session.modifiedEntryIds.includes(entry.sys.id)) {
|
|
504
569
|
session.modifiedEntryIds.push(entry.sys.id);
|
package/dist/commands/rtf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyVzD"}
|
package/dist/commands/set.js
CHANGED
|
@@ -4,6 +4,8 @@ import { loadConfig, resolveSpaceConfig } from '../config/load.js';
|
|
|
4
4
|
import { createSafeEnvironment } from '../contentful/client.js';
|
|
5
5
|
import { getActiveFieldDef, getContentTypeCached, validateLinksSetAgainstFieldSchema, validateScalarSetAgainstFieldSchema, } from '../contentful/set-field-schema.js';
|
|
6
6
|
import { errorMsg, successMsg, warnMsg } from '../output/print.js';
|
|
7
|
+
import { stringToRtfDocument } from '../rtf/convertToRtf.js';
|
|
8
|
+
import { isRtfDocument } from '../rtf/utils.js';
|
|
7
9
|
import { makeAssetLink, makeEntryLink, resolveRef, resolveRefToId } from '../session/refs.js';
|
|
8
10
|
import { requireSession, saveSession } from '../session/store.js';
|
|
9
11
|
import { everyTokenLooksLikeMultiAssignment, parseMultiSetAssignments, } from './multiset-assignments.js';
|
|
@@ -16,12 +18,12 @@ export function registerSetCommand(program) {
|
|
|
16
18
|
' Multi-set applies scalar values to any number of entries in one command.\n' +
|
|
17
19
|
' Flags (--link, --asset, --links, --file, --json) apply to single mode only.\n' +
|
|
18
20
|
'Scalar (default): pass a string, boolean, or number as <value>.\n' +
|
|
21
|
+
'Rich text: use --rtf-text | --rtf-markdown (default) | --rtf-html | --rtf-json with a string value, or --file/--json with a full document.\n' +
|
|
19
22
|
'Object/JSON: use --file <path> to read JSON from a file, or --json <json> for inline JSON.\n' +
|
|
20
23
|
'Plain text file: use --text-file <path> to read a file as a plain string (for rawHtml, customCss, etc.).\n' +
|
|
21
24
|
'Entry link: use --link (value = linked entry ID).\n' +
|
|
22
25
|
'Asset link: use --asset (value = asset ID).\n' +
|
|
23
|
-
'Entry link array: use --links (value = comma-separated refs or IDs); field must be an array of entry links; use --append to append
|
|
24
|
-
'For rich text fields use "cms-edit rtf" instead.')
|
|
26
|
+
'Entry link array: use --links (value = comma-separated refs or IDs); field must be an array of entry links; use --append to append.')
|
|
25
27
|
.option('--link', 'Value is an entry ID for a single-entry link field')
|
|
26
28
|
.option('--asset', 'Value is an asset ID for a single-asset link field')
|
|
27
29
|
.option('--links', 'Value is comma-separated refs or entry IDs; field must be an array of entry links')
|
|
@@ -29,13 +31,34 @@ export function registerSetCommand(program) {
|
|
|
29
31
|
.option('--file <path>', 'Read JSON from a file and set the field as an Object value')
|
|
30
32
|
.option('--text-file <path>', 'Read a plain text file and set the field as a Text value (for rawHtml, customCss, etc.)')
|
|
31
33
|
.option('--json <json>', 'Inline JSON string to set the field as an Object value')
|
|
34
|
+
.option('--rtf-text', 'Interpret scalar value as plain text → Rich Text (paragraph breaks)')
|
|
35
|
+
.option('--rtf-markdown', 'Interpret scalar value as Markdown → Rich Text (default for RichText fields)')
|
|
36
|
+
.option('--rtf-html', 'Interpret scalar value as HTML → Rich Text')
|
|
37
|
+
.option('--rtf-json', 'Interpret scalar value as Contentful Rich Text document JSON')
|
|
32
38
|
.action(async (assignments, opts, cmd) => {
|
|
33
39
|
const parentOpts = cmd.parent?.opts() ?? {};
|
|
34
40
|
try {
|
|
35
41
|
// Multi-set mode: all tokens match @ref:field=value
|
|
36
42
|
if (everyTokenLooksLikeMultiAssignment(assignments)) {
|
|
37
43
|
const session = requireSession(parentOpts.session, parentOpts.config);
|
|
38
|
-
|
|
44
|
+
let rtfFormatMulti = 'markdown';
|
|
45
|
+
try {
|
|
46
|
+
rtfFormatMulti = resolveSetRtfFormat(opts);
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
errorMsg(e instanceof Error ? e.message : String(e));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
const hasRtfMulti = !!(opts.rtfText ||
|
|
53
|
+
opts.rtfMarkdown ||
|
|
54
|
+
opts.rtfHtml ||
|
|
55
|
+
opts.rtfJson);
|
|
56
|
+
if (hasRtfMulti &&
|
|
57
|
+
(opts.link || opts.asset || opts.links || opts.file || opts.json || opts.textFile)) {
|
|
58
|
+
errorMsg('Cannot combine --rtf-* with --link, --asset, --links, --file, --json, or --text-file in multi-set mode.');
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
await handleMultiSet(assignments, session, parentOpts, rtfFormatMulti);
|
|
39
62
|
return;
|
|
40
63
|
}
|
|
41
64
|
const ref = assignments[0];
|
|
@@ -78,9 +101,37 @@ export function registerSetCommand(program) {
|
|
|
78
101
|
const session = requireSession(parentOpts.session, parentOpts.config);
|
|
79
102
|
const entry = resolveRef(session, ref);
|
|
80
103
|
const locale = session.defaultLocale;
|
|
104
|
+
let rtfFormat = 'markdown';
|
|
105
|
+
try {
|
|
106
|
+
rtfFormat = resolveSetRtfFormat(opts);
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
errorMsg(e instanceof Error ? e.message : String(e));
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
const hasRtfFlag = !!(opts.rtfText || opts.rtfMarkdown || opts.rtfHtml || opts.rtfJson);
|
|
113
|
+
if (hasRtfFlag && (opts.link || opts.asset || opts.links || isObjectMode)) {
|
|
114
|
+
errorMsg('Cannot combine --rtf-* with --link, --asset, --links, or object JSON (--file/--json).');
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
let fieldDef;
|
|
118
|
+
try {
|
|
119
|
+
const config = loadConfig(parentOpts.config);
|
|
120
|
+
const { space } = resolveSpaceConfig(config, session.spaceKey);
|
|
121
|
+
const env = await createSafeEnvironment(space);
|
|
122
|
+
const ct = await getContentTypeCached(env, session, entry.sys.contentType.sys.id);
|
|
123
|
+
fieldDef = getActiveFieldDef(ct, field);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
fieldDef = undefined;
|
|
127
|
+
}
|
|
81
128
|
if (isObjectMode) {
|
|
82
129
|
const jsonString = opts.file ? readFileStrict(opts.file) : opts.json;
|
|
83
130
|
const parsed = parseJsonStrict(jsonString, opts.file);
|
|
131
|
+
if (fieldDef?.type === 'RichText' && !isRtfDocument(parsed)) {
|
|
132
|
+
errorMsg(`Field "${field}" is Rich Text — JSON must be a full Rich Text document (root nodeType "document").`);
|
|
133
|
+
process.exit(1);
|
|
134
|
+
}
|
|
84
135
|
if (!entry.fields[field]) {
|
|
85
136
|
entry.fields[field] = {};
|
|
86
137
|
}
|
|
@@ -96,10 +147,25 @@ export function registerSetCommand(program) {
|
|
|
96
147
|
}
|
|
97
148
|
if (opts.textFile) {
|
|
98
149
|
const text = readFileStrict(opts.textFile);
|
|
150
|
+
let stored = text;
|
|
151
|
+
if (fieldDef?.type === 'RichText') {
|
|
152
|
+
const hasExplicitRtfFlag = !!(opts.rtfText ||
|
|
153
|
+
opts.rtfMarkdown ||
|
|
154
|
+
opts.rtfHtml ||
|
|
155
|
+
opts.rtfJson);
|
|
156
|
+
const fmt = hasExplicitRtfFlag ? rtfFormat : 'text';
|
|
157
|
+
try {
|
|
158
|
+
stored = stringToRtfDocument(text, fmt);
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
errorMsg(e instanceof Error ? e.message : String(e));
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
99
165
|
if (!entry.fields[field]) {
|
|
100
166
|
entry.fields[field] = {};
|
|
101
167
|
}
|
|
102
|
-
entry.fields[field][locale] =
|
|
168
|
+
entry.fields[field][locale] = stored;
|
|
103
169
|
if (!session.modifiedEntryIds.includes(entry.sys.id)) {
|
|
104
170
|
session.modifiedEntryIds.push(entry.sys.id);
|
|
105
171
|
}
|
|
@@ -113,11 +179,6 @@ export function registerSetCommand(program) {
|
|
|
113
179
|
}
|
|
114
180
|
if (!isObjectMode && !opts.link && !opts.asset && !opts.links) {
|
|
115
181
|
try {
|
|
116
|
-
const config = loadConfig(parentOpts.config);
|
|
117
|
-
const { space } = resolveSpaceConfig(config, session.spaceKey);
|
|
118
|
-
const env = await createSafeEnvironment(space);
|
|
119
|
-
const ct = await getContentTypeCached(env, session, entry.sys.contentType.sys.id);
|
|
120
|
-
const fieldDef = getActiveFieldDef(ct, field);
|
|
121
182
|
const conflict = validateScalarSetAgainstFieldSchema(fieldDef);
|
|
122
183
|
if (conflict) {
|
|
123
184
|
errorMsg(formatSetSchemaConflict(ref, field, conflict));
|
|
@@ -168,11 +229,23 @@ export function registerSetCommand(program) {
|
|
|
168
229
|
: `Set ${field} on ${ref} to ${linkArray.length} link(s).`);
|
|
169
230
|
return;
|
|
170
231
|
}
|
|
171
|
-
|
|
232
|
+
let value = opts.link
|
|
172
233
|
? makeEntryLink(effectiveValue.trim())
|
|
173
234
|
: opts.asset
|
|
174
235
|
? makeAssetLink(effectiveValue.trim())
|
|
175
236
|
: parseScalarValue(effectiveValue);
|
|
237
|
+
if (!opts.link &&
|
|
238
|
+
!opts.asset &&
|
|
239
|
+
fieldDef?.type === 'RichText' &&
|
|
240
|
+
typeof value === 'string') {
|
|
241
|
+
try {
|
|
242
|
+
value = stringToRtfDocument(value, rtfFormat);
|
|
243
|
+
}
|
|
244
|
+
catch (e) {
|
|
245
|
+
errorMsg(e instanceof Error ? e.message : String(e));
|
|
246
|
+
process.exit(1);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
176
249
|
if (!entry.fields[field]) {
|
|
177
250
|
entry.fields[field] = {};
|
|
178
251
|
}
|
|
@@ -216,8 +289,6 @@ function parseJsonStrict(jsonString, sourceFile) {
|
|
|
216
289
|
}
|
|
217
290
|
function formatSetSchemaConflict(ref, field, conflict) {
|
|
218
291
|
switch (conflict.kind) {
|
|
219
|
-
case 'richText':
|
|
220
|
-
return `'${field}' is a RichText field — use: cms-edit rtf ${ref} ${field}`;
|
|
221
292
|
case 'entryLink':
|
|
222
293
|
return `'${field}' is an Entry link field — use: cms-edit set ${ref} ${field} <entry-id> --link`;
|
|
223
294
|
case 'assetLink':
|
|
@@ -261,7 +332,22 @@ function parseScalarValue(raw) {
|
|
|
261
332
|
* Handles multi-set mode: applies scalar values to multiple entries in one command.
|
|
262
333
|
* Token format: @ref:fieldName=value (e.g. @c1:cmsLabel=Hero — School avoidance)
|
|
263
334
|
*/
|
|
264
|
-
|
|
335
|
+
function resolveSetRtfFormat(opts) {
|
|
336
|
+
const chosen = [];
|
|
337
|
+
if (opts.rtfText)
|
|
338
|
+
chosen.push('text');
|
|
339
|
+
if (opts.rtfMarkdown)
|
|
340
|
+
chosen.push('markdown');
|
|
341
|
+
if (opts.rtfHtml)
|
|
342
|
+
chosen.push('html');
|
|
343
|
+
if (opts.rtfJson)
|
|
344
|
+
chosen.push('json');
|
|
345
|
+
if (chosen.length > 1) {
|
|
346
|
+
throw new Error('Use only one of --rtf-text, --rtf-markdown, --rtf-html, --rtf-json');
|
|
347
|
+
}
|
|
348
|
+
return chosen[0] ?? 'markdown';
|
|
349
|
+
}
|
|
350
|
+
async function handleMultiSet(tokens, session, parentOpts, rtfFormat) {
|
|
265
351
|
let parsed;
|
|
266
352
|
try {
|
|
267
353
|
parsed = parseMultiSetAssignments(tokens);
|
|
@@ -301,7 +387,24 @@ async function handleMultiSet(tokens, session, parentOpts) {
|
|
|
301
387
|
const applied = [];
|
|
302
388
|
for (const { ref, field, raw } of parsed) {
|
|
303
389
|
const entry = entryByRef.get(ref);
|
|
304
|
-
|
|
390
|
+
let value = parseScalarValue(raw);
|
|
391
|
+
const ctId = entry.sys.contentType.sys.id;
|
|
392
|
+
let ct = ctByContentTypeId.get(ctId);
|
|
393
|
+
if (!ct) {
|
|
394
|
+
ct = await getContentTypeCached(env, session, ctId);
|
|
395
|
+
ctByContentTypeId.set(ctId, ct);
|
|
396
|
+
}
|
|
397
|
+
const fd = getActiveFieldDef(ct, field);
|
|
398
|
+
if (fd?.type === 'RichText' && typeof value === 'string') {
|
|
399
|
+
try {
|
|
400
|
+
value = stringToRtfDocument(value, rtfFormat);
|
|
401
|
+
}
|
|
402
|
+
catch (e) {
|
|
403
|
+
errorMsg(e instanceof Error ? e.message : String(e));
|
|
404
|
+
process.exit(1);
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
305
408
|
if (!entry.fields[field]) {
|
|
306
409
|
entry.fields[field] = {};
|
|
307
410
|
}
|