From 283d86a4c10730feb3866ef12ea77699cb1f7e7d Mon Sep 17 00:00:00 2001 From: Carlos Carrascal Sanchez Date: Fri, 3 Jul 2026 11:30:03 +0100 Subject: [PATCH] fix: respect excludeContentTypes during entry sync in shared-stack setups --- src/contenttype-data.js | 4 ++-- src/entry-data.js | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/contenttype-data.js b/src/contenttype-data.js index dd1936e..7fa0458 100644 --- a/src/contenttype-data.js +++ b/src/contenttype-data.js @@ -25,7 +25,7 @@ class FetchSpecifiedContentTypes extends FetchContentTypes { const contentTypes = await fn.apply(null, [url, config, responseKey, query]); const referredContentTypes = new ReferredContentTypes(); - const referredContentTypesList = referredContentTypes.getReferredContentTypes(contentTypes); + const referredContentTypesList = referredContentTypes.getReferredContentTypes(contentTypes); let referredContentTypesData = []; if (referredContentTypesList.length) { @@ -49,7 +49,7 @@ class FetchUnspecifiedContentTypes extends FetchContentTypes { const contentTypes = await fn.apply(null, [url, config, responseKey, query]); const referredContentTypes = new ReferredContentTypes(); - const referredContentTypesList = referredContentTypes.getReferredContentTypes(contentTypes); + const referredContentTypesList = referredContentTypes.getReferredContentTypes(contentTypes).filter((uid) => !(config.excludeContentTypes || []).includes(uid)); let referredContentTypesData = []; if (referredContentTypesList.length) { diff --git a/src/entry-data.js b/src/entry-data.js index dc33547..cd471a5 100644 --- a/src/entry-data.js +++ b/src/entry-data.js @@ -15,7 +15,7 @@ class FetchDefaultEntries extends FetchEntries { const assetTokenKey = `${typePrefix.toLowerCase()}-sync-token-asset-${configOptions.api_key}`; const [syncEntryToken, syncAssetToken] = await Promise.all([cache.get(entryTokenKey), cache.get(assetTokenKey)]) - + const syncEntryParams = syncEntryToken ? { sync_token: syncEntryToken } : { init: true, limit: configOptions.limit > 100 ? 50 : configOptions.limit }; @@ -72,7 +72,7 @@ class FetchSpecifiedContentTypesEntries extends FetchEntries { try { let syncData = {}; const typePrefix = configOptions.type_prefix || 'Contentstack'; - const contentTypes = await cache.get(typePrefix); + const contentTypes = (await cache.get(typePrefix) || []).filter((ct) => !(configOptions.excludeContentTypes || []).includes(ct.uid)); for (let i = 0; i < contentTypes.length; i++) { const contentType = contentTypes[i].uid; @@ -172,9 +172,9 @@ class FetchSpecifiedLocalesAndContentTypesEntries extends FetchEntries { try { let syncData = {}; const typePrefix = configOptions.type_prefix || 'Contentstack'; - const contentTypes = await cache.get(typePrefix); + const contentTypes = (await cache.get(typePrefix) || []).filter((ct) => !(configOptions.excludeContentTypes || []).includes(ct.uid)); const locales = configOptions.locales; - + for (let i = 0; i < contentTypes.length; i++) { const contentType = contentTypes[i].uid; for (let j = 0; j < locales.length; j++) {