@se-studio/contentful-rest-api 1.10.0 → 1.11.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 +10 -0
- package/README.md +32 -1
- package/dist/api/helpers.d.ts +2 -0
- package/dist/api/helpers.d.ts.map +1 -1
- package/dist/api/helpers.js +8 -0
- package/dist/api/helpers.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/links.d.ts.map +1 -1
- package/dist/api/links.js +30 -31
- package/dist/api/links.js.map +1 -1
- package/dist/api/listing-fetch-params.d.ts +25 -2
- package/dist/api/listing-fetch-params.d.ts.map +1 -1
- package/dist/api/listing-fetch-params.js +5 -2
- package/dist/api/listing-fetch-params.js.map +1 -1
- package/dist/api/navigation.d.ts +9 -0
- package/dist/api/navigation.d.ts.map +1 -0
- package/dist/api/navigation.js +17 -0
- package/dist/api/navigation.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/navigation/assembly.d.ts +8 -0
- package/dist/navigation/assembly.d.ts.map +1 -0
- package/dist/navigation/assembly.js +115 -0
- package/dist/navigation/assembly.js.map +1 -0
- package/dist/navigation/cacheOptions.d.ts +15 -0
- package/dist/navigation/cacheOptions.d.ts.map +1 -0
- package/dist/navigation/cacheOptions.js +38 -0
- package/dist/navigation/cacheOptions.js.map +1 -0
- package/dist/navigation/linkIndex.d.ts +9 -0
- package/dist/navigation/linkIndex.d.ts.map +1 -0
- package/dist/navigation/linkIndex.js +90 -0
- package/dist/navigation/linkIndex.js.map +1 -0
- package/dist/navigation/registry.d.ts +14 -0
- package/dist/navigation/registry.d.ts.map +1 -0
- package/dist/navigation/registry.js +113 -0
- package/dist/navigation/registry.js.map +1 -0
- package/dist/navigation/types.d.ts +45 -0
- package/dist/navigation/types.d.ts.map +1 -0
- package/dist/navigation/types.js +2 -0
- package/dist/navigation/types.js.map +1 -0
- package/dist/revalidation/handlers.d.ts.map +1 -1
- package/dist/revalidation/handlers.js +16 -1
- package/dist/revalidation/handlers.js.map +1 -1
- package/dist/revalidation/index.d.ts +1 -0
- package/dist/revalidation/index.d.ts.map +1 -1
- package/dist/revalidation/index.js +1 -0
- package/dist/revalidation/index.js.map +1 -1
- package/dist/revalidation/tags.d.ts +9 -0
- package/dist/revalidation/tags.d.ts.map +1 -1
- package/dist/revalidation/tags.js +15 -1
- package/dist/revalidation/tags.js.map +1 -1
- package/dist/revalidation/utils.d.ts.map +1 -1
- package/dist/revalidation/utils.js +5 -1
- package/dist/revalidation/utils.js.map +1 -1
- package/dist/revalidation/webhook-content-types.d.ts +12 -0
- package/dist/revalidation/webhook-content-types.d.ts.map +1 -0
- package/dist/revalidation/webhook-content-types.js +27 -0
- package/dist/revalidation/webhook-content-types.js.map +1 -0
- package/docs/llms.md +29 -1
- package/package.json +1 -1
|
@@ -7,10 +7,13 @@ export declare const ArticleTypeTag = "articleType";
|
|
|
7
7
|
export declare const ArticleTypeIndexTag = "articleTypeIndex";
|
|
8
8
|
export declare const CustomTypeTag = "customType";
|
|
9
9
|
export declare const TagTag = "tag";
|
|
10
|
+
export declare const TagTypeTag = "tagType";
|
|
11
|
+
export declare const LinkTag = "link";
|
|
10
12
|
export declare const PersonTag = "person";
|
|
11
13
|
export declare const AssetTag = "asset";
|
|
12
14
|
export declare const TemplateTag = "template";
|
|
13
15
|
export declare const NavigationTag = "navigation";
|
|
16
|
+
export declare const NavigationItemTag = "navigationItem";
|
|
14
17
|
export declare const BannerTag = "banner";
|
|
15
18
|
export declare const RedirectTag = "redirect";
|
|
16
19
|
export declare const LocationTag = "location";
|
|
@@ -58,6 +61,12 @@ export declare function customTypeTag(slug: string): string;
|
|
|
58
61
|
* @returns Cache tag for the tag
|
|
59
62
|
*/
|
|
60
63
|
export declare function tagTag(slug: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Individual tag type cache tag generator
|
|
66
|
+
* @param slug - Tag type slug
|
|
67
|
+
* @returns Cache tag for the tag type
|
|
68
|
+
*/
|
|
69
|
+
export declare function tagTypeTag(slug: string): string;
|
|
61
70
|
/**
|
|
62
71
|
* Individual person cache tag generator
|
|
63
72
|
* @param slug - Person slug
|
|
@@ -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,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,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,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,
|
|
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,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,UAmBnB,CAAC"}
|
|
@@ -8,10 +8,13 @@ export const ArticleTypeTag = 'articleType';
|
|
|
8
8
|
export const ArticleTypeIndexTag = 'articleTypeIndex';
|
|
9
9
|
export const CustomTypeTag = 'customType';
|
|
10
10
|
export const TagTag = 'tag';
|
|
11
|
+
export const TagTypeTag = 'tagType';
|
|
12
|
+
export const LinkTag = 'link';
|
|
11
13
|
export const PersonTag = 'person';
|
|
12
14
|
export const AssetTag = 'asset';
|
|
13
15
|
export const TemplateTag = 'template';
|
|
14
16
|
export const NavigationTag = 'navigation';
|
|
17
|
+
export const NavigationItemTag = 'navigationItem';
|
|
15
18
|
export const BannerTag = 'banner';
|
|
16
19
|
export const RedirectTag = 'redirect';
|
|
17
20
|
export const LocationTag = 'location';
|
|
@@ -74,6 +77,14 @@ export function customTypeTag(slug) {
|
|
|
74
77
|
export function tagTag(slug) {
|
|
75
78
|
return `${TagTag}#${slug}`;
|
|
76
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Individual tag type cache tag generator
|
|
82
|
+
* @param slug - Tag type slug
|
|
83
|
+
* @returns Cache tag for the tag type
|
|
84
|
+
*/
|
|
85
|
+
export function tagTypeTag(slug) {
|
|
86
|
+
return `${TagTypeTag}#${slug}`;
|
|
87
|
+
}
|
|
77
88
|
/**
|
|
78
89
|
* Individual person cache tag generator
|
|
79
90
|
* @param slug - Person slug
|
|
@@ -125,12 +136,15 @@ export const AllTags = [
|
|
|
125
136
|
ArticleTypeIndexTag,
|
|
126
137
|
CustomTypeTag,
|
|
127
138
|
TagTag,
|
|
139
|
+
TagTypeTag,
|
|
140
|
+
LinkTag,
|
|
128
141
|
PersonTag,
|
|
129
142
|
AssetTag,
|
|
130
143
|
TemplateTag,
|
|
131
144
|
NavigationTag,
|
|
145
|
+
NavigationItemTag,
|
|
132
146
|
BannerTag,
|
|
133
147
|
LocationTag,
|
|
134
|
-
'hubspot-forms', //
|
|
148
|
+
'hubspot-forms', // Legacy bulk tag; prefer hubspot-form#{formId} from @se-studio/hubspot
|
|
135
149
|
];
|
|
136
150
|
//# sourceMappingURL=tags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/revalidation/tags.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,GAAG,cAAc,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,GAAG,cAAc,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,GAAG,cAAc,UAAU,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO;IACP,cAAc;IACd,UAAU;IACV,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,aAAa;IACb,MAAM;IACN,SAAS;IACT,QAAQ;IACR,WAAW;IACX,aAAa;IACb,SAAS;IACT,WAAW;IACX,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/revalidation/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/revalidation/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/revalidation/utils.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA8BtF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,OAAe,GACvB,MAAM,EAAE,CAKV"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ArticleTag, ArticleTypeTag, AssetTag, articleTag, articleTypeTag, assetTag, BannerTag, CustomTypeTag, customTypeTag, GlobalTag, LocationTag, locationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, TagTag, tagTag, } from './tags.js';
|
|
1
|
+
import { ArticleTag, ArticleTypeTag, AssetTag, articleTag, articleTypeTag, assetTag, BannerTag, CustomTypeTag, customTypeTag, GlobalTag, LinkTag, LocationTag, locationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, TagTag, TagTypeTag, tagTag, tagTypeTag, } from './tags.js';
|
|
2
2
|
/**
|
|
3
3
|
* Get cache tags for preview mode
|
|
4
4
|
* @returns Array containing only the global tag
|
|
@@ -26,6 +26,10 @@ export function getCacheTagsForProduction(contentType, slug) {
|
|
|
26
26
|
return slug ? [customTypeTag(slug), CustomTypeTag] : [CustomTypeTag];
|
|
27
27
|
case 'tag':
|
|
28
28
|
return slug ? [tagTag(slug), TagTag] : [TagTag];
|
|
29
|
+
case 'tagType':
|
|
30
|
+
return slug ? [tagTypeTag(slug), TagTypeTag] : [TagTypeTag];
|
|
31
|
+
case 'link':
|
|
32
|
+
return [LinkTag];
|
|
29
33
|
case 'person':
|
|
30
34
|
return slug ? [personTag(slug), PersonTag] : [PersonTag];
|
|
31
35
|
case 'asset':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/revalidation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,cAAc,EACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/revalidation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,cAAc,EACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACT,OAAO,EACP,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,EACN,UAAU,GACX,MAAM,QAAQ,CAAC;AAEhB;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB,EAAE,IAAa;IAC1E,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrD,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1E,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9D,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1E,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACvE,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9D,KAAK,MAAM;YACT,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3D,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxD,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjE,KAAK,QAAQ;YACX,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB;YACE,4EAA4E;YAC5E,OAAO,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,WAAmB,EACnB,IAAa,EACb,UAAmB,KAAK;IAExB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,sBAAsB,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,yBAAyB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content type IDs for the production **published-entry** revalidation webhook filter
|
|
3
|
+
* (`sys.contentType.sys.id` in Contentful).
|
|
4
|
+
*
|
|
5
|
+
* Must match entry handlers in `handlers.ts`. Excludes:
|
|
6
|
+
* - `redirect` — uses Vercel deploy hook (baked at build), not `/api/revalidate`
|
|
7
|
+
* - `asset` — separate asset publish/unpublish webhook in project setup scripts
|
|
8
|
+
*/
|
|
9
|
+
export declare const REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES: readonly ["article", "articleType", "banner", "customType", "link", "location", "navigation", "navigationItem", "page", "pageVariant", "person", "tag", "tagType", "template"];
|
|
10
|
+
/** Comma-separated list for Contentful UI or copy-paste into webhook filters. */
|
|
11
|
+
export declare const REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES_CSV: string;
|
|
12
|
+
//# sourceMappingURL=webhook-content-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-content-types.d.ts","sourceRoot":"","sources":["../../src/revalidation/webhook-content-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,wCAAwC,gLAe3C,CAAC;AAEX,iFAAiF;AACjF,eAAO,MAAM,4CAA4C,QACL,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content type IDs for the production **published-entry** revalidation webhook filter
|
|
3
|
+
* (`sys.contentType.sys.id` in Contentful).
|
|
4
|
+
*
|
|
5
|
+
* Must match entry handlers in `handlers.ts`. Excludes:
|
|
6
|
+
* - `redirect` — uses Vercel deploy hook (baked at build), not `/api/revalidate`
|
|
7
|
+
* - `asset` — separate asset publish/unpublish webhook in project setup scripts
|
|
8
|
+
*/
|
|
9
|
+
export const REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES = [
|
|
10
|
+
'article',
|
|
11
|
+
'articleType',
|
|
12
|
+
'banner',
|
|
13
|
+
'customType',
|
|
14
|
+
'link',
|
|
15
|
+
'location',
|
|
16
|
+
'navigation',
|
|
17
|
+
'navigationItem',
|
|
18
|
+
'page',
|
|
19
|
+
'pageVariant',
|
|
20
|
+
'person',
|
|
21
|
+
'tag',
|
|
22
|
+
'tagType',
|
|
23
|
+
'template',
|
|
24
|
+
];
|
|
25
|
+
/** Comma-separated list for Contentful UI or copy-paste into webhook filters. */
|
|
26
|
+
export const REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES_CSV = REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES.join(',');
|
|
27
|
+
//# sourceMappingURL=webhook-content-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-content-types.js","sourceRoot":"","sources":["../../src/revalidation/webhook-content-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,SAAS;IACT,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,aAAa;IACb,QAAQ;IACR,KAAK;IACL,SAAS;IACT,UAAU;CACF,CAAC;AAEX,iFAAiF;AACjF,MAAM,CAAC,MAAM,4CAA4C,GACvD,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
|
package/docs/llms.md
CHANGED
|
@@ -63,6 +63,30 @@ const allPersonLinks = await contentfulAllPersonLinks(config);
|
|
|
63
63
|
// CmsResponse<IPersonLink[]> — each link includes resolved bio (IResolvedRichText) when set in CMS
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
## Flat navigation
|
|
67
|
+
|
|
68
|
+
Assemble menus without Contentful include depth. **Use `getNavigation` from `createAppHelpers` only** — registry/link-index fetchers are not exported.
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
import { createAppHelpers } from '@se-studio/core-ui';
|
|
72
|
+
|
|
73
|
+
const { getNavigation } = createAppHelpers({ /* converterContext, getConfig, buildOptions, buildInformation */ });
|
|
74
|
+
const menu = await getNavigation(mainNavEntryId);
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Caching (applied inside `getNavigation` via `buildFlatNavigationCacheOptions`):
|
|
78
|
+
|
|
79
|
+
- **Tags (primary):** `FLAT_NAV_CACHE_TAGS` — collection tags for navigation, navigationItem, page, article, tag, **tagType**, **link**, person, etc.
|
|
80
|
+
- **Revalidate (fallback):** `FLAT_NAV_TIME_REVALIDATE_SECONDS` (3600) when webhooks miss; override with `options.next.revalidate`.
|
|
81
|
+
|
|
82
|
+
Unresolved internal targets → blank link; set `LOG_CMS=1` to warn.
|
|
83
|
+
|
|
84
|
+
### Golden listing fields
|
|
85
|
+
|
|
86
|
+
Defined in `listing-fetch-params.ts` (table in file header). Bulk link/index fetches use these `select` lists. Flat-nav **registry** fetches omit `select` (schema-tolerant per space).
|
|
87
|
+
|
|
88
|
+
`tagType` links: `TAG_TYPE_LINK_FIELDS` includes `fields.slug`; spaces without slug fall back to `TAG_TYPE_MINIMAL_FIELDS` on 422.
|
|
89
|
+
|
|
66
90
|
## Related Articles Filtering
|
|
67
91
|
|
|
68
92
|
```ts
|
|
@@ -130,10 +154,14 @@ import {
|
|
|
130
154
|
customTypeTag,
|
|
131
155
|
assetTag,
|
|
132
156
|
// Constants
|
|
133
|
-
PageTag, ArticleTag, NavigationTag, BannerTag, GlobalTag, AllTags,
|
|
157
|
+
PageTag, ArticleTag, TagTypeTag, LinkTag, NavigationTag, BannerTag, GlobalTag, AllTags,
|
|
158
|
+
FLAT_NAV_CACHE_TAGS, FLAT_NAV_TIME_REVALIDATE_SECONDS, buildFlatNavigationCacheOptions,
|
|
159
|
+
REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES, REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES_CSV,
|
|
134
160
|
} from '@se-studio/contentful-rest-api';
|
|
135
161
|
```
|
|
136
162
|
|
|
163
|
+
Production published-entry webhook filter: `REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES_CSV` (includes `navigation`, `navigationItem`, `tagType`, `link` for flat nav). See `docs/CONTENTFUL_WEBHOOK_REVALIDATION.md`.
|
|
164
|
+
|
|
137
165
|
## Converter Pattern
|
|
138
166
|
|
|
139
167
|
Used to extend how Contentful entries are transformed into typed models. You typically call `createBaseConverterContext()` and pass it via `buildFetchOptions`.
|
package/package.json
CHANGED