{"id":19484,"library":"eslint-config-airbnb","title":"Airbnb ESLint Config","description":"eslint-config-airbnb provides a widely-used ESLint shareable config that enforces Airbnb's JavaScript style guide, including ECMAScript 6+ and React rules. The current version is 19.0.4, requiring eslint ^7.32.0 || ^8.2.0 with peer dependencies for React plugins, import plugin, and JSX accessibility plugin. It is one of the most popular ESLint configs, offering a comprehensive set of opinionated rules. Released under the MIT license, it has a stable release cadence and is actively maintained on GitHub.","status":"active","version":"19.0.4","language":"javascript","source_language":"en","source_url":"https://github.com/airbnb/javascript","tags":["javascript","eslint","eslintconfig","config","airbnb","styleguide","es2015","es2016"],"install":[{"cmd":"npm install eslint-config-airbnb","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-airbnb","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-airbnb","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for ESLint core","package":"eslint","optional":false},{"reason":"Peer dependency for import/export rules","package":"eslint-plugin-import","optional":false},{"reason":"Peer dependency for React-specific rules","package":"eslint-plugin-react","optional":false},{"reason":"Peer dependency for accessibility rules","package":"eslint-plugin-jsx-a11y","optional":false},{"reason":"Peer dependency for React Hooks rules","package":"eslint-plugin-react-hooks","optional":false}],"imports":[{"note":"In .eslintrc, use 'airbnb' as the config name. 'extends' value should not include the full package name.","wrong":"\"extends\": \"eslint-config-airbnb\"","symbol":"extends: 'airbnb'","correct":"\"extends\": \"airbnb\""},{"note":"Must include 'airbnb' as base config separately; 'airbnb/hooks' only adds React Hooks rules.","wrong":"\"extends\": \"airbnb/hooks\"","symbol":"extends: 'airbnb/hooks'","correct":"\"extends\": [\"airbnb\", \"airbnb/hooks\"]"},{"note":"Whitespace config only errors on whitespace rules; others are warnings.","wrong":"\"extends\": \"airbnb\"","symbol":"extends: 'airbnb/whitespace'","correct":"\"extends\": \"airbnb/whitespace\""}],"quickstart":{"code":"// Install with peer dependencies\nnpx install-peerdeps --dev eslint-config-airbnb\n\n// Then add to .eslintrc.json\n{\n  \"extends\": \"airbnb\"\n}\n\n// Or for React Hooks support\n{\n  \"extends\": [\"airbnb\", \"airbnb/hooks\"]\n}","lang":"javascript","description":"Shows how to install eslint-config-airbnb with peer dependencies and configure it in .eslintrc."},"warnings":[{"fix":"Upgrade ESLint to version 7.32.0 or 8.2.0+","message":"v19 requires eslint ^7.32.0 || ^8.2.0, dropping support for ESLint <7","severity":"breaking","affected_versions":">=19.0.0"},{"fix":"Replace with eslint-config-airbnb-base package","message":"eslint-config-airbnb/base and eslint-config-airbnb/legacy are deprecated; use eslint-config-airbnb-base","severity":"deprecated","affected_versions":">=19.0.0"},{"fix":"Use official install command: npx install-peerdeps --dev eslint-config-airbnb","message":"Auto-installing peer dependencies incorrectly may cause version mismatches","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Install the correct version: npm info 'eslint-config-airbnb@latest' peerDependencies","cause":"eslint-plugin-import is not installed or version incompatible","error":"Error: Failed to load plugin 'import'"},{"fix":"Install eslint-plugin-react as a dev dependency","cause":"eslint-plugin-react is not installed","error":"Error: Failed to load plugin 'react'"},{"fix":"Ensure package is installed and use 'airbnb' (not full name) in extends","cause":"Config name is misspelled or package not installed","error":"Error: Cannot find module 'eslint-config-airbnb'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}