From 460a4258c3f77404f335e04e8f9b18a6fcefa696 Mon Sep 17 00:00:00 2001 From: ascott Date: Wed, 7 Sep 2022 16:31:46 +0100 Subject: [PATCH] fix(gatsby-transformer-csv): Fix high memory consumption --- .../gatsby-transformer-csv/src/gatsby-node.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/gatsby-transformer-csv/src/gatsby-node.js b/packages/gatsby-transformer-csv/src/gatsby-node.js index 92390d737dc2a..6eed66b85ce5b 100644 --- a/packages/gatsby-transformer-csv/src/gatsby-node.js +++ b/packages/gatsby-transformer-csv/src/gatsby-node.js @@ -46,7 +46,7 @@ async function onCreateNode( } // Generate the new node - function transformObject(obj, i) { + async function transformObject(obj, i) { const csvNode = { ...obj, id: @@ -63,21 +63,22 @@ async function onCreateNode( }, } - createNode(csvNode) + await createNode(csvNode) createParentChildLink({ parent: node, child: csvNode }) } if (_.isArray(parsedContent)) { if (pluginOptions && nodePerFile) { if (pluginOptions && _.isString(nodePerFile)) { - transformObject({ [nodePerFile]: parsedContent }, 0) + await transformObject({ [nodePerFile]: parsedContent }, 0) } else { - transformObject({ items: parsedContent }, 0) + await transformObject({ items: parsedContent }, 0) } } else { - _.each(parsedContent, (obj, i) => { - transformObject(obj, i) - }) + for (let i = 0, l = parsedContent.length; i < l; i++) { + const obj = parsedContent[i] + await transformObject(obj, i) + } } }