@se-studio/contentful-rest-api 1.9.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 +21 -0
- package/README.md +32 -1
- package/dist/api/article-type.js +7 -7
- package/dist/api/article.js +1 -1
- package/dist/api/asset.js +2 -2
- package/dist/api/banner.js +5 -5
- package/dist/api/breadcrumb.js +1 -1
- package/dist/api/componentPreview.js +7 -7
- package/dist/api/context.js +14 -14
- package/dist/api/custom-type.js +1 -1
- package/dist/api/helpers.d.ts +2 -0
- package/dist/api/helpers.d.ts.map +1 -1
- package/dist/api/helpers.js +25 -10
- package/dist/api/helpers.js.map +1 -1
- package/dist/api/index.d.ts +2 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +22 -21
- package/dist/api/index.js.map +1 -1
- package/dist/api/links.d.ts +6 -0
- package/dist/api/links.d.ts.map +1 -1
- package/dist/api/links.js +60 -40
- 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/api/page.js +2 -2
- package/dist/api/person.js +7 -7
- package/dist/api/preview.js +1 -1
- package/dist/api/redirects.js +5 -5
- package/dist/api/server-asset.js +1 -1
- package/dist/api/sitemap.js +1 -1
- package/dist/api/tag-type.js +6 -6
- package/dist/api/tag.js +7 -7
- package/dist/api/template.js +4 -4
- package/dist/client.js +2 -2
- package/dist/cms-integrity.d.ts +10 -0
- package/dist/cms-integrity.d.ts.map +1 -0
- package/dist/cms-integrity.js +7 -0
- package/dist/cms-integrity.js.map +1 -0
- package/dist/converters/animationEnricher.js +1 -1
- package/dist/converters/article.js +7 -7
- package/dist/converters/asset.js +1 -1
- package/dist/converters/banner.js +2 -2
- package/dist/converters/collection.js +3 -3
- package/dist/converters/component.js +4 -4
- package/dist/converters/customType.js +5 -5
- package/dist/converters/enrichAssets.js +4 -4
- package/dist/converters/externalComponent.js +3 -3
- package/dist/converters/helpers.js +1 -1
- package/dist/converters/htmlComponent.js +1 -1
- package/dist/converters/iconCollector.js +1 -1
- package/dist/converters/index.js +12 -12
- package/dist/converters/link.js +3 -3
- package/dist/converters/navigationItem.js +3 -3
- package/dist/converters/page.js +6 -6
- package/dist/converters/pageVariantMerge.js +6 -6
- package/dist/converters/person.js +5 -5
- package/dist/converters/pictureBlurEnricher.js +1 -1
- package/dist/converters/redirect.js +1 -1
- package/dist/converters/resolver.js +4 -4
- package/dist/converters/tag.js +6 -6
- package/dist/converters/tagType.js +3 -3
- package/dist/converters/template.js +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -9
- 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 +18 -3
- 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 +3 -2
- package/dist/revalidation/index.js.map +1 -1
- package/dist/revalidation/nextjs-route.js +1 -1
- package/dist/revalidation/route.js +3 -3
- 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/dist/routing/index.d.ts +2 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +2 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/marketing-site-url-calculators.d.ts +21 -0
- package/dist/routing/marketing-site-url-calculators.d.ts.map +1 -0
- package/dist/routing/marketing-site-url-calculators.js +43 -0
- package/dist/routing/marketing-site-url-calculators.js.map +1 -0
- package/dist/server.js +5 -5
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/index.js +5 -5
- package/dist/utils/retry.js +1 -1
- package/docs/llms.md +29 -1
- package/package.json +15 -5
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Entry } from 'contentful';
|
|
2
|
+
import type { DefaultChainModifier } from '../api/types';
|
|
3
|
+
import type { BaseNavigationSkeleton } from '../baseTypes/baseNavigation';
|
|
4
|
+
import type { BaseNavigationItemSkeleton } from '../baseTypes/baseNavigationItem';
|
|
5
|
+
import type { BaseConverterContext, ConverterContext } from '../converters/helpers';
|
|
6
|
+
import type { ContentfulConfig, FetchOptions } from '../types';
|
|
7
|
+
import type { NavItemRecord, NavigationRegistry, NavigationRootRecord } from './types';
|
|
8
|
+
export declare function buildNavItemRecord(context: ConverterContext, entry: Entry<BaseNavigationItemSkeleton, DefaultChainModifier, string>): NavItemRecord | undefined;
|
|
9
|
+
export declare function buildNavigationRootRecord(entry: Entry<BaseNavigationSkeleton, DefaultChainModifier, string>): NavigationRootRecord | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Fetches all navigation and navigationItem entries as flat records for in-memory assembly.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getNavigationRegistry(context: BaseConverterContext, config: ContentfulConfig, options: FetchOptions): Promise<NavigationRegistry>;
|
|
14
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/navigation/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AASvF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACrE,aAAa,GAAG,SAAS,CAkD3B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,oBAAoB,GAAG,SAAS,CAgBlC;AA6CD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAsD7B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { convertAllAssets, convertAllIncludes, convertAllRawAssets, createFullConverterContext, } from '../api/helpers.js';
|
|
2
|
+
import { getContentfulClient } from '../client.js';
|
|
3
|
+
import { createResponsiveVisual } from '../converters/asset.js';
|
|
4
|
+
import { lookupIconAsset, resolveBuildYear } from '../converters/helpers.js';
|
|
5
|
+
import { resolveRichTextDocument } from '../converters/resolver.js';
|
|
6
|
+
import { buildFlatNavigationCacheOptions } from './cacheOptions.js';
|
|
7
|
+
/** include=1 resolves icon/mobileIcon assets without walking the nav tree. */
|
|
8
|
+
const NAVIGATION_ITEM_INCLUDE = 1;
|
|
9
|
+
function entryLinkId(link) {
|
|
10
|
+
return link?.sys.id;
|
|
11
|
+
}
|
|
12
|
+
export function buildNavItemRecord(context, entry) {
|
|
13
|
+
if (!entry.fields) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const { sys, fields } = entry;
|
|
17
|
+
const { title, useTitle, text, internal, link, navigationItems, icon: navIcon, mobileIcon: mobileNavIcon, variant, size, trackingEventName, longText: longTextField, adminLabel, isButton, isOutlined, backgroundColour, textColour, } = fields;
|
|
18
|
+
const icon = createResponsiveVisual(lookupIconAsset(context, navIcon), lookupIconAsset(context, mobileNavIcon));
|
|
19
|
+
return {
|
|
20
|
+
id: sys.id,
|
|
21
|
+
childIds: navigationItems?.map((item) => item.sys.id) ?? [],
|
|
22
|
+
internalId: entryLinkId(internal),
|
|
23
|
+
...(adminLabel ? { adminLabel } : {}),
|
|
24
|
+
title: resolveBuildYear(title),
|
|
25
|
+
useTitle,
|
|
26
|
+
...(text ? { text: resolveBuildYear(text) } : {}),
|
|
27
|
+
...(link ? { externalLink: link } : {}),
|
|
28
|
+
...(icon ? { icon } : {}),
|
|
29
|
+
...(variant ? { variant } : {}),
|
|
30
|
+
...(size ? { size } : {}),
|
|
31
|
+
...(trackingEventName ? { trackingEventName } : {}),
|
|
32
|
+
longText: resolveRichTextDocument(context, sys.id, longTextField),
|
|
33
|
+
...(isButton !== undefined ? { isButton } : {}),
|
|
34
|
+
...(isOutlined !== undefined ? { isOutlined } : {}),
|
|
35
|
+
...(backgroundColour ? { backgroundColour } : {}),
|
|
36
|
+
...(textColour ? { textColour } : {}),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function buildNavigationRootRecord(entry) {
|
|
40
|
+
if (!entry.fields) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const { sys, fields } = entry;
|
|
44
|
+
const { name, entries, adminLabel, backgroundColour, textColour } = fields;
|
|
45
|
+
return {
|
|
46
|
+
id: sys.id,
|
|
47
|
+
name,
|
|
48
|
+
entryIds: entries?.map((item) => item.sys.id) ?? [],
|
|
49
|
+
...(adminLabel ? { adminLabel } : {}),
|
|
50
|
+
...(backgroundColour ? { backgroundColour } : {}),
|
|
51
|
+
...(textColour ? { textColour } : {}),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async function enrichAssetsForFetch(assets, includes, options) {
|
|
55
|
+
const { enrichAllAssets } = await import('../converters/enrichAssets.js');
|
|
56
|
+
return enrichAllAssets(assets, includes, options);
|
|
57
|
+
}
|
|
58
|
+
async function paginateEntries(contentType, client, requestOptions, pageSize, include, onPage) {
|
|
59
|
+
let skip = 0;
|
|
60
|
+
let total = Number.POSITIVE_INFINITY;
|
|
61
|
+
while (skip < total) {
|
|
62
|
+
const response = await client.getEntries({
|
|
63
|
+
content_type: contentType,
|
|
64
|
+
order: 'sys.createdAt',
|
|
65
|
+
include,
|
|
66
|
+
locale: requestOptions?.locale,
|
|
67
|
+
limit: pageSize,
|
|
68
|
+
skip,
|
|
69
|
+
}, requestOptions);
|
|
70
|
+
if (response.items.length === 0) {
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
await onPage(response);
|
|
74
|
+
total = response.total;
|
|
75
|
+
skip += pageSize;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Fetches all navigation and navigationItem entries as flat records for in-memory assembly.
|
|
80
|
+
*/
|
|
81
|
+
export async function getNavigationRegistry(context, config, options) {
|
|
82
|
+
const cacheOptions = buildFlatNavigationCacheOptions(options);
|
|
83
|
+
const client = getContentfulClient(config, cacheOptions.preview);
|
|
84
|
+
const pageSize = cacheOptions.pageSize ?? 100;
|
|
85
|
+
const items = new Map();
|
|
86
|
+
const roots = new Map();
|
|
87
|
+
const itemFetch = paginateEntries('navigationItem', client, cacheOptions, pageSize, NAVIGATION_ITEM_INCLUDE, async (response) => {
|
|
88
|
+
const assets = convertAllAssets(response, context);
|
|
89
|
+
const rawAssets = convertAllRawAssets(response);
|
|
90
|
+
const includes = convertAllIncludes(response);
|
|
91
|
+
const externalVideoEmbeds = cacheOptions.skipAssetEnrichment
|
|
92
|
+
? new Map()
|
|
93
|
+
: await enrichAssetsForFetch(assets, includes, cacheOptions);
|
|
94
|
+
const fullContext = createFullConverterContext(context, includes, assets, rawAssets, externalVideoEmbeds, { ...cacheOptions, fetchProfile: 'listing' });
|
|
95
|
+
for (const entry of response.items) {
|
|
96
|
+
const record = buildNavItemRecord(fullContext, entry);
|
|
97
|
+
if (record) {
|
|
98
|
+
items.set(record.id, record);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
const rootFetch = paginateEntries('navigation', client, cacheOptions, pageSize, 0, (response) => {
|
|
103
|
+
for (const entry of response.items) {
|
|
104
|
+
const record = buildNavigationRootRecord(entry);
|
|
105
|
+
if (record) {
|
|
106
|
+
roots.set(record.id, record);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
await Promise.all([itemFetch, rootFetch]);
|
|
111
|
+
return { items, roots };
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/navigation/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { IInternalLink, IResolvedRichText, IResponsiveVisual } from '@se-studio/core-data-types';
|
|
2
|
+
/** Entry-id keyed cache of routable internal links for navigation assembly. */
|
|
3
|
+
export type InternalLinkIndex = Map<string, IInternalLink>;
|
|
4
|
+
/**
|
|
5
|
+
* Flat record for a navigationItem entry. Child relationships are stored as entry ids
|
|
6
|
+
* so the tree can be assembled in memory without Contentful include depth.
|
|
7
|
+
*/
|
|
8
|
+
export interface NavItemRecord {
|
|
9
|
+
id: string;
|
|
10
|
+
childIds: string[];
|
|
11
|
+
internalId?: string;
|
|
12
|
+
adminLabel?: string;
|
|
13
|
+
title: string;
|
|
14
|
+
useTitle: boolean;
|
|
15
|
+
text?: string;
|
|
16
|
+
externalLink?: string;
|
|
17
|
+
icon?: IResponsiveVisual;
|
|
18
|
+
variant?: string;
|
|
19
|
+
size?: string;
|
|
20
|
+
trackingEventName?: string;
|
|
21
|
+
longText?: IResolvedRichText | null;
|
|
22
|
+
isButton?: boolean;
|
|
23
|
+
isOutlined?: boolean;
|
|
24
|
+
backgroundColour?: string;
|
|
25
|
+
textColour?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Flat record for a navigation root entry.
|
|
29
|
+
*/
|
|
30
|
+
export interface NavigationRootRecord {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
adminLabel?: string;
|
|
34
|
+
entryIds: string[];
|
|
35
|
+
backgroundColour?: string;
|
|
36
|
+
textColour?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Cached flat navigation data used to assemble INavigation trees.
|
|
40
|
+
*/
|
|
41
|
+
export interface NavigationRegistry {
|
|
42
|
+
items: Map<string, NavItemRecord>;
|
|
43
|
+
roots: Map<string, NavigationRootRecord>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,QAAQ;IAEvB,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;AAwCD,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;AAWD,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;AA2CD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAgEzD,CAAC;AAGF,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAGD,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;AAGD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAGD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { revalidateSingleTag, revalidateTags } from './server-utils';
|
|
2
|
-
import { ArticleTag, ArticleTypeIndexTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, assetTag, BannerTag, CustomTypeTag, GlobalTag, LocationTag, locationTag, NavigationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, RedirectTag, TagTag, TemplateTag, tagTag, templateTag, } from './tags';
|
|
1
|
+
import { revalidateSingleTag, revalidateTags } from './server-utils.js';
|
|
2
|
+
import { ArticleTag, ArticleTypeIndexTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, assetTag, BannerTag, CustomTypeTag, GlobalTag, LinkTag, LocationTag, locationTag, NavigationItemTag, NavigationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, RedirectTag, TagTag, TagTypeTag, TemplateTag, tagTag, tagTypeTag, templateTag, } from './tags.js';
|
|
3
3
|
// Default locale for Contentful
|
|
4
4
|
const defaultLocale = 'en-US';
|
|
5
5
|
// Content type handlers
|
|
@@ -53,6 +53,16 @@ export const contentTypeHandlers = {
|
|
|
53
53
|
makeTags: (extracted) => [extracted ? tagTag(extracted) : undefined],
|
|
54
54
|
getGlobalTags: () => [TagTag],
|
|
55
55
|
},
|
|
56
|
+
tagType: {
|
|
57
|
+
extract: (data) => data.fields?.slug?.[defaultLocale],
|
|
58
|
+
makeTags: (extracted) => [extracted ? tagTypeTag(extracted) : undefined],
|
|
59
|
+
getGlobalTags: () => [TagTypeTag],
|
|
60
|
+
},
|
|
61
|
+
link: {
|
|
62
|
+
extract: () => undefined,
|
|
63
|
+
makeTags: () => undefined,
|
|
64
|
+
getGlobalTags: () => [LinkTag],
|
|
65
|
+
},
|
|
56
66
|
// biome-ignore lint/suspicious/noExplicitAny: Any is ok for handlers with different types
|
|
57
67
|
template: templateHandler,
|
|
58
68
|
customType: {
|
|
@@ -65,6 +75,11 @@ export const contentTypeHandlers = {
|
|
|
65
75
|
makeTags: () => undefined,
|
|
66
76
|
getGlobalTags: () => [NavigationTag],
|
|
67
77
|
},
|
|
78
|
+
navigationItem: {
|
|
79
|
+
extract: () => undefined,
|
|
80
|
+
makeTags: () => undefined,
|
|
81
|
+
getGlobalTags: () => [NavigationItemTag],
|
|
82
|
+
},
|
|
68
83
|
banner: {
|
|
69
84
|
extract: () => undefined,
|
|
70
85
|
makeTags: () => undefined,
|
|
@@ -111,7 +126,7 @@ export async function revalidateEntry(handler, content, contentType, preview = f
|
|
|
111
126
|
}
|
|
112
127
|
// Revalidate deleted entry by content type (collection tags only)
|
|
113
128
|
export async function revalidateDeletedEntry(contentType, preview = false) {
|
|
114
|
-
const { getCacheTagsForProduction } = await import('./utils');
|
|
129
|
+
const { getCacheTagsForProduction } = await import('./utils.js');
|
|
115
130
|
const tags = getCacheTagsForProduction(contentType);
|
|
116
131
|
if (preview) {
|
|
117
132
|
await revalidateSingleTag(GlobalTag, `delete ${contentType} (preview mode)`);
|
|
@@ -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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAEA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAEA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
import { NextResponse } from 'next/server';
|
|
4
|
-
import { contentTypeHandlers, revalidateAsset, revalidateDeletedAsset, revalidateDeletedEntry, revalidateEntry, } from './handlers';
|
|
5
|
-
import { revalidateSingleTag } from './server-utils';
|
|
6
|
-
import { AllTags, GlobalTag } from './tags';
|
|
4
|
+
import { contentTypeHandlers, revalidateAsset, revalidateDeletedAsset, revalidateDeletedEntry, revalidateEntry, } from './handlers.js';
|
|
5
|
+
import { revalidateSingleTag } from './server-utils.js';
|
|
6
|
+
import { AllTags, GlobalTag } from './tags.js';
|
|
7
7
|
// Handle asset publishing
|
|
8
8
|
async function publishAsset(content, preview) {
|
|
9
9
|
return await revalidateAsset(content, 'publish asset', preview);
|
|
@@ -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';
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,KAAK,2BAA2B,GACjC,MAAM,qCAAqC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAElC,MAAM,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { UrlCalculators } from '../converters/helpers';
|
|
2
|
+
export interface MarketingSiteRoutingOptions {
|
|
3
|
+
/** Base path for article type indexes, e.g. `/resources`. */
|
|
4
|
+
articleTypesBasePath: string;
|
|
5
|
+
/** Base path for tag/topic indexes, e.g. `/topics`. */
|
|
6
|
+
tagsBasePath: string;
|
|
7
|
+
/** Base path for people/team pages, e.g. `/team`. */
|
|
8
|
+
peopleBasePath: string;
|
|
9
|
+
/** Topic slug when an article has no primary tag. Default `other`. */
|
|
10
|
+
defaultTopic?: string;
|
|
11
|
+
/** When true, article URLs include the primary tag segment. */
|
|
12
|
+
enablePrimaryTagPartOfSlug?: boolean;
|
|
13
|
+
/** Article type slugs whose URLs omit the topic segment (e.g. ebooks). */
|
|
14
|
+
topiclessArticleTypeSlugs?: readonly string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Builds {@link UrlCalculators} for SE marketing sites from declarative routing options.
|
|
18
|
+
* Used by smoke CMS integrity checks and shared with converter-context patterns in apps.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createMarketingSiteUrlCalculators(options: MarketingSiteRoutingOptions): UrlCalculators;
|
|
21
|
+
//# sourceMappingURL=marketing-site-url-calculators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketing-site-url-calculators.d.ts","sourceRoot":"","sources":["../../src/routing/marketing-site-url-calculators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,WAAW,2BAA2B;IAC1C,6DAA6D;IAC7D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,0EAA0E;IAC1E,yBAAyB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAOD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,2BAA2B,GACnC,cAAc,CAoChB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { calculatePageHref, calculatePageVariantHref } from '../converters/page.js';
|
|
2
|
+
function normalizeBasePath(path) {
|
|
3
|
+
const trimmed = path.replace(/\/$/, '');
|
|
4
|
+
return trimmed.startsWith('/') ? trimmed : `/${trimmed}`;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Builds {@link UrlCalculators} for SE marketing sites from declarative routing options.
|
|
8
|
+
* Used by smoke CMS integrity checks and shared with converter-context patterns in apps.
|
|
9
|
+
*/
|
|
10
|
+
export function createMarketingSiteUrlCalculators(options) {
|
|
11
|
+
const articlesBase = normalizeBasePath(options.articleTypesBasePath);
|
|
12
|
+
const tagsBase = normalizeBasePath(options.tagsBasePath);
|
|
13
|
+
const peopleBase = normalizeBasePath(options.peopleBasePath);
|
|
14
|
+
const defaultTopic = options.defaultTopic ?? 'other';
|
|
15
|
+
const enablePrimaryTagPartOfSlug = options.enablePrimaryTagPartOfSlug ?? true;
|
|
16
|
+
const topicless = new Set(options.topiclessArticleTypeSlugs ?? []);
|
|
17
|
+
const articleTypeIndex = (slug) => `${articlesBase}/${slug}/`;
|
|
18
|
+
const articleTypeTagIndex = (articleTypeSlug, tagSlug) => `${articlesBase}/${articleTypeSlug}/${tagSlug}/`;
|
|
19
|
+
const articleUrl = (articleTypeSlug, slug, primaryTagSlug) => {
|
|
20
|
+
if (topicless.has(articleTypeSlug)) {
|
|
21
|
+
return `${articlesBase}/${articleTypeSlug}/${slug}/`;
|
|
22
|
+
}
|
|
23
|
+
if (enablePrimaryTagPartOfSlug) {
|
|
24
|
+
const topic = primaryTagSlug || defaultTopic;
|
|
25
|
+
return `${articlesBase}/${articleTypeSlug}/${topic}/${slug}/`;
|
|
26
|
+
}
|
|
27
|
+
return `${articlesBase}/${articleTypeSlug}/${slug}/`;
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
page: calculatePageHref,
|
|
31
|
+
pageVariant: calculatePageVariantHref,
|
|
32
|
+
article: articleUrl,
|
|
33
|
+
articleType: articleTypeIndex,
|
|
34
|
+
articleTypeTag: articleTypeTagIndex,
|
|
35
|
+
tag: (slug) => `${tagsBase}/${slug}/`,
|
|
36
|
+
tagType: (slug) => `${tagsBase}/${slug}/`,
|
|
37
|
+
person: (slug) => `${peopleBase}/${slug}/`,
|
|
38
|
+
team: () => `${peopleBase}/`,
|
|
39
|
+
customType: (slug) => `/${slug}/`,
|
|
40
|
+
download: (assetId, filename) => `/download/${assetId}/${encodeURIComponent(filename)}`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=marketing-site-url-calculators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketing-site-url-calculators.js","sourceRoot":"","sources":["../../src/routing/marketing-site-url-calculators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAiBjF,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAoC;IAEpC,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC;IACrD,MAAM,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;IAC9E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAEnE,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,YAAY,IAAI,IAAI,GAAG,CAAC;IACtE,MAAM,mBAAmB,GAAG,CAAC,eAAuB,EAAE,OAAe,EAAE,EAAE,CACvE,GAAG,YAAY,IAAI,eAAe,IAAI,OAAO,GAAG,CAAC;IAEnD,MAAM,UAAU,GAAG,CAAC,eAAuB,EAAE,IAAY,EAAE,cAAuB,EAAE,EAAE;QACpF,IAAI,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,YAAY,IAAI,eAAe,IAAI,IAAI,GAAG,CAAC;QACvD,CAAC;QACD,IAAI,0BAA0B,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,cAAc,IAAI,YAAY,CAAC;YAC7C,OAAO,GAAG,YAAY,IAAI,eAAe,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;QAChE,CAAC;QACD,OAAO,GAAG,YAAY,IAAI,eAAe,IAAI,IAAI,GAAG,CAAC;IACvD,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,gBAAgB;QAC7B,cAAc,EAAE,mBAAmB;QACnC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,IAAI,IAAI,GAAG;QACrC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,IAAI,IAAI,GAAG;QACzC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,UAAU,IAAI,IAAI,GAAG;QAC1C,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,GAAG;QAC5B,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG;QACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,aAAa,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE;KACxF,CAAC;AACJ,CAAC"}
|