What is eslint-config-airbnb?
The eslint-config-airbnb package provides a set of ESLint rules that follow Airbnb's JavaScript style guide. It is widely used in the JavaScript community for enforcing a consistent code style and catching common coding errors.
What are eslint-config-airbnb's main functionalities?
JavaScript Style Rules
Enforces JavaScript style rules as per Airbnb's style guide. This includes rules for syntax, best practices, variable naming, line breaks, and more. The code sample shows how to extend these rules in a project's package.json file.
"eslintConfig": { "extends": "airbnb" }
React Specific Rules
Provides a set of rules specific to React, including hooks rules. This helps in maintaining code quality and consistency in React components. The code sample demonstrates how to extend these rules for React in a project's package.json file.
"eslintConfig": { "extends": "airbnb/hooks" }
Import/Export Rules
Includes rules for managing import/export statements, ensuring they are used correctly and efficiently. The code sample indicates how to use the base rules without React-specific rules in a project's package.json file.
"eslintConfig": { "extends": "airbnb-base" }
Other packages similar to eslint-config-airbnb
eslint-config-standard
This package provides a standard set of rules for JavaScript code style. It is less opinionated than Airbnb and does not enforce JSX or React specific rules. It is a good alternative for those who prefer a more flexible approach to code style.
eslint-config-google
This package includes a set of ESLint rules based on Google's JavaScript style guide. It offers another comprehensive style guide but with different preferences and coding conventions compared to Airbnb's.
eslint-config-prettier
eslint-config-prettier disables all formatting-related ESLint rules that might conflict with Prettier, a code formatter. It is often used in conjunction with other ESLint configs to ensure that ESLint focuses on code-quality rules while Prettier takes care of formatting.
eslint-config-airbnb
This package provides Airbnb's .eslintrc as an extensible shared config.
Usage
We export three ESLint configurations for your usage.
eslint-config-airbnb
Our default export contains all of our ESLint rules, including EcmaScript 6+
and React. It requires eslint
and eslint-plugin-react
.
npm install --save-dev eslint-config-airbnb eslint-plugin-react eslint
- add
"extends": "airbnb"
to your .eslintrc
eslint-config-airbnb/base
Lints ES6+ but does not lint React. Requires eslint
.
npm install --save-dev eslint-config-airbnb eslint
- add
"extends": "airbnb/base"
to your .eslintrc
eslint-config-airbnb/legacy
Lints ES5 and below. Only requires eslint
.
npm install --save-dev eslint-config-airbnb eslint
- add
"extends": "airbnb/legacy"
to your .eslintrc
See Airbnb's Javascript styleguide and
the ESlint config docs
for more information.
Improving this config
Consider adding test cases if you're making complicated rules changes, like
anything involving regexes. Perhaps in a distant future, we could use literate
programming to structure our README as test cases for our .eslintrc?
You can run tests with npm test
.
You can make sure this module lints with itself using npm run lint
.