gatsbyjs/gatsby · error

The updated node was empty. The fact you're seeing this warn

Error message

The updated node was empty. The fact you're seeing this warning means there's probably a bug in how we're creating and processing updates from Drupal.

${JSON.stringify(nodeToUpdate, null, 4)}

What it means

createNodeIfItDoesNotExist receives a null/undefined nodeToUpdate from webhook/preview update processing. This is not caused by user configuration: it indicates the plugin built an empty update payload from a Drupal webhook response — either a plugin bug or an unexpected upstream payload — and the update is skipped instead of creating a broken node.

Source

Thrown at packages/gatsby-source-drupal/src/utils.ts:247

    }
  })

  actions.deleteNode(deletedNode)

  return deletedNode
}

export async function createNodeIfItDoesNotExist({
  nodeToUpdate,
  actions,
  createNodeId,
  createContentDigest,
  getNode,
  reporter,
  pluginOptions,
}) {
  if (!nodeToUpdate) {
    reporter.warn(
      `The updated node was empty. The fact you're seeing this warning means there's probably a bug in how we're creating and processing updates from Drupal.

${JSON.stringify(nodeToUpdate, null, 4)}
      `
    )

    return
  }

  const { createNode } = actions
  const newNodeId = createNodeId(
    createNodeIdWithVersion({
      id: nodeToUpdate.id,
      type: nodeToUpdate.type,
      langcode: getOptions().languageConfig ? nodeToUpdate.langcode : `und`,
      revisionId: nodeToUpdate.meta?.target_version,
      entityReferenceRevisions: getOptions().entityReferenceRevisions,
      typePrefix: pluginOptions.typePrefix,

View on GitHub (pinned to e85d62f177)

Solutions

  1. Inspect the logged nodeToUpdate JSON and compare it with the raw webhook payload from Drupal.
  2. Report the issue to gatsby-source-drupal maintainers with the payload — this signals a plugin or Drupal webhook bug.
  3. As a workaround, trigger a full refresh (gatsby clean && gatsby develop) to re-source the affected content.
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at packages/gatsby-source-drupal/src/utils.ts:247 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26). Data as JSON: /api/errors/e8d06b3a1a580251. Report an issue: GitHub.