@se-studio/contentful-rest-api 1.14.10 → 1.15.1

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @se-studio/contentful-rest-api
2
2
 
3
+ ## 1.15.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Include person contact fields (`jobTitle`, `phoneNumber`, `emailAddress`, `location`, `linkedIn`) in `PERSON_LINK_FIELDS` so bulk person-link fetches return data already mapped by `basePersonLinkConverter`.
8
+
9
+ ## 1.15.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Add coarse publish-side cache tag cascades so shared CMS infrastructure invalidates dependent routes on Next.js 15: `template` → `page` + `article`, `articleType` → `article`, `customType` → `tag` + `person`.
14
+
3
15
  ## 1.14.10
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -311,6 +311,8 @@ The package automatically manages cache tags for Next.js App Router. Tags follow
311
311
  - **Collections**: `{contentType}` (e.g., `page`, `article`, `articleType`)
312
312
  - **Preview mode**: `global` (single tag for all content when preview mode is enabled)
313
313
 
314
+ **Publish cascades (coarse):** `template` publish also revalidates `page` + `article`; `articleType` → `article`; `customType` → `tag` + `person`. See `docs/CONTENTFUL_WEBHOOK_REVALIDATION.md`.
315
+
314
316
  ### Automatic Cache Tagging
315
317
 
316
318
  All content fetching functions automatically apply appropriate cache tags based on the `preview` flag:
@@ -48,7 +48,7 @@ export declare const ARTICLE_LISTING_FIELDS = "sys,fields.cmsLabel,fields.title,
48
48
  export declare const ARTICLE_LINK_FIELDS = "sys,fields.cmsLabel,fields.title,fields.subtitle,fields.slug,fields.breadcrumbTitle,fields.featuredImage,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden,fields.tags,fields.articleType,fields.date,fields.author,fields.authors,fields.externalLink,fields.download,fields.visuals,fields.description,fields.summary,fields.topContent,fields.content,fields.bottomContent";
49
49
  export declare const ARTICLE_TYPE_LINK_FIELDS = "sys,fields.name,fields.slug,fields.breadcrumbTitle,fields.featuredImage,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden";
50
50
  export declare const TAG_LINK_FIELDS = "sys,fields.cmsLabel,fields.name,fields.slug,fields.breadcrumbTitle,fields.featuredImage,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden,fields.show,fields.tagType";
51
- export declare const PERSON_LINK_FIELDS = "sys,fields.name,fields.slug,fields.media,fields.bio,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden";
51
+ export declare const PERSON_LINK_FIELDS = "sys,fields.name,fields.slug,fields.media,fields.bio,fields.jobTitle,fields.phoneNumber,fields.emailAddress,fields.location,fields.linkedIn,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden";
52
52
  export declare const CUSTOM_TYPE_LINK_FIELDS = "sys,fields.name,fields.slug,fields.breadcrumbTitle,fields.featuredImage,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden,fields.indexPageName";
53
53
  /** Fields present on every tagType schema (see BaseTagTypeSkeleton). */
54
54
  export declare const TAG_TYPE_MINIMAL_FIELDS = "sys,fields.name,fields.show";
@@ -1 +1 @@
1
- {"version":3,"file":"listing-fetch-params.d.ts","sourceRoot":"","sources":["../../src/api/listing-fetch-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,SAAS,GACT,aAAa,GACb,KAAK,GACL,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,qBAAqB,EAAE,wBAGnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,wBAGtC,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,wBAGhC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,eAAwB,EACjC,oBAAoB,GAAE,oBAAgC,GACrD,wBAAwB,CAQ1B;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,sBAAsB,CAAC,GACnE,wBAAwB,CAK1B;AAsBD,uGAAuG;AACvG,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,EAC3B,OAAO,GAAE,eAAwB,GAChC,MAAM,CAGR;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,eAAe,CAAA;CAAE,EAC7D,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAQR;AAED,eAAO,MAAM,gBAAgB,gLACkJ,CAAC;AAEhL,eAAO,MAAM,sBAAsB,iVAC6S,CAAC;AAEjV,kHAAkH;AAClH,eAAO,MAAM,mBAAmB,uYAAoF,CAAC;AAErH,eAAO,MAAM,wBAAwB,mJAC6G,CAAC;AAEnJ,eAAO,MAAM,eAAe,8LACiK,CAAC;AAE9L,eAAO,MAAM,kBAAkB,+HAC+F,CAAC;AAE/H,eAAO,MAAM,uBAAuB,wKACmI,CAAC;AAExK,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,4CAA4C,CAAC;AAE9E,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,iNAA0C,CAAC;AAE1E,eAAO,MAAM,2BAA2B,6KACoI,CAAC;AAE7K,eAAO,MAAM,0BAA0B,6KACqI,CAAC;AAE7K,eAAO,MAAM,uBAAuB,gCAA0B,CAAC;AAE/D,eAAO,MAAM,mBAAmB,gKAC+H,CAAC;AAEhK,eAAO,MAAM,6BAA6B,4OACiM,CAAC;AAE5O,eAAO,MAAM,qBAAqB,uJACoH,CAAC;AAEvJ,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,cAAc,GAAG;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAqBA;AAED,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAmB5F"}
1
+ {"version":3,"file":"listing-fetch-params.d.ts","sourceRoot":"","sources":["../../src/api/listing-fetch-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,SAAS,GACT,aAAa,GACb,KAAK,GACL,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,qBAAqB,EAAE,wBAGnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,wBAGtC,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,wBAGhC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,eAAwB,EACjC,oBAAoB,GAAE,oBAAgC,GACrD,wBAAwB,CAQ1B;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,sBAAsB,CAAC,GACnE,wBAAwB,CAK1B;AAsBD,uGAAuG;AACvG,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,EAC3B,OAAO,GAAE,eAAwB,GAChC,MAAM,CAGR;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,eAAe,CAAA;CAAE,EAC7D,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAQR;AAED,eAAO,MAAM,gBAAgB,gLACkJ,CAAC;AAEhL,eAAO,MAAM,sBAAsB,iVAC6S,CAAC;AAEjV,kHAAkH;AAClH,eAAO,MAAM,mBAAmB,uYAAoF,CAAC;AAErH,eAAO,MAAM,wBAAwB,mJAC6G,CAAC;AAEnJ,eAAO,MAAM,eAAe,8LACiK,CAAC;AAE9L,eAAO,MAAM,kBAAkB,sNACsL,CAAC;AAEtN,eAAO,MAAM,uBAAuB,wKACmI,CAAC;AAExK,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,4CAA4C,CAAC;AAE9E,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,iNAA0C,CAAC;AAE1E,eAAO,MAAM,2BAA2B,6KACoI,CAAC;AAE7K,eAAO,MAAM,0BAA0B,6KACqI,CAAC;AAE7K,eAAO,MAAM,uBAAuB,gCAA0B,CAAC;AAE/D,eAAO,MAAM,mBAAmB,gKAC+H,CAAC;AAEhK,eAAO,MAAM,6BAA6B,4OACiM,CAAC;AAE5O,eAAO,MAAM,qBAAqB,uJACoH,CAAC;AAEvJ,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,cAAc,GAAG;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAqBA;AAED,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAmB5F"}
@@ -65,7 +65,7 @@ export const ARTICLE_LISTING_FIELDS = 'sys,fields.cmsLabel,fields.title,fields.s
65
65
  export const ARTICLE_LINK_FIELDS = `${ARTICLE_LISTING_FIELDS},fields.topContent,fields.content,fields.bottomContent`;
66
66
  export const ARTICLE_TYPE_LINK_FIELDS = 'sys,fields.name,fields.slug,fields.breadcrumbTitle,fields.featuredImage,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden';
67
67
  export const TAG_LINK_FIELDS = 'sys,fields.cmsLabel,fields.name,fields.slug,fields.breadcrumbTitle,fields.featuredImage,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden,fields.show,fields.tagType';
68
- export const PERSON_LINK_FIELDS = 'sys,fields.name,fields.slug,fields.media,fields.bio,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden';
68
+ export const PERSON_LINK_FIELDS = 'sys,fields.name,fields.slug,fields.media,fields.bio,fields.jobTitle,fields.phoneNumber,fields.emailAddress,fields.location,fields.linkedIn,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden';
69
69
  export const CUSTOM_TYPE_LINK_FIELDS = 'sys,fields.name,fields.slug,fields.breadcrumbTitle,fields.featuredImage,fields.backgroundColour,fields.textColour,fields.indexed,fields.hidden,fields.indexPageName';
70
70
  /** Fields present on every tagType schema (see BaseTagTypeSkeleton). */
71
71
  export const TAG_TYPE_MINIMAL_FIELDS = 'sys,fields.name,fields.show';
@@ -1 +1 @@
1
- {"version":3,"file":"listing-fetch-params.js","sourceRoot":"","sources":["../../src/api/listing-fetch-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listing-fetch-params.js","sourceRoot":"","sources":["../../src/api/listing-fetch-params.ts"],"names":[],"mappings":"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"}
@@ -30,9 +30,18 @@ export interface IContentTypeHandler<TData extends BaseData, TExtracted> {
30
30
  extract(data: TData): TExtracted | Promise<TExtracted>;
31
31
  makeTags(extracted: TExtracted): (string | undefined)[] | undefined;
32
32
  getGlobalTags(): string[];
33
+ /**
34
+ * Coarse collection tags for shared infrastructure that is merged into many routes
35
+ * (template menu/footer/schema, articleType article schema, customType index config).
36
+ * Next 15 cannot attach per-entity dependency tags at fetch time; revisit with
37
+ * Next 16 cacheTag() for precise invalidation.
38
+ */
39
+ getCascadeTags?(): string[];
33
40
  rebuildSearch?: boolean;
34
41
  }
35
42
  export declare const contentTypeHandlers: Record<string, IContentTypeHandler<SlugData, string | null | undefined>>;
43
+ /** Merge individual, collection, and coarse cascade tags for publish revalidation. */
44
+ export declare function collectPublishTagsForHandler(handler: IContentTypeHandler<BaseData, string | null | undefined>, extracted: string | null | undefined): string[];
36
45
  /** Tags revalidated when an entry is published (production mode). */
37
46
  export declare function getPublishTagsForEntry(content: BaseData): Promise<string[]>;
38
47
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"entry-handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"AA4BA,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;AAED,UAAU,QAAS,SAAQ,QAAQ;IACjC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAgDD,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,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAoCD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAgEzD,CAAC;AAEF,qEAAqE;AACrE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQjF"}
1
+ {"version":3,"file":"entry-handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"AA4BA,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;AAED,UAAU,QAAS,SAAQ,QAAQ;IACjC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAgDD,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;AAsCD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAiEzD,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,EAAE,CAKV;AAED,qEAAqE;AACrE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMjF"}
@@ -6,6 +6,7 @@ const articleTypeHandler = {
6
6
  }),
7
7
  makeTags: (extracted) => [extracted.slug ? articleTypeIndexTag(extracted.slug) : undefined],
8
8
  getGlobalTags: () => [ArticleTypeTag, ArticleTypeIndexTag],
9
+ getCascadeTags: () => [ArticleTag],
9
10
  };
10
11
  const articleHandler = {
11
12
  extract: (data) => ({
@@ -24,6 +25,7 @@ const templateHandler = {
24
25
  extract: (data) => data.fields?.cmsLabel?.[defaultLocale],
25
26
  makeTags: (extracted) => [extracted ? templateTag(extracted) : undefined],
26
27
  getGlobalTags: () => [TemplateTag],
28
+ getCascadeTags: () => [PageTag, ArticleTag],
27
29
  };
28
30
  export const contentTypeHandlers = {
29
31
  page: {
@@ -62,6 +64,7 @@ export const contentTypeHandlers = {
62
64
  extract: () => undefined,
63
65
  makeTags: () => undefined,
64
66
  getGlobalTags: () => [CustomTypeTag],
67
+ getCascadeTags: () => [TagTag, PersonTag],
65
68
  },
66
69
  navigation: {
67
70
  extract: () => undefined,
@@ -89,6 +92,12 @@ export const contentTypeHandlers = {
89
92
  getGlobalTags: () => [LocationTag],
90
93
  },
91
94
  };
95
+ /** Merge individual, collection, and coarse cascade tags for publish revalidation. */
96
+ export function collectPublishTagsForHandler(handler, extracted) {
97
+ const individual = handler.makeTags(extracted)?.filter((tag) => tag !== undefined) ?? [];
98
+ const cascade = handler.getCascadeTags?.() ?? [];
99
+ return [...new Set([...individual, ...handler.getGlobalTags(), ...cascade])];
100
+ }
92
101
  /** Tags revalidated when an entry is published (production mode). */
93
102
  export async function getPublishTagsForEntry(content) {
94
103
  const contentType = content.sys.contentType.sys.id;
@@ -96,8 +105,6 @@ export async function getPublishTagsForEntry(content) {
96
105
  if (!handler)
97
106
  return [];
98
107
  const extracted = await Promise.resolve(handler.extract(content));
99
- const tags = handler.makeTags(extracted);
100
- const validTags = tags?.filter((tag) => tag !== undefined) ?? [];
101
- return [...validTags, ...handler.getGlobalTags()];
108
+ return collectPublishTagsForHandler(handler, extracted);
102
109
  }
103
110
  //# sourceMappingURL=entry-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry-handlers.js","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-handlers.js","sourceRoot":"","sources":["../../src/revalidation/entry-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { BaseData, IContentTypeHandler } from './entry-handlers';
2
2
  export type { BaseData, IContentTypeHandler } from './entry-handlers';
3
- export { contentTypeHandlers, getPublishTagsForEntry } from './entry-handlers';
3
+ export { collectPublishTagsForHandler, contentTypeHandlers, getPublishTagsForEntry, } from './entry-handlers';
4
4
  export interface AssetData extends BaseData {
5
5
  fields?: {
6
6
  file?: {
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAItE,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,GAAG,EAAE,MAAM,CAAC;gBACZ,QAAQ,EAAE,MAAM,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAID,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKtE,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,GAAG,EAAE,MAAM,CAAC;gBACZ,QAAQ,EAAE,MAAM,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAID,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -1,6 +1,7 @@
1
+ import { collectPublishTagsForHandler } from './entry-handlers.js';
1
2
  import { revalidateSingleTag, revalidateTags } from './server-utils.js';
2
3
  import { AssetTag, assetTag, GlobalTag } from './tags.js';
3
- export { contentTypeHandlers, getPublishTagsForEntry } from './entry-handlers.js';
4
+ export { collectPublishTagsForHandler, contentTypeHandlers, getPublishTagsForEntry, } from './entry-handlers.js';
4
5
  const defaultLocale = 'en-US';
5
6
  export async function revalidateAsset(content, message, preview = false) {
6
7
  const id = content.sys.id;
@@ -16,10 +17,7 @@ export async function revalidateAsset(content, message, preview = false) {
16
17
  }
17
18
  export async function revalidateEntry(handler, content, contentType, preview = false) {
18
19
  const extracted = await Promise.resolve(handler.extract(content));
19
- const tags = handler.makeTags(extracted);
20
- const validTags = tags?.filter((tag) => tag !== undefined) ?? [];
21
- const globalTags = handler.getGlobalTags();
22
- const tagsToRevalidate = [...validTags, ...globalTags];
20
+ const tagsToRevalidate = collectPublishTagsForHandler(handler, extracted);
23
21
  if (preview) {
24
22
  await revalidateSingleTag(GlobalTag, `publish ${contentType} (preview mode)`);
25
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGvD,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAc1B,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAkB,EAClB,OAAe,EACf,UAAmB,KAAK;IAExB,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IACjE,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,CACrF,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAC1C,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAiE,EACjE,OAAiB,EACjB,WAAmB,EACnB,UAAmB,KAAK;IAExB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE1E,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,mBAAmB,CAAC,SAAS,EAAE,WAAW,WAAW,iBAAiB,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,CAAC,gBAAgB,EAAE,WAAW,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,UAAmB,KAAK;IAExB,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,mBAAmB,CAAC,SAAS,EAAE,UAAU,WAAW,iBAAiB,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,UAAmB,KAAK;IAExB,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE3C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,OAAO,iBAAiB,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,CAAC,IAAI,EAAE,gBAAgB,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
package/docs/llms.md CHANGED
@@ -155,6 +155,8 @@ interface FetchOptions {
155
155
 
156
156
  ## Cache Tags (for revalidation)
157
157
 
158
+ **Publish cascades:** `template` → `page` + `article`; `articleType` → `article`; `customType` → `tag` + `person` (coarse; Next 15 workaround until per-entity `cacheTag` on Next 16).
159
+
158
160
  Use these tag helpers to generate consistent cache tag strings:
159
161
 
160
162
  ```ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-rest-api",
3
- "version": "1.14.10",
3
+ "version": "1.15.1",
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",
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "@contentful/rich-text-types": "^17.2.7",
62
- "contentful": "^11.12.5",
62
+ "contentful": "^11.12.6",
63
63
  "server-only": "0.0.1",
64
64
  "@se-studio/core-data-types": "1.6.1"
65
65
  },