@se-studio/contentful-rest-api 1.17.2 → 1.18.0
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/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/preview-types.d.ts +65 -0
- package/dist/api/preview-types.d.ts.map +1 -0
- package/dist/api/preview-types.js +7 -0
- package/dist/api/preview-types.js.map +1 -0
- package/dist/api/preview.d.ts +12 -18
- package/dist/api/preview.d.ts.map +1 -1
- package/dist/api/preview.js +86 -28
- package/dist/api/preview.js.map +1 -1
- package/dist/converters/helpers.d.ts +7 -0
- package/dist/converters/helpers.d.ts.map +1 -1
- package/dist/converters/helpers.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/dist/revalidation/entry-handlers.d.ts +2 -10
- package/dist/revalidation/entry-handlers.d.ts.map +1 -1
- package/dist/revalidation/entry-handlers.js +46 -17
- package/dist/revalidation/entry-handlers.js.map +1 -1
- package/dist/revalidation/nextjs-route.d.ts +8 -1
- package/dist/revalidation/nextjs-route.d.ts.map +1 -1
- package/dist/revalidation/nextjs-route.js +4 -2
- package/dist/revalidation/nextjs-route.js.map +1 -1
- package/dist/revalidation/route.d.ts +1 -1
- package/dist/revalidation/route.d.ts.map +1 -1
- package/dist/revalidation/route.js +9 -11
- package/dist/revalidation/route.js.map +1 -1
- package/dist/revalidation/tags.d.ts +6 -0
- package/dist/revalidation/tags.d.ts.map +1 -1
- package/dist/revalidation/tags.js +8 -0
- package/dist/revalidation/tags.js.map +1 -1
- package/docs/llms.md +32 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @se-studio/contentful-rest-api
|
|
2
2
|
|
|
3
|
+
## 1.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- eb81656: Revalidate-all always clears `global` + `AllTags` (+ optional site `extraTags`, deduped) regardless of preview mode. Tag preview-by-id fetches with `global`. Old+new slug tags on publish are opt-in when the webhook payload includes `previousFields.slug` (not sent by standard Contentful Entry webhooks). Preserve HtmlComponent markdownContent newlines.
|
|
8
|
+
|
|
9
|
+
## 1.17.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Add `previewEntryResolvers` extension point and `slugPreviewResolver` so sites can register custom page-like Contentful types for Live Preview URL resolution without hardcoding customer types in core.
|
|
14
|
+
|
|
3
15
|
## 1.17.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/api/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export { getResolutionScope, getResolutionScopeFromOptions, LISTING_RESOLUTION_S
|
|
|
22
22
|
export { buildFlatNavigationCacheOptions, FLAT_NAV_CACHE_TAGS, FLAT_NAV_TIME_REVALIDATE_SECONDS, getNavigation, withFlatNavRequestCache, } from './navigation';
|
|
23
23
|
export { contentfulPageRest } from './page';
|
|
24
24
|
export { contentfulPersonRest, type PersonFetchOptions } from './person';
|
|
25
|
-
export { getPreviewEntryInfo, type PreviewContentType, type PreviewEntryInfo } from './preview';
|
|
25
|
+
export { type BuiltinPreviewContentType, getPreviewEntryInfo, type PreviewContentType, type PreviewEntryInclude, type PreviewEntryInfo, type PreviewEntryResolveInput, type PreviewEntryResolver, slugPreviewResolver, } from './preview';
|
|
26
26
|
export { contentfulRedirectsRest } from './redirects';
|
|
27
27
|
export { filterRelatedArticles } from './related-articles';
|
|
28
28
|
export { contentfulArticleSitemapEntries, contentfulArticleTypeSitemapEntries, contentfulPageSitemapEntries, contentfulPersonSitemapEntries, contentfulTagSitemapEntries, createSitemapProvider, getAllSitemapEntries, } from './sitemap';
|
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,mBAAmB,EACnB,iBAAiB,GAClB,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,gCAAgC,EAChC,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,
|
|
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,mBAAmB,EACnB,iBAAiB,GAClB,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,gCAAgC,EAChC,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,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,EAAE,KAAK,eAAe,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
|
package/dist/api/index.js
CHANGED
|
@@ -25,7 +25,7 @@ export { buildFlatNavigationCacheOptions, FLAT_NAV_CACHE_TAGS, FLAT_NAV_TIME_REV
|
|
|
25
25
|
export { contentfulPageRest } from './page.js';
|
|
26
26
|
export { contentfulPersonRest } from './person.js';
|
|
27
27
|
// Preview
|
|
28
|
-
export { getPreviewEntryInfo } from './preview.js';
|
|
28
|
+
export { getPreviewEntryInfo, slugPreviewResolver, } from './preview.js';
|
|
29
29
|
export { contentfulRedirectsRest } from './redirects.js';
|
|
30
30
|
// Related articles
|
|
31
31
|
export { filterRelatedArticles } from './related-articles.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,mBAAmB,EACnB,iBAAiB,GAClB,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,gCAAgC,EAChC,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAA2B,MAAM,UAAU,CAAC;AACzE,UAAU;AACV,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,mBAAmB,EACnB,iBAAiB,GAClB,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,gCAAgC,EAChC,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for Contentful Live Preview entry → URL resolution.
|
|
3
|
+
* Kept separate from preview.ts / helpers.ts to avoid circular imports and
|
|
4
|
+
* so {@link PreviewEntryResolver} can return {@link PreviewEntryInfo} cleanly.
|
|
5
|
+
*/
|
|
6
|
+
import type { UrlCalculators } from '../converters/helpers';
|
|
7
|
+
/**
|
|
8
|
+
* Built-in content types handled by {@link getPreviewEntryInfo} without project resolvers.
|
|
9
|
+
*/
|
|
10
|
+
export type BuiltinPreviewContentType = 'page' | 'pageVariant' | 'pageTest' | 'article' | 'articleType' | 'tag' | 'person' | 'customType';
|
|
11
|
+
/**
|
|
12
|
+
* Content type id for a preview entry.
|
|
13
|
+
* Built-ins plus customer-specific types registered via {@link PreviewEntryResolver}
|
|
14
|
+
* (e.g. HSD `location`).
|
|
15
|
+
*/
|
|
16
|
+
export type PreviewContentType = BuiltinPreviewContentType | (string & {});
|
|
17
|
+
/**
|
|
18
|
+
* Information about an entry for preview purposes
|
|
19
|
+
*/
|
|
20
|
+
export interface PreviewEntryInfo {
|
|
21
|
+
/** The content type of the entry */
|
|
22
|
+
contentType: PreviewContentType;
|
|
23
|
+
/** The Contentful entry ID */
|
|
24
|
+
entryId: string;
|
|
25
|
+
/** The slug of the entry */
|
|
26
|
+
slug: string;
|
|
27
|
+
/** For articles, the article type's slug (needed for URL calculation) */
|
|
28
|
+
articleTypeSlug?: string;
|
|
29
|
+
/** The calculated URL for this entry */
|
|
30
|
+
href: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Linked entry shape passed to project preview resolvers (include depth 1).
|
|
34
|
+
* Compatible with Contentful include entries used by getPreviewEntryInfo.
|
|
35
|
+
*/
|
|
36
|
+
export interface PreviewEntryInclude {
|
|
37
|
+
sys: {
|
|
38
|
+
id: string;
|
|
39
|
+
contentType?: {
|
|
40
|
+
sys: {
|
|
41
|
+
id: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
fields?: Record<string, unknown>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Input for a project {@link PreviewEntryResolver}.
|
|
49
|
+
*/
|
|
50
|
+
export interface PreviewEntryResolveInput {
|
|
51
|
+
contentTypeId: string;
|
|
52
|
+
entryId: string;
|
|
53
|
+
/** Entry fields from the preview API (slug, links, …). */
|
|
54
|
+
fields: Record<string, unknown>;
|
|
55
|
+
/** Linked entries from include: 1. */
|
|
56
|
+
includes: PreviewEntryInclude[] | undefined;
|
|
57
|
+
urlCalculators: UrlCalculators;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Project-supplied resolver for page-like content types not handled by core
|
|
61
|
+
* {@link getPreviewEntryInfo}. Return preview info, or null if unhandled.
|
|
62
|
+
* Built-in switch runs first; extensions are only consulted on unknown types.
|
|
63
|
+
*/
|
|
64
|
+
export type PreviewEntryResolver = (input: PreviewEntryResolveInput) => PreviewEntryInfo | null;
|
|
65
|
+
//# sourceMappingURL=preview-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-types.d.ts","sourceRoot":"","sources":["../../src/api/preview-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,yBAAyB,GACjC,MAAM,GACN,aAAa,GACb,UAAU,GACV,SAAS,GACT,aAAa,GACb,KAAK,GACL,QAAQ,GACR,YAAY,CAAC;AAEjB;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,WAAW,EAAE,kBAAkB,CAAC;IAChC,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE;YACZ,GAAG,EAAE;gBACH,EAAE,EAAE,MAAM,CAAC;aACZ,CAAC;SACH,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,sCAAsC;IACtC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC5C,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,wBAAwB,KAAK,gBAAgB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for Contentful Live Preview entry → URL resolution.
|
|
3
|
+
* Kept separate from preview.ts / helpers.ts to avoid circular imports and
|
|
4
|
+
* so {@link PreviewEntryResolver} can return {@link PreviewEntryInfo} cleanly.
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=preview-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-types.js","sourceRoot":"","sources":["../../src/api/preview-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/api/preview.d.ts
CHANGED
|
@@ -6,25 +6,19 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { BaseConverterContext } from '../converters/helpers';
|
|
8
8
|
import type { ContentfulConfig, FetchOptions } from '../types';
|
|
9
|
+
import type { PreviewEntryInfo, PreviewEntryResolver } from './preview-types';
|
|
10
|
+
export type { BuiltinPreviewContentType, PreviewContentType, PreviewEntryInclude, PreviewEntryInfo, PreviewEntryResolveInput, PreviewEntryResolver, } from './preview-types';
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
12
|
+
* Convenience resolver for content types that only need `fields.slug` → href.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* previewEntryResolvers: {
|
|
17
|
+
* location: slugPreviewResolver('location', (slug) => `/drive/${slug}/`),
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
15
20
|
*/
|
|
16
|
-
export
|
|
17
|
-
/** The content type of the entry */
|
|
18
|
-
contentType: PreviewContentType;
|
|
19
|
-
/** The Contentful entry ID */
|
|
20
|
-
entryId: string;
|
|
21
|
-
/** The slug of the entry */
|
|
22
|
-
slug: string;
|
|
23
|
-
/** For articles, the article type's slug (needed for URL calculation) */
|
|
24
|
-
articleTypeSlug?: string;
|
|
25
|
-
/** The calculated URL for this entry */
|
|
26
|
-
href: string;
|
|
27
|
-
}
|
|
21
|
+
export declare function slugPreviewResolver(contentType: string, toHref: (slug: string) => string): PreviewEntryResolver;
|
|
28
22
|
/**
|
|
29
23
|
* Looks up a Contentful entry by ID and returns information needed for preview redirect.
|
|
30
24
|
*
|
|
@@ -40,7 +34,7 @@ export interface PreviewEntryInfo {
|
|
|
40
34
|
*
|
|
41
35
|
* @example
|
|
42
36
|
* ```ts
|
|
43
|
-
* const context = createBaseConverterContext();
|
|
37
|
+
* const context = createBaseConverterContext(urlCalculators);
|
|
44
38
|
* const info = await getPreviewEntryInfo(
|
|
45
39
|
* context,
|
|
46
40
|
* { spaceId: '...', accessToken: '...' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/api/preview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/api/preview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAuB,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEnG,YAAY,EACV,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAC/B,oBAAoB,CAatB;AAwCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GACtC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA6JlC"}
|
package/dist/api/preview.js
CHANGED
|
@@ -5,6 +5,48 @@
|
|
|
5
5
|
* appropriate URL for preview redirects.
|
|
6
6
|
*/
|
|
7
7
|
import { getContentfulClient } from '../client.js';
|
|
8
|
+
import { GlobalTag } from '../revalidation/tags.js';
|
|
9
|
+
/**
|
|
10
|
+
* Convenience resolver for content types that only need `fields.slug` → href.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* previewEntryResolvers: {
|
|
15
|
+
* location: slugPreviewResolver('location', (slug) => `/drive/${slug}/`),
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function slugPreviewResolver(contentType, toHref) {
|
|
20
|
+
return ({ entryId, fields }) => {
|
|
21
|
+
const slug = readStringField(fields, 'slug');
|
|
22
|
+
if (!slug) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
contentType,
|
|
27
|
+
entryId,
|
|
28
|
+
slug,
|
|
29
|
+
href: toHref(slug),
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function readStringField(fields, key) {
|
|
34
|
+
if (!fields) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const value = fields[key];
|
|
38
|
+
return typeof value === 'string' ? value : undefined;
|
|
39
|
+
}
|
|
40
|
+
function asEntryLink(value) {
|
|
41
|
+
if (!value || typeof value !== 'object') {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
const link = value;
|
|
45
|
+
if (!link.sys?.id) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return link;
|
|
49
|
+
}
|
|
8
50
|
/**
|
|
9
51
|
* Looks up a Contentful entry by ID and returns information needed for preview redirect.
|
|
10
52
|
*
|
|
@@ -20,7 +62,7 @@ import { getContentfulClient } from '../client.js';
|
|
|
20
62
|
*
|
|
21
63
|
* @example
|
|
22
64
|
* ```ts
|
|
23
|
-
* const context = createBaseConverterContext();
|
|
65
|
+
* const context = createBaseConverterContext(urlCalculators);
|
|
24
66
|
* const info = await getPreviewEntryInfo(
|
|
25
67
|
* context,
|
|
26
68
|
* { spaceId: '...', accessToken: '...' },
|
|
@@ -34,24 +76,32 @@ import { getContentfulClient } from '../client.js';
|
|
|
34
76
|
export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
35
77
|
// Always use preview API for preview lookups
|
|
36
78
|
const client = getContentfulClient(config, true);
|
|
79
|
+
// Tag with GlobalTag so DRAFT_ONLY / revalidate-all can clear stale entry-id → slug maps
|
|
80
|
+
// (force-cache without tags cannot be invalidated).
|
|
37
81
|
const response = await client.getEntries({
|
|
38
82
|
'sys.id': entryId,
|
|
39
83
|
include: 1, // Resolve linked entries: Article → ArticleType, pageTest → control
|
|
40
84
|
}, {
|
|
85
|
+
cache: 'force-cache',
|
|
41
86
|
...options,
|
|
42
87
|
preview: true,
|
|
88
|
+
next: {
|
|
89
|
+
...options?.next,
|
|
90
|
+
tags: [...(options?.next?.tags ?? []), GlobalTag],
|
|
91
|
+
},
|
|
43
92
|
});
|
|
44
93
|
const entry = response.items[0];
|
|
45
94
|
if (!entry) {
|
|
46
95
|
return null;
|
|
47
96
|
}
|
|
48
97
|
const contentTypeId = entry.sys.contentType.sys.id;
|
|
49
|
-
const
|
|
98
|
+
const fields = entry.fields;
|
|
99
|
+
const includes = response.includes?.Entry;
|
|
50
100
|
// Map Contentful content type ID to our PreviewContentType
|
|
51
101
|
// and extract the relevant slug and calculate href
|
|
52
102
|
switch (contentTypeId) {
|
|
53
103
|
case 'page': {
|
|
54
|
-
const slug = fields
|
|
104
|
+
const slug = readStringField(fields, 'slug');
|
|
55
105
|
if (!slug)
|
|
56
106
|
return null;
|
|
57
107
|
return {
|
|
@@ -62,7 +112,7 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
62
112
|
};
|
|
63
113
|
}
|
|
64
114
|
case 'pageVariant': {
|
|
65
|
-
const slug = fields
|
|
115
|
+
const slug = readStringField(fields, 'slug');
|
|
66
116
|
if (!slug)
|
|
67
117
|
return null;
|
|
68
118
|
return {
|
|
@@ -73,9 +123,9 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
73
123
|
};
|
|
74
124
|
}
|
|
75
125
|
case 'article': {
|
|
76
|
-
const slug = fields
|
|
126
|
+
const slug = readStringField(fields, 'slug');
|
|
77
127
|
// For articles, we need the articleType's slug from the included entry
|
|
78
|
-
const articleTypeSlug = getArticleTypeSlug(
|
|
128
|
+
const articleTypeSlug = getArticleTypeSlug(fields, includes);
|
|
79
129
|
if (!slug || !articleTypeSlug)
|
|
80
130
|
return null;
|
|
81
131
|
return {
|
|
@@ -87,7 +137,7 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
87
137
|
};
|
|
88
138
|
}
|
|
89
139
|
case 'articleType': {
|
|
90
|
-
const slug = fields
|
|
140
|
+
const slug = readStringField(fields, 'slug');
|
|
91
141
|
if (!slug)
|
|
92
142
|
return null;
|
|
93
143
|
return {
|
|
@@ -98,7 +148,7 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
98
148
|
};
|
|
99
149
|
}
|
|
100
150
|
case 'tag': {
|
|
101
|
-
const slug = fields
|
|
151
|
+
const slug = readStringField(fields, 'slug');
|
|
102
152
|
if (!slug)
|
|
103
153
|
return null;
|
|
104
154
|
return {
|
|
@@ -109,7 +159,7 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
109
159
|
};
|
|
110
160
|
}
|
|
111
161
|
case 'person': {
|
|
112
|
-
const slug = fields
|
|
162
|
+
const slug = readStringField(fields, 'slug');
|
|
113
163
|
if (!slug)
|
|
114
164
|
return null;
|
|
115
165
|
return {
|
|
@@ -120,7 +170,7 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
120
170
|
};
|
|
121
171
|
}
|
|
122
172
|
case 'customType': {
|
|
123
|
-
const slug = fields
|
|
173
|
+
const slug = readStringField(fields, 'slug');
|
|
124
174
|
if (!slug)
|
|
125
175
|
return null;
|
|
126
176
|
return {
|
|
@@ -131,11 +181,11 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
131
181
|
};
|
|
132
182
|
}
|
|
133
183
|
case 'pageTest': {
|
|
134
|
-
const controlEntry = getPageTestControlEntry(
|
|
184
|
+
const controlEntry = getPageTestControlEntry(fields, includes);
|
|
135
185
|
if (!controlEntry)
|
|
136
186
|
return null;
|
|
137
|
-
const controlContentType = controlEntry.sys.contentType
|
|
138
|
-
const slug = controlEntry.fields
|
|
187
|
+
const controlContentType = controlEntry.sys.contentType?.sys.id;
|
|
188
|
+
const slug = readStringField(controlEntry.fields, 'slug');
|
|
139
189
|
if (!slug)
|
|
140
190
|
return null;
|
|
141
191
|
if (controlContentType === 'page') {
|
|
@@ -156,20 +206,30 @@ export async function getPreviewEntryInfo(context, config, entryId, options) {
|
|
|
156
206
|
}
|
|
157
207
|
return null;
|
|
158
208
|
}
|
|
159
|
-
default:
|
|
160
|
-
|
|
161
|
-
|
|
209
|
+
default: {
|
|
210
|
+
const resolver = context.previewEntryResolvers?.[contentTypeId];
|
|
211
|
+
if (!resolver) {
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
return resolver({
|
|
215
|
+
contentTypeId,
|
|
216
|
+
entryId,
|
|
217
|
+
fields,
|
|
218
|
+
includes,
|
|
219
|
+
urlCalculators: context.urlCalculators,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
162
222
|
}
|
|
163
223
|
}
|
|
164
224
|
/**
|
|
165
225
|
* Resolves the control page entry linked from a pageTest entry.
|
|
166
226
|
*/
|
|
167
|
-
function getPageTestControlEntry(
|
|
168
|
-
const controlField =
|
|
227
|
+
function getPageTestControlEntry(fields, includes) {
|
|
228
|
+
const controlField = asEntryLink(fields.control);
|
|
169
229
|
if (!controlField) {
|
|
170
230
|
return undefined;
|
|
171
231
|
}
|
|
172
|
-
if (controlField.sys.contentType?.sys.id && controlField.fields
|
|
232
|
+
if (controlField.sys.contentType?.sys.id && readStringField(controlField.fields, 'slug')) {
|
|
173
233
|
return controlField;
|
|
174
234
|
}
|
|
175
235
|
const controlId = controlField.sys.id;
|
|
@@ -182,22 +242,20 @@ function getPageTestControlEntry(entry, includes) {
|
|
|
182
242
|
* Extracts the article type slug from an article entry.
|
|
183
243
|
* Looks in the entry's articleType field, falling back to includes if needed.
|
|
184
244
|
*/
|
|
185
|
-
function getArticleTypeSlug(
|
|
186
|
-
|
|
187
|
-
const articleTypeField = entry.fields.articleType;
|
|
245
|
+
function getArticleTypeSlug(fields, includes) {
|
|
246
|
+
const articleTypeField = asEntryLink(fields.articleType);
|
|
188
247
|
if (!articleTypeField) {
|
|
189
248
|
return undefined;
|
|
190
249
|
}
|
|
191
|
-
|
|
192
|
-
if (
|
|
193
|
-
return
|
|
250
|
+
const resolvedSlug = readStringField(articleTypeField.fields, 'slug');
|
|
251
|
+
if (resolvedSlug) {
|
|
252
|
+
return resolvedSlug;
|
|
194
253
|
}
|
|
195
|
-
|
|
196
|
-
const articleTypeId = articleTypeField.sys?.id;
|
|
254
|
+
const articleTypeId = articleTypeField.sys.id;
|
|
197
255
|
if (!articleTypeId || !includes) {
|
|
198
256
|
return undefined;
|
|
199
257
|
}
|
|
200
258
|
const articleTypeEntry = includes.find((inc) => inc.sys.id === articleTypeId);
|
|
201
|
-
return articleTypeEntry?.fields
|
|
259
|
+
return readStringField(articleTypeEntry?.fields, 'slug');
|
|
202
260
|
}
|
|
203
261
|
//# sourceMappingURL=preview.js.map
|
package/dist/api/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/api/preview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/api/preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,6 +112,13 @@ export type BaseConverterContext = {
|
|
|
112
112
|
* Apps can override these to customize URL patterns for links, sitemaps, and preview.
|
|
113
113
|
*/
|
|
114
114
|
urlCalculators: UrlCalculators;
|
|
115
|
+
/**
|
|
116
|
+
* Optional project resolvers for Contentful Live Preview entry → URL lookup.
|
|
117
|
+
* Keys are Contentful content type ids (e.g. `location`). Used by
|
|
118
|
+
* getPreviewEntryInfo when the content type is not a built-in type.
|
|
119
|
+
* See {@link import('../api/preview-types').PreviewEntryResolver}.
|
|
120
|
+
*/
|
|
121
|
+
previewEntryResolvers?: Readonly<Record<string, import('../api/preview-types').PreviewEntryResolver>>;
|
|
115
122
|
linkResolver: LinkResolverMap;
|
|
116
123
|
contentResolver: Map<string, (context: ConverterContext, entry: Entry<BaseContent, DefaultChainModifier, string>) => unknown>;
|
|
117
124
|
navigationItemResolver: typeof baseNavigationItemConverter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAiC,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAenG,MAAM,UAAU,gBAAgB,CAAC,KAAgC;IAC/D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC/D,CAAC;AACD,MAAM,UAAU,mBAAmB,CACjC,KAAgC,EAChC,EAAU,EACV,MAAM,GAAG,YAAY;IAErB,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAgC;IAChE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,MAAM,UAAU,yBAAyB,CAAC,WAAsC,EAAE,EAAU;IAC1F,OAAO,WAAW,IAAI,mBAAmB,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAyB,EAAE,KAA0C;IAC/F,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAyB,EACzB,OAA8C;IAE9C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAyB,EACzB,KAA0C;IAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,2BAA2B;IAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QACvC,OAAO;YACL,GAAG,MAAM;YACT,KAAK,EAAE;gBACL,GAAG,MAAM,CAAC,KAAK;gBACf,MAAM,EAAE,IAAI;aACb;SACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA6B,EAC7B,QAAe;IAEf,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAK5B,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEvE,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI;QACxB,GAAG,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE;QACxB,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAyB,EACzB,KAA0C;IAE1C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO,8BAA8B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,CAAC;CACN,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAU,EACV,MAaC,EACD,OAAyB,EACzB,IAAY,EACZ,YAA0B;AAC1B,iEAAiE;AACjE,eAAqB;IAErB,MAAM,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,MAAM,EACN,IAAI,EACJ,WAAW,GACZ,GAAG,MAAM,CAAC;IAEX,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,YAAY;QACZ,EAAE;QACF,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,IAAI,IAAI,QAAQ,IAAI,EAAE;QAC5B,OAAO;QACP,IAAI;QACJ,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;QAC3C,gBAAgB;QAChB,UAAU;QACV,OAAO;QACP,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,WAAW;QACX,eAAe;QACf,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC;AAyGD,MAAM,UAAU,kBAAkB,CAAC,OAAyB;IAC1D,OAAO,OAAO,CAAC,eAAe,IAAI,qBAAqB,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAyB;IAC/D,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAyB;IAC7D,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC;AACrD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAOjC,KAAU;IACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAE7C,OAAO;YACL,GAAG,IAAI;YACP,KAAK;YACL,OAAO,EAAE,KAAK,KAAK,CAAC;YACpB,MAAM,EAAE,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;YAClC,WAAW,EAAE,gBAAgB;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAG,QAAoB;IAC3D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* );
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
export { type AnyEntryRestResult, type ArticleTypeFetchOptions, type BreadcrumbLookup, type BreadcrumbLookupEntry, buildFetchOptions, buildFlatNavigationCacheOptions, type CmsContentType, type CmsFetchProfile, type ConverterResolutionScope, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest, contentfulDocumentsRest, contentfulPageRest, contentfulPageSitemapEntries, contentfulPersonRest, contentfulPersonSitemapEntries, contentfulRedirectsRest, contentfulTagRest, contentfulTagSitemapEntries, contentfulTagTypeRest, contentfulTemplateRest, coreGetContentfulConfig, createBaseConverterContext, createSitemapProvider, type DefaultChainModifier, FLAT_NAV_CACHE_TAGS, FLAT_NAV_TIME_REVALIDATE_SECONDS, filterRelatedArticles, getAllSitemapEntries, getBreadcrumbLookup, getDefaultInclude, getListingLinkFetchParams, getNavigation, getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, type IContentfulRichText, type IFetchedTemplate, type ISitemapEntry, isBrowserViewable, LISTING_RESOLUTION_SCOPE, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, type PersonFetchOptions, type PreviewContentType, type PreviewEntryInfo, type RelatedArticlesOptions, resolveIncludeDepth, type SitemapChangeFrequency, type SitemapConfig, type SitemapContentTypeConfig, type SitemapEntryProvider, type TagFetchOptions, type TagTypeFetchOptions, withFlatNavRequestCache, } from './api';
|
|
20
|
+
export { type AnyEntryRestResult, type ArticleTypeFetchOptions, type BreadcrumbLookup, type BreadcrumbLookupEntry, type BuiltinPreviewContentType, buildFetchOptions, buildFlatNavigationCacheOptions, type CmsContentType, type CmsFetchProfile, type ConverterResolutionScope, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest, contentfulDocumentsRest, contentfulPageRest, contentfulPageSitemapEntries, contentfulPersonRest, contentfulPersonSitemapEntries, contentfulRedirectsRest, contentfulTagRest, contentfulTagSitemapEntries, contentfulTagTypeRest, contentfulTemplateRest, coreGetContentfulConfig, createBaseConverterContext, createSitemapProvider, type DefaultChainModifier, FLAT_NAV_CACHE_TAGS, FLAT_NAV_TIME_REVALIDATE_SECONDS, filterRelatedArticles, getAllSitemapEntries, getBreadcrumbLookup, getDefaultInclude, getListingLinkFetchParams, getNavigation, getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, type IContentfulRichText, type IFetchedTemplate, type ISitemapEntry, isBrowserViewable, LISTING_RESOLUTION_SCOPE, 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';
|
|
21
21
|
export type { ContentfulFetchClient as ContentfulClient } from './client';
|
|
22
22
|
export { type ContentfulFetchClient, createContentfulClient, createContentfulPreviewClient, getContentfulClient, } from './client';
|
|
23
23
|
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":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ export { buildFetchOptions, buildFlatNavigationCacheOptions, contentfulAllArticl
|
|
|
22
22
|
// Asset/download functions
|
|
23
23
|
contentfulAssetRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest, contentfulDocumentsRest, contentfulPageRest, contentfulPageSitemapEntries, contentfulPersonRest, contentfulPersonSitemapEntries, contentfulRedirectsRest, contentfulTagRest, contentfulTagSitemapEntries, contentfulTagTypeRest, contentfulTemplateRest, coreGetContentfulConfig, createBaseConverterContext, createSitemapProvider, FLAT_NAV_CACHE_TAGS, FLAT_NAV_TIME_REVALIDATE_SECONDS, filterRelatedArticles, getAllSitemapEntries, getBreadcrumbLookup, getDefaultInclude, getListingLinkFetchParams, getNavigation,
|
|
24
24
|
// Preview
|
|
25
|
-
getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, isBrowserViewable, LISTING_RESOLUTION_SCOPE, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, resolveIncludeDepth, withFlatNavRequestCache, } from './api/index.js';
|
|
25
|
+
getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, isBrowserViewable, LISTING_RESOLUTION_SCOPE, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, resolveIncludeDepth, slugPreviewResolver, withFlatNavRequestCache, } from './api/index.js';
|
|
26
26
|
// Client exports
|
|
27
27
|
export { createContentfulClient, createContentfulPreviewClient, getContentfulClient, } from './client.js';
|
|
28
28
|
// Converter exports
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,gBAAgB;AAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,gBAAgB;AAChB,OAAO,EAOL,iBAAiB,EACjB,+BAA+B,EAI/B,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;AACnC,2BAA2B;AAC3B,mBAAmB,EACnB,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,iBAAiB,EACjB,wBAAwB,EACxB,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,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC3B,iBAAiB,EAEjB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EAOtB,WAAW,EACX,gCAAgC,EAChC,sBAAsB,EACtB,4BAA4B,EAC5B,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,yBAAyB;AACzB,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY;AACZ,oBAAoB;AACpB,sBAAsB,EACtB,yBAAyB,EACzB,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa;AACb,8BAA8B;AAC9B,OAAO,EACP,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,SAAS,EACT,wCAAwC,EACxC,4CAA4C,EAC5C,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,EACN,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,GAElC,MAAM,WAAW,CAAC;AAUnB,qCAAqC;AACrC,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,QAAQ,EAER,cAAc,EACd,WAAW,EACX,QAAQ,EAER,eAAe,EACf,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,sCAAsC,GAGvC,MAAM,qBAAqB,CAAC"}
|
|
@@ -19,13 +19,6 @@ export interface BaseData {
|
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
interface SlugData extends BaseData {
|
|
23
|
-
fields?: {
|
|
24
|
-
slug?: {
|
|
25
|
-
'en-US': string;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
22
|
export interface IContentTypeHandler<TData extends BaseData, TExtracted> {
|
|
30
23
|
extract(data: TData): TExtracted | Promise<TExtracted>;
|
|
31
24
|
makeTags(extracted: TExtracted): (string | undefined)[] | undefined;
|
|
@@ -39,10 +32,9 @@ export interface IContentTypeHandler<TData extends BaseData, TExtracted> {
|
|
|
39
32
|
getCascadeTags?(): string[];
|
|
40
33
|
rebuildSearch?: boolean;
|
|
41
34
|
}
|
|
42
|
-
export declare const contentTypeHandlers: Record<string, IContentTypeHandler<
|
|
35
|
+
export declare const contentTypeHandlers: Record<string, IContentTypeHandler<any, any>>;
|
|
43
36
|
/** Merge individual, collection, and coarse cascade tags for publish revalidation. */
|
|
44
|
-
export declare function collectPublishTagsForHandler(handler: IContentTypeHandler<
|
|
37
|
+
export declare function collectPublishTagsForHandler(handler: IContentTypeHandler<any, any>, extracted: any): string[];
|
|
45
38
|
/** Tags revalidated when an entry is published (production mode). */
|
|
46
39
|
export declare function getPublishTagsForEntry(content: BaseData): Promise<string[]>;
|
|
47
|
-
export {};
|
|
48
40
|
//# sourceMappingURL=entry-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAC;QAC1D,KAAK,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QAC/B,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrC,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACtC,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"entry-handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAC;QAC1D,KAAK,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QAC/B,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrC,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACtC,CAAC;CACH;AAkFD,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EAAE,UAAU;IACrE,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IACpE,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,IAAI,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CA2E7E,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,4BAA4B,CAE1C,OAAO,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEtC,SAAS,EAAE,GAAG,GACb,MAAM,EAAE,CAOV;AAED,qEAAqE;AACrE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMjF"}
|
|
@@ -8,31 +8,46 @@ const articleTypeHandler = {
|
|
|
8
8
|
getGlobalTags: () => [ArticleTypeTag, ArticleTypeIndexTag],
|
|
9
9
|
getCascadeTags: () => [ArticleTag],
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
function extractSlugWithPrevious(data) {
|
|
12
|
+
return {
|
|
13
13
|
slug: data.fields?.slug?.[defaultLocale],
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
previousSlug: data.previousFields?.slug?.[defaultLocale],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function slugChangeTags(extracted, tagFor) {
|
|
18
|
+
const tags = [extracted.slug ? tagFor(extracted.slug) : undefined];
|
|
19
|
+
if (extracted.previousSlug && extracted.previousSlug !== extracted.slug) {
|
|
20
|
+
tags.push(tagFor(extracted.previousSlug));
|
|
21
|
+
}
|
|
22
|
+
return tags;
|
|
23
|
+
}
|
|
24
|
+
const articleHandler = {
|
|
25
|
+
extract: extractSlugWithPrevious,
|
|
26
|
+
makeTags: (extracted) => slugChangeTags(extracted, articleTag),
|
|
16
27
|
getGlobalTags: () => [ArticleTag],
|
|
17
28
|
rebuildSearch: true,
|
|
18
29
|
};
|
|
19
30
|
const pageVariantHandler = {
|
|
20
|
-
extract:
|
|
21
|
-
makeTags: (extracted) =>
|
|
31
|
+
extract: extractSlugWithPrevious,
|
|
32
|
+
makeTags: (extracted) => slugChangeTags(extracted, pageVariantTag),
|
|
22
33
|
getGlobalTags: () => [PageVariantTag],
|
|
23
34
|
};
|
|
35
|
+
const pageHandler = {
|
|
36
|
+
extract: extractSlugWithPrevious,
|
|
37
|
+
makeTags: (extracted) => slugChangeTags(extracted, pageTag),
|
|
38
|
+
getGlobalTags: () => [PageTag],
|
|
39
|
+
};
|
|
24
40
|
const templateHandler = {
|
|
25
41
|
extract: (data) => data.fields?.cmsLabel?.[defaultLocale],
|
|
26
42
|
makeTags: (extracted) => [extracted ? templateTag(extracted) : undefined],
|
|
27
43
|
getGlobalTags: () => [TemplateTag],
|
|
28
44
|
getCascadeTags: () => [PageTag, ArticleTag],
|
|
29
45
|
};
|
|
46
|
+
// biome-ignore lint/suspicious/noExplicitAny: handlers use heterogeneous extract shapes
|
|
30
47
|
export const contentTypeHandlers = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
getGlobalTags: () => [PageTag],
|
|
35
|
-
},
|
|
48
|
+
// biome-ignore lint/suspicious/noExplicitAny: page extract is SlugExtract
|
|
49
|
+
page: pageHandler,
|
|
50
|
+
// biome-ignore lint/suspicious/noExplicitAny: pageVariant extract is SlugExtract
|
|
36
51
|
pageVariant: pageVariantHandler,
|
|
37
52
|
// biome-ignore lint/suspicious/noExplicitAny: Any is ok for handlers with different types
|
|
38
53
|
article: articleHandler,
|
|
@@ -40,7 +55,9 @@ export const contentTypeHandlers = {
|
|
|
40
55
|
articleType: articleTypeHandler,
|
|
41
56
|
person: {
|
|
42
57
|
extract: (data) => data.fields?.slug?.[defaultLocale],
|
|
43
|
-
makeTags: (extracted) => [
|
|
58
|
+
makeTags: (extracted) => [
|
|
59
|
+
extracted ? personTag(extracted) : undefined,
|
|
60
|
+
],
|
|
44
61
|
getGlobalTags: () => [PersonTag],
|
|
45
62
|
},
|
|
46
63
|
tag: {
|
|
@@ -50,7 +67,9 @@ export const contentTypeHandlers = {
|
|
|
50
67
|
},
|
|
51
68
|
tagType: {
|
|
52
69
|
extract: (data) => data.fields?.slug?.[defaultLocale],
|
|
53
|
-
makeTags: (extracted) => [
|
|
70
|
+
makeTags: (extracted) => [
|
|
71
|
+
extracted ? tagTypeTag(extracted) : undefined,
|
|
72
|
+
],
|
|
54
73
|
getGlobalTags: () => [TagTypeTag],
|
|
55
74
|
},
|
|
56
75
|
link: {
|
|
@@ -83,7 +102,9 @@ export const contentTypeHandlers = {
|
|
|
83
102
|
},
|
|
84
103
|
document: {
|
|
85
104
|
extract: (data) => data.fields?.slug?.[defaultLocale],
|
|
86
|
-
makeTags: (extracted) => [
|
|
105
|
+
makeTags: (extracted) => [
|
|
106
|
+
extracted ? `document#${extracted}` : undefined,
|
|
107
|
+
],
|
|
87
108
|
getGlobalTags: () => [DocumentTag],
|
|
88
109
|
},
|
|
89
110
|
redirect: {
|
|
@@ -93,13 +114,21 @@ export const contentTypeHandlers = {
|
|
|
93
114
|
},
|
|
94
115
|
location: {
|
|
95
116
|
extract: (data) => data.fields?.slug?.[defaultLocale],
|
|
96
|
-
makeTags: (extracted) => [
|
|
117
|
+
makeTags: (extracted) => [
|
|
118
|
+
extracted ? locationTag(extracted) : undefined,
|
|
119
|
+
],
|
|
97
120
|
getGlobalTags: () => [LocationTag],
|
|
98
121
|
},
|
|
99
122
|
};
|
|
100
123
|
/** Merge individual, collection, and coarse cascade tags for publish revalidation. */
|
|
101
|
-
export function collectPublishTagsForHandler(
|
|
102
|
-
|
|
124
|
+
export function collectPublishTagsForHandler(
|
|
125
|
+
// biome-ignore lint/suspicious/noExplicitAny: heterogeneous extract shapes across handlers
|
|
126
|
+
handler,
|
|
127
|
+
// biome-ignore lint/suspicious/noExplicitAny: string | SlugExtract | objects
|
|
128
|
+
extracted) {
|
|
129
|
+
const individual = handler
|
|
130
|
+
.makeTags(extracted)
|
|
131
|
+
?.filter((tag) => tag !== undefined) ?? [];
|
|
103
132
|
const cascade = handler.getCascadeTags?.() ?? [];
|
|
104
133
|
return [...new Set([...individual, ...handler.getGlobalTags(), ...cascade])];
|
|
105
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-handlers.js","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,WAAW,EACX,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,EACN,UAAU,EACV,WAAW,GACZ,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"entry-handlers.js","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,13 @@ export interface RevalidationConfig {
|
|
|
7
7
|
secret?: string;
|
|
8
8
|
/** Whether to validate the secret */
|
|
9
9
|
validateSecret?: boolean;
|
|
10
|
-
/** Whether to run in preview mode */
|
|
10
|
+
/** Whether to run in preview mode (DRAFT_ONLY / always-preview deploys) */
|
|
11
11
|
preview?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Site-only cache tags revalidated on REVALIDATE_ALL (after GlobalTag + AllTags).
|
|
14
|
+
* Prefer core AllTags for shared tags (e.g. hubspot-forms is already included).
|
|
15
|
+
*/
|
|
16
|
+
extraTags?: string[];
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
14
19
|
* Create a Next.js API route handler for Contentful revalidation
|
|
@@ -24,6 +29,8 @@ export interface RevalidationConfig {
|
|
|
24
29
|
* export const POST = createRevalidationHandler({
|
|
25
30
|
* secret: process.env.REVALIDATION_SECRET,
|
|
26
31
|
* validateSecret: true,
|
|
32
|
+
* preview: process.env.DRAFT_ONLY === 'true',
|
|
33
|
+
* // extraTags: ['my-site-only-tag'],
|
|
27
34
|
* });
|
|
28
35
|
* ```
|
|
29
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs-route.d.ts","sourceRoot":"","sources":["../../src/revalidation/nextjs-route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"nextjs-route.d.ts","sourceRoot":"","sources":["../../src/revalidation/nextjs-route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,GAAE,kBAAuB,GAC9B,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAejD"}
|
|
@@ -14,12 +14,14 @@ import { handleRevalidation } from './route.js';
|
|
|
14
14
|
* export const POST = createRevalidationHandler({
|
|
15
15
|
* secret: process.env.REVALIDATION_SECRET,
|
|
16
16
|
* validateSecret: true,
|
|
17
|
+
* preview: process.env.DRAFT_ONLY === 'true',
|
|
18
|
+
* // extraTags: ['my-site-only-tag'],
|
|
17
19
|
* });
|
|
18
20
|
* ```
|
|
19
21
|
*/
|
|
20
22
|
export function createRevalidationHandler(config = {}) {
|
|
21
23
|
return async function POST(request) {
|
|
22
|
-
const { secret, validateSecret = true, preview = false } = config;
|
|
24
|
+
const { secret, validateSecret = true, preview = false, extraTags = [] } = config;
|
|
23
25
|
// Validate secret if required
|
|
24
26
|
if (validateSecret && secret) {
|
|
25
27
|
const requestSecret = request.headers.get('REVALIDATION_SECRET');
|
|
@@ -28,7 +30,7 @@ export function createRevalidationHandler(config = {}) {
|
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
// Handle the revalidation
|
|
31
|
-
return await handleRevalidation(request, preview);
|
|
33
|
+
return await handleRevalidation(request, preview, extraTags);
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
36
|
//# sourceMappingURL=nextjs-route.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs-route.js","sourceRoot":"","sources":["../../src/revalidation/nextjs-route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"nextjs-route.js","sourceRoot":"","sources":["../../src/revalidation/nextjs-route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAmB7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAA6B,EAAE;IAE/B,OAAO,KAAK,UAAU,IAAI,CAAC,OAAoB;QAC7C,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;QAElF,8BAA8B;QAC9B,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACjE,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,OAAO,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { NextResponse } from 'next/server';
|
|
2
|
-
export declare function handleRevalidation(request: Request, preview?: boolean): Promise<NextResponse>;
|
|
2
|
+
export declare function handleRevalidation(request: Request, preview?: boolean, extraTags?: string[]): Promise<NextResponse>;
|
|
3
3
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/revalidation/route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/revalidation/route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiE3C,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,OAAe,EACxB,SAAS,GAAE,MAAM,EAAO,GACvB,OAAO,CAAC,YAAY,CAAC,CAgDvB"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { NextResponse } from 'next/server';
|
|
4
4
|
import { contentTypeHandlers, revalidateAsset, revalidateDeletedAsset, revalidateDeletedEntry, revalidateEntry, } from './handlers.js';
|
|
5
5
|
import { revalidateSingleTag } from './server-utils.js';
|
|
6
|
-
import {
|
|
6
|
+
import { collectRevalidateAllTags } from './tags.js';
|
|
7
7
|
// Handle asset publishing
|
|
8
8
|
async function publishAsset(content, preview) {
|
|
9
9
|
return await revalidateAsset(content, 'publish asset', preview);
|
|
@@ -33,17 +33,15 @@ async function deleteEntry(content, preview) {
|
|
|
33
33
|
return success;
|
|
34
34
|
}
|
|
35
35
|
// Revalidate all tags (for global revalidation)
|
|
36
|
-
async function revalidateAll(
|
|
36
|
+
async function revalidateAll(extraTags = []) {
|
|
37
37
|
if (process.env.LOG_CMS)
|
|
38
38
|
console.log('Revalidating all tags');
|
|
39
39
|
await delay(500);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
await revalidateSingleTag(tag, 'global revalidation');
|
|
46
|
-
}
|
|
40
|
+
// Always clear draft/preview Data Cache (`global`) and every collection tag,
|
|
41
|
+
// plus any site-only extras (deduped). Independent of preview flag so DRAFT_ONLY
|
|
42
|
+
// and production bulk revalidate the same known set.
|
|
43
|
+
for (const tag of collectRevalidateAllTags(extraTags)) {
|
|
44
|
+
await revalidateSingleTag(tag, 'global revalidation');
|
|
47
45
|
}
|
|
48
46
|
// Note: Search rebuild logic would go here if needed
|
|
49
47
|
return true;
|
|
@@ -53,13 +51,13 @@ function delay(ms) {
|
|
|
53
51
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
54
52
|
}
|
|
55
53
|
// Main revalidation handler function
|
|
56
|
-
export async function handleRevalidation(request, preview = false) {
|
|
54
|
+
export async function handleRevalidation(request, preview = false, extraTags = []) {
|
|
57
55
|
try {
|
|
58
56
|
// Check for global revalidation header
|
|
59
57
|
const all = request.headers.get('REVALIDATE_ALL');
|
|
60
58
|
const single = request.headers.get('REVALIDATION_TAG');
|
|
61
59
|
if (all) {
|
|
62
|
-
const success = await revalidateAll(
|
|
60
|
+
const success = await revalidateAll(extraTags);
|
|
63
61
|
return NextResponse.json({ revalidated: success, now: Date.now() }, { status: 200 });
|
|
64
62
|
}
|
|
65
63
|
if (single) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/revalidation/route.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAGL,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/revalidation/route.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,4 +101,10 @@ export declare function redirectTag(): string;
|
|
|
101
101
|
* All collection-level cache tags for global revalidation
|
|
102
102
|
*/
|
|
103
103
|
export declare const AllTags: string[];
|
|
104
|
+
/**
|
|
105
|
+
* Ordered unique tags for REVALIDATE_ALL:
|
|
106
|
+
* draft/preview Data Cache (`global`), every collection tag, then site-only extras.
|
|
107
|
+
* Dedupe so callers can pass tags already in {@link AllTags} without double work.
|
|
108
|
+
*/
|
|
109
|
+
export declare function collectRevalidateAllTags(extraTags?: string[]): string[];
|
|
104
110
|
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/revalidation/tags.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAG5C,eAAO,MAAM,SAAS,WAAW,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,UAoBnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/revalidation/tags.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAG5C,eAAO,MAAM,SAAS,WAAW,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,UAoBnB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAE3E"}
|
|
@@ -149,4 +149,12 @@ export const AllTags = [
|
|
|
149
149
|
LocationTag,
|
|
150
150
|
'hubspot-forms', // Legacy bulk tag; prefer hubspot-form#{formId} from @se-studio/hubspot
|
|
151
151
|
];
|
|
152
|
+
/**
|
|
153
|
+
* Ordered unique tags for REVALIDATE_ALL:
|
|
154
|
+
* draft/preview Data Cache (`global`), every collection tag, then site-only extras.
|
|
155
|
+
* Dedupe so callers can pass tags already in {@link AllTags} without double work.
|
|
156
|
+
*/
|
|
157
|
+
export function collectRevalidateAllTags(extraTags = []) {
|
|
158
|
+
return [...new Set([GlobalTag, ...AllTags, ...extraTags])];
|
|
159
|
+
}
|
|
152
160
|
//# sourceMappingURL=tags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/revalidation/tags.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/revalidation/tags.ts"],"names":[],"mappings":"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"}
|
package/docs/llms.md
CHANGED
|
@@ -223,27 +223,53 @@ Base converters available:
|
|
|
223
223
|
|
|
224
224
|
### Context extension points
|
|
225
225
|
|
|
226
|
-
`BaseConverterContext` has
|
|
226
|
+
`BaseConverterContext` has optional resolver hooks for project-specific behaviour:
|
|
227
227
|
|
|
228
228
|
- `maskResolver?: (maskName: string) => string | undefined` — maps a CMS mask dropdown value to a CSS mask URL or Tailwind class string, stored as `IVisual.mask`
|
|
229
229
|
- `gradientResolver?: (gradientName: string) => string | undefined` — maps a CMS gradient dropdown value to a CSS gradient string (e.g. `linear-gradient(...)`), stored as `IVisual.gradient` and rendered as an overlay div on top of the visual
|
|
230
|
+
- `previewEntryResolvers?: Readonly<Record<string, PreviewEntryResolver>>` — maps Contentful content type ids to Live Preview URL resolvers for **customer page-like types** not built into core (e.g. HSD `location` → `/drive/{slug}/`). Built-in types always win; extensions only run on unknown content types.
|
|
230
231
|
|
|
231
232
|
```ts
|
|
232
|
-
const context = createBaseConverterContext();
|
|
233
|
+
const context = createBaseConverterContext(urlCalculators);
|
|
233
234
|
context.maskResolver = (name) => maskMap[name];
|
|
234
235
|
context.gradientResolver = (name) => gradientMap[name];
|
|
236
|
+
context.previewEntryResolvers = {
|
|
237
|
+
location: slugPreviewResolver('location', (slug) => `/drive/${slug}/`),
|
|
238
|
+
};
|
|
235
239
|
```
|
|
236
240
|
|
|
237
241
|
## Preview
|
|
238
242
|
|
|
239
243
|
```ts
|
|
240
|
-
import {
|
|
244
|
+
import {
|
|
245
|
+
createBaseConverterContext,
|
|
246
|
+
getPreviewEntryInfo,
|
|
247
|
+
slugPreviewResolver,
|
|
248
|
+
type PreviewEntryResolver,
|
|
249
|
+
} from '@se-studio/contentful-rest-api';
|
|
241
250
|
|
|
242
|
-
|
|
243
|
-
|
|
251
|
+
const context = createBaseConverterContext(urlCalculators);
|
|
252
|
+
|
|
253
|
+
// Built-in: page, pageVariant, pageTest, article, articleType, tag, person, customType
|
|
254
|
+
const info = await getPreviewEntryInfo(context, config, entryId);
|
|
255
|
+
// info: { contentType, entryId, slug, href, articleTypeSlug? } | null
|
|
256
|
+
|
|
257
|
+
// Custom page-like types (do not hardcode customer types in core):
|
|
258
|
+
context.previewEntryResolvers = {
|
|
259
|
+
location: slugPreviewResolver('location', (slug) => `/drive/${slug}/`),
|
|
260
|
+
// Or full control — receives fields, includes (include: 1), urlCalculators:
|
|
261
|
+
locationShell: ({ entryId, fields, includes, urlCalculators }) => {
|
|
262
|
+
/* resolve linked entry, return PreviewEntryInfo | null */
|
|
263
|
+
return null;
|
|
264
|
+
},
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
const locationInfo = await getPreviewEntryInfo(context, config, locationEntryId);
|
|
244
268
|
```
|
|
245
269
|
|
|
246
|
-
|
|
270
|
+
**Built-in content types:** `page`, `pageVariant`, `pageTest` (redirects to linked control `page` or `pageVariant`), `article`, `articleType`, `tag`, `person`, `customType`.
|
|
271
|
+
|
|
272
|
+
**Custom types:** register via `context.previewEntryResolvers[contentTypeId]`. Prefer `slugPreviewResolver(contentType, toHref)` when only `fields.slug` is needed. Return type is always `PreviewEntryInfo | null`.
|
|
247
273
|
|
|
248
274
|
## Error Handling
|
|
249
275
|
|
package/package.json
CHANGED