eslint-plugin-n8n-nodes-base

raw JSON →
1.16.6 verified Sat Apr 25 auth: no javascript

An ESLint plugin providing custom lint rules for developing n8n nodes and credentials. The current stable version is v1.16.6, with active development and frequent releases (multiple versions per month). It offers three configurable rulesets: 'nodes', 'credentials', and 'community', each enabling a set of rules by default. Key differentiators: designed specifically for the n8n ecosystem, includes community package validation rules, and supports user-defined defaults for certain checks. Requires Node.js >=20.15 and uses pnpm >=9.6.

error Error: Failed to load plugin 'n8n-nodes-base' declared in '...': Cannot find module 'eslint-plugin-n8n-nodes-base'
cause Plugin not installed or not in node_modules.
fix
Run: pnpm i -D eslint-plugin-n8n-nodes-base
error TypeError: plugin.rules is not iterable
cause Using incorrect import syntax (e.g., require instead of import).
fix
Use ES module import: import plugin from 'eslint-plugin-n8n-nodes-base'
gotcha Rules are disabled by default when only the plugin is specified; must be individually enabled.
fix Either extend a config (e.g., 'plugin:n8n-nodes-base/nodes') or explicitly enable each rule in the rules object.
breaking Requires Node.js >=20.15 and pnpm >=9.6. Using older versions may cause install or runtime failures.
fix Upgrade Node.js to >=20.15 and use pnpm >=9.6 (e.g., via corepack).
deprecated The autofix for 'node-param-collection-type-unsorted-items' was removed in v1.16.3 due to broken behavior.
fix Manually fix violations instead of relying on autofix for this rule.
npm install eslint-plugin-n8n-nodes-base
yarn add eslint-plugin-n8n-nodes-base
pnpm add eslint-plugin-n8n-nodes-base

Shows ESM usage of eslint-plugin-n8n-nodes-base in flat config: import plugin, register, enable a rule or extend a config.

// .eslintrc.js or eslint.config.js
import plugin from 'eslint-plugin-n8n-nodes-base';

export default [
  {
    plugins: {
      'n8n-nodes-base': plugin,
    },
    rules: {
      'n8n-nodes-base/node-param-default-wrong-for-collection': 'error',
    },
  },
];

// Or use a predefined config:
export default [
  {
    plugins: {
      'n8n-nodes-base': plugin,
    },
    extends: ['plugin:n8n-nodes-base/nodes'],
  },
];