@se-studio/contentful-rest-api 0.0.0-next16-20260822103555
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 +2036 -0
- package/README.md +764 -0
- package/dist/api/article-type.d.ts +37 -0
- package/dist/api/article-type.d.ts.map +1 -0
- package/dist/api/article-type.js +140 -0
- package/dist/api/article-type.js.map +1 -0
- package/dist/api/article.d.ts +32 -0
- package/dist/api/article.d.ts.map +1 -0
- package/dist/api/article.js +43 -0
- package/dist/api/article.js.map +1 -0
- package/dist/api/asset.d.ts +28 -0
- package/dist/api/asset.d.ts.map +1 -0
- package/dist/api/asset.js +56 -0
- package/dist/api/asset.js.map +1 -0
- package/dist/api/banner.d.ts +8 -0
- package/dist/api/banner.d.ts.map +1 -0
- package/dist/api/banner.js +96 -0
- package/dist/api/banner.js.map +1 -0
- package/dist/api/breadcrumb.d.ts +40 -0
- package/dist/api/breadcrumb.d.ts.map +1 -0
- package/dist/api/breadcrumb.js +60 -0
- package/dist/api/breadcrumb.js.map +1 -0
- package/dist/api/componentPreview.d.ts +59 -0
- package/dist/api/componentPreview.d.ts.map +1 -0
- package/dist/api/componentPreview.js +88 -0
- package/dist/api/componentPreview.js.map +1 -0
- package/dist/api/context.d.ts +24 -0
- package/dist/api/context.d.ts.map +1 -0
- package/dist/api/context.js +73 -0
- package/dist/api/context.js.map +1 -0
- package/dist/api/custom-type.d.ts +37 -0
- package/dist/api/custom-type.d.ts.map +1 -0
- package/dist/api/custom-type.js +44 -0
- package/dist/api/custom-type.js.map +1 -0
- package/dist/api/document.d.ts +8 -0
- package/dist/api/document.d.ts.map +1 -0
- package/dist/api/document.js +84 -0
- package/dist/api/document.js.map +1 -0
- package/dist/api/helpers.d.ts +59 -0
- package/dist/api/helpers.d.ts.map +1 -0
- package/dist/api/helpers.js +313 -0
- package/dist/api/helpers.js.map +1 -0
- package/dist/api/index.d.ts +33 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +37 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/links.d.ts +124 -0
- package/dist/api/links.d.ts.map +1 -0
- package/dist/api/links.js +307 -0
- package/dist/api/links.js.map +1 -0
- package/dist/api/listing-fetch-params.d.ts +70 -0
- package/dist/api/listing-fetch-params.d.ts.map +1 -0
- package/dist/api/listing-fetch-params.js +124 -0
- package/dist/api/listing-fetch-params.js.map +1 -0
- package/dist/api/media-library.d.ts +59 -0
- package/dist/api/media-library.d.ts.map +1 -0
- package/dist/api/media-library.js +315 -0
- package/dist/api/media-library.js.map +1 -0
- package/dist/api/navigation.d.ts +10 -0
- package/dist/api/navigation.d.ts.map +1 -0
- package/dist/api/navigation.js +18 -0
- package/dist/api/navigation.js.map +1 -0
- package/dist/api/page.d.ts +15 -0
- package/dist/api/page.d.ts.map +1 -0
- package/dist/api/page.js +39 -0
- package/dist/api/page.js.map +1 -0
- package/dist/api/person.d.ts +37 -0
- package/dist/api/person.d.ts.map +1 -0
- package/dist/api/person.js +135 -0
- package/dist/api/person.js.map +1 -0
- package/dist/api/preview-types.d.ts +65 -0
- package/dist/api/preview-types.d.ts.map +1 -0
- package/dist/api/preview-types.js +7 -0
- package/dist/api/preview-types.js.map +1 -0
- package/dist/api/preview.d.ts +49 -0
- package/dist/api/preview.d.ts.map +1 -0
- package/dist/api/preview.js +261 -0
- package/dist/api/preview.js.map +1 -0
- package/dist/api/redirects.d.ts +16 -0
- package/dist/api/redirects.d.ts.map +1 -0
- package/dist/api/redirects.js +110 -0
- package/dist/api/redirects.js.map +1 -0
- package/dist/api/related-articles.d.ts +28 -0
- package/dist/api/related-articles.d.ts.map +1 -0
- package/dist/api/related-articles.js +147 -0
- package/dist/api/related-articles.js.map +1 -0
- package/dist/api/server-asset.d.ts +67 -0
- package/dist/api/server-asset.d.ts.map +1 -0
- package/dist/api/server-asset.js +106 -0
- package/dist/api/server-asset.js.map +1 -0
- package/dist/api/sitemap.d.ts +131 -0
- package/dist/api/sitemap.d.ts.map +1 -0
- package/dist/api/sitemap.js +201 -0
- package/dist/api/sitemap.js.map +1 -0
- package/dist/api/tag-type.d.ts +32 -0
- package/dist/api/tag-type.d.ts.map +1 -0
- package/dist/api/tag-type.js +123 -0
- package/dist/api/tag-type.js.map +1 -0
- package/dist/api/tag.d.ts +37 -0
- package/dist/api/tag.d.ts.map +1 -0
- package/dist/api/tag.js +132 -0
- package/dist/api/tag.js.map +1 -0
- package/dist/api/template.d.ts +61 -0
- package/dist/api/template.d.ts.map +1 -0
- package/dist/api/template.js +94 -0
- package/dist/api/template.js.map +1 -0
- package/dist/api/types.d.ts +113 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/baseTypes/baseAlternatePageContent.d.ts +32 -0
- package/dist/baseTypes/baseAlternatePageContent.d.ts.map +1 -0
- package/dist/baseTypes/baseAlternatePageContent.js +2 -0
- package/dist/baseTypes/baseAlternatePageContent.js.map +1 -0
- package/dist/baseTypes/baseArticle.d.ts +206 -0
- package/dist/baseTypes/baseArticle.d.ts.map +1 -0
- package/dist/baseTypes/baseArticle.js +2 -0
- package/dist/baseTypes/baseArticle.js.map +1 -0
- package/dist/baseTypes/baseArticleType.d.ts +177 -0
- package/dist/baseTypes/baseArticleType.d.ts.map +1 -0
- package/dist/baseTypes/baseArticleType.js +2 -0
- package/dist/baseTypes/baseArticleType.js.map +1 -0
- package/dist/baseTypes/baseBanner.d.ts +113 -0
- package/dist/baseTypes/baseBanner.d.ts.map +1 -0
- package/dist/baseTypes/baseBanner.js +2 -0
- package/dist/baseTypes/baseBanner.js.map +1 -0
- package/dist/baseTypes/baseCollection.d.ts +132 -0
- package/dist/baseTypes/baseCollection.d.ts.map +1 -0
- package/dist/baseTypes/baseCollection.js +2 -0
- package/dist/baseTypes/baseCollection.js.map +1 -0
- package/dist/baseTypes/baseComponent.d.ts +130 -0
- package/dist/baseTypes/baseComponent.d.ts.map +1 -0
- package/dist/baseTypes/baseComponent.js +2 -0
- package/dist/baseTypes/baseComponent.js.map +1 -0
- package/dist/baseTypes/baseCustomType.d.ts +147 -0
- package/dist/baseTypes/baseCustomType.d.ts.map +1 -0
- package/dist/baseTypes/baseCustomType.js +2 -0
- package/dist/baseTypes/baseCustomType.js.map +1 -0
- package/dist/baseTypes/baseDocument.d.ts +70 -0
- package/dist/baseTypes/baseDocument.d.ts.map +1 -0
- package/dist/baseTypes/baseDocument.js +2 -0
- package/dist/baseTypes/baseDocument.js.map +1 -0
- package/dist/baseTypes/baseExternalComponent.d.ts +138 -0
- package/dist/baseTypes/baseExternalComponent.d.ts.map +1 -0
- package/dist/baseTypes/baseExternalComponent.js +2 -0
- package/dist/baseTypes/baseExternalComponent.js.map +1 -0
- package/dist/baseTypes/baseExternalVideo.d.ts +86 -0
- package/dist/baseTypes/baseExternalVideo.d.ts.map +1 -0
- package/dist/baseTypes/baseExternalVideo.js +2 -0
- package/dist/baseTypes/baseExternalVideo.js.map +1 -0
- package/dist/baseTypes/baseHtmlComponent.d.ts +72 -0
- package/dist/baseTypes/baseHtmlComponent.d.ts.map +1 -0
- package/dist/baseTypes/baseHtmlComponent.js +2 -0
- package/dist/baseTypes/baseHtmlComponent.js.map +1 -0
- package/dist/baseTypes/baseLink.d.ts +115 -0
- package/dist/baseTypes/baseLink.d.ts.map +1 -0
- package/dist/baseTypes/baseLink.js +2 -0
- package/dist/baseTypes/baseLink.js.map +1 -0
- package/dist/baseTypes/baseMedia.d.ts +100 -0
- package/dist/baseTypes/baseMedia.d.ts.map +1 -0
- package/dist/baseTypes/baseMedia.js +2 -0
- package/dist/baseTypes/baseMedia.js.map +1 -0
- package/dist/baseTypes/baseNavigation.d.ts +37 -0
- package/dist/baseTypes/baseNavigation.d.ts.map +1 -0
- package/dist/baseTypes/baseNavigation.js +2 -0
- package/dist/baseTypes/baseNavigation.js.map +1 -0
- package/dist/baseTypes/baseNavigationItem.d.ts +109 -0
- package/dist/baseTypes/baseNavigationItem.d.ts.map +1 -0
- package/dist/baseTypes/baseNavigationItem.js +2 -0
- package/dist/baseTypes/baseNavigationItem.js.map +1 -0
- package/dist/baseTypes/basePage.d.ts +142 -0
- package/dist/baseTypes/basePage.d.ts.map +1 -0
- package/dist/baseTypes/basePage.js +2 -0
- package/dist/baseTypes/basePage.js.map +1 -0
- package/dist/baseTypes/basePageVariant.d.ts +145 -0
- package/dist/baseTypes/basePageVariant.d.ts.map +1 -0
- package/dist/baseTypes/basePageVariant.js +2 -0
- package/dist/baseTypes/basePageVariant.js.map +1 -0
- package/dist/baseTypes/basePerson.d.ts +160 -0
- package/dist/baseTypes/basePerson.d.ts.map +1 -0
- package/dist/baseTypes/basePerson.js +2 -0
- package/dist/baseTypes/basePerson.js.map +1 -0
- package/dist/baseTypes/baseRedirect.d.ts +69 -0
- package/dist/baseTypes/baseRedirect.d.ts.map +1 -0
- package/dist/baseTypes/baseRedirect.js +2 -0
- package/dist/baseTypes/baseRedirect.js.map +1 -0
- package/dist/baseTypes/baseSchema.d.ts +19 -0
- package/dist/baseTypes/baseSchema.d.ts.map +1 -0
- package/dist/baseTypes/baseSchema.js +2 -0
- package/dist/baseTypes/baseSchema.js.map +1 -0
- package/dist/baseTypes/baseShared.d.ts +25 -0
- package/dist/baseTypes/baseShared.d.ts.map +1 -0
- package/dist/baseTypes/baseShared.js +2 -0
- package/dist/baseTypes/baseShared.js.map +1 -0
- package/dist/baseTypes/baseTag.d.ts +129 -0
- package/dist/baseTypes/baseTag.d.ts.map +1 -0
- package/dist/baseTypes/baseTag.js +2 -0
- package/dist/baseTypes/baseTag.js.map +1 -0
- package/dist/baseTypes/baseTagType.d.ts +70 -0
- package/dist/baseTypes/baseTagType.d.ts.map +1 -0
- package/dist/baseTypes/baseTagType.js +2 -0
- package/dist/baseTypes/baseTagType.js.map +1 -0
- package/dist/baseTypes/baseTemplate.d.ts +77 -0
- package/dist/baseTypes/baseTemplate.d.ts.map +1 -0
- package/dist/baseTypes/baseTemplate.js +2 -0
- package/dist/baseTypes/baseTemplate.js.map +1 -0
- package/dist/client.d.ts +145 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +322 -0
- package/dist/client.js.map +1 -0
- 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.d.ts +17 -0
- package/dist/converters/animationEnricher.d.ts.map +1 -0
- package/dist/converters/animationEnricher.js +177 -0
- package/dist/converters/animationEnricher.js.map +1 -0
- package/dist/converters/article.d.ts +48 -0
- package/dist/converters/article.d.ts.map +1 -0
- package/dist/converters/article.js +364 -0
- package/dist/converters/article.js.map +1 -0
- package/dist/converters/asset.d.ts +33 -0
- package/dist/converters/asset.d.ts.map +1 -0
- package/dist/converters/asset.js +340 -0
- package/dist/converters/asset.js.map +1 -0
- package/dist/converters/banner.d.ts +10 -0
- package/dist/converters/banner.d.ts.map +1 -0
- package/dist/converters/banner.js +63 -0
- package/dist/converters/banner.js.map +1 -0
- package/dist/converters/collection.d.ts +26 -0
- package/dist/converters/collection.d.ts.map +1 -0
- package/dist/converters/collection.js +52 -0
- package/dist/converters/collection.js.map +1 -0
- package/dist/converters/component.d.ts +26 -0
- package/dist/converters/component.d.ts.map +1 -0
- package/dist/converters/component.js +54 -0
- package/dist/converters/component.js.map +1 -0
- package/dist/converters/customType.d.ts +24 -0
- package/dist/converters/customType.d.ts.map +1 -0
- package/dist/converters/customType.js +93 -0
- package/dist/converters/customType.js.map +1 -0
- package/dist/converters/document.d.ts +14 -0
- package/dist/converters/document.d.ts.map +1 -0
- package/dist/converters/document.js +51 -0
- package/dist/converters/document.js.map +1 -0
- package/dist/converters/enrichAssets.d.ts +19 -0
- package/dist/converters/enrichAssets.d.ts.map +1 -0
- package/dist/converters/enrichAssets.js +36 -0
- package/dist/converters/enrichAssets.js.map +1 -0
- package/dist/converters/externalComponent.d.ts +27 -0
- package/dist/converters/externalComponent.d.ts.map +1 -0
- package/dist/converters/externalComponent.js +46 -0
- package/dist/converters/externalComponent.js.map +1 -0
- package/dist/converters/externalVideoEnricher.d.ts +12 -0
- package/dist/converters/externalVideoEnricher.d.ts.map +1 -0
- package/dist/converters/externalVideoEnricher.js +70 -0
- package/dist/converters/externalVideoEnricher.js.map +1 -0
- package/dist/converters/helpers.d.ts +173 -0
- package/dist/converters/helpers.d.ts.map +1 -0
- package/dist/converters/helpers.js +167 -0
- package/dist/converters/helpers.js.map +1 -0
- package/dist/converters/heroVideoEnricher.d.ts +9 -0
- package/dist/converters/heroVideoEnricher.d.ts.map +1 -0
- package/dist/converters/heroVideoEnricher.js +108 -0
- package/dist/converters/heroVideoEnricher.js.map +1 -0
- package/dist/converters/heroVideoEnv.d.ts +14 -0
- package/dist/converters/heroVideoEnv.d.ts.map +1 -0
- package/dist/converters/heroVideoEnv.js +28 -0
- package/dist/converters/heroVideoEnv.js.map +1 -0
- package/dist/converters/htmlComponent.d.ts +17 -0
- package/dist/converters/htmlComponent.d.ts.map +1 -0
- package/dist/converters/htmlComponent.js +33 -0
- package/dist/converters/htmlComponent.js.map +1 -0
- package/dist/converters/iconCollector.d.ts +36 -0
- package/dist/converters/iconCollector.d.ts.map +1 -0
- package/dist/converters/iconCollector.js +309 -0
- package/dist/converters/iconCollector.js.map +1 -0
- package/dist/converters/index.d.ts +26 -0
- package/dist/converters/index.d.ts.map +1 -0
- package/dist/converters/index.js +21 -0
- package/dist/converters/index.js.map +1 -0
- package/dist/converters/link.d.ts +11 -0
- package/dist/converters/link.d.ts.map +1 -0
- package/dist/converters/link.js +109 -0
- package/dist/converters/link.js.map +1 -0
- package/dist/converters/navigationItem.d.ts +17 -0
- package/dist/converters/navigationItem.d.ts.map +1 -0
- package/dist/converters/navigationItem.js +126 -0
- package/dist/converters/navigationItem.js.map +1 -0
- package/dist/converters/page.d.ts +44 -0
- package/dist/converters/page.d.ts.map +1 -0
- package/dist/converters/page.js +160 -0
- package/dist/converters/page.js.map +1 -0
- package/dist/converters/pageVariantMerge.d.ts +24 -0
- package/dist/converters/pageVariantMerge.d.ts.map +1 -0
- package/dist/converters/pageVariantMerge.js +151 -0
- package/dist/converters/pageVariantMerge.js.map +1 -0
- package/dist/converters/person.d.ts +40 -0
- package/dist/converters/person.d.ts.map +1 -0
- package/dist/converters/person.js +152 -0
- package/dist/converters/person.js.map +1 -0
- package/dist/converters/pictureBlurEnricher.d.ts +9 -0
- package/dist/converters/pictureBlurEnricher.d.ts.map +1 -0
- package/dist/converters/pictureBlurEnricher.js +79 -0
- package/dist/converters/pictureBlurEnricher.js.map +1 -0
- package/dist/converters/redirect.d.ts +20 -0
- package/dist/converters/redirect.d.ts.map +1 -0
- package/dist/converters/redirect.js +50 -0
- package/dist/converters/redirect.js.map +1 -0
- package/dist/converters/resolver.d.ts +26 -0
- package/dist/converters/resolver.d.ts.map +1 -0
- package/dist/converters/resolver.js +383 -0
- package/dist/converters/resolver.js.map +1 -0
- package/dist/converters/schema.d.ts +14 -0
- package/dist/converters/schema.d.ts.map +1 -0
- package/dist/converters/schema.js +25 -0
- package/dist/converters/schema.js.map +1 -0
- package/dist/converters/svgProcessor.d.ts +58 -0
- package/dist/converters/svgProcessor.d.ts.map +1 -0
- package/dist/converters/svgProcessor.js +225 -0
- package/dist/converters/svgProcessor.js.map +1 -0
- package/dist/converters/tag.d.ts +25 -0
- package/dist/converters/tag.d.ts.map +1 -0
- package/dist/converters/tag.js +170 -0
- package/dist/converters/tag.js.map +1 -0
- package/dist/converters/tagType.d.ts +15 -0
- package/dist/converters/tagType.d.ts.map +1 -0
- package/dist/converters/tagType.js +56 -0
- package/dist/converters/tagType.js.map +1 -0
- package/dist/converters/template.d.ts +31 -0
- package/dist/converters/template.d.ts.map +1 -0
- package/dist/converters/template.js +53 -0
- package/dist/converters/template.js.map +1 -0
- package/dist/converters/videoEnricher.d.ts +14 -0
- package/dist/converters/videoEnricher.d.ts.map +1 -0
- package/dist/converters/videoEnricher.js +85 -0
- package/dist/converters/videoEnricher.js.map +1 -0
- package/dist/icons/rebuildIconSprite.d.ts +8 -0
- package/dist/icons/rebuildIconSprite.d.ts.map +1 -0
- package/dist/icons/rebuildIconSprite.js +15 -0
- package/dist/icons/rebuildIconSprite.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- 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 +17 -0
- package/dist/navigation/cacheOptions.d.ts.map +1 -0
- package/dist/navigation/cacheOptions.js +45 -0
- package/dist/navigation/cacheOptions.js.map +1 -0
- package/dist/navigation/enrichModelNavigation.d.ts +17 -0
- package/dist/navigation/enrichModelNavigation.d.ts.map +1 -0
- package/dist/navigation/enrichModelNavigation.js +46 -0
- package/dist/navigation/enrichModelNavigation.js.map +1 -0
- package/dist/navigation/linkIndex.d.ts +10 -0
- package/dist/navigation/linkIndex.d.ts.map +1 -0
- package/dist/navigation/linkIndex.js +34 -0
- package/dist/navigation/linkIndex.js.map +1 -0
- package/dist/navigation/listingLinkBundle.d.ts +22 -0
- package/dist/navigation/listingLinkBundle.d.ts.map +1 -0
- package/dist/navigation/listingLinkBundle.js +88 -0
- package/dist/navigation/listingLinkBundle.js.map +1 -0
- package/dist/navigation/registry.d.ts +15 -0
- package/dist/navigation/registry.d.ts.map +1 -0
- package/dist/navigation/registry.js +130 -0
- package/dist/navigation/registry.js.map +1 -0
- package/dist/navigation/requestCache.d.ts +18 -0
- package/dist/navigation/requestCache.d.ts.map +1 -0
- package/dist/navigation/requestCache.js +66 -0
- package/dist/navigation/requestCache.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/entry-handlers.d.ts +40 -0
- package/dist/revalidation/entry-handlers.d.ts.map +1 -0
- package/dist/revalidation/entry-handlers.js +144 -0
- package/dist/revalidation/entry-handlers.js.map +1 -0
- package/dist/revalidation/handlers.d.ts +19 -0
- package/dist/revalidation/handlers.d.ts.map +1 -0
- package/dist/revalidation/handlers.js +50 -0
- package/dist/revalidation/handlers.js.map +1 -0
- package/dist/revalidation/index.d.ts +4 -0
- package/dist/revalidation/index.d.ts.map +1 -0
- package/dist/revalidation/index.js +5 -0
- package/dist/revalidation/index.js.map +1 -0
- package/dist/revalidation/nextjs-route.d.ts +38 -0
- package/dist/revalidation/nextjs-route.d.ts.map +1 -0
- package/dist/revalidation/nextjs-route.js +36 -0
- package/dist/revalidation/nextjs-route.js.map +1 -0
- package/dist/revalidation/route.d.ts +3 -0
- package/dist/revalidation/route.d.ts.map +1 -0
- package/dist/revalidation/route.js +99 -0
- package/dist/revalidation/route.js.map +1 -0
- package/dist/revalidation/server-utils.d.ts +31 -0
- package/dist/revalidation/server-utils.d.ts.map +1 -0
- package/dist/revalidation/server-utils.js +54 -0
- package/dist/revalidation/server-utils.js.map +1 -0
- package/dist/revalidation/tags.d.ts +110 -0
- package/dist/revalidation/tags.d.ts.map +1 -0
- package/dist/revalidation/tags.js +160 -0
- package/dist/revalidation/tags.js.map +1 -0
- package/dist/revalidation/utils.d.ts +21 -0
- package/dist/revalidation/utils.d.ts.map +1 -0
- package/dist/revalidation/utils.js +61 -0
- package/dist/revalidation/utils.js.map +1 -0
- 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 +28 -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.d.ts +7 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +10 -0
- package/dist/server.js.map +1 -0
- package/dist/telemetry/deriveOperation.d.ts +8 -0
- package/dist/telemetry/deriveOperation.d.ts.map +1 -0
- package/dist/telemetry/deriveOperation.js +59 -0
- package/dist/telemetry/deriveOperation.js.map +1 -0
- package/dist/telemetry/queryContext.d.ts +7 -0
- package/dist/telemetry/queryContext.d.ts.map +1 -0
- package/dist/telemetry/queryContext.js +9 -0
- package/dist/telemetry/queryContext.js.map +1 -0
- package/dist/telemetry/queryLog.d.ts +17 -0
- package/dist/telemetry/queryLog.d.ts.map +1 -0
- package/dist/telemetry/queryLog.js +54 -0
- package/dist/telemetry/queryLog.js.map +1 -0
- package/dist/types.d.ts +93 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/arrayUtils.d.ts +3 -0
- package/dist/utils/arrayUtils.d.ts.map +1 -0
- package/dist/utils/arrayUtils.js +12 -0
- package/dist/utils/arrayUtils.js.map +1 -0
- package/dist/utils/dateUtils.d.ts +9 -0
- package/dist/utils/dateUtils.d.ts.map +1 -0
- package/dist/utils/dateUtils.js +26 -0
- package/dist/utils/dateUtils.js.map +1 -0
- package/dist/utils/errors.d.ts +56 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +100 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/redirectMap.d.ts +40 -0
- package/dist/utils/redirectMap.d.ts.map +1 -0
- package/dist/utils/redirectMap.js +129 -0
- package/dist/utils/redirectMap.js.map +1 -0
- package/dist/utils/retry.d.ts +103 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +248 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/tags.d.ts +35 -0
- package/dist/utils/tags.d.ts.map +1 -0
- package/dist/utils/tags.js +37 -0
- package/dist/utils/tags.js.map +1 -0
- package/docs/llms.md +430 -0
- package/package.json +86 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { contentfulAllArticleLinks, contentfulAllArticleTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, } from './links.js';
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// Sitemap Entry Helpers
|
|
4
|
+
// ============================================================================
|
|
5
|
+
/**
|
|
6
|
+
* Helper function to convert internal links to sitemap entries.
|
|
7
|
+
* Filters to only include indexed and non-hidden entries.
|
|
8
|
+
*
|
|
9
|
+
* The .href values already incorporate the project's UrlCalculators (called during link conversion).
|
|
10
|
+
*
|
|
11
|
+
* @param links - Array of internal links with metadata
|
|
12
|
+
* @param sitemapConfig - Configuration for priority and change frequency
|
|
13
|
+
* @returns Array of sitemap entries
|
|
14
|
+
*/
|
|
15
|
+
function linksToSitemapEntries(links, sitemapConfig) {
|
|
16
|
+
return links
|
|
17
|
+
.filter((link) => link.indexed !== false && link.hidden !== true && link.href)
|
|
18
|
+
.map((link) => ({
|
|
19
|
+
url: link.href,
|
|
20
|
+
lastModified: link.lastModified,
|
|
21
|
+
changeFrequency: sitemapConfig?.changeFrequency,
|
|
22
|
+
priority: sitemapConfig?.priority,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// Sitemap Entry Fetchers
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* Fetches all page sitemap entries from Contentful.
|
|
30
|
+
* Only includes pages that are indexed and not hidden.
|
|
31
|
+
*
|
|
32
|
+
* @param context - Converter context
|
|
33
|
+
* @param config - Contentful configuration
|
|
34
|
+
* @param sitemapConfig - Optional sitemap configuration (priority, changeFrequency)
|
|
35
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
36
|
+
* @returns Promise resolving to CmsResponse with array of sitemap entries
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* const { data: entries } = await contentfulPageSitemapEntries(
|
|
41
|
+
* context,
|
|
42
|
+
* config,
|
|
43
|
+
* { priority: 0.8, changeFrequency: 'weekly' },
|
|
44
|
+
* { next: { revalidate: 3600 } }
|
|
45
|
+
* );
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export async function contentfulPageSitemapEntries(context, config, sitemapConfig, options) {
|
|
49
|
+
const response = await contentfulAllPageLinks(context, config, options);
|
|
50
|
+
return {
|
|
51
|
+
data: linksToSitemapEntries(response.data, sitemapConfig),
|
|
52
|
+
errors: response.errors,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Fetches all article sitemap entries from Contentful.
|
|
57
|
+
* Only includes articles that are indexed and not hidden.
|
|
58
|
+
*
|
|
59
|
+
* @param context - Converter context
|
|
60
|
+
* @param config - Contentful configuration
|
|
61
|
+
* @param sitemapConfig - Optional sitemap configuration (priority, changeFrequency)
|
|
62
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
63
|
+
* @returns Promise resolving to CmsResponse with array of sitemap entries
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* const { data: entries } = await contentfulArticleSitemapEntries(
|
|
68
|
+
* context,
|
|
69
|
+
* config,
|
|
70
|
+
* { priority: 0.6, changeFrequency: 'monthly' },
|
|
71
|
+
* { next: { revalidate: 3600 } }
|
|
72
|
+
* );
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export async function contentfulArticleSitemapEntries(context, config, sitemapConfig, options) {
|
|
76
|
+
const response = await contentfulAllArticleLinks(context, config, options);
|
|
77
|
+
return {
|
|
78
|
+
data: linksToSitemapEntries(response.data, sitemapConfig),
|
|
79
|
+
errors: response.errors,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Fetches all article type sitemap entries from Contentful.
|
|
84
|
+
* Only includes article types that are indexed and not hidden.
|
|
85
|
+
*
|
|
86
|
+
* @param context - Converter context
|
|
87
|
+
* @param config - Contentful configuration
|
|
88
|
+
* @param sitemapConfig - Optional sitemap configuration (priority, changeFrequency)
|
|
89
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
90
|
+
* @returns Promise resolving to CmsResponse with array of sitemap entries
|
|
91
|
+
*/
|
|
92
|
+
export async function contentfulArticleTypeSitemapEntries(context, config, sitemapConfig, options) {
|
|
93
|
+
const response = await contentfulAllArticleTypeLinks(context, config, options);
|
|
94
|
+
return {
|
|
95
|
+
data: linksToSitemapEntries(response.data, sitemapConfig),
|
|
96
|
+
errors: response.errors,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Fetches all tag sitemap entries from Contentful.
|
|
101
|
+
* Only includes tags that are indexed and not hidden.
|
|
102
|
+
*
|
|
103
|
+
* @param context - Converter context
|
|
104
|
+
* @param config - Contentful configuration
|
|
105
|
+
* @param sitemapConfig - Optional sitemap configuration (priority, changeFrequency)
|
|
106
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
107
|
+
* @returns Promise resolving to CmsResponse with array of sitemap entries
|
|
108
|
+
*/
|
|
109
|
+
export async function contentfulTagSitemapEntries(context, config, sitemapConfig, options) {
|
|
110
|
+
const response = await contentfulAllTagLinks(context, config, options);
|
|
111
|
+
return {
|
|
112
|
+
data: linksToSitemapEntries(response.data, sitemapConfig),
|
|
113
|
+
errors: response.errors,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Fetches all person sitemap entries from Contentful.
|
|
118
|
+
* Only includes people that are indexed and not hidden.
|
|
119
|
+
*
|
|
120
|
+
* @param context - Converter context
|
|
121
|
+
* @param config - Contentful configuration
|
|
122
|
+
* @param sitemapConfig - Optional sitemap configuration (priority, changeFrequency)
|
|
123
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
124
|
+
* @returns Promise resolving to CmsResponse with array of sitemap entries
|
|
125
|
+
*/
|
|
126
|
+
export async function contentfulPersonSitemapEntries(context, config, sitemapConfig, options) {
|
|
127
|
+
const response = await contentfulAllPersonLinks(context, config, options);
|
|
128
|
+
return {
|
|
129
|
+
data: linksToSitemapEntries(response.data, sitemapConfig),
|
|
130
|
+
errors: response.errors,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// ============================================================================
|
|
134
|
+
// Sitemap Registry Functions
|
|
135
|
+
// ============================================================================
|
|
136
|
+
/**
|
|
137
|
+
* Collects sitemap entries from multiple providers.
|
|
138
|
+
* This allows projects to register custom content types for sitemap generation.
|
|
139
|
+
*
|
|
140
|
+
* @param context - Converter context
|
|
141
|
+
* @param config - Contentful configuration
|
|
142
|
+
* @param sitemapConfig - Configuration with array of provider functions
|
|
143
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
144
|
+
* @returns Promise resolving to CmsResponse with all sitemap entries combined
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```ts
|
|
148
|
+
* const { data: entries, errors } = await getAllSitemapEntries(
|
|
149
|
+
* context,
|
|
150
|
+
* config,
|
|
151
|
+
* {
|
|
152
|
+
* providers: [
|
|
153
|
+
* (ctx, cfg, opts) => contentfulPageSitemapEntries(ctx, cfg, { priority: 0.8 }, opts),
|
|
154
|
+
* (ctx, cfg, opts) => contentfulArticleSitemapEntries(ctx, cfg, { priority: 0.6 }, opts),
|
|
155
|
+
* // Custom content type provider
|
|
156
|
+
* async (ctx, cfg, opts) => {
|
|
157
|
+
* const links = await fetchCustomContentLinks(ctx, cfg, opts);
|
|
158
|
+
* return { data: links.map(l => ({ url: l.href, lastModified: l.lastModified })), errors: [] };
|
|
159
|
+
* },
|
|
160
|
+
* ],
|
|
161
|
+
* },
|
|
162
|
+
* { next: { revalidate: 3600 } }
|
|
163
|
+
* );
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
export async function getAllSitemapEntries(context, config, sitemapConfig, options) {
|
|
167
|
+
const allEntries = [];
|
|
168
|
+
const allErrors = [];
|
|
169
|
+
// Fetch from all providers in parallel for better performance
|
|
170
|
+
const results = await Promise.all(sitemapConfig.providers.map((provider) => provider(context, config, options)));
|
|
171
|
+
// Combine all results
|
|
172
|
+
for (const result of results) {
|
|
173
|
+
allEntries.push(...result.data);
|
|
174
|
+
allErrors.push(...result.errors);
|
|
175
|
+
}
|
|
176
|
+
return { data: allEntries, errors: allErrors };
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Creates a sitemap entry provider with pre-configured options.
|
|
180
|
+
* Useful for creating providers with specific priority and changeFrequency settings.
|
|
181
|
+
*
|
|
182
|
+
* @param fetcher - The sitemap entry fetcher function to wrap
|
|
183
|
+
* @param sitemapConfig - Configuration for priority and change frequency
|
|
184
|
+
* @returns A sitemap entry provider function
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```ts
|
|
188
|
+
* const pageProvider = createSitemapProvider(
|
|
189
|
+
* contentfulPageSitemapEntries,
|
|
190
|
+
* { priority: 0.8, changeFrequency: 'weekly' }
|
|
191
|
+
* );
|
|
192
|
+
*
|
|
193
|
+
* const { data: entries } = await getAllSitemapEntries(context, config, {
|
|
194
|
+
* providers: [pageProvider, articleProvider],
|
|
195
|
+
* });
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
export function createSitemapProvider(fetcher, sitemapConfig) {
|
|
199
|
+
return (context, config, options) => fetcher(context, config, sitemapConfig, options);
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=sitemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/api/sitemap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IBaseTagType } from '@se-studio/core-data-types';
|
|
2
|
+
import type { BaseConverterContext } from '../converters/helpers';
|
|
3
|
+
import type { CmsResponse, ContentfulConfig, FetchOptions } from '../types';
|
|
4
|
+
export interface TagTypeFetchOptions extends FetchOptions {
|
|
5
|
+
customType?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Fetches a tag type from Contentful by slug
|
|
9
|
+
*
|
|
10
|
+
* @param context - Converter context
|
|
11
|
+
* @param config - Contentful configuration
|
|
12
|
+
* @param slug - Tag type slug to fetch
|
|
13
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
14
|
+
* @returns Promise resolving to IBaseTagType or null if not found
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const tagType = await contentfulTagTypeRest(
|
|
19
|
+
* context,
|
|
20
|
+
* {
|
|
21
|
+
* spaceId: process.env.CONTENTFUL_SPACE_ID!,
|
|
22
|
+
* accessToken: process.env.CONTENTFUL_ACCESS_TOKEN!,
|
|
23
|
+
* },
|
|
24
|
+
* 'category',
|
|
25
|
+
* {
|
|
26
|
+
* customType: 'topics',
|
|
27
|
+
* }
|
|
28
|
+
* );
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function contentfulTagTypeRest(context: BaseConverterContext, config: ContentfulConfig, slug: string, options: TagTypeFetchOptions): Promise<CmsResponse<IBaseTagType | null>>;
|
|
32
|
+
//# sourceMappingURL=tag-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-type.d.ts","sourceRoot":"","sources":["../../src/api/tag-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,KAAK,EAAY,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AActF,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CA0I3C"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { getContentfulClient } from '../client.js';
|
|
2
|
+
import { enrichAllAssets } from '../converters/enrichAssets.js';
|
|
3
|
+
import { getCacheTags } from '../revalidation/utils.js';
|
|
4
|
+
import { withCmsQueryContext } from '../telemetry/queryContext.js';
|
|
5
|
+
import { withRetry } from '../utils/index.js';
|
|
6
|
+
import { convertAllAssets, convertAllIncludes, convertAllRawAssets, createFullConverterContext, operationLabel, PAGE_BUNDLED_CUSTOM_TYPE_INCLUDE, resolveIncludeDepth, } from './helpers.js';
|
|
7
|
+
import { getSingleEntityListingSelect } from './listing-fetch-params.js';
|
|
8
|
+
/**
|
|
9
|
+
* Fetches a tag type from Contentful by slug
|
|
10
|
+
*
|
|
11
|
+
* @param context - Converter context
|
|
12
|
+
* @param config - Contentful configuration
|
|
13
|
+
* @param slug - Tag type slug to fetch
|
|
14
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
15
|
+
* @returns Promise resolving to IBaseTagType or null if not found
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const tagType = await contentfulTagTypeRest(
|
|
20
|
+
* context,
|
|
21
|
+
* {
|
|
22
|
+
* spaceId: process.env.CONTENTFUL_SPACE_ID!,
|
|
23
|
+
* accessToken: process.env.CONTENTFUL_ACCESS_TOKEN!,
|
|
24
|
+
* },
|
|
25
|
+
* 'category',
|
|
26
|
+
* {
|
|
27
|
+
* customType: 'topics',
|
|
28
|
+
* }
|
|
29
|
+
* );
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export async function contentfulTagTypeRest(context, config, slug, options) {
|
|
33
|
+
const client = getContentfulClient(config, options.preview);
|
|
34
|
+
const tagTypeCacheTags = getCacheTags('tagType', slug, options?.preview);
|
|
35
|
+
const customTypeCacheTags = options?.customType
|
|
36
|
+
? getCacheTags('customType', options.customType, options?.preview)
|
|
37
|
+
: [];
|
|
38
|
+
const requestOptions = {
|
|
39
|
+
...options,
|
|
40
|
+
next: {
|
|
41
|
+
...options?.next,
|
|
42
|
+
tags: [...tagTypeCacheTags, ...customTypeCacheTags],
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
const fetchFn = async () => {
|
|
46
|
+
const fetchProfile = options.fetchProfile ?? 'page';
|
|
47
|
+
const bundleCustomType = fetchProfile === 'page' && !!options?.customType;
|
|
48
|
+
const tagTypeInclude = resolveIncludeDepth('tagType', options);
|
|
49
|
+
const listingSelect = fetchProfile === 'listing' ? getSingleEntityListingSelect('tagType') : undefined;
|
|
50
|
+
const tagTypePromise = withCmsQueryContext({ operation: operationLabel('tagType'), identifier: slug }, () => client.getEntries({
|
|
51
|
+
content_type: 'tagType',
|
|
52
|
+
'fields.slug': slug,
|
|
53
|
+
include: tagTypeInclude,
|
|
54
|
+
locale: options?.locale,
|
|
55
|
+
limit: 1,
|
|
56
|
+
...(listingSelect && { select: listingSelect }),
|
|
57
|
+
}, requestOptions));
|
|
58
|
+
const customTypePromise = bundleCustomType
|
|
59
|
+
? withCmsQueryContext({ operation: operationLabel('customType'), identifier: options.customType }, () => client.getEntries({
|
|
60
|
+
content_type: 'customType',
|
|
61
|
+
'fields.slug': options.customType,
|
|
62
|
+
include: options.include ?? PAGE_BUNDLED_CUSTOM_TYPE_INCLUDE,
|
|
63
|
+
locale: options?.locale,
|
|
64
|
+
limit: 1,
|
|
65
|
+
}, requestOptions))
|
|
66
|
+
: Promise.resolve(null);
|
|
67
|
+
const [tagTypeResponse, customTypeResponse] = await Promise.all([
|
|
68
|
+
tagTypePromise,
|
|
69
|
+
customTypePromise,
|
|
70
|
+
]);
|
|
71
|
+
const tagTypeEntry = tagTypeResponse.items[0];
|
|
72
|
+
if (!tagTypeEntry?.fields) {
|
|
73
|
+
return { data: null, errors: [] };
|
|
74
|
+
}
|
|
75
|
+
const customTypeEntry = customTypeResponse?.items[0];
|
|
76
|
+
try {
|
|
77
|
+
const assets = convertAllAssets(tagTypeResponse, context);
|
|
78
|
+
const rawAssets = convertAllRawAssets(tagTypeResponse);
|
|
79
|
+
const includes = convertAllIncludes(tagTypeResponse);
|
|
80
|
+
if (customTypeResponse) {
|
|
81
|
+
const customAssets = convertAllAssets(customTypeResponse, context);
|
|
82
|
+
const customRawAssets = convertAllRawAssets(customTypeResponse);
|
|
83
|
+
const customIncludes = convertAllIncludes(customTypeResponse);
|
|
84
|
+
for (const [key, value] of customAssets)
|
|
85
|
+
assets.set(key, value);
|
|
86
|
+
for (const [key, value] of customRawAssets)
|
|
87
|
+
rawAssets.set(key, value);
|
|
88
|
+
for (const [key, value] of customIncludes)
|
|
89
|
+
includes.set(key, value);
|
|
90
|
+
}
|
|
91
|
+
const externalVideoEmbeds = await enrichAllAssets(assets, includes, options);
|
|
92
|
+
const fullContext = createFullConverterContext(context, includes, assets, rawAssets, externalVideoEmbeds, options);
|
|
93
|
+
const converted = context.tagTypeResolver(fullContext, tagTypeEntry, bundleCustomType ? customTypeEntry : undefined);
|
|
94
|
+
if (fullContext.errors.length > 0 &&
|
|
95
|
+
typeof process !== 'undefined' &&
|
|
96
|
+
process.env?.NODE_ENV === 'production') {
|
|
97
|
+
console.error(`CMS conversion errors for tagType:`, {
|
|
98
|
+
entryId: tagTypeEntry.sys.id,
|
|
99
|
+
slug,
|
|
100
|
+
errors: fullContext.errors,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return { data: converted, errors: fullContext.errors };
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
const entryId = tagTypeEntry?.sys.id || 'unknown';
|
|
107
|
+
const entryType = tagTypeEntry?.sys.contentType?.sys?.id;
|
|
108
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown conversion error';
|
|
109
|
+
const cmsError = {
|
|
110
|
+
entryId,
|
|
111
|
+
entryType,
|
|
112
|
+
message: errorMessage,
|
|
113
|
+
error,
|
|
114
|
+
};
|
|
115
|
+
return { data: null, errors: [cmsError] };
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
if (options?.retry) {
|
|
119
|
+
return await withRetry(fetchFn, options.retry);
|
|
120
|
+
}
|
|
121
|
+
return await fetchFn();
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=tag-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-type.js","sourceRoot":"","sources":["../../src/api/tag-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { IBaseTag } from '@se-studio/core-data-types';
|
|
2
|
+
import type { BaseConverterContext } from '../converters/helpers';
|
|
3
|
+
import type { CmsResponse, ContentfulConfig, FetchOptions } from '../types';
|
|
4
|
+
export interface TagFetchOptions extends FetchOptions {
|
|
5
|
+
customType?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Fetches a tag from Contentful by slug
|
|
9
|
+
*
|
|
10
|
+
* @param context - Converter context
|
|
11
|
+
* @param config - Contentful configuration
|
|
12
|
+
* @param slug - Tag slug to fetch
|
|
13
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
14
|
+
* @returns Promise resolving to IBaseTag or null if not found
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const tag = await contentfulTagRest(
|
|
19
|
+
* context,
|
|
20
|
+
* {
|
|
21
|
+
* spaceId: process.env.CONTENTFUL_SPACE_ID!,
|
|
22
|
+
* accessToken: process.env.CONTENTFUL_ACCESS_TOKEN!,
|
|
23
|
+
* },
|
|
24
|
+
* 'my-tag',
|
|
25
|
+
* {
|
|
26
|
+
* locale: 'en-US',
|
|
27
|
+
* cache: {
|
|
28
|
+
* tags: ['my-tag'],
|
|
29
|
+
* revalidate: 3600
|
|
30
|
+
* },
|
|
31
|
+
* customType: 'topics' // Optional custom type
|
|
32
|
+
* }
|
|
33
|
+
* );
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function contentfulTagRest(context: BaseConverterContext, config: ContentfulConfig, slug: string, options: TagFetchOptions): Promise<CmsResponse<IBaseTag | null>>;
|
|
37
|
+
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/api/tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAY,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AActF,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CA8IvC"}
|
package/dist/api/tag.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { getContentfulClient } from '../client.js';
|
|
2
|
+
import { enrichAllAssets } from '../converters/enrichAssets.js';
|
|
3
|
+
import { finalizeModelIconsAndNavigation } from '../navigation/enrichModelNavigation.js';
|
|
4
|
+
import { getCacheTags } from '../revalidation/utils.js';
|
|
5
|
+
import { withCmsQueryContext } from '../telemetry/queryContext.js';
|
|
6
|
+
import { withRetry } from '../utils/index.js';
|
|
7
|
+
import { convertAllAssets, convertAllIncludes, convertAllRawAssets, createFullConverterContext, operationLabel, PAGE_BUNDLED_CUSTOM_TYPE_INCLUDE, resolveIncludeDepth, } from './helpers.js';
|
|
8
|
+
import { getSingleEntityListingSelect } from './listing-fetch-params.js';
|
|
9
|
+
/**
|
|
10
|
+
* Fetches a tag from Contentful by slug
|
|
11
|
+
*
|
|
12
|
+
* @param context - Converter context
|
|
13
|
+
* @param config - Contentful configuration
|
|
14
|
+
* @param slug - Tag slug to fetch
|
|
15
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
16
|
+
* @returns Promise resolving to IBaseTag or null if not found
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const tag = await contentfulTagRest(
|
|
21
|
+
* context,
|
|
22
|
+
* {
|
|
23
|
+
* spaceId: process.env.CONTENTFUL_SPACE_ID!,
|
|
24
|
+
* accessToken: process.env.CONTENTFUL_ACCESS_TOKEN!,
|
|
25
|
+
* },
|
|
26
|
+
* 'my-tag',
|
|
27
|
+
* {
|
|
28
|
+
* locale: 'en-US',
|
|
29
|
+
* cache: {
|
|
30
|
+
* tags: ['my-tag'],
|
|
31
|
+
* revalidate: 3600
|
|
32
|
+
* },
|
|
33
|
+
* customType: 'topics' // Optional custom type
|
|
34
|
+
* }
|
|
35
|
+
* );
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export async function contentfulTagRest(context, config, slug, options) {
|
|
39
|
+
const client = getContentfulClient(config, options.preview);
|
|
40
|
+
// Set cache tags for this request
|
|
41
|
+
const tagCacheTags = getCacheTags('tag', slug, options?.preview);
|
|
42
|
+
const customTypeCacheTags = options?.customType
|
|
43
|
+
? getCacheTags('customType', options.customType, options?.preview)
|
|
44
|
+
: [];
|
|
45
|
+
const requestOptions = {
|
|
46
|
+
...options,
|
|
47
|
+
next: {
|
|
48
|
+
...options?.next,
|
|
49
|
+
tags: [...tagCacheTags, ...customTypeCacheTags],
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
const fetchFn = async () => {
|
|
53
|
+
const fetchProfile = options.fetchProfile ?? 'page';
|
|
54
|
+
const bundleCustomType = fetchProfile === 'page' && !!options?.customType;
|
|
55
|
+
const tagInclude = resolveIncludeDepth('tag', options);
|
|
56
|
+
const listingSelect = fetchProfile === 'listing' ? getSingleEntityListingSelect('tag') : undefined;
|
|
57
|
+
const tagPromise = withCmsQueryContext({ operation: operationLabel('tag'), identifier: slug }, () => client.getEntries({
|
|
58
|
+
content_type: 'tag',
|
|
59
|
+
'fields.slug': slug,
|
|
60
|
+
include: tagInclude,
|
|
61
|
+
locale: options?.locale,
|
|
62
|
+
limit: 1,
|
|
63
|
+
...(listingSelect && { select: listingSelect }),
|
|
64
|
+
}, requestOptions));
|
|
65
|
+
const customTypePromise = bundleCustomType
|
|
66
|
+
? withCmsQueryContext({ operation: operationLabel('customType'), identifier: options.customType }, () => client.getEntries({
|
|
67
|
+
content_type: 'customType',
|
|
68
|
+
'fields.slug': options.customType,
|
|
69
|
+
include: options.include ?? PAGE_BUNDLED_CUSTOM_TYPE_INCLUDE,
|
|
70
|
+
locale: options?.locale,
|
|
71
|
+
limit: 1,
|
|
72
|
+
}, requestOptions))
|
|
73
|
+
: Promise.resolve(null);
|
|
74
|
+
const [tagResponse, customTypeResponse] = await Promise.all([tagPromise, customTypePromise]);
|
|
75
|
+
const tagEntry = tagResponse.items[0];
|
|
76
|
+
if (!tagEntry?.fields) {
|
|
77
|
+
return { data: null, errors: [] };
|
|
78
|
+
}
|
|
79
|
+
const customTypeEntry = customTypeResponse?.items[0];
|
|
80
|
+
try {
|
|
81
|
+
const assets = convertAllAssets(tagResponse, context);
|
|
82
|
+
const rawAssets = convertAllRawAssets(tagResponse);
|
|
83
|
+
const includes = convertAllIncludes(tagResponse);
|
|
84
|
+
if (customTypeResponse) {
|
|
85
|
+
const customAssets = convertAllAssets(customTypeResponse, context);
|
|
86
|
+
const customRawAssets = convertAllRawAssets(customTypeResponse);
|
|
87
|
+
const customIncludes = convertAllIncludes(customTypeResponse);
|
|
88
|
+
for (const [key, value] of customAssets)
|
|
89
|
+
assets.set(key, value);
|
|
90
|
+
for (const [key, value] of customRawAssets)
|
|
91
|
+
rawAssets.set(key, value);
|
|
92
|
+
for (const [key, value] of customIncludes)
|
|
93
|
+
includes.set(key, value);
|
|
94
|
+
}
|
|
95
|
+
const externalVideoEmbeds = await enrichAllAssets(assets, includes, options);
|
|
96
|
+
const fullContext = createFullConverterContext(context, includes, assets, rawAssets, externalVideoEmbeds, options);
|
|
97
|
+
let converted = context.tagResolver(fullContext, tagEntry, bundleCustomType ? customTypeEntry : undefined);
|
|
98
|
+
if (converted) {
|
|
99
|
+
converted = await finalizeModelIconsAndNavigation(converted, context, config, options);
|
|
100
|
+
}
|
|
101
|
+
// Log errors in production
|
|
102
|
+
if (fullContext.errors.length > 0 &&
|
|
103
|
+
typeof process !== 'undefined' &&
|
|
104
|
+
process.env?.NODE_ENV === 'production') {
|
|
105
|
+
console.error(`CMS conversion errors for tag:`, {
|
|
106
|
+
entryId: tagEntry.sys.id,
|
|
107
|
+
slug,
|
|
108
|
+
errors: fullContext.errors,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return { data: converted, errors: fullContext.errors };
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
const entryId = tagEntry?.sys.id || 'unknown';
|
|
115
|
+
const entryType = tagEntry?.sys.contentType?.sys?.id;
|
|
116
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown conversion error';
|
|
117
|
+
const cmsError = {
|
|
118
|
+
entryId,
|
|
119
|
+
entryType,
|
|
120
|
+
message: errorMessage,
|
|
121
|
+
error,
|
|
122
|
+
};
|
|
123
|
+
return { data: null, errors: [cmsError] };
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
// Apply retry logic if configured
|
|
127
|
+
if (options?.retry) {
|
|
128
|
+
return await withRetry(fetchFn, options.retry);
|
|
129
|
+
}
|
|
130
|
+
return await fetchFn();
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/api/tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { EntryMeta, INavigation, ISchema, ISvgImage, ITyped } from '@se-studio/core-data-types';
|
|
2
|
+
import type { Entry } from 'contentful';
|
|
3
|
+
import type { BaseTemplateSkeleton } from '../baseTypes/baseTemplate';
|
|
4
|
+
import type { BaseConverterContext, ConverterContext } from '../converters/helpers';
|
|
5
|
+
import type { CmsResponse, ContentfulConfig, FetchOptions } from '../types';
|
|
6
|
+
import type { DefaultChainModifier } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Fetched template data structure
|
|
9
|
+
* Extends the resolved template with id and label for direct fetching
|
|
10
|
+
*/
|
|
11
|
+
export interface IFetchedTemplate {
|
|
12
|
+
id: string;
|
|
13
|
+
cmsLabel: string;
|
|
14
|
+
preContent: ReadonlyArray<ITyped>;
|
|
15
|
+
postContent: ReadonlyArray<ITyped>;
|
|
16
|
+
menu?: INavigation;
|
|
17
|
+
footer?: INavigation;
|
|
18
|
+
backgroundColour?: string;
|
|
19
|
+
textColour?: string;
|
|
20
|
+
stickyNav: boolean;
|
|
21
|
+
icons?: ReadonlyArray<ISvgImage>;
|
|
22
|
+
/** Schema.org Mustache templates linked on the template (parity with page resolveTemplate). */
|
|
23
|
+
structuredData: ReadonlyArray<ISchema>;
|
|
24
|
+
/** Parsed template `meta` JSON (defaults for pages using this template). */
|
|
25
|
+
meta?: EntryMeta;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Converts a template entry to IFetchedTemplate (includes resolved structuredData).
|
|
29
|
+
* Exported for unit tests; used by {@link contentfulTemplateRest}.
|
|
30
|
+
*/
|
|
31
|
+
export declare function convertTemplateEntry(context: ConverterContext, entry: Entry<BaseTemplateSkeleton, DefaultChainModifier, string>): IFetchedTemplate;
|
|
32
|
+
/**
|
|
33
|
+
* Fetches a template from Contentful by cmsLabel
|
|
34
|
+
*
|
|
35
|
+
* @param context - Converter context
|
|
36
|
+
* @param config - Contentful configuration
|
|
37
|
+
* @param cmsLabel - Template cmsLabel to fetch (e.g., '404')
|
|
38
|
+
* @param options - Fetch options (locale, preview, caching, etc.)
|
|
39
|
+
* @returns Promise resolving to IFetchedTemplate or null if not found
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* const template = await contentfulTemplateRest(
|
|
44
|
+
* context,
|
|
45
|
+
* {
|
|
46
|
+
* spaceId: process.env.CONTENTFUL_SPACE_ID!,
|
|
47
|
+
* accessToken: process.env.CONTENTFUL_ACCESS_TOKEN!,
|
|
48
|
+
* },
|
|
49
|
+
* '404',
|
|
50
|
+
* {
|
|
51
|
+
* locale: 'en-US',
|
|
52
|
+
* cache: {
|
|
53
|
+
* tags: ['template#404'],
|
|
54
|
+
* revalidate: 3600
|
|
55
|
+
* }
|
|
56
|
+
* }
|
|
57
|
+
* );
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function contentfulTemplateRest(context: BaseConverterContext, config: ContentfulConfig, cmsLabel: string, options: FetchOptions): Promise<CmsResponse<IFetchedTemplate | null>>;
|
|
61
|
+
//# sourceMappingURL=template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/api/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,MAAM,EACP,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIpF,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,+FAA+F;IAC/F,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC/D,gBAAgB,CAwDlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAc/C"}
|