@se-studio/contentful-cms 1.0.16 → 1.0.18
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 +12 -0
- package/dist/bin/cms-edit.js +4 -0
- package/dist/bin/cms-edit.js.map +1 -1
- package/dist/commands/backup.d.ts +3 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +143 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +43 -3
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/restore.d.ts +4 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +146 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/rtf.d.ts.map +1 -1
- package/dist/commands/rtf.js +50 -14
- package/dist/commands/rtf.js.map +1 -1
- package/dist/rtf/replacePlainText.d.ts +34 -6
- package/dist/rtf/replacePlainText.d.ts.map +1 -1
- package/dist/rtf/replacePlainText.js +259 -22
- package/dist/rtf/replacePlainText.js.map +1 -1
- package/dist/session/backup.d.ts +34 -0
- package/dist/session/backup.d.ts.map +1 -0
- package/dist/session/backup.js +64 -0
- package/dist/session/backup.js.map +1 -0
- package/package.json +1 -1
package/dist/commands/rtf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAmC,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,eAAe,GACnB,8CAA8C;IAC9C,0EAA0E;IAC1E,6FAA6F;IAC7F,yFAAyF,CAAC;AAE5F,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,8BAA8B,CAAC;SACvC,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;SACpD,MAAM,CACL,KAAK,EACH,GAAuB,EACvB,KAAyB,EACzB,WAA+B,EAC/B,IAAuB,EACvB,EAAE;QACF,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,QAAQ,CACN,gFAAgF,CACjF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAErC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3B,CAAC;YACA,KAAK,CAAC,MAAM,CAAC,KAAK,CAA6B,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;YAEpE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,UAAU,CAAC,wBAAwB,KAAK,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,MAAM;SACH,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CACV,
|
|
1
|
+
{"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Document } from '@contentful/rich-text-types';
|
|
1
|
+
import type { Document, Inline, Text } from '@contentful/rich-text-types';
|
|
2
2
|
export declare class RichTextReplaceError extends Error {
|
|
3
3
|
constructor(message: string);
|
|
4
4
|
}
|
|
@@ -16,6 +16,30 @@ export interface ReplaceRtfPlainTextOptions {
|
|
|
16
16
|
* `*` is not parsed as italic.
|
|
17
17
|
*/
|
|
18
18
|
replacePlain?: string;
|
|
19
|
+
/**
|
|
20
|
+
* When true, match `find` across adjacent sibling text nodes in the same block
|
|
21
|
+
* (e.g. `**Annual fee: **$95` split across bold + plain nodes). Replacement is
|
|
22
|
+
* inserted at the match site; surrounding text retains its original marks.
|
|
23
|
+
* Matches cannot cross inline node boundaries (e.g. hyperlinks).
|
|
24
|
+
*/
|
|
25
|
+
ignoreMarks?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Restrict search-and-replace to table cells in this column (1-indexed).
|
|
28
|
+
* Non-table content is always included. Omit to search all columns.
|
|
29
|
+
*/
|
|
30
|
+
tableCol?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Scope replacements to blocks under the heading whose plain-text matches this string exactly.
|
|
33
|
+
* Blocks before the heading or after the next heading of equal/higher level are excluded.
|
|
34
|
+
* Throws {@link RichTextReplaceError} if no heading matches.
|
|
35
|
+
*/
|
|
36
|
+
section?: string;
|
|
37
|
+
/**
|
|
38
|
+
* When multiple headings share the same text, select which occurrence to use (1-indexed).
|
|
39
|
+
* Defaults to 1 (first match). Only meaningful when {@link section} is also set.
|
|
40
|
+
* Throws {@link RichTextReplaceError} if the Nth occurrence does not exist.
|
|
41
|
+
*/
|
|
42
|
+
sectionNth?: number;
|
|
19
43
|
}
|
|
20
44
|
export interface ReplaceRtfPlainTextResult {
|
|
21
45
|
document: Document;
|
|
@@ -25,14 +49,18 @@ export interface ReplaceRtfPlainTextResult {
|
|
|
25
49
|
/**
|
|
26
50
|
* Replaces plain-text occurrences in a Contentful rich-text document.
|
|
27
51
|
*
|
|
28
|
-
* **Matching:**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
52
|
+
* **Matching:** By default, search runs only inside individual `text` node `value` strings.
|
|
53
|
+
* Use `ignoreMarks: true` to match across adjacent sibling text nodes in the same block
|
|
54
|
+
* (e.g. `**Annual fee: **$95` split by bold).
|
|
55
|
+
*
|
|
56
|
+
* **Quidget protection:** Matches that fall inside an existing `{*...*}` span are always
|
|
57
|
+
* skipped — this prevents nesting a new quidget inside an already-inserted one.
|
|
31
58
|
*
|
|
32
|
-
* **Modes:** `all` replaces every non-overlapping occurrence
|
|
33
|
-
*
|
|
59
|
+
* **Modes:** `all` replaces every non-overlapping occurrence. `exactlyOne` requires exactly
|
|
60
|
+
* one occurrence in the entire document or throws {@link RichTextReplaceError}.
|
|
34
61
|
*
|
|
35
62
|
* @returns A deep-cloned document with replacements applied (input is not mutated).
|
|
36
63
|
*/
|
|
37
64
|
export declare function replaceRtfPlainText(document: Document, options: ReplaceRtfPlainTextOptions): ReplaceRtfPlainTextResult;
|
|
65
|
+
export declare function walkTextNodes(inlines: (Text | Inline)[], fn: (parent: (Text | Inline)[], index: number, text: Text) => void): void;
|
|
38
66
|
//# sourceMappingURL=replacePlainText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replacePlainText.d.ts","sourceRoot":"","sources":["../../src/rtf/replacePlainText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,QAAQ,
|
|
1
|
+
{"version":3,"file":"replacePlainText.d.ts","sourceRoot":"","sources":["../../src/rtf/replacePlainText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAKjF,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,YAAY,CAAC;AAE3D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,CAAC;IAC9B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;CACpB;AA0ID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,CAkC3B;AAoED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,EAC1B,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GACjE,IAAI,CAaN"}
|
|
@@ -30,15 +30,116 @@ function resolveReplacementInlines(options) {
|
|
|
30
30
|
}
|
|
31
31
|
return markdownToRtfInlines(replaceMarkdown);
|
|
32
32
|
}
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Quidget span protection (FR-1)
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
/**
|
|
37
|
+
* Returns the [start, end) ranges of all top-level `{*...*}` quidget spans in `str`.
|
|
38
|
+
* Only non-nested spans (no inner braces) are matched. Used to prevent search matches
|
|
39
|
+
* from landing inside an already-inserted quidget token.
|
|
40
|
+
*/
|
|
41
|
+
function getQuidgetSpans(str) {
|
|
42
|
+
const spans = [];
|
|
43
|
+
const re = /\{\*[^{}]*\*\}/g;
|
|
44
|
+
for (;;) {
|
|
45
|
+
const m = re.exec(str);
|
|
46
|
+
if (m === null)
|
|
47
|
+
break;
|
|
48
|
+
spans.push([m.index, m.index + m[0].length]);
|
|
49
|
+
}
|
|
50
|
+
return spans;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns true if the range [matchStart, matchEnd) is strictly contained inside any protected
|
|
54
|
+
* span — i.e. it starts AFTER the span start. This allows searching for a full quidget token
|
|
55
|
+
* itself (matchStart === spanStart is not protected) while blocking matches for shorter strings
|
|
56
|
+
* that land inside an existing quidget.
|
|
57
|
+
*/
|
|
58
|
+
function isInsideAnySpan(matchStart, matchEnd, spans) {
|
|
59
|
+
for (const [s, e] of spans) {
|
|
60
|
+
if (matchStart > s && matchEnd <= e)
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
// Section filtering helpers
|
|
67
|
+
// ---------------------------------------------------------------------------
|
|
68
|
+
const HEADING_LEVEL_MAP = {
|
|
69
|
+
[BLOCKS.HEADING_1]: 1,
|
|
70
|
+
[BLOCKS.HEADING_2]: 2,
|
|
71
|
+
[BLOCKS.HEADING_3]: 3,
|
|
72
|
+
[BLOCKS.HEADING_4]: 4,
|
|
73
|
+
[BLOCKS.HEADING_5]: 5,
|
|
74
|
+
[BLOCKS.HEADING_6]: 6,
|
|
75
|
+
};
|
|
76
|
+
function isHeadingBlock(block) {
|
|
77
|
+
return block.nodeType in HEADING_LEVEL_MAP;
|
|
78
|
+
}
|
|
79
|
+
function getHeadingLevel(block) {
|
|
80
|
+
return HEADING_LEVEL_MAP[block.nodeType] ?? 0;
|
|
81
|
+
}
|
|
82
|
+
function extractBlockPlainText(block) {
|
|
83
|
+
const parts = [];
|
|
84
|
+
walkTextNodes(block.content, (_p, _i, t) => parts.push(t.value));
|
|
85
|
+
return parts.join('');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Returns a shallow Document view containing only the blocks within the named heading section.
|
|
89
|
+
* The section starts immediately after the matched heading and ends before the next heading of
|
|
90
|
+
* equal or higher level (i.e. lower or equal heading number).
|
|
91
|
+
*
|
|
92
|
+
* When multiple headings share the same text, `nth` (1-indexed, default 1) selects which to use.
|
|
93
|
+
* Throws {@link RichTextReplaceError} if the heading is not found or `nth` exceeds the count.
|
|
94
|
+
*/
|
|
95
|
+
function resolveSectionDoc(clone, section, nth = 1) {
|
|
96
|
+
const blocks = clone.content;
|
|
97
|
+
let matchCount = 0;
|
|
98
|
+
for (let i = 0; i < blocks.length; i++) {
|
|
99
|
+
const block = blocks[i];
|
|
100
|
+
if (!block || !isHeadingBlock(block))
|
|
101
|
+
continue;
|
|
102
|
+
if (extractBlockPlainText(block) !== section)
|
|
103
|
+
continue;
|
|
104
|
+
matchCount++;
|
|
105
|
+
if (matchCount < nth)
|
|
106
|
+
continue;
|
|
107
|
+
const level = getHeadingLevel(block);
|
|
108
|
+
let end = blocks.length;
|
|
109
|
+
for (let j = i + 1; j < blocks.length; j++) {
|
|
110
|
+
const b = blocks[j];
|
|
111
|
+
if (b && isHeadingBlock(b) && getHeadingLevel(b) <= level) {
|
|
112
|
+
end = j;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Shallow doc wrapping the same block objects — mutations via applyAllReplacements affect clone
|
|
117
|
+
return {
|
|
118
|
+
nodeType: BLOCKS.DOCUMENT,
|
|
119
|
+
data: {},
|
|
120
|
+
content: blocks.slice(i + 1, end),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
if (matchCount === 0) {
|
|
124
|
+
throw new RichTextReplaceError(`No heading matching section "${section}" found in document`);
|
|
125
|
+
}
|
|
126
|
+
throw new RichTextReplaceError(`Section "${section}" has ${String(matchCount)} occurrence(s) but --section-nth ${String(nth)} was requested`);
|
|
127
|
+
}
|
|
128
|
+
// ---------------------------------------------------------------------------
|
|
129
|
+
// Public API
|
|
130
|
+
// ---------------------------------------------------------------------------
|
|
33
131
|
/**
|
|
34
132
|
* Replaces plain-text occurrences in a Contentful rich-text document.
|
|
35
133
|
*
|
|
36
|
-
* **Matching:**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
134
|
+
* **Matching:** By default, search runs only inside individual `text` node `value` strings.
|
|
135
|
+
* Use `ignoreMarks: true` to match across adjacent sibling text nodes in the same block
|
|
136
|
+
* (e.g. `**Annual fee: **$95` split by bold).
|
|
39
137
|
*
|
|
40
|
-
* **
|
|
41
|
-
*
|
|
138
|
+
* **Quidget protection:** Matches that fall inside an existing `{*...*}` span are always
|
|
139
|
+
* skipped — this prevents nesting a new quidget inside an already-inserted one.
|
|
140
|
+
*
|
|
141
|
+
* **Modes:** `all` replaces every non-overlapping occurrence. `exactlyOne` requires exactly
|
|
142
|
+
* one occurrence in the entire document or throws {@link RichTextReplaceError}.
|
|
42
143
|
*
|
|
43
144
|
* @returns A deep-cloned document with replacements applied (input is not mutated).
|
|
44
145
|
*/
|
|
@@ -46,13 +147,16 @@ export function replaceRtfPlainText(document, options) {
|
|
|
46
147
|
if (!isRtfDocument(document)) {
|
|
47
148
|
throw new RichTextReplaceError('Value is not a rich text document');
|
|
48
149
|
}
|
|
49
|
-
const { find, mode } = options;
|
|
150
|
+
const { find, mode, ignoreMarks, section, sectionNth } = options;
|
|
50
151
|
if (find === '') {
|
|
51
152
|
throw new RichTextReplaceError('find must be a non-empty string');
|
|
52
153
|
}
|
|
53
154
|
const replacement = resolveReplacementInlines(options);
|
|
54
155
|
const clone = structuredClone(document);
|
|
55
|
-
const
|
|
156
|
+
const targetDoc = section !== undefined ? resolveSectionDoc(clone, section, sectionNth) : clone;
|
|
157
|
+
const total = ignoreMarks
|
|
158
|
+
? countOccurrencesIgnoreMarks(targetDoc, find, options.tableCol)
|
|
159
|
+
: countOccurrencesInDocument(targetDoc, find, options.tableCol);
|
|
56
160
|
if (mode === 'exactlyOne' && total !== 1) {
|
|
57
161
|
throw new RichTextReplaceError(total === 0
|
|
58
162
|
? `No occurrence of find string in document`
|
|
@@ -61,17 +165,25 @@ export function replaceRtfPlainText(document, options) {
|
|
|
61
165
|
if (total === 0) {
|
|
62
166
|
return { document: clone, matchCount: 0 };
|
|
63
167
|
}
|
|
64
|
-
|
|
168
|
+
if (ignoreMarks) {
|
|
169
|
+
applyAllReplacementsIgnoreMarks(targetDoc, find, replacement, options.tableCol);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
applyAllReplacements(targetDoc, find, replacement, options.tableCol);
|
|
173
|
+
}
|
|
65
174
|
return { document: clone, matchCount: total };
|
|
66
175
|
}
|
|
67
|
-
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
// Block / inline root collection (FR-4: tableCol filtering)
|
|
178
|
+
// ---------------------------------------------------------------------------
|
|
179
|
+
function collectInlineRoots(doc, tableCol) {
|
|
68
180
|
const roots = [];
|
|
69
181
|
for (const block of doc.content) {
|
|
70
|
-
collectInlineRootsFromBlock(block, roots);
|
|
182
|
+
collectInlineRootsFromBlock(block, roots, tableCol);
|
|
71
183
|
}
|
|
72
184
|
return roots;
|
|
73
185
|
}
|
|
74
|
-
function collectInlineRootsFromBlock(block, roots) {
|
|
186
|
+
function collectInlineRootsFromBlock(block, roots, tableCol) {
|
|
75
187
|
switch (block.nodeType) {
|
|
76
188
|
case BLOCKS.PARAGRAPH:
|
|
77
189
|
case BLOCKS.HEADING_1:
|
|
@@ -84,27 +196,33 @@ function collectInlineRootsFromBlock(block, roots) {
|
|
|
84
196
|
break;
|
|
85
197
|
case BLOCKS.QUOTE:
|
|
86
198
|
for (const b of block.content) {
|
|
87
|
-
collectInlineRootsFromBlock(b, roots);
|
|
199
|
+
collectInlineRootsFromBlock(b, roots, tableCol);
|
|
88
200
|
}
|
|
89
201
|
break;
|
|
90
202
|
case BLOCKS.UL_LIST:
|
|
91
203
|
case BLOCKS.OL_LIST:
|
|
92
204
|
for (const item of block.content) {
|
|
93
|
-
collectInlineRootsFromBlock(item, roots);
|
|
205
|
+
collectInlineRootsFromBlock(item, roots, tableCol);
|
|
94
206
|
}
|
|
95
207
|
break;
|
|
96
208
|
case BLOCKS.LIST_ITEM:
|
|
97
209
|
for (const b of block.content) {
|
|
98
|
-
collectInlineRootsFromBlock(b, roots);
|
|
210
|
+
collectInlineRootsFromBlock(b, roots, tableCol);
|
|
99
211
|
}
|
|
100
212
|
break;
|
|
101
213
|
case BLOCKS.TABLE:
|
|
102
214
|
for (const row of block.content) {
|
|
103
215
|
if (row.nodeType !== BLOCKS.TABLE_ROW)
|
|
104
216
|
continue;
|
|
105
|
-
|
|
217
|
+
const cells = row.content;
|
|
218
|
+
for (let colIdx = 0; colIdx < cells.length; colIdx++) {
|
|
219
|
+
if (tableCol !== undefined && colIdx + 1 !== tableCol)
|
|
220
|
+
continue;
|
|
221
|
+
const cell = cells[colIdx];
|
|
222
|
+
if (!cell)
|
|
223
|
+
continue;
|
|
106
224
|
for (const inner of cell.content) {
|
|
107
|
-
collectInlineRootsFromBlock(inner, roots);
|
|
225
|
+
collectInlineRootsFromBlock(inner, roots, tableCol);
|
|
108
226
|
}
|
|
109
227
|
}
|
|
110
228
|
}
|
|
@@ -113,7 +231,10 @@ function collectInlineRootsFromBlock(block, roots) {
|
|
|
113
231
|
break;
|
|
114
232
|
}
|
|
115
233
|
}
|
|
116
|
-
|
|
234
|
+
// ---------------------------------------------------------------------------
|
|
235
|
+
// Text node walking
|
|
236
|
+
// ---------------------------------------------------------------------------
|
|
237
|
+
export function walkTextNodes(inlines, fn) {
|
|
117
238
|
for (let i = 0; i < inlines.length; i++) {
|
|
118
239
|
const n = inlines[i];
|
|
119
240
|
if (!n)
|
|
@@ -129,9 +250,12 @@ function walkTextNodes(inlines, fn) {
|
|
|
129
250
|
}
|
|
130
251
|
}
|
|
131
252
|
}
|
|
132
|
-
|
|
253
|
+
// ---------------------------------------------------------------------------
|
|
254
|
+
// Per-text-node count & replace (default mode, FR-1 quidget protection)
|
|
255
|
+
// ---------------------------------------------------------------------------
|
|
256
|
+
function countOccurrencesInDocument(doc, find, tableCol) {
|
|
133
257
|
let n = 0;
|
|
134
|
-
for (const root of collectInlineRoots(doc)) {
|
|
258
|
+
for (const root of collectInlineRoots(doc, tableCol)) {
|
|
135
259
|
walkTextNodes(root, (_parent, _index, text) => {
|
|
136
260
|
n += countNonOverlappingInString(text.value, find);
|
|
137
261
|
});
|
|
@@ -139,22 +263,29 @@ function countOccurrencesInDocument(doc, find) {
|
|
|
139
263
|
return n;
|
|
140
264
|
}
|
|
141
265
|
function countNonOverlappingInString(haystack, needle) {
|
|
266
|
+
const spans = getQuidgetSpans(haystack);
|
|
142
267
|
let count = 0;
|
|
143
268
|
let pos = 0;
|
|
144
269
|
while (pos <= haystack.length - needle.length) {
|
|
145
270
|
const i = haystack.indexOf(needle, pos);
|
|
146
271
|
if (i === -1)
|
|
147
272
|
break;
|
|
273
|
+
if (isInsideAnySpan(i, i + needle.length, spans)) {
|
|
274
|
+
// Advance past the end of the span that contains this match
|
|
275
|
+
const containing = spans.find(([s, e]) => i > s && i + needle.length <= e);
|
|
276
|
+
pos = containing ? containing[1] : i + needle.length;
|
|
277
|
+
continue;
|
|
278
|
+
}
|
|
148
279
|
count++;
|
|
149
280
|
pos = i + needle.length;
|
|
150
281
|
}
|
|
151
282
|
return count;
|
|
152
283
|
}
|
|
153
|
-
function applyAllReplacements(doc, find, replacement) {
|
|
284
|
+
function applyAllReplacements(doc, find, replacement, tableCol) {
|
|
154
285
|
const byParent = new Map();
|
|
155
|
-
for (const root of collectInlineRoots(doc)) {
|
|
286
|
+
for (const root of collectInlineRoots(doc, tableCol)) {
|
|
156
287
|
walkTextNodes(root, (parent, index, text) => {
|
|
157
|
-
if (
|
|
288
|
+
if (countNonOverlappingInString(text.value, find) === 0)
|
|
158
289
|
return;
|
|
159
290
|
let list = byParent.get(parent);
|
|
160
291
|
if (!list) {
|
|
@@ -174,12 +305,18 @@ function applyAllReplacements(doc, find, replacement) {
|
|
|
174
305
|
function replaceAllInTextNodeAt(parent, index, find, replacement) {
|
|
175
306
|
const node = parent[index];
|
|
176
307
|
const v = node.value;
|
|
308
|
+
const spans = getQuidgetSpans(v);
|
|
177
309
|
const matches = [];
|
|
178
310
|
let pos = 0;
|
|
179
311
|
while (pos <= v.length - find.length) {
|
|
180
312
|
const i = v.indexOf(find, pos);
|
|
181
313
|
if (i === -1)
|
|
182
314
|
break;
|
|
315
|
+
if (isInsideAnySpan(i, i + find.length, spans)) {
|
|
316
|
+
const containing = spans.find(([s, e]) => i > s && i + find.length <= e);
|
|
317
|
+
pos = containing ? containing[1] : i + find.length;
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
183
320
|
matches.push(i);
|
|
184
321
|
pos = i + find.length;
|
|
185
322
|
}
|
|
@@ -199,6 +336,106 @@ function replaceAllInTextNodeAt(parent, index, find, replacement) {
|
|
|
199
336
|
}
|
|
200
337
|
parent.splice(index, 1, ...out);
|
|
201
338
|
}
|
|
339
|
+
/** Groups consecutive direct-child text nodes in `inlines` into runs (inline nodes break runs). */
|
|
340
|
+
function collectDirectTextRuns(inlines) {
|
|
341
|
+
const runs = [];
|
|
342
|
+
let current = [];
|
|
343
|
+
let offset = 0;
|
|
344
|
+
const flush = () => {
|
|
345
|
+
if (current.length > 0) {
|
|
346
|
+
runs.push({
|
|
347
|
+
parent: inlines,
|
|
348
|
+
textNodes: current,
|
|
349
|
+
virtualStr: current.map((e) => e.node.value).join(''),
|
|
350
|
+
});
|
|
351
|
+
current = [];
|
|
352
|
+
offset = 0;
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
for (let i = 0; i < inlines.length; i++) {
|
|
356
|
+
const n = inlines[i];
|
|
357
|
+
if (!n)
|
|
358
|
+
continue;
|
|
359
|
+
if (n.nodeType === 'text') {
|
|
360
|
+
const start = offset;
|
|
361
|
+
offset += n.value.length;
|
|
362
|
+
current.push({ nodeIndex: i, node: n, startOffset: start, endOffset: offset });
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
flush();
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
flush();
|
|
369
|
+
return runs;
|
|
370
|
+
}
|
|
371
|
+
function countOccurrencesIgnoreMarks(doc, find, tableCol) {
|
|
372
|
+
let n = 0;
|
|
373
|
+
for (const root of collectInlineRoots(doc, tableCol)) {
|
|
374
|
+
for (const run of collectDirectTextRuns(root)) {
|
|
375
|
+
n += countNonOverlappingInString(run.virtualStr, find);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return n;
|
|
379
|
+
}
|
|
380
|
+
function applyAllReplacementsIgnoreMarks(doc, find, replacement, tableCol) {
|
|
381
|
+
for (const root of collectInlineRoots(doc, tableCol)) {
|
|
382
|
+
// Collect runs fresh each pass (splices invalidate indices)
|
|
383
|
+
// Process one run at a time; within a run process matches in reverse order.
|
|
384
|
+
const runs = collectDirectTextRuns(root);
|
|
385
|
+
// Reverse so that splices at later positions don't shift earlier ones.
|
|
386
|
+
for (let ri = runs.length - 1; ri >= 0; ri--) {
|
|
387
|
+
const run = runs[ri];
|
|
388
|
+
if (!run)
|
|
389
|
+
continue;
|
|
390
|
+
const { virtualStr, textNodes, parent } = run;
|
|
391
|
+
const spans = getQuidgetSpans(virtualStr);
|
|
392
|
+
const matches = [];
|
|
393
|
+
let pos = 0;
|
|
394
|
+
while (pos <= virtualStr.length - find.length) {
|
|
395
|
+
const i = virtualStr.indexOf(find, pos);
|
|
396
|
+
if (i === -1)
|
|
397
|
+
break;
|
|
398
|
+
if (isInsideAnySpan(i, i + find.length, spans)) {
|
|
399
|
+
const containing = spans.find(([s, e]) => i > s && i + find.length <= e);
|
|
400
|
+
pos = containing ? containing[1] : i + find.length;
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
403
|
+
matches.push(i);
|
|
404
|
+
pos = i + find.length;
|
|
405
|
+
}
|
|
406
|
+
if (matches.length === 0)
|
|
407
|
+
continue;
|
|
408
|
+
// Apply in reverse so splices don't corrupt earlier match positions.
|
|
409
|
+
for (let mi = matches.length - 1; mi >= 0; mi--) {
|
|
410
|
+
const matchStart = matches[mi];
|
|
411
|
+
if (matchStart === undefined)
|
|
412
|
+
continue;
|
|
413
|
+
const matchEnd = matchStart + find.length;
|
|
414
|
+
const involved = textNodes.filter((tn) => tn.startOffset < matchEnd && tn.endOffset > matchStart);
|
|
415
|
+
if (involved.length === 0)
|
|
416
|
+
continue;
|
|
417
|
+
const first = involved[0];
|
|
418
|
+
const last = involved[involved.length - 1];
|
|
419
|
+
if (!first || !last)
|
|
420
|
+
continue;
|
|
421
|
+
const out = [];
|
|
422
|
+
const prefixLen = matchStart - first.startOffset;
|
|
423
|
+
if (prefixLen > 0) {
|
|
424
|
+
out.push({ ...first.node, value: first.node.value.slice(0, prefixLen) });
|
|
425
|
+
}
|
|
426
|
+
out.push(...replacement.map(cloneInlineTree));
|
|
427
|
+
const suffixStart = matchEnd - last.startOffset;
|
|
428
|
+
if (suffixStart < last.node.value.length) {
|
|
429
|
+
out.push({ ...last.node, value: last.node.value.slice(suffixStart) });
|
|
430
|
+
}
|
|
431
|
+
parent.splice(first.nodeIndex, last.nodeIndex - first.nodeIndex + 1, ...out);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
// ---------------------------------------------------------------------------
|
|
437
|
+
// Clone helpers
|
|
438
|
+
// ---------------------------------------------------------------------------
|
|
202
439
|
function cloneInlineTree(n) {
|
|
203
440
|
if (n.nodeType === 'text') {
|
|
204
441
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replacePlainText.js","sourceRoot":"","sources":["../../src/rtf/replacePlainText.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replacePlainText.js","sourceRoot":"","sources":["../../src/rtf/replacePlainText.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SerializedEntry } from './state.js';
|
|
2
|
+
export declare const BACKUPS_DIR: string;
|
|
3
|
+
export interface BackupMeta {
|
|
4
|
+
version: 1;
|
|
5
|
+
createdAt: string;
|
|
6
|
+
label: string;
|
|
7
|
+
spaceKey: string;
|
|
8
|
+
spaceId: string;
|
|
9
|
+
environment: string;
|
|
10
|
+
defaultLocale: string;
|
|
11
|
+
rootEntryId: string;
|
|
12
|
+
rootSlug: string | null;
|
|
13
|
+
entryCount: number;
|
|
14
|
+
}
|
|
15
|
+
export interface BackupFile {
|
|
16
|
+
meta: BackupMeta;
|
|
17
|
+
entries: Record<string, SerializedEntry>;
|
|
18
|
+
}
|
|
19
|
+
export declare function generateBackupFilename(spaceKey: string, rootEntryId: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Resolves a backup name/path to an absolute file path.
|
|
22
|
+
* - Bare filename (no path separators) → look in BACKUPS_DIR
|
|
23
|
+
* - Relative or absolute path → resolve from cwd
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveBackupPath(nameOrPath: string): string;
|
|
26
|
+
export declare function writeBackup(backup: BackupFile, outputPath: string): void;
|
|
27
|
+
export declare function readBackup(resolvedPath: string): BackupFile;
|
|
28
|
+
export interface BackupListEntry {
|
|
29
|
+
filename: string;
|
|
30
|
+
filePath: string;
|
|
31
|
+
meta: BackupMeta;
|
|
32
|
+
}
|
|
33
|
+
export declare function listBackups(): BackupListEntry[];
|
|
34
|
+
//# sourceMappingURL=backup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/session/backup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,WAAW,QAAwD,CAAC;AAEjF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAOpF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAGxE;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAiB3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,wBAAgB,WAAW,IAAI,eAAe,EAAE,CAiB/C"}
|