{"id":19887,"library":"eslint-plugin-ramda","title":"eslint-plugin-ramda","description":"ESLint plugin providing lint rules for Ramda, a functional programming library. v2.5.1 is the latest stable release (2020-02-19), with v3.0.0 in beta. It helps enforce Ramda idioms, suggest simplifications, and prevent non-idiomatic usage. Unlike generic linting, it is Ramda-specific, with rules like prefer-complement, compose-pipe-style, and map-simplification. Released under the ramda GitHub organization, it follows semantic versioning.","status":"maintenance","version":"2.5.1","language":"javascript","source_language":"en","source_url":"git://github.com/ramda/eslint-plugin-ramda","tags":["javascript","eslint","eslintplugin","eslint-plugin","ramda","fantasy-land"],"install":[{"cmd":"npm install eslint-plugin-ramda","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-ramda","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-ramda","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"The plugin inspects Ramda calls; it expects Ramda as a dependency of the project being linted, though not as a direct dependency of the plugin itself.","package":"ramda","optional":true},{"reason":"Required peer dependency; the plugin extends ESLint.","package":"eslint","optional":false}],"imports":[{"note":"Works with both CJS and ESM, but ESLint config files typically use CommonJS.","wrong":"const plugin = require('eslint-plugin-ramda')","symbol":"default import","correct":"import plugin from 'eslint-plugin-ramda'"},{"note":"Direct access to rules object for custom configurations.","wrong":"","symbol":"rules","correct":"import { rules } from 'eslint-plugin-ramda'"},{"note":"Access recommended or other predefined configs.","wrong":"","symbol":"configs","correct":"import { configs } from 'eslint-plugin-ramda'"}],"quickstart":{"code":"// Install: npm install --save-dev eslint-plugin-ramda\n// In .eslintrc.js:\nmodule.exports = {\n  plugins: ['ramda'],\n  rules: {\n    'ramda/always-simplification': 'warn',\n    'ramda/compose-pipe-style': ['error', 'pipe'],\n    'ramda/prefer-complement': 'warn'\n  }\n};","lang":"javascript","description":"Shows how to install and configure eslint-plugin-ramda in an ESLint config file with three example rules."},"warnings":[{"fix":"Update to v2.5.1 and adapt configs to new rule names and structure.","message":"v2.0.0 merged two plugin projects, dropping v1 rules except prefer-reject.","severity":"breaking","affected_versions":">=1.0.0 <2.0.0"},{"fix":"Use Node >=10 for compatibility with upcoming releases.","message":"v3.0.0-beta deprecates Node.js <=6; final v3 may drop more versions.","severity":"deprecated","affected_versions":">=3.0.0-beta"},{"fix":"Ensure Ramda is imported as 'R' or use options if available in future versions.","message":"Plugin assumes all Ramda calls use the 'R' variable; custom namespace not supported.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Avoid shadowing R.xxx in scopes where linting is active.","message":"Rules may produce false positives when Ramda functions are shadowed or reassigned.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Replace 'prefer-reject' with 'prefer-complement' in ESLint config.","message":"Rule 'prefer-reject' from v1 was dropped in v2; use 'ramda/prefer-complement' instead.","severity":"deprecated","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install --save-dev eslint-plugin-ramda` or `yarn add --dev eslint-plugin-ramda`.","cause":"eslint-plugin-ramda not installed or not in node_modules.","error":"Error: Failed to load plugin 'ramda' declared in '.eslintrc': Cannot find module 'eslint-plugin-ramda'"},{"fix":"Check that the rule name is exactly 'ramda/prefer-complement' and plugin is listed in 'plugins' array.","cause":"Plugin installed but rule name is incorrect or plugin not loaded.","error":"Definition for rule 'ramda/prefer-complement' was not found"},{"fix":"Ensure ESLint version >=4, and use legacy config format if using ESLint >=9 flat config.","cause":"ESLint version incompatible or plugin not compatible with ESLint flat config.","error":"TypeError: Cannot read property 'some' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}