npm package: @favware/eslint-config-react-app
Description: Standard ESLint config for Favware projects using React + TypeScript
Author: @favware
Latest version: 2.0.3
Deprecated: Deprecated in favour of @sapphire/eslint-config with eslint-config-react-app so I do not have to maintain two extremely similar ESLint configs

<div align="center">

<img src="https://cdn.favware.tech/img/eslint.png" height="200" alt="logo"/>

# @favware/eslint-config-react-app

**Standard ESLint config for Favware projects using React + TypeScript**

[![GitHub](https://img.shields.io/github/license/favware/node-packages?logo=github&style=flat-square)](https://github.com/favware/node-packages/blob/main/LICENSE.md)
[![Coverage Status](https://coveralls.io/repos/github/favware/node-packages/badge.svg?branch=main)](https://coveralls.io/github/favware/node-packages?branch=main)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/favware/node-packages.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/favware/node-packages/alerts/)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/favware/node-packages.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/favware/node-packages/context:javascript)
[![Coverage Status](https://coveralls.io/repos/github/favware/node-packages/badge.svg?branch=main)](https://coveralls.io/github/favware/node-packages?branch=main)
[![npm](https://img.shields.io/npm/v/@favware/eslint-config-react-app?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/@favware/eslint-config-react-app)
[![Depfu](https://badges.depfu.com/badges/30f62cdba0c569448b5f93d532dad8e4/count.svg)](https://depfu.com/github/favware/node-packages?project_id=15121)

</div>

## Description

This configuration extends the [`@favware/eslint-config`](https://www.npmjs.com/package/@favware/eslint-config) package while adding React specific rules. The React ruleset is heavily based on [`eslint-config-react-app`](https://www.npmjs.com/package/eslint-config-react-app), with the difference being that it's opinionated to Favware code styling.

## Install

### Peer Dependencies

This project has eslint related peer dependencies that can be installed with:

```sh
yarn add -D @favware/eslint-config @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks prettier typescript

# npm install -D @favware/eslint-config @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks prettier typescript
```

### This package

Install with [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):

```sh
yarn add -D @favware/eslint-config-react-app

# npm install -D @favware/eslint-config-react-app
```

## Usage

Add the ESLint config to your `package.json`:

```json
{
  "name": "my-project",
  "eslintConfig": {
    "extends": "@favware/eslint-config-react-app"
  }
}
```

Or to `eslintrc.js` / `.eslintrc.json`:

```json
{
  "extends": "@favware/eslint-config-react-app"
}
```

Create `tsconfig.eslint.json` next to the eslint config file, for example with content:

```json
{
  "extends": "./tsconfig.json",
  "include": ["src", "test"]
}
```

## API Documentation

For the full API documentation please refer to the TypeDoc generated [documentation](https://favware.github.io/node-packages/modules/_favware_eslint_config_react_app.html).

## Buy us some doughnuts

Favware projects are and always will be open source, even if we don't get donations. That being said, we know there are amazing people who may still want to donate just to show their appreciation. Thank you very much in advance!

We accept donations through Open Collective, Ko-fi, Paypal, Patreon and GitHub Sponsorships. You can use the buttons below to donate through your method of choice.

|   Donate With   |                      Address                      |
| :-------------: | :-----------------------------------------------: |
| GitHub Sponsors |  [Click Here](https://github.com/sponsors/Favna)  |
|      Ko-fi      |  [Click Here](https://donate.favware.tech/kofi)   |
|     Patreon     | [Click Here](https://donate.favware.tech/patreon) |
|     PayPal      | [Click Here](https://donate.favware.tech/paypal)  |

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tr>
    <td align="center"><a href="https://favware.tech/"><img src="https://avatars3.githubusercontent.com/u/4019718?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jeroen Claassens</b></sub></a><br /><a href="https://github.com/favware/node-packages/commits?author=Favna" title="Code">💻</a> <a href="#infra-Favna" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#projectManagement-Favna" title="Project Management">📆</a> <a href="https://github.com/favware/node-packages/commits?author=Favna" title="Documentation">📖</a> <a href="https://github.com/favware/node-packages/commits?author=Favna" title="Tests">⚠️</a></td>
  </tr>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!