@se-studio/contentful-rest-api 1.28.7 → 1.28.8
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 +6 -0
- package/README.md +14 -8
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/page.d.ts +16 -3
- package/dist/api/page.d.ts.map +1 -1
- package/dist/api/page.js +9 -4
- package/dist/api/page.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/docs/llms.md +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @se-studio/contentful-rest-api
|
|
2
2
|
|
|
3
|
+
## 1.28.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Add optional `afterVariantMerge` on `contentfulPageRest` (`PageFetchOptions`) so sites can post-process merged page variants without deep-importing package internals.
|
|
8
|
+
|
|
3
9
|
## 1.28.7
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -128,26 +128,32 @@ const previewClient = createContentfulPreviewClient({
|
|
|
128
128
|
|
|
129
129
|
### Content Fetching Functions
|
|
130
130
|
|
|
131
|
-
#### `contentfulPageRest(config, slug, options
|
|
131
|
+
#### `contentfulPageRest(context, config, slug, options)`
|
|
132
132
|
|
|
133
|
-
Fetches a page by slug.
|
|
133
|
+
Fetches a page by slug, or a **page variant** merged onto its original page when no standalone page exists.
|
|
134
134
|
|
|
135
135
|
**Parameters:**
|
|
136
|
+
- `context`: BaseConverterContext - Converter context
|
|
136
137
|
- `config`: ContentfulConfig - Contentful client configuration
|
|
137
|
-
- `slug`: string - Page slug to fetch
|
|
138
|
-
- `options
|
|
139
|
-
- `converter?`: Converter - Optional custom converter function
|
|
138
|
+
- `slug`: string - Page or page variant slug to fetch
|
|
139
|
+
- `options`: PageFetchOptions - Fetch options (locale, preview, cache, retry) plus optional `afterVariantMerge`
|
|
140
140
|
|
|
141
|
-
**Returns:** `Promise<
|
|
141
|
+
**Returns:** `Promise<CmsResponse<IBasePage | null>>`
|
|
142
|
+
|
|
143
|
+
**`afterVariantMerge` (optional):** Called only on the pageVariant path, after core merges the variant onto `originalPage`. Use it for site-specific post-merge transforms (e.g. HubSpot contentType inheritance) without deep-importing package internals. Unused = current behaviour unchanged.
|
|
142
144
|
|
|
143
145
|
```typescript
|
|
144
146
|
const page = await contentfulPageRest(
|
|
147
|
+
context,
|
|
145
148
|
config,
|
|
146
149
|
'about-us',
|
|
147
150
|
{
|
|
151
|
+
preview: false,
|
|
148
152
|
locale: 'en-US',
|
|
149
153
|
include: 10,
|
|
150
|
-
|
|
154
|
+
next: { tags: ['page#about-us'] }, // pages are tag-only; no time-based revalidate
|
|
155
|
+
// Optional site transform after pageVariant merge:
|
|
156
|
+
// afterVariantMerge: (ctx, entry, page) => applySiteTransform(page, entry),
|
|
151
157
|
}
|
|
152
158
|
);
|
|
153
159
|
```
|
|
@@ -711,7 +717,7 @@ export async function generateStaticParams() {
|
|
|
711
717
|
### Main Exports
|
|
712
718
|
|
|
713
719
|
#### API Functions
|
|
714
|
-
- **`contentfulPageRest`** - Fetches a page from Contentful by slug; if none exists, resolves a **page variant** (merged onto `originalPage` with `alternativeContents` swaps) for the same slug. Each `alternatePageContent` entry swaps `sourceContent` for **`replacementContents`** (array, supports 1→N); falls back to singular **`replacementContent`** when the array is empty.
|
|
720
|
+
- **`contentfulPageRest`** - Fetches a page from Contentful by slug; if none exists, resolves a **page variant** (merged onto `originalPage` with `alternativeContents` swaps) for the same slug. Each `alternatePageContent` entry swaps `sourceContent` for **`replacementContents`** (array, supports 1→N); falls back to singular **`replacementContent`** when the array is empty. Optional `PageFetchOptions.afterVariantMerge` runs after that merge for site-specific transforms (no deep imports of internals).
|
|
715
721
|
- **`contentfulArticleRest`** - Fetches an article by slug and article type slug
|
|
716
722
|
- **`contentfulArticleTypeRest`** - Fetches an article type by slug
|
|
717
723
|
- **`contentfulAllPagesRest`** - Fetches all pages from Contentful
|
package/dist/api/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, conte
|
|
|
20
20
|
export type { CmsContentType, ConverterResolutionScope } from './listing-fetch-params';
|
|
21
21
|
export { getResolutionScope, getResolutionScopeFromOptions, LISTING_RESOLUTION_SCOPE, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, } from './listing-fetch-params';
|
|
22
22
|
export { buildFlatNavigationCacheOptions, FLAT_NAV_CACHE_TAGS, getNavigation, withFlatNavRequestCache, } from './navigation';
|
|
23
|
-
export { contentfulPageRest } from './page';
|
|
23
|
+
export { type AfterVariantMerge, contentfulPageRest, type PageFetchOptions, } from './page';
|
|
24
24
|
export { contentfulPersonRest, type PersonFetchOptions } from './person';
|
|
25
25
|
export { type BuiltinPreviewContentType, getPreviewEntryInfo, type PreviewContentType, type PreviewEntryInclude, type PreviewEntryInfo, type PreviewEntryResolveInput, type PreviewEntryResolver, slugPreviewResolver, } from './preview';
|
|
26
26
|
export { contentfulRedirectsRest } from './redirects';
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,sCAAsC,EACtC,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,KAAK,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.js
CHANGED
|
@@ -22,7 +22,7 @@ export { ARTICLE_LINK_FIELDS, ARTICLE_LINK_FIELDS_LIGHT, ARTICLE_LISTING_FIELDS,
|
|
|
22
22
|
export { contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, } from './links.js';
|
|
23
23
|
export { getResolutionScope, getResolutionScopeFromOptions, LISTING_RESOLUTION_SCOPE, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, } from './listing-fetch-params.js';
|
|
24
24
|
export { buildFlatNavigationCacheOptions, FLAT_NAV_CACHE_TAGS, getNavigation, withFlatNavRequestCache, } from './navigation.js';
|
|
25
|
-
export { contentfulPageRest } from './page.js';
|
|
25
|
+
export { contentfulPageRest, } from './page.js';
|
|
26
26
|
export { contentfulPersonRest } from './person.js';
|
|
27
27
|
// Preview
|
|
28
28
|
export { getPreviewEntryInfo, slugPreviewResolver, } from './preview.js';
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,sCAAsC,GAGvC,MAAM,sBAAsB,CAAC;AAC9B,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAgC,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAIzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAGL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,UAAU;AACV,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,wDAAwD;AACxD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,qBAAqB;AACrB,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,sCAAsC,GAGvC,MAAM,sBAAsB,CAAC;AAC9B,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAgC,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAIzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAGL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,UAAU;AACV,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,wDAAwD;AACxD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,qBAAqB;AACrB,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,kBAAkB,GAEnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAA2B,MAAM,UAAU,CAAC;AACzE,UAAU;AACV,OAAO,EAEL,mBAAmB,EAMnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,mBAAmB;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,UAAU;AACV,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAA4B,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAyB,MAAM,YAAY,CAAC"}
|
package/dist/api/page.d.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import type { IBasePage } from '@se-studio/core-data-types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Entry } from 'contentful';
|
|
3
|
+
import type { BasePageVariantSkeleton } from '../baseTypes/basePageVariant';
|
|
4
|
+
import type { BaseConverterContext, ConverterContext } from '../converters/helpers';
|
|
3
5
|
import type { CmsResponse, ContentfulConfig, FetchOptions } from '../types';
|
|
6
|
+
import type { DefaultChainModifier } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Site transform after pageVariant → {@link IBasePage} merge
|
|
9
|
+
* (e.g. HubSpot contentType inheritance from the original page template).
|
|
10
|
+
*/
|
|
11
|
+
export type AfterVariantMerge = (context: ConverterContext, variantEntry: Entry<BasePageVariantSkeleton, DefaultChainModifier, string>, page: IBasePage) => IBasePage;
|
|
12
|
+
/** Fetch options for {@link contentfulPageRest}, including optional post-merge hook. */
|
|
13
|
+
export interface PageFetchOptions extends FetchOptions {
|
|
14
|
+
afterVariantMerge?: AfterVariantMerge;
|
|
15
|
+
}
|
|
4
16
|
/**
|
|
5
17
|
* Fetches a page from Contentful by slug, or a **page variant** merged onto its original page
|
|
6
18
|
* when no standalone page exists for that slug.
|
|
@@ -8,8 +20,9 @@ import type { CmsResponse, ContentfulConfig, FetchOptions } from '../types';
|
|
|
8
20
|
* @param context - Converter context
|
|
9
21
|
* @param config - Contentful configuration
|
|
10
22
|
* @param slug - Page or page variant slug
|
|
11
|
-
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
23
|
+
* @param options - Fetch options (locale, preview, caching, etc.) plus optional
|
|
24
|
+
* {@link PageFetchOptions.afterVariantMerge} for site-specific post-merge transforms
|
|
12
25
|
* @returns Promise resolving to IBasePage or null if not found
|
|
13
26
|
*/
|
|
14
|
-
export declare function contentfulPageRest(context: BaseConverterContext, config: ContentfulConfig, slug: string, options:
|
|
27
|
+
export declare function contentfulPageRest(context: BaseConverterContext, config: ContentfulConfig, slug: string, options: PageFetchOptions): Promise<CmsResponse<IBasePage | null>>;
|
|
15
28
|
//# sourceMappingURL=page.d.ts.map
|
package/dist/api/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/api/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/api/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAC1E,IAAI,EAAE,SAAS,KACZ,SAAS,CAAC;AAEf,wFAAwF;AACxF,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CA2CxC"}
|
package/dist/api/page.js
CHANGED
|
@@ -7,10 +7,12 @@ import { fetchSingleEntity } from './helpers.js';
|
|
|
7
7
|
* @param context - Converter context
|
|
8
8
|
* @param config - Contentful configuration
|
|
9
9
|
* @param slug - Page or page variant slug
|
|
10
|
-
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
10
|
+
* @param options - Fetch options (locale, preview, caching, etc.) plus optional
|
|
11
|
+
* {@link PageFetchOptions.afterVariantMerge} for site-specific post-merge transforms
|
|
11
12
|
* @returns Promise resolving to IBasePage or null if not found
|
|
12
13
|
*/
|
|
13
14
|
export async function contentfulPageRest(context, config, slug, options) {
|
|
15
|
+
const { afterVariantMerge, ...fetchOptions } = options;
|
|
14
16
|
const pageResponse = await fetchSingleEntity(context, config, {
|
|
15
17
|
contentType: 'page',
|
|
16
18
|
cacheTagType: 'page',
|
|
@@ -18,7 +20,7 @@ export async function contentfulPageRest(context, config, slug, options) {
|
|
|
18
20
|
query: { 'fields.slug': slug },
|
|
19
21
|
resolver: (ctx, entry) => ctx.pageResolver(ctx, entry),
|
|
20
22
|
errorLogContext: { slug },
|
|
21
|
-
},
|
|
23
|
+
}, fetchOptions);
|
|
22
24
|
if (pageResponse.data) {
|
|
23
25
|
return pageResponse;
|
|
24
26
|
}
|
|
@@ -27,10 +29,13 @@ export async function contentfulPageRest(context, config, slug, options) {
|
|
|
27
29
|
cacheTagType: 'pageVariant',
|
|
28
30
|
cacheTagIdentifier: slug,
|
|
29
31
|
query: { 'fields.slug': slug },
|
|
30
|
-
resolver: (ctx, entry) =>
|
|
32
|
+
resolver: (ctx, entry) => {
|
|
33
|
+
const merged = buildMergedPageFromVariantEntry(ctx, entry);
|
|
34
|
+
return afterVariantMerge ? afterVariantMerge(ctx, entry, merged) : merged;
|
|
35
|
+
},
|
|
31
36
|
errorLogContext: { slug, contentType: 'pageVariant' },
|
|
32
37
|
logOperation: 'Reading page variant',
|
|
33
|
-
}, { ...
|
|
38
|
+
}, { ...fetchOptions, include: fetchOptions.include ?? 8 });
|
|
34
39
|
return {
|
|
35
40
|
data: variantResponse.data,
|
|
36
41
|
errors: [...pageResponse.errors, ...variantResponse.errors],
|
package/dist/api/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/api/page.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/api/page.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAkB9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA6B,EAC7B,MAAwB,EACxB,IAAY,EACZ,OAAyB;IAEzB,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAC1C,OAAO,EACP,MAAM,EACN;QACE,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM;QACpB,kBAAkB,EAAE,IAAI;QACxB,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;QAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;QACtD,eAAe,EAAE,EAAE,IAAI,EAAE;KAC1B,EACD,YAAY,CACb,CAAC;IAEF,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAC7C,OAAO,EACP,MAAM,EACN;QACE,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,aAAa;QAC3B,kBAAkB,EAAE,IAAI;QACxB,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;QAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,+BAA+B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,CAAC;QACD,eAAe,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;QACrD,YAAY,EAAE,sBAAsB;KACrC,EACD,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE,CACxD,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC;KAC5D,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export type { EntryMeta } from '@se-studio/core-data-types';
|
|
21
21
|
export { interpolateMetaTokens, mergeMeta, parseMeta, resolvedMeta, resolveMetaFromPageContext, } from '@se-studio/core-data-types';
|
|
22
|
-
export { type AnyEntryRestResult, type ArticleTypeFetchOptions, assetToMediaLibraryItem, type BreadcrumbLookup, type BreadcrumbLookupEntry, type BuiltinPreviewContentType, buildAssetThumbUrl, buildFetchOptions, buildFlatNavigationCacheOptions, type CmsContentType, type CmsFetchProfile, type ConverterResolutionScope, clampMediaLibraryLimit, clampMediaLibraryPage, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulAssetsPageRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest, contentfulDocumentsRest, contentfulPageRest, contentfulPageSitemapEntries, contentfulPersonRest, contentfulPersonSitemapEntries, contentfulRedirectsRest, contentfulTagRest, contentfulTagSitemapEntries, contentfulTagTypeRest, contentfulTemplateRest, coreGetContentfulConfig, createBaseConverterContext, createSitemapProvider, type DefaultChainModifier, FLAT_NAV_CACHE_TAGS, filterRelatedArticles, getAllSitemapEntries, getBreadcrumbLookup, getDefaultInclude, getListingLinkFetchParams, getNavigation, getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, type IContentfulRichText, type IFetchedTemplate, type ISitemapEntry, isAnimationAsset, isBrowserViewable, isMediaLibraryKind, LISTING_RESOLUTION_SCOPE, listAnimationsPage, listMediaLibraryPage, MEDIA_LIBRARY_DEFAULT_LIMIT, MEDIA_LIBRARY_KINDS, MEDIA_LIBRARY_MAX_LIMIT, MEDIA_LIBRARY_THUMB_WIDTH, type MediaLibraryItem, type MediaLibraryKind, type MediaLibraryPage, mediaLibraryKindForAsset, mediaLibraryPageToMarkdown, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, type PersonFetchOptions, type PreviewContentType, type PreviewEntryInclude, type PreviewEntryInfo, type PreviewEntryResolveInput, type PreviewEntryResolver, type RelatedArticlesOptions, resolveIncludeDepth, type SitemapChangeFrequency, type SitemapConfig, type SitemapContentTypeConfig, type SitemapEntryProvider, slugPreviewResolver, type TagFetchOptions, type TagTypeFetchOptions, withFlatNavRequestCache, } from './api';
|
|
22
|
+
export { type AfterVariantMerge, type AnyEntryRestResult, type ArticleTypeFetchOptions, assetToMediaLibraryItem, type BreadcrumbLookup, type BreadcrumbLookupEntry, type BuiltinPreviewContentType, buildAssetThumbUrl, buildFetchOptions, buildFlatNavigationCacheOptions, type CmsContentType, type CmsFetchProfile, type ConverterResolutionScope, clampMediaLibraryLimit, clampMediaLibraryPage, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulAssetsPageRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest, contentfulDocumentsRest, contentfulPageRest, contentfulPageSitemapEntries, contentfulPersonRest, contentfulPersonSitemapEntries, contentfulRedirectsRest, contentfulTagRest, contentfulTagSitemapEntries, contentfulTagTypeRest, contentfulTemplateRest, coreGetContentfulConfig, createBaseConverterContext, createSitemapProvider, type DefaultChainModifier, FLAT_NAV_CACHE_TAGS, filterRelatedArticles, getAllSitemapEntries, getBreadcrumbLookup, getDefaultInclude, getListingLinkFetchParams, getNavigation, getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, type IContentfulRichText, type IFetchedTemplate, type ISitemapEntry, isAnimationAsset, isBrowserViewable, isMediaLibraryKind, LISTING_RESOLUTION_SCOPE, listAnimationsPage, listMediaLibraryPage, MEDIA_LIBRARY_DEFAULT_LIMIT, MEDIA_LIBRARY_KINDS, MEDIA_LIBRARY_MAX_LIMIT, MEDIA_LIBRARY_THUMB_WIDTH, type MediaLibraryItem, type MediaLibraryKind, type MediaLibraryPage, mediaLibraryKindForAsset, mediaLibraryPageToMarkdown, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, type PageFetchOptions, type PersonFetchOptions, type PreviewContentType, type PreviewEntryInclude, type PreviewEntryInfo, type PreviewEntryResolveInput, type PreviewEntryResolver, type RelatedArticlesOptions, resolveIncludeDepth, type SitemapChangeFrequency, type SitemapConfig, type SitemapContentTypeConfig, type SitemapEntryProvider, slugPreviewResolver, type TagFetchOptions, type TagTypeFetchOptions, withFlatNavRequestCache, } from './api';
|
|
23
|
+
export type { BasePageVariantSkeleton } from './baseTypes/basePageVariant';
|
|
23
24
|
export type { ContentfulFetchClient as ContentfulClient } from './client';
|
|
24
25
|
export { type ContentfulFetchClient, createContentfulClient, createContentfulPreviewClient, getContentfulClient, } from './client';
|
|
25
26
|
export type { ContentResolverFunction } from './converters';
|
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.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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/docs/llms.md
CHANGED
|
@@ -80,6 +80,8 @@ Each `alternatePageContent` entry:
|
|
|
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. 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
|
+
Optional **`afterVariantMerge`** on `PageFetchOptions`: `(context, variantEntry, page) => IBasePage`. Runs only on the variant path after merge. Use for site-specific post-processing (e.g. HubSpot contentType inherit) without deep-importing `fetchSingleEntity` / `buildMergedPageFromVariantEntry`. Omit the option for unchanged default behaviour. `BasePageVariantSkeleton` is exported for typing the middle arg.
|
|
84
|
+
|
|
83
85
|
Exported helpers: `applyAlternateReplacementsMap`, `mergeAlternatePageContentsInTree`, `resolveAlternateReplacements`.
|
|
84
86
|
|
|
85
87
|
## Flat navigation
|
package/package.json
CHANGED