{"id":19918,"library":"eslint-plugin-remeda","title":"eslint-plugin-remeda","description":"An ESLint plugin that provides lint rules for the Remeda functional programming utility library. The current stable version is 2.1.0, released on 2025-11-02, with a fast cadence of minor releases every few months. It requires ESLint >=9.0.0 and Node >=22. Key differentiators: it is the only dedicated ESLint plugin for Remeda, offers 14 rules (most auto-fixable), includes a recommended configuration, and is written in TypeScript with type definitions included. It was originally forked from eslint-plugin-lodash-f and adapted for Remeda's API.","status":"active","version":"2.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/AndreaPontrandolfo/eslint-plugin-remeda","tags":["javascript","eslint","eslint-plugin","eslint plugin","eslintplugin","remeda","functional","fp","typescript"],"install":[{"cmd":"npm install eslint-plugin-remeda","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-remeda","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-remeda","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency, required for plugin to function","package":"eslint","optional":false},{"reason":"plugin assumes usage of remeda library in the project","package":"remeda","optional":true}],"imports":[{"note":"ESM-only since v1.0.0; use default import in flat config. For CommonJS, use dynamic import or upgrade.","wrong":"const remedaPlugin = require('eslint-plugin-remeda')","symbol":"eslint-plugin-remeda","correct":"import remedaPlugin from 'eslint-plugin-remeda'"},{"note":"Named export for accessing individual rule definitions, e.g., for custom configurations.","wrong":"","symbol":"rules","correct":"import { rules } from 'eslint-plugin-remeda'"},{"note":"Named export for predefined configurations like 'recommended'. Not available as default export.","wrong":"const configs = require('eslint-plugin-remeda').configs","symbol":"configs","correct":"import { configs } from 'eslint-plugin-remeda'"}],"quickstart":{"code":"// eslint.config.js (flat config)\nimport remedaPlugin from 'eslint-plugin-remeda';\n\nexport default [\n  {\n    plugins: {\n      remeda: remedaPlugin,\n    },\n    rules: {\n      ...remedaPlugin.configs.recommended.rules,\n      // Override or add additional rules\n      'remeda/prefer-constant': 'warn',\n      'remeda/prefer-filter': 'error',\n      'remeda/collection-method-value': 'error',\n    },\n  },\n];\n","lang":"javascript","description":"Sets up the plugin in an ESLint flat config, applies recommended rules, and overrides two specific rules."},"warnings":[{"fix":"Use flat config (eslint.config.js) and ESLint v9+. If using eslintrc, stay on older versions or migrate.","message":"Requires ESLint >=9.0.0. Not compatible with legacy eslintrc format.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Upgrade Node.js to version 22 or later.","message":"Node.js >=22 required as of v2.0.0.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use 'prefer-is-nullish' instead.","message":"Rule 'prefer-is-nil' was removed in v1.5.0.","severity":"deprecated","affected_versions":">=1.5.0"},{"fix":"Apply configs.recommended or manually enable desired rules.","message":"All rules are off by default unless using the recommended configuration.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Install remeda separately: pnpm add remeda.","message":"Plugin expects remeda to be installed, but it is not a peer dependency.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'pnpm add -D eslint-plugin-remeda' and ensure the import is correct in the flat config.","cause":"Plugin not installed or not properly registered in ESLint config.","error":"ESLint couldn't find the plugin 'eslint-plugin-remeda'."},{"fix":"Add 'remeda: remedaPlugin' to plugins object.","cause":"Plugin not registered in the 'plugins' section of flat config.","error":"Error: Rule 'remeda/prefer-constant' is not defined."},{"fix":"Migrate to flat config (eslint.config.js).","cause":"Using eslintrc format which is not supported.","error":"Error: Failed to load config 'remeda/recommended' from 'eslint-plugin-remeda'."},{"fix":"Use dynamic import or switch to ESM.","cause":"CommonJS require not supported in plugin v1+.","error":"node:internal/modules/cjs/loader: ... Error: Cannot find module 'eslint-plugin-remeda'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}