From 106c2d56f1c042d684df9ca7737fbfd30c0ef6f1 Mon Sep 17 00:00:00 2001 From: LekoArts Date: Tue, 26 Jan 2021 15:41:07 +0100 Subject: [PATCH 1/8] remove nodeId as arg --- packages/gatsby/src/db/__tests__/nodes.js | 40 ++++----------------- packages/gatsby/src/redux/actions/public.js | 22 ++---------- 2 files changed, 8 insertions(+), 54 deletions(-) diff --git a/packages/gatsby/src/db/__tests__/nodes.js b/packages/gatsby/src/db/__tests__/nodes.js index 9a738c2062db0..716299021d425 100644 --- a/packages/gatsby/src/db/__tests__/nodes.js +++ b/packages/gatsby/src/db/__tests__/nodes.js @@ -317,37 +317,6 @@ describe(`nodes db tests`, () => { expect(getNode(`hi`)).toBeUndefined() }) - it(`warns when using old deleteNode signature `, () => { - store.dispatch( - actions.createNode( - { - id: `hi`, - children: [], - parent: `test`, - internal: { - contentDigest: `hasdfljds`, - type: `Test`, - }, - }, - { - name: `tests`, - } - ) - ) - expect(getNode(`hi`)).toMatchObject({ id: `hi` }) - store.dispatch( - actions.deleteNode(`hi`, getNode(`hi`), { - name: `tests`, - }) - ) - expect(getNode(`hi`)).toBeUndefined() - const deprecationNotice = - `Calling "deleteNode" with a nodeId is deprecated. Please pass an ` + - `object containing a full node instead: deleteNode({ node }). ` + - `"deleteNode" was called by tests` - expect(report.warn).toHaveBeenCalledWith(deprecationNotice) - }) - it(`throws an error when trying to delete a node of a type owned from another plugin`, () => { expect(() => { store.dispatch( @@ -367,9 +336,12 @@ describe(`nodes db tests`, () => { ) ) store.dispatch( - actions.deleteNode(`hi`, getNode(`hi`), { - name: `tests`, - }) + actions.deleteNode( + { node: getNode(`hi`) }, + { + name: `tests`, + } + ) ) }).toThrow(/deleted/) }) diff --git a/packages/gatsby/src/redux/actions/public.js b/packages/gatsby/src/redux/actions/public.js index 415ff57df5e02..c043df2642f77 100644 --- a/packages/gatsby/src/redux/actions/public.js +++ b/packages/gatsby/src/redux/actions/public.js @@ -430,26 +430,8 @@ ${reservedFields.map(f => ` * "${f}"`).join(`\n`)} * @example * deleteNode({node: node}) */ -actions.deleteNode = (options: any, plugin: Plugin, args: any) => { - let id - - // Check if using old method signature. Warn about incorrect usage but get - // node from nodeID anyway. - if (typeof options === `string`) { - let msg = - `Calling "deleteNode" with a nodeId is deprecated. Please pass an ` + - `object containing a full node instead: deleteNode({ node }).` - if (args && args.name) { - // `plugin` used to be the third argument - plugin = args - msg = msg + ` "deleteNode" was called by ${plugin.name}` - } - report.warn(msg) - - id = options - } else { - id = options && options.node && options.node.id - } +actions.deleteNode = (options: any, plugin: Plugin) => { + const id = options && options.node && options.node.id // Always get node from the store, as the node we get as an arg // might already have been deleted. From d3cb7de464fb88cc0bd57faba6ec8ab581a6a96d Mon Sep 17 00:00:00 2001 From: LekoArts Date: Wed, 27 Jan 2021 12:02:42 +0100 Subject: [PATCH 2/8] update signature, add new v4 deprecation warning, local tests pass --- packages/gatsby/src/redux/actions/public.js | 40 ++++++++++++++------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/packages/gatsby/src/redux/actions/public.js b/packages/gatsby/src/redux/actions/public.js index c043df2642f77..76429fc51eb39 100644 --- a/packages/gatsby/src/redux/actions/public.js +++ b/packages/gatsby/src/redux/actions/public.js @@ -425,31 +425,46 @@ ${reservedFields.map(f => ` * "${f}"`).join(`\n`)} /** * Delete a node - * @param {object} $0 - * @param {object} $0.node the node object + * @param {object} node A node object. See the "createNode" action for more information about the node object details. * @example - * deleteNode({node: node}) + * deleteNode(node) */ -actions.deleteNode = (options: any, plugin: Plugin) => { - const id = options && options.node && options.node.id +actions.deleteNode = (node: any, plugin?: Plugin) => { + let id + + // TODO(v4): Remove this deprecation warning and only allow deleteNode(node) + if (node && node.node) { + let msg = + `Calling "deleteNode" with an object containing a full node is deprecated. Please pass` + + `the node directly to the function: deleteNode(node)` + + if (plugin && plugin.name) { + msg = msg + ` "deleteNode" was called by ${plugin.name}` + } + report.warn(msg) + + id = node.node.id + } else { + id = node && node.id + } // Always get node from the store, as the node we get as an arg // might already have been deleted. - const node = getNode(id) + const internalNode = getNode(id) if (plugin) { const pluginName = plugin.name - if (node && typeOwners[node.internal.type] !== pluginName) + if (internalNode && typeOwners[internalNode.internal.type] !== pluginName) throw new Error(stripIndent` The plugin "${pluginName}" deleted a node of a type owned by another plugin. - The node type "${node.internal.type}" is owned by "${ - typeOwners[node.internal.type] + The node type "${internalNode.internal.type}" is owned by "${ + typeOwners[internalNode.internal.type] }". The node object passed to "deleteNode": - ${JSON.stringify(node, null, 4)} + ${JSON.stringify(internalNode, null, 4)} The plugin deleting the node: @@ -465,12 +480,13 @@ actions.deleteNode = (options: any, plugin: Plugin) => { } } - const deleteAction = createDeleteAction(node) + const deleteAction = createDeleteAction(internalNode) // It's possible the file node was never created as sometimes tools will // write and then immediately delete temporary files to the file system. const deleteDescendantsActions = - node && findChildren(node.children).map(getNode).map(createDeleteAction) + internalNode && + findChildren(internalNode.children).map(getNode).map(createDeleteAction) if (deleteDescendantsActions && deleteDescendantsActions.length) { return [...deleteDescendantsActions, deleteAction] From ef41886088e9e65894d561f1a34938088372c55f Mon Sep 17 00:00:00 2001 From: LekoArts Date: Wed, 27 Jan 2021 12:10:12 +0100 Subject: [PATCH 3/8] add test case to check for deprecation message --- packages/gatsby/src/db/__tests__/nodes.js | 34 +++++++++++++++++++++ packages/gatsby/src/redux/actions/public.js | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/packages/gatsby/src/db/__tests__/nodes.js b/packages/gatsby/src/db/__tests__/nodes.js index 716299021d425..becb7c59043d4 100644 --- a/packages/gatsby/src/db/__tests__/nodes.js +++ b/packages/gatsby/src/db/__tests__/nodes.js @@ -317,6 +317,40 @@ describe(`nodes db tests`, () => { expect(getNode(`hi`)).toBeUndefined() }) + it(`warns when using old deleteNode signature `, () => { + store.dispatch( + actions.createNode( + { + id: `hi`, + children: [], + parent: `test`, + internal: { + contentDigest: `hasdfljds`, + type: `Test`, + }, + }, + { + name: `tests`, + } + ) + ) + expect(getNode(`hi`)).toMatchObject({ id: `hi` }) + store.dispatch( + actions.deleteNode( + { node: getNode(`hi`) }, + { + name: `tests`, + } + ) + ) + expect(getNode(`hi`)).toBeUndefined() + const deprecationNotice = + `Calling "deleteNode" with an object containing a full node is deprecated. Please pass ` + + `the node directly to the function: deleteNode(node) ` + + `"deleteNode" was called by tests` + expect(report.warn).toHaveBeenCalledWith(deprecationNotice) + }) + it(`throws an error when trying to delete a node of a type owned from another plugin`, () => { expect(() => { store.dispatch( diff --git a/packages/gatsby/src/redux/actions/public.js b/packages/gatsby/src/redux/actions/public.js index 76429fc51eb39..5b8c0547013f9 100644 --- a/packages/gatsby/src/redux/actions/public.js +++ b/packages/gatsby/src/redux/actions/public.js @@ -435,7 +435,7 @@ actions.deleteNode = (node: any, plugin?: Plugin) => { // TODO(v4): Remove this deprecation warning and only allow deleteNode(node) if (node && node.node) { let msg = - `Calling "deleteNode" with an object containing a full node is deprecated. Please pass` + + `Calling "deleteNode" with an object containing a full node is deprecated. Please pass ` + `the node directly to the function: deleteNode(node)` if (plugin && plugin.name) { From eb1722107930120052928dfd70c73c3fe18f978f Mon Sep 17 00:00:00 2001 From: LekoArts Date: Wed, 27 Jan 2021 12:14:29 +0100 Subject: [PATCH 4/8] update existing tests --- packages/gatsby/src/db/__tests__/nodes.js | 35 +++++++---------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/packages/gatsby/src/db/__tests__/nodes.js b/packages/gatsby/src/db/__tests__/nodes.js index becb7c59043d4..258758a206673 100644 --- a/packages/gatsby/src/db/__tests__/nodes.js +++ b/packages/gatsby/src/db/__tests__/nodes.js @@ -188,14 +188,9 @@ describe(`nodes db tests`, () => { ) ) store.dispatch( - actions.deleteNode( - { - node: getNode(`hi`), - }, - { - name: `tests`, - } - ) + actions.deleteNode(getNode(`hi`), { + name: `tests`, + }) ) expect(getNodes()).toHaveLength(1) }) @@ -272,12 +267,9 @@ describe(`nodes db tests`, () => { ) ) store.dispatch( - actions.deleteNode( - { node: getNode(`hi`) }, - { - name: `tests`, - } - ) + actions.deleteNode(getNode(`hi`), { + name: `tests`, + }) ) expect(getNodes()).toHaveLength(0) }) @@ -309,11 +301,7 @@ describe(`nodes db tests`, () => { } ) ) - store.dispatch( - actions.deleteNode({ - node: getNode(`hi`), - }) - ) + store.dispatch(actions.deleteNode(getNode(`hi`))) expect(getNode(`hi`)).toBeUndefined() }) @@ -370,12 +358,9 @@ describe(`nodes db tests`, () => { ) ) store.dispatch( - actions.deleteNode( - { node: getNode(`hi`) }, - { - name: `tests`, - } - ) + actions.deleteNode(getNode(`hi`), { + name: `tests`, + }) ) }).toThrow(/deleted/) }) From 2652407ebe15cdbfd22f295caa600a999957952b Mon Sep 17 00:00:00 2001 From: LekoArts Date: Wed, 27 Jan 2021 12:27:00 +0100 Subject: [PATCH 5/8] update deleteNode usage in our code --- docs/docs/creating-a-source-plugin.md | 6 ++---- .../how-to/plugins-and-themes/creating-a-source-plugin.md | 4 +--- .../plugins/gatsby-source-fake-data/gatsby-node.js | 4 +--- .../plugins/gatsby-source-pinc-data/gatsby-node.js | 4 +--- .../creating-source-plugins/source-plugin/gatsby-node.js | 4 +--- .../gatsby-source-contentful/src/__tests__/gatsby-node.js | 2 +- packages/gatsby-source-contentful/src/gatsby-node.js | 2 +- packages/gatsby-source-drupal/src/gatsby-node.js | 6 +++--- packages/gatsby-source-filesystem/src/gatsby-node.js | 2 +- packages/gatsby/index.d.ts | 7 +------ .../internal-plugins/internal-data-bridge/gatsby-node.js | 2 +- packages/gatsby/src/utils/source-nodes.ts | 2 +- 12 files changed, 15 insertions(+), 30 deletions(-) diff --git a/docs/docs/creating-a-source-plugin.md b/docs/docs/creating-a-source-plugin.md index 7adc803b8677b..359b645063db0 100644 --- a/docs/docs/creating-a-source-plugin.md +++ b/docs/docs/creating-a-source-plugin.md @@ -265,7 +265,7 @@ exports.createSchemaCustomization = ({ actions }) => { author: Author @link(from: "author.name" by: "name") // highlight-line # ... other fields } - + type Author implements Node { name: String! post: Post @link // highlight-line @@ -446,9 +446,7 @@ exports.sourceNodes = async ({ actions, getNodesByType }, pluginOptions) => { newData.forEach(newDatum => { switch (newDatum.status) { case "deleted": - deleteNode({ - node: getNode(createNodeId(`YourSourceType-${newDatum.uuid}`)), - }) + deleteNode(getNode(createNodeId(`YourSourceType-${newDatum.uuid}`))) break case "created": case "updated": diff --git a/docs/docs/how-to/plugins-and-themes/creating-a-source-plugin.md b/docs/docs/how-to/plugins-and-themes/creating-a-source-plugin.md index ae734921c6f60..cacdc725444fc 100644 --- a/docs/docs/how-to/plugins-and-themes/creating-a-source-plugin.md +++ b/docs/docs/how-to/plugins-and-themes/creating-a-source-plugin.md @@ -887,9 +887,7 @@ exports.sourceNodes = async ( const nodeId = createNodeId(`${POST_NODE_TYPE}-${post.id}`) switch (post.status) { case "deleted": - deleteNode({ - node: getNode(nodeId), - }) + deleteNode(getNode(nodeId)) break case "created": case "updated": diff --git a/e2e-tests/development-runtime/plugins/gatsby-source-fake-data/gatsby-node.js b/e2e-tests/development-runtime/plugins/gatsby-source-fake-data/gatsby-node.js index 7882e98398d24..d3fe5878c94e3 100644 --- a/e2e-tests/development-runtime/plugins/gatsby-source-fake-data/gatsby-node.js +++ b/e2e-tests/development-runtime/plugins/gatsby-source-fake-data/gatsby-node.js @@ -40,9 +40,7 @@ exports.sourceNodes = async function sourceNodes({ deleted.forEach(node => { const existing = getNode(node.id) if (existing) { - deleteNode({ - node: existing, - }) + deleteNode(existing) } }) } diff --git a/e2e-tests/development-runtime/plugins/gatsby-source-pinc-data/gatsby-node.js b/e2e-tests/development-runtime/plugins/gatsby-source-pinc-data/gatsby-node.js index 7882e98398d24..d3fe5878c94e3 100644 --- a/e2e-tests/development-runtime/plugins/gatsby-source-pinc-data/gatsby-node.js +++ b/e2e-tests/development-runtime/plugins/gatsby-source-pinc-data/gatsby-node.js @@ -40,9 +40,7 @@ exports.sourceNodes = async function sourceNodes({ deleted.forEach(node => { const existing = getNode(node.id) if (existing) { - deleteNode({ - node: existing, - }) + deleteNode(existing) } }) } diff --git a/examples/creating-source-plugins/source-plugin/gatsby-node.js b/examples/creating-source-plugins/source-plugin/gatsby-node.js index 82ade55c4fa39..dc2878bc074dd 100644 --- a/examples/creating-source-plugins/source-plugin/gatsby-node.js +++ b/examples/creating-source-plugins/source-plugin/gatsby-node.js @@ -179,9 +179,7 @@ exports.sourceNodes = async function sourceNodes( const nodeId = createNodeId(`${POST_NODE_TYPE}-${post.id}`) switch (post.status) { case "deleted": - deleteNode({ - node: getNode(nodeId), - }) + deleteNode(getNode(nodeId)) break case "created": case "updated": diff --git a/packages/gatsby-source-contentful/src/__tests__/gatsby-node.js b/packages/gatsby-source-contentful/src/__tests__/gatsby-node.js index c0c1613e80dae..141bdbd2343d3 100644 --- a/packages/gatsby-source-contentful/src/__tests__/gatsby-node.js +++ b/packages/gatsby-source-contentful/src/__tests__/gatsby-node.js @@ -256,7 +256,7 @@ describe(`gatsby-node`, () => { // don't allow mutations (this isn't traversing so only top level is frozen) currentNodeMap.set(node.id, Object.freeze(node)) }) - actions.deleteNode = ({ node }) => { + actions.deleteNode = node => { currentNodeMap.delete(node.id) } actions.touchNode = jest.fn() diff --git a/packages/gatsby-source-contentful/src/gatsby-node.js b/packages/gatsby-source-contentful/src/gatsby-node.js index eece2e4073330..e2c2f2b112689 100644 --- a/packages/gatsby-source-contentful/src/gatsby-node.js +++ b/packages/gatsby-source-contentful/src/gatsby-node.js @@ -479,7 +479,7 @@ exports.sourceNodes = async ( localizedNodes.forEach(node => { // touchNode first, to populate typeOwners & avoid erroring touchNode({ nodeId: node.id }) - deleteNode({ node }) + deleteNode(node) }) } diff --git a/packages/gatsby-source-drupal/src/gatsby-node.js b/packages/gatsby-source-drupal/src/gatsby-node.js index da495cd280c23..9a55267b25ac7 100644 --- a/packages/gatsby-source-drupal/src/gatsby-node.js +++ b/packages/gatsby-source-drupal/src/gatsby-node.js @@ -71,7 +71,7 @@ exports.sourceNodes = async ( return } if (action === `delete`) { - actions.deleteNode({ node: getNode(createNodeId(id)) }) + actions.deleteNode(getNode(createNodeId(id))) reporter.log(`Deleted node: ${id}`) changesActivity.end() return @@ -147,7 +147,7 @@ exports.sourceNodes = async ( let nodesToSync = data.data.entities for (const nodeSyncData of nodesToSync) { if (nodeSyncData.action === `delete`) { - actions.deleteNode({ node: getNode(createNodeId(nodeSyncData.id)) }) + actions.deleteNode(getNode(createNodeId(nodeSyncData.id))) } else { // The data could be a single Drupal entity or an array of Drupal // entities to update. @@ -385,7 +385,7 @@ exports.onCreateDevServer = ( ) } if (action === `delete`) { - actions.deleteNode({ node: getNode(createNodeId(id)) }) + actions.deleteNode(getNode(createNodeId(id))) return reporter.log(`Deleted node: ${id}`) } const nodeToUpdate = JSON.parse(JSON.parse(req.body)).data diff --git a/packages/gatsby-source-filesystem/src/gatsby-node.js b/packages/gatsby-source-filesystem/src/gatsby-node.js index d780a2eda64da..72f6449abcabf 100644 --- a/packages/gatsby-source-filesystem/src/gatsby-node.js +++ b/packages/gatsby-source-filesystem/src/gatsby-node.js @@ -36,7 +36,7 @@ const createFSMachine = ( // It's possible the node was never created as sometimes tools will // write and then immediately delete temporary files to the file system. if (node) { - deleteNode({ node }) + deleteNode(node) } } diff --git a/packages/gatsby/index.d.ts b/packages/gatsby/index.d.ts index 1151edeb1051a..03c83571616c1 100644 --- a/packages/gatsby/index.d.ts +++ b/packages/gatsby/index.d.ts @@ -1110,10 +1110,6 @@ interface ActionPlugin { name: string } -interface DeleteNodeArgs { - node: Node -} - interface CreateNodeFieldArgs { node: Node name: string @@ -1157,9 +1153,8 @@ export interface Actions { /** @see https://www.gatsbyjs.org/docs/actions/#deletePage */ deleteNode( - options: { node: Node }, + node: NodeInput, plugin?: ActionPlugin, - option?: ActionOptions ): void /** diff --git a/packages/gatsby/src/internal-plugins/internal-data-bridge/gatsby-node.js b/packages/gatsby/src/internal-plugins/internal-data-bridge/gatsby-node.js index 260e5a350dac5..91fa1fe6c541c 100644 --- a/packages/gatsby/src/internal-plugins/internal-data-bridge/gatsby-node.js +++ b/packages/gatsby/src/internal-plugins/internal-data-bridge/gatsby-node.js @@ -197,5 +197,5 @@ exports.onCreatePage = ({ createContentDigest, page, actions }) => { emitter.on(`DELETE_PAGE`, action => { const nodeId = createPageId(action.payload.path) const node = getNode(nodeId) - boundActionCreators.deleteNode({ node }) + boundActionCreators.deleteNode(node) }) diff --git a/packages/gatsby/src/utils/source-nodes.ts b/packages/gatsby/src/utils/source-nodes.ts index 4345f1e09a7ac..4f8f7723802ee 100644 --- a/packages/gatsby/src/utils/source-nodes.ts +++ b/packages/gatsby/src/utils/source-nodes.ts @@ -81,7 +81,7 @@ function deleteStaleNodes(state: IGatsbyState, nodes: Array): void { const staleNodes = getStaleNodes(state, nodes) if (staleNodes.length > 0) { - staleNodes.forEach(node => deleteNode({ node })) + staleNodes.forEach(node => deleteNode(node)) } } From 75eab7e2122dcbc35c3fc4cc61f55c210a236dd5 Mon Sep 17 00:00:00 2001 From: LekoArts Date: Tue, 9 Feb 2021 14:54:21 +0100 Subject: [PATCH 6/8] update wordpress plugin --- .../docs/tutorials/transforming-data.md | 4 +--- .../src/steps/source-nodes/before-change-node/menu.js | 4 +--- .../src/steps/source-nodes/update-nodes/wp-actions/delete.js | 2 +- .../src/steps/source-nodes/update-nodes/wp-actions/update.js | 2 +- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md b/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md index 3422138f442f5..d409e4deb9944 100644 --- a/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md +++ b/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md @@ -76,9 +76,7 @@ export const menuBeforeChangeNode = async api => { // delete each child menu item allMenuItemsNodesWithThisMenuIdAsAParent?.forEach(menuItemNode => - actions.deleteNode({ - node: menuItemNode, - }) + actions.deleteNode(menuItemNode) ) } } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js index dd4391287ef20..3ee3c4d71f1a6 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js @@ -15,9 +15,7 @@ const deleteMenuNodeChildMenuItems = node => { ) for (const menuItemNode of allMenuItemsNodesWithThisMenuIdAsAParent) { - actions.deleteNode({ - node: menuItemNode, - }) + actions.deleteNode(menuItemNode) } } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js index fb3d58e9a4eda..e39dda144dce4 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js @@ -67,7 +67,7 @@ const wpActionDELETE = async ({ if (node) { await actions.touchNode({ nodeId }) - await actions.deleteNode({ node }) + await actions.deleteNode(node) reporter.log(``) reporter.info( diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js index de2f00d957a92..9412385f9c7a8 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js @@ -255,7 +255,7 @@ const wpActionUPDATE = async ({ helpers, wpAction }) => { if (existingNode) { await actions.touchNode({ nodeId }) - await actions.deleteNode({ node: existingNode }) + await actions.deleteNode(existingNode) reportUpdate({ setAction: `DELETE` }) } From d03f0ed1b7911d9675a930c17cb2a3e8e4fa6ec2 Mon Sep 17 00:00:00 2001 From: LekoArts Date: Wed, 10 Feb 2021 11:11:52 +0100 Subject: [PATCH 7/8] Revert "update wordpress plugin" This reverts commit 75eab7e2122dcbc35c3fc4cc61f55c210a236dd5. --- .../docs/tutorials/transforming-data.md | 4 +++- .../src/steps/source-nodes/before-change-node/menu.js | 4 +++- .../src/steps/source-nodes/update-nodes/wp-actions/delete.js | 2 +- .../src/steps/source-nodes/update-nodes/wp-actions/update.js | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md b/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md index d409e4deb9944..3422138f442f5 100644 --- a/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md +++ b/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md @@ -76,7 +76,9 @@ export const menuBeforeChangeNode = async api => { // delete each child menu item allMenuItemsNodesWithThisMenuIdAsAParent?.forEach(menuItemNode => - actions.deleteNode(menuItemNode) + actions.deleteNode({ + node: menuItemNode, + }) ) } } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js index 3ee3c4d71f1a6..dd4391287ef20 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js @@ -15,7 +15,9 @@ const deleteMenuNodeChildMenuItems = node => { ) for (const menuItemNode of allMenuItemsNodesWithThisMenuIdAsAParent) { - actions.deleteNode(menuItemNode) + actions.deleteNode({ + node: menuItemNode, + }) } } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js index e39dda144dce4..fb3d58e9a4eda 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js @@ -67,7 +67,7 @@ const wpActionDELETE = async ({ if (node) { await actions.touchNode({ nodeId }) - await actions.deleteNode(node) + await actions.deleteNode({ node }) reporter.log(``) reporter.info( diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js index 9412385f9c7a8..de2f00d957a92 100644 --- a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js @@ -255,7 +255,7 @@ const wpActionUPDATE = async ({ helpers, wpAction }) => { if (existingNode) { await actions.touchNode({ nodeId }) - await actions.deleteNode(existingNode) + await actions.deleteNode({ node: existingNode }) reportUpdate({ setAction: `DELETE` }) } From f9dbd41b21837e6b31ed26b6f94e07dbcbd36279 Mon Sep 17 00:00:00 2001 From: LekoArts Date: Wed, 10 Feb 2021 15:57:11 +0100 Subject: [PATCH 8/8] improve message --- packages/gatsby/src/db/__tests__/nodes.js | 2 +- packages/gatsby/src/redux/actions/public.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/gatsby/src/db/__tests__/nodes.js b/packages/gatsby/src/db/__tests__/nodes.js index 258758a206673..a1c8693d57f23 100644 --- a/packages/gatsby/src/db/__tests__/nodes.js +++ b/packages/gatsby/src/db/__tests__/nodes.js @@ -333,7 +333,7 @@ describe(`nodes db tests`, () => { ) expect(getNode(`hi`)).toBeUndefined() const deprecationNotice = - `Calling "deleteNode" with an object containing a full node is deprecated. Please pass ` + + `Calling "deleteNode" with {node} is deprecated. Please pass ` + `the node directly to the function: deleteNode(node) ` + `"deleteNode" was called by tests` expect(report.warn).toHaveBeenCalledWith(deprecationNotice) diff --git a/packages/gatsby/src/redux/actions/public.js b/packages/gatsby/src/redux/actions/public.js index 5d0541565b77e..ed7d513fdc376 100644 --- a/packages/gatsby/src/redux/actions/public.js +++ b/packages/gatsby/src/redux/actions/public.js @@ -435,7 +435,7 @@ actions.deleteNode = (node: any, plugin?: Plugin) => { // TODO(v4): Remove this deprecation warning and only allow deleteNode(node) if (node && node.node) { let msg = - `Calling "deleteNode" with an object containing a full node is deprecated. Please pass ` + + `Calling "deleteNode" with {node} is deprecated. Please pass ` + `the node directly to the function: deleteNode(node)` if (plugin && plugin.name) {