@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.
Files changed (65) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +32 -1
  3. package/dist/api/helpers.d.ts +2 -0
  4. package/dist/api/helpers.d.ts.map +1 -1
  5. package/dist/api/helpers.js +8 -0
  6. package/dist/api/helpers.js.map +1 -1
  7. package/dist/api/index.d.ts +1 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +1 -0
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/links.d.ts.map +1 -1
  12. package/dist/api/links.js +30 -31
  13. package/dist/api/links.js.map +1 -1
  14. package/dist/api/listing-fetch-params.d.ts +25 -2
  15. package/dist/api/listing-fetch-params.d.ts.map +1 -1
  16. package/dist/api/listing-fetch-params.js +5 -2
  17. package/dist/api/listing-fetch-params.js.map +1 -1
  18. package/dist/api/navigation.d.ts +9 -0
  19. package/dist/api/navigation.d.ts.map +1 -0
  20. package/dist/api/navigation.js +17 -0
  21. package/dist/api/navigation.js.map +1 -0
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/navigation/assembly.d.ts +8 -0
  27. package/dist/navigation/assembly.d.ts.map +1 -0
  28. package/dist/navigation/assembly.js +115 -0
  29. package/dist/navigation/assembly.js.map +1 -0
  30. package/dist/navigation/cacheOptions.d.ts +15 -0
  31. package/dist/navigation/cacheOptions.d.ts.map +1 -0
  32. package/dist/navigation/cacheOptions.js +38 -0
  33. package/dist/navigation/cacheOptions.js.map +1 -0
  34. package/dist/navigation/linkIndex.d.ts +9 -0
  35. package/dist/navigation/linkIndex.d.ts.map +1 -0
  36. package/dist/navigation/linkIndex.js +90 -0
  37. package/dist/navigation/linkIndex.js.map +1 -0
  38. package/dist/navigation/registry.d.ts +14 -0
  39. package/dist/navigation/registry.d.ts.map +1 -0
  40. package/dist/navigation/registry.js +113 -0
  41. package/dist/navigation/registry.js.map +1 -0
  42. package/dist/navigation/types.d.ts +45 -0
  43. package/dist/navigation/types.d.ts.map +1 -0
  44. package/dist/navigation/types.js +2 -0
  45. package/dist/navigation/types.js.map +1 -0
  46. package/dist/revalidation/handlers.d.ts.map +1 -1
  47. package/dist/revalidation/handlers.js +16 -1
  48. package/dist/revalidation/handlers.js.map +1 -1
  49. package/dist/revalidation/index.d.ts +1 -0
  50. package/dist/revalidation/index.d.ts.map +1 -1
  51. package/dist/revalidation/index.js +1 -0
  52. package/dist/revalidation/index.js.map +1 -1
  53. package/dist/revalidation/tags.d.ts +9 -0
  54. package/dist/revalidation/tags.d.ts.map +1 -1
  55. package/dist/revalidation/tags.js +15 -1
  56. package/dist/revalidation/tags.js.map +1 -1
  57. package/dist/revalidation/utils.d.ts.map +1 -1
  58. package/dist/revalidation/utils.js +5 -1
  59. package/dist/revalidation/utils.js.map +1 -1
  60. package/dist/revalidation/webhook-content-types.d.ts +12 -0
  61. package/dist/revalidation/webhook-content-types.d.ts.map +1 -0
  62. package/dist/revalidation/webhook-content-types.js +27 -0
  63. package/dist/revalidation/webhook-content-types.js.map +1 -0
  64. package/docs/llms.md +29 -1
  65. 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,UAgBnB,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,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', // Additional tag from the old implementation
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,6CAA6C;CAC/D,CAAC"}
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":"AAuBA;;;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,CA0BtF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,OAAe,GACvB,MAAM,EAAE,CAKV"}
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,GACP,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,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-rest-api",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "description": "Type-safe Contentful REST API client with caching and rate limiting for Next.js applications",
5
5
  "repository": {
6
6
  "type": "git",