Merged
Size
M
Change Breakdown
Feature70%
Docs20%
Config10%
#28118feat(core): Add missing-paired-item lint rule for community nodes

Community nodes now checked for missing data lineage

Community nodes now checked for missing data lineage

A new ESLint rule automatically catches community nodes that forget to include the pairedItem property on their returned data, preventing a common review blocker and keeping workflow data linked properly.

When community node developers forget to include the pairedItem property on data returned from their execute() methods, downstream nodes lose the ability to trace where that data came from. Expressions like $('NodeName').item silently fail, and workflow authors are left debugging mysterious empty results with no clue why.

A new ESLint rule now catches this automatically during development. The rule scans .node.ts files for INodeType classes, flags any object literals with a json property but no pairedItem inside execute() methods, and points developers directly to the fix. It smartly skips cases where pairing is handled automatically via constructExecutionMetaData() or already present through spread elements.

The rule is enabled by default in the recommended community nodes ESLint configuration, eliminating a review bottleneck that appeared across most community node submissions. Developers get immediate, actionable feedback instead of waiting for manual review cycles.

View Original GitHub Description

Summary

Add new ESLint rule @n8n/community-nodes/missing-paired-item that detects INodeExecutionData objects missing pairedItem in execute() methods. This is the most common blocking finding in community node reviews (4 occurrences across 8 reviewed tickets).

The rule:

  • Only applies to .node.ts files in INodeType classes
  • Flags object literals with json but no pairedItem inside execute() methods
  • Skips objects inside constructExecutionMetaData() (which adds pairing via itemData)
  • Skips objects with spread elements (may already contain pairedItem)
  • Uses a known-keys heuristic to avoid false positives on non-INodeExecutionData objects

Related Linear tickets, Github issues, and Community forum posts

https://linear.app/n8n/issue/CE-731

Review / Merge checklist

  • PR title and summary are descriptive. (conventions)
  • Docs updated or follow-up ticket created.
  • Tests included.
  • PR Labeled with Backport to Beta, Backport to Stable, or Backport to v1 (if the PR is an urgent fix that needs to be backported)
© 2026 · via Gitpulse