n8n/packages/@n8n/eslint-plugin-community-nodes/docs/rules/require-node-description-fields.md

1.2 KiB

Node class description must define all required fields: icon, subtitle (@n8n/community-nodes/require-node-description-fields)

💼 This rule is enabled in the following configs: recommended, ☑️ recommendedWithoutN8nCloudSupport.

Rule Details

Enforces that community node class descriptions include fields that are optional in the TypeScript interface but required by community node review standards.

This rule supersedes node-class-description-icon-missing, which only checked for the icon field.

Examples

Incorrect

export class MyNode implements INodeType {
  description: INodeTypeDescription = {
    displayName: 'My Node',
    name: 'myNode',
    icon: 'file:myNode.svg',
    group: ['transform'],
    version: 1,
    description: 'My node description',
    // Missing subtitle
  };
}

Correct

export class MyNode implements INodeType {
  description: INodeTypeDescription = {
    displayName: 'My Node',
    name: 'myNode',
    icon: 'file:myNode.svg',
    group: ['transform'],
    version: 1,
    description: 'My node description',
    subtitle: '={{$parameter["operation"]}}',
    // ...
  };
}