# eslint-config-react-app

> ESLint configuration used by Create React App

Latest version **7.0.1** (published 2022-04-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install eslint-config-react-app
pnpm add eslint-config-react-app
yarn add eslint-config-react-app
bun add eslint-config-react-app
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: no vulnerabilities; popular repo; extremely popular.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 7.0.1 |
| Published | 2022-04-12 |
| First published | 2016-09-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=14.0.0 |
| Dependencies | 14 |
| Unpacked size | 19.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 103254 |
| Maintainers | gaearon, fb, timer, iansu, ianschmitz |

## Links

- npm: https://www.npmjs.com/package/eslint-config-react-app
- Repository: https://github.com/facebook/create-react-app
- Homepage: https://github.com/facebook/create-react-app#readme
- Issues: https://github.com/facebook/create-react-app/issues
- npm.io page: https://npm.io/package/eslint-config-react-app

## Dependencies (14)

- [@babel/core](https://npm.io/package/@babel/core.md) ^7.16.0
- [eslint-plugin-jest](https://npm.io/package/eslint-plugin-jest.md) ^25.3.0
- [eslint-plugin-react](https://npm.io/package/eslint-plugin-react.md) ^7.27.1
- [@babel/eslint-parser](https://npm.io/package/@babel/eslint-parser.md) ^7.16.3
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.25.3
- [babel-preset-react-app](https://npm.io/package/babel-preset-react-app.md) ^10.0.1
- [eslint-plugin-flowtype](https://npm.io/package/eslint-plugin-flowtype.md) ^8.0.3
- [eslint-plugin-jsx-a11y](https://npm.io/package/eslint-plugin-jsx-a11y.md) ^6.5.1
- [@rushstack/eslint-patch](https://npm.io/package/@rushstack/eslint-patch.md) ^1.1.0
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) ^5.5.0
- [confusing-browser-globals](https://npm.io/package/confusing-browser-globals.md) ^1.0.11
- [eslint-plugin-react-hooks](https://npm.io/package/eslint-plugin-react-hooks.md) ^4.3.0
- [eslint-plugin-testing-library](https://npm.io/package/eslint-plugin-testing-library.md) ^5.0.1
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) ^5.5.0

## Recent versions

- 7.0.1 (latest) — 2022-04-12
- 7.1.0-next.26 (next) — 2025-02-14
- 5.1.0-next.61 (canary) — 2019-10-24
- 7.1.0-next.14 — 2022-04-12
- 7.0.0 — 2021-12-14
- 7.0.0-next.104 — 2021-12-14
- 7.0.0-next.102 — 2021-12-08
- 7.0.0-next.91 — 2021-10-04
- 7.0.0-next.81 — 2021-09-01
- 7.0.0-next.75 — 2021-08-04
- 6.0.0 — 2020-10-23
- 6.0.0-next.117 — 2020-10-23
- 6.0.0-next.116 — 2020-10-23
- 6.0.0-next.98 — 2020-09-16
- 6.0.0-next.96 — 2020-09-16
- … 70 more at https://npm.io/package/eslint-config-react-app/versions

## README

# eslint-config-react-app

This package includes the shareable ESLint configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.

## Usage in Create React App Projects

The easiest way to use this configuration is with [Create React App](https://github.com/facebook/create-react-app), which includes it by default.

**You don’t need to install it separately in Create React App projects.**

## Usage Outside of Create React App

If you want to use this ESLint configuration in a project not built with Create React App, you can install it with the following steps.

First, install this package and ESLint.

```sh
npm install --save-dev eslint-config-react-app eslint@^8.0.0
```

Then create a file named `.eslintrc.json` with following contents in the root folder of your project:

```json
{
  "extends": "react-app"
}
```

That's it! You can override the settings from `eslint-config-react-app` by editing the `.eslintrc.json` file. Learn more about [configuring ESLint](https://eslint.org/docs/user-guide/configuring) on the ESLint website.

## Jest rules

This config also ships with optional Jest rules for ESLint (based on [`eslint-plugin-jest`](https://github.com/jest-community/eslint-plugin-jest)).

You can enable these rules by adding the Jest config to the `extends` array in your ESLint config.

```json
{
  "extends": ["react-app", "react-app/jest"]
}
```

## Accessibility Checks

The following rules from the [eslint-plugin-jsx-a11y](https://github.com/evcohen/eslint-plugin-jsx-a11y) plugin are activated:

- [alt-text](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/alt-text.md)
- [anchor-has-content](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-has-content.md)
- [aria-activedescendant-has-tabindex](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-activedescendant-has-tabindex.md)
- [aria-props](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-props.md)
- [aria-proptypes](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-proptypes.md)
- [aria-role](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-role.md)
- [aria-unsupported-elements](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-unsupported-elements.md)
- [heading-has-content](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/heading-has-content.md)
- [href-no-hash](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/v5.1.1/docs/rules/href-no-hash.md)
- [iframe-has-title](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/iframe-has-title.md)
- [img-redundant-alt](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/img-redundant-alt.md)
- [no-access-key](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-access-key.md)
- [no-distracting-elements](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-distracting-elements.md)
- [no-redundant-roles](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-redundant-roles.md)
- [role-has-required-aria-props](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/role-has-required-aria-props.md)
- [role-supports-aria-props](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/role-supports-aria-props.md)
- [scope](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/scope.md)

If you want to enable even more accessibility rules, you can create an `.eslintrc.json` file in the root of your project with this content:

```json
{
  "extends": ["react-app", "plugin:jsx-a11y/recommended"],
  "plugins": ["jsx-a11y"]
}
```

However, if you are using [Create React App](https://github.com/facebook/create-react-app) and have not ejected, any additional rules will only be displayed in the [IDE integrations](https://facebook.github.io/create-react-app/docs/setting-up-your-editor#displaying-lint-output-in-the-editor), but not in the browser or the terminal.

---
_Source: https://npm.io/package/eslint-config-react-app · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
