Product
Introducing Java Support in Socket
We're excited to announce that Socket now supports the Java programming language.
eslint-config-airbnb
Advanced tools
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.
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" }
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.
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 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.
This package provides Airbnb's .eslintrc as an extensible shared config.
We export three ESLint configurations for your usage.
Our default export contains most of our ESLint rules, including ECMAScript 6+ and React. It requires eslint
, eslint-plugin-import
, eslint-plugin-react
, eslint-plugin-react-hooks
, and eslint-plugin-jsx-a11y
. Note that it does not enable our React Hooks rules. To enable those, see the eslint-config-airbnb/hooks
section.
If you don't need React, see eslint-config-airbnb-base.
npm info "eslint-config-airbnb@latest" peerDependencies
If using npm 5+, use this shortcut
npx install-peerdeps --dev eslint-config-airbnb
If using yarn, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
Otherwise, run npm info "eslint-config-airbnb@latest" peerDependencies
to list the peer dependencies and versions, then run yarn add --dev <dependency>@<version>
for each listed peer dependency.
If using npm < 5, Linux/OSX users can run
(
export PKG=eslint-config-airbnb;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)
Which produces and runs a command like:
npm install --save-dev eslint-config-airbnb eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# eslint-plugin-react-hooks@^#.#.#
If using npm < 5, Windows users can either install all the peer dependencies manually, or use the install-peerdeps cli tool.
npm install -g install-peerdeps
install-peerdeps --dev eslint-config-airbnb
The cli will produce and run a command like:
npm install --save-dev eslint-config-airbnb eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# eslint-plugin-react-hooks@^#.#.#
"extends": "airbnb"
to your .eslintrc
This entry point enables the linting rules for React hooks (requires v16.8+). To use, add "extends": ["airbnb", "airbnb/hooks"]
to your .eslintrc
.
This entry point only errors on whitespace rules and sets all other rules to warnings. View the list of whitespace rules here.
This entry point is deprecated. See eslint-config-airbnb-base.
This entry point is deprecated. See eslint-config-airbnb-base.
See Airbnb's JavaScript styleguide and the ESlint config docs for more information.
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
.
FAQs
Airbnb's ESLint config, following our styleguide
The npm package eslint-config-airbnb receives a total of 3,380,450 weekly downloads. As such, eslint-config-airbnb popularity was classified as popular.
We found that eslint-config-airbnb demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
We're excited to announce that Socket now supports the Java programming language.
Security News
Socket detected a malicious Python package impersonating a popular browser cookie library to steal passwords, screenshots, webcam images, and Discord tokens.
Security News
Deno 2.0 is now available with enhanced package management, full Node.js and npm compatibility, improved performance, and support for major JavaScript frameworks.