From 9fda65d960e89d811dedf1c5b7742505339570e8 Mon Sep 17 00:00:00 2001 From: Abhishek Ezhava Date: Fri, 27 Jun 2025 16:40:20 +0530 Subject: [PATCH] fix: avoid errors when excluding content types with multiple sources --- package-lock.json | 79 ++++++++++++++++++++++++++++------------------ package.json | 6 ++-- src/source-node.js | 8 +++-- 3 files changed, 57 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5edae8d..841245a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gatsby-source-contentstack", - "version": "5.4.0", + "version": "5.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gatsby-source-contentstack", - "version": "5.4.0", + "version": "5.4.1", "license": "MIT", "dependencies": { "@contentstack/utils": "^1.1.3", @@ -49,7 +49,7 @@ "node": ">=18.0.0" }, "peerDependencies": { - "gatsby": "^5.14.0", + "gatsby": "^5.14.4", "gatsby-plugin-image": "^3.0.0-next" } }, @@ -9566,20 +9566,34 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "engines": [ - "node >= 0.8" + "node >= 6.0" ], "peer": true, "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", - "readable-stream": "^2.2.2", + "readable-stream": "^3.0.2", "typedarray": "^0.0.6" } }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -10064,7 +10078,8 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "node_modules/cors": { "version": "2.8.5", @@ -13414,9 +13429,9 @@ } }, "node_modules/gatsby": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-5.14.1.tgz", - "integrity": "sha512-xumIbDl0bk/Het+9wDQETNSHtkobXaeUQTciwzbT42RW/zIoPkKTjNzdDrWOBzzpmR0RU/qEnLa0udDhzS01Ww==", + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-5.14.4.tgz", + "integrity": "sha512-PZFbGk7/M0E3qWHJdFt2C1tzNeOf8Ou0akMMbZ5tqbu2CZ+7pj1bHUS8jezQfhnSVcvxAJEZ+Tm+M+wtdp17kQ==", "hasInstallScript": true, "peer": true, "dependencies": { @@ -13503,7 +13518,7 @@ "fs-extra": "^11.2.0", "gatsby-cli": "^5.14.0", "gatsby-core-utils": "^4.14.0", - "gatsby-graphiql-explorer": "^3.14.0", + "gatsby-graphiql-explorer": "^3.14.1", "gatsby-legacy-polyfills": "^3.14.0", "gatsby-link": "^5.14.1", "gatsby-page-utils": "^3.14.0", @@ -13538,7 +13553,7 @@ "mini-css-extract-plugin": "1.6.2", "mitt": "^1.2.0", "moment": "^2.29.4", - "multer": "^1.4.5-lts.1", + "multer": "^2.0.1", "node-fetch": "^2.6.11", "node-html-parser": "^5.4.2", "normalize-path": "^3.0.0", @@ -13579,7 +13594,7 @@ "type-of": "^2.0.1", "url-loader": "^4.1.1", "uuid": "^8.3.2", - "webpack": "^5.88.1", + "webpack": "~5.98.0", "webpack-dev-middleware": "^5.3.4", "webpack-merge": "^5.9.0", "webpack-stats-plugin": "^1.1.3", @@ -13883,9 +13898,9 @@ } }, "node_modules/gatsby-graphiql-explorer": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-3.14.0.tgz", - "integrity": "sha512-t+PpMu+6GkCdyGDw8S4pd1FBZVwFdpn6Jb2BLZtNJ2z1hOSxHKGoZO1sW2mwZ8/H1VuiSPb2XtXwHYo5CcYgAg==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-3.14.1.tgz", + "integrity": "sha512-QC6XSIIrg4wp5Tb4qE7dkMpC+XDQDDIkQ3dkxajLn8P02tHHAUDLYlJGVHKILp5QQRlTXCPqk4AFZwh21NtJBw==", "peer": true, "engines": { "node": ">=14.15.0" @@ -17319,7 +17334,8 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", @@ -19228,21 +19244,21 @@ } }, "node_modules/multer": { - "version": "1.4.5-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", - "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.0.1.tgz", + "integrity": "sha512-Ug8bXeTIUlxurg8xLTEskKShvcKDZALo1THEX5E41pYCD2sCVub5/kIRIGqWNoqV6szyLyQKV6mD4QUrWE5GCQ==", "peer": true, "dependencies": { "append-field": "^1.0.0", - "busboy": "^1.0.0", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", + "busboy": "^1.6.0", + "concat-stream": "^2.0.0", + "mkdirp": "^0.5.6", "object-assign": "^4.1.1", - "type-is": "^1.6.4", - "xtend": "^4.0.0" + "type-is": "^1.6.18", + "xtend": "^4.0.2" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 10.16.0" } }, "node_modules/mute-stream": { @@ -24213,7 +24229,8 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/progress": { "version": "2.0.3", @@ -25012,6 +25029,7 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -25025,7 +25043,8 @@ "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/readable-web-to-node-stream": { "version": "3.0.4", diff --git a/package.json b/package.json index 6b2919c..557bafb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gatsby-source-contentstack", - "version": "5.4.0", + "version": "5.4.1", "description": "Gatsby source plugin for building websites using Contentstack as a data source", "scripts": { "prepublish": "npm run build", @@ -63,9 +63,9 @@ "jest": "^29.7.0", "prettier": "^1.5.3", "semantic-release": "^24.2.0" - }, + }, "peerDependencies": { - "gatsby": "^5.14.0", + "gatsby": "^5.14.4", "gatsby-plugin-image": "^3.0.0-next" }, "husky": { diff --git a/src/source-node.js b/src/source-node.js index 31cf476..f9170e7 100644 --- a/src/source-node.js +++ b/src/source-node.js @@ -92,9 +92,11 @@ exports.sourceNodes = async ({ cache, actions, getNode, getNodes, createNodeId, syncData.entry_published && syncData.entry_published.forEach(item => { item.content_type_uid = item.content_type_uid.replace(/-/g, '_'); const contentType = contentTypesMap[item.content_type_uid]; - const normalizedEntry = normalizeEntry(contentType, item.data, entriesNodeIds, assetsNodeIds, createNodeId, typePrefix, configOptions); - const entryNode = processEntry(contentType, normalizedEntry, createNodeId, createContentDigest, typePrefix); - createNode(entryNode); + if (contentType && !configOptions.excludeContentTypes?.includes(item?.content_type_uid)) { + const normalizedEntry = normalizeEntry(contentType, item.data, entriesNodeIds, assetsNodeIds, createNodeId, typePrefix, configOptions); + const entryNode = processEntry(contentType, normalizedEntry, createNodeId, createContentDigest, typePrefix); + createNode(entryNode); + } }); syncData.asset_published && syncData.asset_published.forEach(item => {