@se-studio/contentful-rest-api 1.26.4 → 1.26.6
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 +18 -0
- package/dist/baseTypes/baseHtmlComponent.d.ts +7 -0
- package/dist/baseTypes/baseHtmlComponent.d.ts.map +1 -1
- package/dist/converters/htmlComponent.d.ts.map +1 -1
- package/dist/converters/htmlComponent.js +7 -1
- package/dist/converters/htmlComponent.js.map +1 -1
- package/dist/converters/pageVariantMerge.d.ts.map +1 -1
- package/dist/converters/pageVariantMerge.js +7 -3
- package/dist/converters/pageVariantMerge.js.map +1 -1
- package/docs/llms.md +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @se-studio/contentful-rest-api
|
|
2
2
|
|
|
3
|
+
## 1.26.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 531e8ca: Add HtmlComponent `externalScripts` so editors can list allowlisted script URLs that load with next/script before customJs.
|
|
8
|
+
|
|
9
|
+
Same-origin `/html-components/….js` is always allowed; extra HTTPS hosts are opt-in via `htmlComponentExternalScriptHosts`. Run migration 28 on each customer space after publishing these packages.
|
|
10
|
+
|
|
11
|
+
HSD follow-up: bump packages, run 28 on space `gqa3p93n5wse`, set the readiness HtmlComponent to `["/html-components/specialized-transport-readiness/jspdf.umd.min.js"]`, remove the `createElement('script')` loader from `jsContent`, and pass `externalScripts` through the dual-read converter if it is still in use.
|
|
12
|
+
- Updated dependencies [531e8ca]
|
|
13
|
+
- @se-studio/core-data-types@1.13.2
|
|
14
|
+
|
|
15
|
+
## 1.26.5
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 6d650b3: Guard page-variant alts with missing sourceContent and document that chained sources must exist on the original tree.
|
|
20
|
+
|
|
3
21
|
## 1.26.4
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -26,6 +26,13 @@ interface BaseHtmlComponentFields {
|
|
|
26
26
|
* @summary Loaded via next/script with the configured strategy
|
|
27
27
|
*/
|
|
28
28
|
customJs?: EntryFieldTypes.Text;
|
|
29
|
+
/**
|
|
30
|
+
* Field type definition for field 'externalScripts' (External scripts)
|
|
31
|
+
* @name External scripts
|
|
32
|
+
* @localized false
|
|
33
|
+
* @summary Allowlisted script URLs loaded via next/script before customJs
|
|
34
|
+
*/
|
|
35
|
+
externalScripts?: EntryFieldTypes.Array<EntryFieldTypes.Symbol>;
|
|
29
36
|
/**
|
|
30
37
|
* Field type definition for field 'markdownContent' (Markdown Content)
|
|
31
38
|
* @name Markdown Content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseHtmlComponent.d.ts","sourceRoot":"","sources":["../../src/baseTypes/baseHtmlComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,UAAU,uBAAuB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAClC;;;;OAIG;IACH,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IAChC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IACvC;;;;OAIG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,kBAAkB,GAAG,YAAY,GAAG,mBAAmB,CAAC,CAAC;IACjG;;;;;OAKG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IACjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IAC5C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;CAC1C;AAED,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"baseHtmlComponent.d.ts","sourceRoot":"","sources":["../../src/baseTypes/baseHtmlComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,UAAU,uBAAuB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAClC;;;;OAIG;IACH,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IAChC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAChE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IACvC;;;;OAIG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,kBAAkB,GAAG,YAAY,GAAG,mBAAmB,CAAC,CAAC;IACjG;;;;;OAKG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IACjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IAC5C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;CAC1C;AAED,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlComponent.d.ts","sourceRoot":"","sources":["../../src/converters/htmlComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,KAAK,gBAAgB,EAAgD,MAAM,WAAW,CAAC;AAEhG;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACpE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"htmlComponent.d.ts","sourceRoot":"","sources":["../../src/converters/htmlComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,KAAK,gBAAgB,EAAgD,MAAM,WAAW,CAAC;AAEhG;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACpE,kBAAkB,CAyCpB"}
|
|
@@ -12,7 +12,12 @@ import { DEFAULT_POSITION_FIELDS, makeContentfulTitle } from './helpers.js';
|
|
|
12
12
|
export function baseHtmlComponentConverter(_context, entry) {
|
|
13
13
|
const { sys, fields } = entry;
|
|
14
14
|
const { id } = sys;
|
|
15
|
-
const { cmsLabel, rawHtml, customCss, customJs, markdownContent, scriptStrategy, isHero, fullWidth, excludeFromSearch, loadScriptOnce, } = fields;
|
|
15
|
+
const { cmsLabel, rawHtml, customCss, customJs, externalScripts, markdownContent, scriptStrategy, isHero, fullWidth, excludeFromSearch, loadScriptOnce, } = fields;
|
|
16
|
+
const normalizedExternalScripts = Array.isArray(externalScripts)
|
|
17
|
+
? externalScripts
|
|
18
|
+
.map((item) => (typeof item === 'string' ? item.trim() : ''))
|
|
19
|
+
.filter((item) => item !== '')
|
|
20
|
+
: [];
|
|
16
21
|
return {
|
|
17
22
|
type: 'HtmlComponent',
|
|
18
23
|
id,
|
|
@@ -21,6 +26,7 @@ export function baseHtmlComponentConverter(_context, entry) {
|
|
|
21
26
|
rawHtml: rawHtml ?? '',
|
|
22
27
|
customCss: customCss ?? undefined,
|
|
23
28
|
customJs: customJs ?? undefined,
|
|
29
|
+
...(normalizedExternalScripts.length > 0 ? { externalScripts: normalizedExternalScripts } : {}),
|
|
24
30
|
markdownContent: markdownContent ?? undefined,
|
|
25
31
|
scriptStrategy: scriptStrategy ?? 'afterInteractive',
|
|
26
32
|
isHero: isHero ?? false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlComponent.js","sourceRoot":"","sources":["../../src/converters/htmlComponent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhG;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA0B,EAC1B,KAAqE;IAErE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IAEnB,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,EACR,eAAe,EACf,cAAc,EACd,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,cAAc,GACf,GAAG,MAAM,CAAC;IAEX,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,EAAE;QACF,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvC,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC1B,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,QAAQ,EAAE,QAAQ,IAAI,SAAS;QAC/B,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,cAAc,EAAE,cAAc,IAAI,kBAAkB;QACpD,MAAM,EAAE,MAAM,IAAI,KAAK;QACvB,SAAS,EAAE,SAAS,IAAI,KAAK;QAC7B,iBAAiB,EAAE,iBAAiB,IAAI,KAAK;QAC7C,cAAc,EAAE,cAAc,IAAI,IAAI;QACtC,GAAG,uBAAuB;KAC3B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"htmlComponent.js","sourceRoot":"","sources":["../../src/converters/htmlComponent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhG;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA0B,EAC1B,KAAqE;IAErE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IAEnB,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,EACR,eAAe,EACf,eAAe,EACf,cAAc,EACd,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,cAAc,GACf,GAAG,MAAM,CAAC;IAEX,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAC9D,CAAC,CAAC,eAAe;aACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,EAAE;QACF,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvC,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC1B,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,QAAQ,EAAE,QAAQ,IAAI,SAAS;QAC/B,GAAG,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,cAAc,EAAE,cAAc,IAAI,kBAAkB;QACpD,MAAM,EAAE,MAAM,IAAI,KAAK;QACvB,SAAS,EAAE,SAAS,IAAI,KAAK;QAC7B,iBAAiB,EAAE,iBAAiB,IAAI,KAAK;QAC7C,cAAc,EAAE,cAAc,IAAI,IAAI;QACtC,GAAG,uBAAuB;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageVariantMerge.d.ts","sourceRoot":"","sources":["../../src/converters/pageVariantMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAW,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAE9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAG5E,OAAO,EAEL,KAAK,gBAAgB,EAItB,MAAM,WAAW,CAAC;AAUnB;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAC3D,MAAM,EAAE,CAwBV;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,GAC5B,MAAM,EAAE,CAEV;AAYD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9E,MAAM,EAAE,GAAG,IAAI,CAgBjB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACzE,SAAS,
|
|
1
|
+
{"version":3,"file":"pageVariantMerge.d.ts","sourceRoot":"","sources":["../../src/converters/pageVariantMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAW,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAE9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAG5E,OAAO,EAEL,KAAK,gBAAgB,EAItB,MAAM,WAAW,CAAC;AAUnB;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAC3D,MAAM,EAAE,CAwBV;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,GAC5B,MAAM,EAAE,CAEV;AAYD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9E,MAAM,EAAE,GAAG,IAAI,CAgBjB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACzE,SAAS,CAoDX"}
|
|
@@ -14,8 +14,8 @@ import { resolveLink, resolvePageContent, resolveSchema } from './resolver.js';
|
|
|
14
14
|
export function applyAlternateReplacementsMap(items, replacementsBySourceId) {
|
|
15
15
|
const out = [];
|
|
16
16
|
for (const item of items) {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const replacements = replacementsBySourceId.get(item.id);
|
|
18
|
+
if (replacements !== undefined) {
|
|
19
19
|
if (replacements && replacements.length > 0) {
|
|
20
20
|
out.push(...replacements);
|
|
21
21
|
}
|
|
@@ -98,7 +98,11 @@ export function buildMergedPageFromVariantEntry(context, variantEntry) {
|
|
|
98
98
|
continue;
|
|
99
99
|
}
|
|
100
100
|
const altEntry = altWrap.entry;
|
|
101
|
-
const sourceId = altEntry.fields.sourceContent
|
|
101
|
+
const sourceId = altEntry.fields.sourceContent?.sys.id;
|
|
102
|
+
if (!sourceId) {
|
|
103
|
+
pushAlternateResolutionError(context, `Page variant ${variantId}: alternatePageContent ${link.sys.id} is missing sourceContent`);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
102
106
|
const replacements = resolveAlternateReplacements(context, variantId, altEntry);
|
|
103
107
|
replacementsBySourceId.set(sourceId, replacements);
|
|
104
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageVariantMerge.js","sourceRoot":"","sources":["../../src/converters/pageVariantMerge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAOxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EACL,mBAAmB,EAEnB,WAAW,EACX,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAA4B,EAC5B,sBAA4D;IAE5D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"pageVariantMerge.js","sourceRoot":"","sources":["../../src/converters/pageVariantMerge.ts"],"names":[],"mappings":"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"}
|
package/docs/llms.md
CHANGED
|
@@ -78,7 +78,7 @@ Each `alternatePageContent` entry:
|
|
|
78
78
|
- **`replacementContents`** — array of replacements (primary; supports 1→N swaps)
|
|
79
79
|
- **`replacementContent`** — singular fallback when `replacementContents` is empty
|
|
80
80
|
|
|
81
|
-
All alternates are collected into a source-id map (later alt wins on the same source) and applied in **one** walk of the original tree. Inserted replacements are not matched as sources, so two blocks can swap IDs without the second alt undoing the first.
|
|
81
|
+
All alternates are collected into a source-id map (later alt wins on the same source) and applied in **one** walk of the original tree. Inserted replacements are not matched as sources, so two blocks can swap IDs without the second alt undoing the first. A second alt whose `sourceContent` is only present after the first replacement (not on the original page) is a no-op — put that block on the original page, use a clone, or a single 1→N `replacementContents`. Missing `sourceContent` is recorded as a CMS error and skipped.
|
|
82
82
|
|
|
83
83
|
Exported helpers: `applyAlternateReplacementsMap`, `mergeAlternatePageContentsInTree`, `resolveAlternateReplacements`.
|
|
84
84
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/contentful-rest-api",
|
|
3
|
-
"version": "1.26.
|
|
3
|
+
"version": "1.26.6",
|
|
4
4
|
"description": "Type-safe Contentful REST API client with caching and rate limiting for Next.js applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@contentful/rich-text-types": "^17.2.7",
|
|
62
|
-
"@se-studio/core-data-types": "1.13.
|
|
62
|
+
"@se-studio/core-data-types": "1.13.2",
|
|
63
63
|
"contentful": "^11.12.9",
|
|
64
64
|
"fflate": "^0.8.3",
|
|
65
65
|
"server-only": "0.0.1"
|