n8n/packages/@n8n/eslint-plugin-community-nodes
n8n-assistant[bot] 8e81f3e313
🚀 Release 2.10.0 (#26135)
Co-authored-by: tomi <10324676+tomi@users.noreply.github.com>
2026-02-23 15:57:44 +00:00
..
docs/rules feat: Add docs to @n8n/eslint-plugin-community-nodes (#20266) 2025-10-13 13:03:30 +02:00
src feat: Update CLI examples (#25881) 2026-02-19 14:11:47 +00:00
eslint.config.mjs feat: Add docs to @n8n/eslint-plugin-community-nodes (#20266) 2025-10-13 13:03:30 +02:00
package.json 🚀 Release 2.10.0 (#26135) 2026-02-23 15:57:44 +00:00
README.md feat: Add docs to @n8n/eslint-plugin-community-nodes (#20266) 2025-10-13 13:03:30 +02:00
tsconfig.build.json feat: Add docs to @n8n/eslint-plugin-community-nodes (#20266) 2025-10-13 13:03:30 +02:00
tsconfig.eslint.json feat: Add docs to @n8n/eslint-plugin-community-nodes (#20266) 2025-10-13 13:03:30 +02:00
tsconfig.json feat: Add docs to @n8n/eslint-plugin-community-nodes (#20266) 2025-10-13 13:03:30 +02:00
vite.config.ts feat: Add community node ESLint plugin, use in scanner (#19660) 2025-09-26 14:41:35 +02:00

@n8n/eslint-plugin-community-nodes

ESLint plugin for linting n8n community node packages to ensure consistency and best practices.

Install

npm install --save-dev eslint @n8n/eslint-plugin-community-nodes

**Requires ESLint >=9 and flat config

Usage

See the ESLint docs for more information about extending config files.

This plugin exports a recommended config that enforces good practices.

import { n8nCommunityNodesPlugin } from '@n8n/eslint-plugin-community-nodes';

export default [
		// …
		n8nCommunityNodesPlugin.configs.recommended,
		{
			rules: {
				'@n8n/community-nodes/node-usable-as-tool': 'warn',
			},
		},
];

Rules

💼 Configurations enabled in.
⚠️ Configurations set to warn in.
Set in the recommended configuration.
☑️ Set in the recommendedWithoutN8nCloudSupport configuration.
🔧 Automatically fixable by the --fix CLI option.
💡 Manually fixable by editor suggestions.

Name                             Description 💼 ⚠️ 🔧 💡
credential-documentation-url Enforce valid credential documentationUrl format (URL or camelCase slug) ☑️
credential-password-field Ensure credential fields with sensitive names have typeOptions.password = true ☑️ 🔧
credential-test-required Ensure credentials have a credential test ☑️ 💡
icon-validation Validate node and credential icon files exist, are SVG format, and light/dark icons are different ☑️ 💡
no-credential-reuse Prevent credential re-use security issues by ensuring nodes only reference credentials from the same package ☑️ 💡
no-deprecated-workflow-functions Disallow usage of deprecated functions and types from n8n-workflow package ☑️ 💡
no-restricted-globals Disallow usage of restricted global variables in community nodes.
no-restricted-imports Disallow usage of restricted imports in community nodes.
node-usable-as-tool Ensure node classes have usableAsTool property ☑️ 🔧
package-name-convention Enforce correct package naming convention for n8n community nodes ☑️ 💡
resource-operation-pattern Enforce proper resource/operation pattern for better UX in n8n nodes ☑️