{"id":19845,"library":"eslint-plugin-n8n-nodes-base","title":"eslint-plugin-n8n-nodes-base","description":"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.","status":"active","version":"1.16.6","language":"javascript","source_language":"en","source_url":"https://github.com/ivov/eslint-plugin-n8n-nodes-base","tags":["javascript","n8n","eslint-plugin"],"install":[{"cmd":"npm install eslint-plugin-n8n-nodes-base","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-n8n-nodes-base","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-n8n-nodes-base","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only; use import syntax. The plugin is the default export.","wrong":"const plugin = require('eslint-plugin-n8n-nodes-base')","symbol":"plugin","correct":"import plugin from 'eslint-plugin-n8n-nodes-base'"},{"note":"Named export for accessing rule definitions directly.","symbol":"rules","correct":"import { rules } from 'eslint-plugin-n8n-nodes-base'"},{"note":"Named export for predefined configs like 'nodes', 'credentials', 'community'.","symbol":"configs","correct":"import { configs } from 'eslint-plugin-n8n-nodes-base'"}],"quickstart":{"code":"// .eslintrc.js or eslint.config.js\nimport plugin from 'eslint-plugin-n8n-nodes-base';\n\nexport default [\n  {\n    plugins: {\n      'n8n-nodes-base': plugin,\n    },\n    rules: {\n      'n8n-nodes-base/node-param-default-wrong-for-collection': 'error',\n    },\n  },\n];\n\n// Or use a predefined config:\nexport default [\n  {\n    plugins: {\n      'n8n-nodes-base': plugin,\n    },\n    extends: ['plugin:n8n-nodes-base/nodes'],\n  },\n];","lang":"typescript","description":"Shows ESM usage of eslint-plugin-n8n-nodes-base in flat config: import plugin, register, enable a rule or extend a config."},"warnings":[{"fix":"Either extend a config (e.g., 'plugin:n8n-nodes-base/nodes') or explicitly enable each rule in the rules object.","message":"Rules are disabled by default when only the plugin is specified; must be individually enabled.","severity":"gotcha","affected_versions":"*"},{"fix":"Upgrade Node.js to >=20.15 and use pnpm >=9.6 (e.g., via corepack).","message":"Requires Node.js >=20.15 and pnpm >=9.6. Using older versions may cause install or runtime failures.","severity":"breaking","affected_versions":">=1.16.0"},{"fix":"Manually fix violations instead of relying on autofix for this rule.","message":"The autofix for 'node-param-collection-type-unsorted-items' was removed in v1.16.3 due to broken behavior.","severity":"deprecated","affected_versions":">=1.16.3"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run: pnpm i -D eslint-plugin-n8n-nodes-base","cause":"Plugin not installed or not in node_modules.","error":"Error: Failed to load plugin 'n8n-nodes-base' declared in '...': Cannot find module 'eslint-plugin-n8n-nodes-base'"},{"fix":"Use ES module import: import plugin from 'eslint-plugin-n8n-nodes-base'","cause":"Using incorrect import syntax (e.g., require instead of import).","error":"TypeError: plugin.rules is not iterable"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}