@se-studio/contentful-rest-api 1.26.2 β 1.26.4
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/README.md +1 -0
- package/dist/converters/asset.d.ts.map +1 -1
- package/dist/converters/asset.js +5 -1
- package/dist/converters/asset.js.map +1 -1
- package/dist/converters/contentfulImageOrigin.d.ts +18 -0
- package/dist/converters/contentfulImageOrigin.d.ts.map +1 -0
- package/dist/converters/contentfulImageOrigin.js +72 -0
- package/dist/converters/contentfulImageOrigin.js.map +1 -0
- package/dist/converters/index.d.ts +2 -1
- package/dist/converters/index.d.ts.map +1 -1
- package/dist/converters/index.js +2 -1
- package/dist/converters/index.js.map +1 -1
- package/dist/converters/pageVariantMerge.d.ts +7 -0
- package/dist/converters/pageVariantMerge.d.ts.map +1 -1
- package/dist/converters/pageVariantMerge.js +22 -8
- package/dist/converters/pageVariantMerge.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/docs/llms.md +21 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @se-studio/contentful-rest-api
|
|
2
2
|
|
|
3
|
+
## 1.26.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9ec5a1d: Apply page-variant `alternativeContents` against the original page tree in one pass so two blocks can swap without the second replacement undoing the first.
|
|
8
|
+
|
|
9
|
+
## 1.26.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Cap Contentful raster picture URLs at 2560px via the Images API so next/image origin fetches stay small. Document 31-day Vercel image cache TTL for apps.
|
|
14
|
+
|
|
3
15
|
## 1.26.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -40,6 +40,7 @@ Type-safe Contentful REST API client with caching, rate limiting, and extensible
|
|
|
40
40
|
- π **Retry Logic** - Automatic retry with exponential backoff for failed requests
|
|
41
41
|
- π¦ **Rate Limiting** - Respect Contentful API rate limits with built-in rate limiter
|
|
42
42
|
- π§© **Extensible Converters** - Functional composition pattern for customizing content transformations
|
|
43
|
+
- πΌοΈ **Capped image origins** - Raster picture `src` URLs use Contentful Images API `w`/`fm`/`q` so `next/image` never downloads camera-raw masters
|
|
43
44
|
- π‘οΈ **Error Handling** - Custom error types for different failure scenarios
|
|
44
45
|
|
|
45
46
|
## Installation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/converters/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,MAAM,EAEN,iBAAiB,EAEjB,MAAM,EAEN,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAe,SAAS,EAAY,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/converters/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,MAAM,EAEN,iBAAiB,EAEjB,MAAM,EAEN,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAe,SAAS,EAAY,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AASxE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,CAcpF;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAC3C,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAChE,OAAO,GAAG,SAAS,CA0DrB;AA4ID,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,YAAY,EAAE,OAAO,GAAG,SAAS,GAChC,iBAAiB,GAAG,SAAS,CAM/B;AAED,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,iBAAiB,GAAG,SAAS,EAC/C,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAO/B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC5D,OAAO,GAAG,SAAS,CA6ErB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACpE,OAAO,GAAG,SAAS,CA+CrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,GACxC,OAAO,GAAG,SAAS,CA2BrB"}
|
package/dist/converters/asset.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { applyContentfulImageOriginParams } from './contentfulImageOrigin.js';
|
|
1
2
|
import { buildDownloadAssetFromRawAsset, lookupAsset, makeContentfulDescription, makeContentfulTitle, stringOrUndefined, } from './helpers.js';
|
|
2
3
|
/**
|
|
3
4
|
* Extension-first animation format (MIME is unreliable for `.lottie` uploads).
|
|
@@ -109,7 +110,10 @@ function convertAssetToPicture(file, fields, sys, options) {
|
|
|
109
110
|
...options,
|
|
110
111
|
id,
|
|
111
112
|
type: 'Picture',
|
|
112
|
-
src: `https:${url}`,
|
|
113
|
+
src: applyContentfulImageOriginParams(`https:${url}`, {
|
|
114
|
+
intrinsicWidth: width || undefined,
|
|
115
|
+
contentType,
|
|
116
|
+
}),
|
|
113
117
|
mimeType: contentType,
|
|
114
118
|
size,
|
|
115
119
|
width: width || 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/converters/asset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/converters/asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cap Contentful Images API origin URLs so next/image never downloads camera-raw masters.
|
|
3
|
+
* Vercelβs optimizer still runs; it fetches this smaller variant, then caches the result.
|
|
4
|
+
*/
|
|
5
|
+
/** Max edge used as Images API `w` (also under Vercelβs 8192 px source limit). */
|
|
6
|
+
export declare const CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH = 2560;
|
|
7
|
+
export interface ContentfulImageOriginOptions {
|
|
8
|
+
/** Intrinsic pixel width of the asset, when known. */
|
|
9
|
+
intrinsicWidth?: number;
|
|
10
|
+
/** MIME type from the Contentful file (skips GIF/SVG even on images.ctfassets.net). */
|
|
11
|
+
contentType?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns a Contentful Images API URL with `w`, `fm`, and `q` so origin fetches stay small.
|
|
15
|
+
* Leaves PDFs, SVG, GIF, and non-Contentful hosts unchanged.
|
|
16
|
+
*/
|
|
17
|
+
export declare function applyContentfulImageOriginParams(src: string, options?: ContentfulImageOriginOptions): string;
|
|
18
|
+
//# sourceMappingURL=contentfulImageOrigin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contentfulImageOrigin.d.ts","sourceRoot":"","sources":["../../src/converters/contentfulImageOrigin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAgCtD,MAAM,WAAW,4BAA4B;IAC3C,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,4BAAiC,GACzC,MAAM,CAwCR"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cap Contentful Images API origin URLs so next/image never downloads camera-raw masters.
|
|
3
|
+
* Vercelβs optimizer still runs; it fetches this smaller variant, then caches the result.
|
|
4
|
+
*/
|
|
5
|
+
/** Max edge used as Images API `w` (also under Vercelβs 8192 px source limit). */
|
|
6
|
+
export const CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH = 2560;
|
|
7
|
+
const DEFAULT_QUALITY = 75;
|
|
8
|
+
const DEFAULT_FORMAT = 'webp';
|
|
9
|
+
const RASTER_PATH = /\.(jpe?g|png|webp|avif|tiff?|bmp)$/i;
|
|
10
|
+
function hostnameOf(url) {
|
|
11
|
+
return url.hostname.toLowerCase();
|
|
12
|
+
}
|
|
13
|
+
function isContentfulImageCdn(hostname) {
|
|
14
|
+
return hostname === 'images.ctfassets.net' || hostname === 'assets.ctfassets.net';
|
|
15
|
+
}
|
|
16
|
+
function looksLikeAnimatedOrVector(src, contentType) {
|
|
17
|
+
const type = contentType?.toLowerCase() ?? '';
|
|
18
|
+
if (type === 'image/gif' || type === 'image/svg+xml') {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
const path = src.split('?')[0]?.toLowerCase() ?? '';
|
|
22
|
+
return path.endsWith('.gif') || path.endsWith('.svg') || path.endsWith('.svgz');
|
|
23
|
+
}
|
|
24
|
+
function looksLikeRasterPath(pathname, contentType) {
|
|
25
|
+
const type = contentType?.toLowerCase() ?? '';
|
|
26
|
+
if (type.startsWith('image/') && type !== 'image/gif' && type !== 'image/svg+xml') {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return RASTER_PATH.test(pathname);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns a Contentful Images API URL with `w`, `fm`, and `q` so origin fetches stay small.
|
|
33
|
+
* Leaves PDFs, SVG, GIF, and non-Contentful hosts unchanged.
|
|
34
|
+
*/
|
|
35
|
+
export function applyContentfulImageOriginParams(src, options = {}) {
|
|
36
|
+
if (!src) {
|
|
37
|
+
return src;
|
|
38
|
+
}
|
|
39
|
+
if (looksLikeAnimatedOrVector(src, options.contentType)) {
|
|
40
|
+
return src;
|
|
41
|
+
}
|
|
42
|
+
let url;
|
|
43
|
+
try {
|
|
44
|
+
url = new URL(src.startsWith('//') ? `https:${src}` : src);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return src;
|
|
48
|
+
}
|
|
49
|
+
const hostname = hostnameOf(url);
|
|
50
|
+
if (!isContentfulImageCdn(hostname)) {
|
|
51
|
+
return src;
|
|
52
|
+
}
|
|
53
|
+
if (!looksLikeRasterPath(url.pathname, options.contentType)) {
|
|
54
|
+
return src;
|
|
55
|
+
}
|
|
56
|
+
if (hostname === 'assets.ctfassets.net') {
|
|
57
|
+
url.hostname = 'images.ctfassets.net';
|
|
58
|
+
}
|
|
59
|
+
const intrinsic = options.intrinsicWidth;
|
|
60
|
+
const cap = intrinsic && intrinsic > 0
|
|
61
|
+
? Math.min(intrinsic, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH)
|
|
62
|
+
: CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH;
|
|
63
|
+
url.searchParams.set('w', String(cap));
|
|
64
|
+
if (!url.searchParams.has('fm')) {
|
|
65
|
+
url.searchParams.set('fm', DEFAULT_FORMAT);
|
|
66
|
+
}
|
|
67
|
+
if (!url.searchParams.has('q')) {
|
|
68
|
+
url.searchParams.set('q', String(DEFAULT_QUALITY));
|
|
69
|
+
}
|
|
70
|
+
return url.href;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=contentfulImageOrigin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contentfulImageOrigin.js","sourceRoot":"","sources":["../../src/converters/contentfulImageOrigin.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export type { IContentfulCollection } from './collection';
|
|
|
11
11
|
export { baseCollectionConverter } from './collection';
|
|
12
12
|
export type { IContentfulComponent } from './component';
|
|
13
13
|
export { baseComponentConverter } from './component';
|
|
14
|
+
export { applyContentfulImageOriginParams, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, type ContentfulImageOriginOptions, } from './contentfulImageOrigin';
|
|
14
15
|
export { baseDocumentConverter } from './document';
|
|
15
16
|
export type { IContentfulExternalComponent } from './externalComponent';
|
|
16
17
|
export { baseExternalComponentConverter } from './externalComponent';
|
|
@@ -18,7 +19,7 @@ export { type BaseConverterContext, type ContentResolverFunction, type Converter
|
|
|
18
19
|
export { baseHtmlComponentConverter } from './htmlComponent';
|
|
19
20
|
export { baseNavigationItemConverter, navigationStubFromLink, resolveNavigation, resolveNavigationOrStub, } from './navigationItem';
|
|
20
21
|
export { basePageConverter, calculatePageHref, calculatePageVariantHref, } from './page';
|
|
21
|
-
export { mergeAlternatePageContentsInTree, resolveAlternateReplacements, } from './pageVariantMerge';
|
|
22
|
+
export { applyAlternateReplacementsMap, mergeAlternatePageContentsInTree, resolveAlternateReplacements, } from './pageVariantMerge';
|
|
22
23
|
export type { IContentfulPerson } from './person';
|
|
23
24
|
export { baseRedirectConverter } from './redirect';
|
|
24
25
|
export { resolveLink, resolveLinks, resolveRichTextDocument, } from './resolver';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,WAAW,EACX,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,EACjC,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,WAAW,EACX,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/converters/index.js
CHANGED
|
@@ -8,13 +8,14 @@
|
|
|
8
8
|
export { animationFormatFromFile, createResponsiveVisual } from './asset.js';
|
|
9
9
|
export { baseCollectionConverter } from './collection.js';
|
|
10
10
|
export { baseComponentConverter } from './component.js';
|
|
11
|
+
export { applyContentfulImageOriginParams, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, } from './contentfulImageOrigin.js';
|
|
11
12
|
export { baseDocumentConverter } from './document.js';
|
|
12
13
|
export { baseExternalComponentConverter } from './externalComponent.js';
|
|
13
14
|
export { lookupAsset, } from './helpers.js';
|
|
14
15
|
export { baseHtmlComponentConverter } from './htmlComponent.js';
|
|
15
16
|
export { baseNavigationItemConverter, navigationStubFromLink, resolveNavigation, resolveNavigationOrStub, } from './navigationItem.js';
|
|
16
17
|
export { basePageConverter, calculatePageHref, calculatePageVariantHref, } from './page.js';
|
|
17
|
-
export { mergeAlternatePageContentsInTree, resolveAlternateReplacements, } from './pageVariantMerge.js';
|
|
18
|
+
export { applyAlternateReplacementsMap, mergeAlternatePageContentsInTree, resolveAlternateReplacements, } from './pageVariantMerge.js';
|
|
18
19
|
export { baseRedirectConverter } from './redirect.js';
|
|
19
20
|
export { resolveLink, resolveLinks, resolveRichTextDocument, } from './resolver.js';
|
|
20
21
|
export { baseTagTypeConverter, baseTagTypeLinkConverter } from './tagType.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAIL,WAAW,GAEZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,GAElC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAIL,WAAW,GAEZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -4,6 +4,13 @@ import type { DefaultChainModifier } from '../api';
|
|
|
4
4
|
import type { BaseAlternatePageContentSkeleton } from '../baseTypes/baseAlternatePageContent';
|
|
5
5
|
import type { BasePageVariantSkeleton } from '../baseTypes/basePageVariant';
|
|
6
6
|
import { type ConverterContext } from './helpers';
|
|
7
|
+
/**
|
|
8
|
+
* Apply all alternate-content replacements in one walk of the **original** tree.
|
|
9
|
+
* Source ids are matched only against original nodes β inserted replacements are
|
|
10
|
+
* never re-matched. Nested {@link IBaseCollection.contents} are walked only when
|
|
11
|
+
* that collection itself is not a source. Empty/`null` replacements remove the source.
|
|
12
|
+
*/
|
|
13
|
+
export declare function applyAlternateReplacementsMap(items: ReadonlyArray<ITyped>, replacementsBySourceId: ReadonlyMap<string, ITyped[] | null>): ITyped[];
|
|
7
14
|
/**
|
|
8
15
|
* Replace or remove one content block (by source entry id) in a page content tree.
|
|
9
16
|
* Walks top-level items and nested collection {@link IBaseCollection.contents}.
|
|
@@ -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;;;;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,
|
|
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,CA6CX"}
|
|
@@ -6,14 +6,16 @@ import { resolveNavigationOrStub } from './navigationItem.js';
|
|
|
6
6
|
import { basePageConverter } from './page.js';
|
|
7
7
|
import { resolveLink, resolvePageContent, resolveSchema } from './resolver.js';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Apply all alternate-content replacements in one walk of the **original** tree.
|
|
10
|
+
* Source ids are matched only against original nodes β inserted replacements are
|
|
11
|
+
* never re-matched. Nested {@link IBaseCollection.contents} are walked only when
|
|
12
|
+
* that collection itself is not a source. Empty/`null` replacements remove the source.
|
|
12
13
|
*/
|
|
13
|
-
export function
|
|
14
|
+
export function applyAlternateReplacementsMap(items, replacementsBySourceId) {
|
|
14
15
|
const out = [];
|
|
15
16
|
for (const item of items) {
|
|
16
|
-
if (item.id
|
|
17
|
+
if (replacementsBySourceId.has(item.id)) {
|
|
18
|
+
const replacements = replacementsBySourceId.get(item.id);
|
|
17
19
|
if (replacements && replacements.length > 0) {
|
|
18
20
|
out.push(...replacements);
|
|
19
21
|
}
|
|
@@ -22,7 +24,7 @@ export function mergeAlternatePageContentsInTree(items, sourceContentId, replace
|
|
|
22
24
|
if (isCollection(item)) {
|
|
23
25
|
const col = item;
|
|
24
26
|
const nextContents = col.contents
|
|
25
|
-
?
|
|
27
|
+
? applyAlternateReplacementsMap(col.contents, replacementsBySourceId)
|
|
26
28
|
: undefined;
|
|
27
29
|
out.push({
|
|
28
30
|
...col,
|
|
@@ -35,6 +37,14 @@ export function mergeAlternatePageContentsInTree(items, sourceContentId, replace
|
|
|
35
37
|
}
|
|
36
38
|
return out;
|
|
37
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Replace or remove one content block (by source entry id) in a page content tree.
|
|
42
|
+
* Walks top-level items and nested collection {@link IBaseCollection.contents}.
|
|
43
|
+
* When `replacements` is non-empty, inserts all items at the source position (1βN swap).
|
|
44
|
+
*/
|
|
45
|
+
export function mergeAlternatePageContentsInTree(items, sourceContentId, replacements) {
|
|
46
|
+
return applyAlternateReplacementsMap(items, new Map([[sourceContentId, replacements]]));
|
|
47
|
+
}
|
|
38
48
|
function pushAlternateResolutionError(context, message) {
|
|
39
49
|
const cmsError = {
|
|
40
50
|
entryId: '',
|
|
@@ -77,7 +87,8 @@ export function buildMergedPageFromVariantEntry(context, variantEntry) {
|
|
|
77
87
|
throw new Error(`Page variant ${variantId}: original page ${originalId} missing from includes (type=${included?.type})`);
|
|
78
88
|
}
|
|
79
89
|
const basePage = basePageConverter(context, included.entry);
|
|
80
|
-
|
|
90
|
+
const originalContents = basePage.contents ? [...basePage.contents] : [];
|
|
91
|
+
const replacementsBySourceId = new Map();
|
|
81
92
|
const altLinks = variantEntry.fields.alternativeContents;
|
|
82
93
|
if (altLinks?.length) {
|
|
83
94
|
for (const link of altLinks) {
|
|
@@ -89,9 +100,12 @@ export function buildMergedPageFromVariantEntry(context, variantEntry) {
|
|
|
89
100
|
const altEntry = altWrap.entry;
|
|
90
101
|
const sourceId = altEntry.fields.sourceContent.sys.id;
|
|
91
102
|
const replacements = resolveAlternateReplacements(context, variantId, altEntry);
|
|
92
|
-
|
|
103
|
+
replacementsBySourceId.set(sourceId, replacements);
|
|
93
104
|
}
|
|
94
105
|
}
|
|
106
|
+
const contents = replacementsBySourceId.size > 0
|
|
107
|
+
? applyAlternateReplacementsMap(originalContents, replacementsBySourceId)
|
|
108
|
+
: originalContents;
|
|
95
109
|
return overlayPageVariantOntoMergedBase(context, variantEntry, basePage, contents);
|
|
96
110
|
}
|
|
97
111
|
function overlayPageVariantOntoMergedBase(context, variantEntry, basePage, mergedContents) {
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"pageVariantMerge.js","sourceRoot":"","sources":["../../src/converters/pageVariantMerge.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { type AnyEntryRestResult, type ArticleTypeFetchOptions, assetToMediaLibr
|
|
|
23
23
|
export type { ContentfulFetchClient as ContentfulClient } from './client';
|
|
24
24
|
export { type ContentfulFetchClient, createContentfulClient, createContentfulPreviewClient, getContentfulClient, } from './client';
|
|
25
25
|
export type { ContentResolverFunction } from './converters';
|
|
26
|
-
export { type BaseConverterContext, baseCollectionConverter, baseComponentConverter, baseDocumentConverter, baseExternalComponentConverter, baseNavigationItemConverter, basePageConverter, type ConverterContext, calculatePageHref, calculatePageVariantHref, createResponsiveVisual, type IContentfulArticle, type IContentfulArticleLink, type IContentfulCollection, type IContentfulComponent, type IContentfulExternalComponent, type IContentfulPerson, lookupAsset, mergeAlternatePageContentsInTree, navigationStubFromLink, resolveAlternateReplacements, resolveLink, resolveLinks, resolveNavigation, resolveNavigationOrStub, resolveRichTextDocument, type UrlCalculators, } from './converters';
|
|
26
|
+
export { applyAlternateReplacementsMap, applyContentfulImageOriginParams, type BaseConverterContext, baseCollectionConverter, baseComponentConverter, baseDocumentConverter, baseExternalComponentConverter, baseNavigationItemConverter, basePageConverter, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, type ContentfulImageOriginOptions, type ConverterContext, calculatePageHref, calculatePageVariantHref, createResponsiveVisual, type IContentfulArticle, type IContentfulArticleLink, type IContentfulCollection, type IContentfulComponent, type IContentfulExternalComponent, type IContentfulPerson, lookupAsset, mergeAlternatePageContentsInTree, navigationStubFromLink, resolveAlternateReplacements, resolveLink, resolveLinks, resolveNavigation, resolveNavigationOrStub, resolveRichTextDocument, type UrlCalculators, } from './converters';
|
|
27
27
|
export { collectIconsFromContent, collectIconsFromNavigation, deduplicateIcons, processIconsForSprite, rebuildIconSpriteFromLayout, } from './icons/rebuildIconSprite';
|
|
28
28
|
export { AllTags, ArticleTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, articleTypeTag, assetTag, BannerTag, CustomTypeTag, customTypeTag, DocumentTag, GlobalTag, getCacheTags, getCacheTagsForPreview, getCacheTagsForProduction, LinkTag, LocationTag, locationTag, NavigationItemTag, NavigationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES, REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES_CSV, SitemapTag, TagTag, TagTypeTag, TemplateTag, tagTag, templateTag, } from './revalidation';
|
|
29
29
|
export { createMarketingSiteUrlCalculators, type MarketingSiteRoutingOptions, } from './routing';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -27,7 +27,7 @@ getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, isAnimat
|
|
|
27
27
|
// Client exports
|
|
28
28
|
export { createContentfulClient, createContentfulPreviewClient, getContentfulClient, } from './client.js';
|
|
29
29
|
// Converter exports
|
|
30
|
-
export { baseCollectionConverter, baseComponentConverter, baseDocumentConverter, baseExternalComponentConverter, baseNavigationItemConverter, basePageConverter, calculatePageHref, calculatePageVariantHref, createResponsiveVisual, lookupAsset, mergeAlternatePageContentsInTree, navigationStubFromLink, resolveAlternateReplacements, resolveLink, resolveLinks, resolveNavigation, resolveNavigationOrStub, resolveRichTextDocument, } from './converters/index.js';
|
|
30
|
+
export { applyAlternateReplacementsMap, applyContentfulImageOriginParams, baseCollectionConverter, baseComponentConverter, baseDocumentConverter, baseExternalComponentConverter, baseNavigationItemConverter, basePageConverter, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, calculatePageHref, calculatePageVariantHref, createResponsiveVisual, lookupAsset, mergeAlternatePageContentsInTree, navigationStubFromLink, resolveAlternateReplacements, resolveLink, resolveLinks, resolveNavigation, resolveNavigationOrStub, resolveRichTextDocument, } from './converters/index.js';
|
|
31
31
|
export { collectIconsFromContent, collectIconsFromNavigation, deduplicateIcons, processIconsForSprite, rebuildIconSpriteFromLayout, } from './icons/rebuildIconSprite.js';
|
|
32
32
|
// Revalidation utilities
|
|
33
33
|
export { AllTags, ArticleTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, articleTypeTag, assetTag, BannerTag, CustomTypeTag, customTypeTag, DocumentTag, GlobalTag, getCacheTags,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,gBAAgB;AAChB,OAAO;AAGL,iCAAiC;AACjC,uBAAuB,EAKvB,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAI/B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mCAAmC,EACnC,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,uBAAuB,EACvB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EAErB,mBAAmB,EACnB,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,aAAa;AACb,UAAU;AACV,mBAAmB,EACnB,kBAAkB,EAClB,6BAA6B,EAK7B,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAIzB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EAQrB,mBAAmB,EAKnB,mBAAmB,EAGnB,uBAAuB,GACxB,MAAM,OAAO,CAAC;AAGf,iBAAiB;AACjB,OAAO,EAEL,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/docs/llms.md
CHANGED
|
@@ -74,11 +74,13 @@ const allPersonLinks = await contentfulAllPersonLinks(config);
|
|
|
74
74
|
|
|
75
75
|
Each `alternatePageContent` entry:
|
|
76
76
|
|
|
77
|
-
- **`sourceContent`** β component/collection to replace (by entry id
|
|
77
|
+
- **`sourceContent`** β component/collection to replace (by entry id on the **original** page tree)
|
|
78
78
|
- **`replacementContents`** β array of replacements (primary; supports 1βN swaps)
|
|
79
79
|
- **`replacementContent`** β singular fallback when `replacementContents` is empty
|
|
80
80
|
|
|
81
|
-
|
|
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.
|
|
82
|
+
|
|
83
|
+
Exported helpers: `applyAlternateReplacementsMap`, `mergeAlternatePageContentsInTree`, `resolveAlternateReplacements`.
|
|
82
84
|
|
|
83
85
|
## Flat navigation
|
|
84
86
|
|
|
@@ -358,6 +360,8 @@ import {
|
|
|
358
360
|
arrayOrUndefined, // returns array or undefined if empty
|
|
359
361
|
safeDate, // parse date string safely
|
|
360
362
|
isValidDate,
|
|
363
|
+
applyContentfulImageOriginParams, // cap images.ctfassets.net origin w/fm/q for next/image
|
|
364
|
+
CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, // 2560
|
|
361
365
|
} from '@se-studio/contentful-rest-api';
|
|
362
366
|
```
|
|
363
367
|
|
|
@@ -385,6 +389,21 @@ logging: { fetches: { fullUrl: true } }
|
|
|
385
389
|
|
|
386
390
|
Related: `LOG_CMS=1` (conversion warnings), `LOG_CMS_FETCH=1` (raw URLs only).
|
|
387
391
|
|
|
392
|
+
## Picture origin URLs (Images API cap)
|
|
393
|
+
|
|
394
|
+
Raster `IPicture.src` values from `convertAssetToVisual` include Contentful Images API params (`w`, `fm=webp`, `q=75`) so `next/image` origin fetches stay at most 2560 px. GIF/SVG/PDFs are unchanged. Helper: `applyContentfulImageOriginParams`.
|
|
395
|
+
|
|
396
|
+
Keep the **default** Next.js image loader (Vercel optimizer). In each app `next.config`:
|
|
397
|
+
|
|
398
|
+
```ts
|
|
399
|
+
images: {
|
|
400
|
+
minimumCacheTTL: 2_678_400, // 31 days
|
|
401
|
+
remotePatterns: [{ protocol: 'https', hostname: '*.ctfassets.net' }],
|
|
402
|
+
}
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Do not set `loader: 'custom'` for Contentful β that skips Vercelβs image cache.
|
|
406
|
+
|
|
388
407
|
## Download proxy (hide CDN URLs)
|
|
389
408
|
|
|
390
409
|
```ts
|
package/package.json
CHANGED