# @hack4impact-uiuc/eslint-plugin

> An ESLint plugin intended for use with Hack4Impact UIUC projects.

Latest version **2.0.11** (published 2021-05-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @hack4impact-uiuc/eslint-plugin
pnpm add @hack4impact-uiuc/eslint-plugin
yarn add @hack4impact-uiuc/eslint-plugin
bun add @hack4impact-uiuc/eslint-plugin
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.11 |
| Published | 2021-05-24 |
| First published | 2020-05-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 27.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | Hack4Impact UIUC |
| Maintainers | tko16, arpanlaha |
| Keywords | eslint, eslint-plugin, h4i, h4iuiuc, hack4impact, uiuc, hack4impact-uiuc |

## Links

- npm: https://www.npmjs.com/package/@hack4impact-uiuc/eslint-plugin
- Repository: https://github.com/hack4impact-uiuc/eslint-plugin
- Homepage: https://github.com/hack4impact-uiuc/eslint-plugin#readme
- Issues: https://github.com/hack4impact-uiuc/eslint-plugin/issues
- npm.io page: https://npm.io/package/@hack4impact-uiuc/eslint-plugin

## Dependencies (8)

- [typescript](https://npm.io/package/typescript.md) ^4.2.4
- [eslint-plugin-react](https://npm.io/package/eslint-plugin-react.md) ^7.23.2
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.23.0
- [eslint-plugin-jsx-a11y](https://npm.io/package/eslint-plugin-jsx-a11y.md) ^6.4.1
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) ^4.25.0
- [eslint-plugin-react-hooks](https://npm.io/package/eslint-plugin-react-hooks.md) ^4.2.0
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) ^4.25.0
- [@typescript-eslint/typescript-estree](https://npm.io/package/@typescript-eslint/typescript-estree.md) ^4.25.0

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 2.0.11 (latest) — 2021-05-24
- 2.0.10 — 2021-01-26
- 2.0.9 — 2021-01-20
- 2.0.8 — 2021-01-20
- 2.0.7 — 2021-01-20
- 2.0.6 — 2021-01-18
- 2.0.5 — 2021-01-18
- 2.0.4 — 2020-09-03
- 2.0.3 — 2020-08-13
- 2.0.2 — 2020-08-13
- 2.0.1 — 2020-05-31
- 2.0.0 — 2020-05-26
- 2.0.0-preview.4 — 2020-05-26
- 2.0.0-preview.3 — 2020-05-26
- 2.0.0-preview.2 — 2020-05-26
- … 1 more at https://npm.io/package/@hack4impact-uiuc/eslint-plugin/versions

## README

# eslint-plugin [![npm package](https://img.shields.io/npm/v/@hack4impact-uiuc/eslint-plugin)](https://www.npmjs.com/package/@hack4impact-uiuc/eslint-plugin) [![build](https://img.shields.io/github/workflow/status/hack4impact-uiuc/eslint-plugin/CD)](https://github.com/hack4impact-uiuc/eslint-plugin/actions?query=workflow%3ACD)

An ESLint plugin intended for use with Hack4Impact UIUC projects.

## Installation

You'll first need to install [ESLint](http://eslint.org):

```shell
npm install eslint --save-dev
```

Next, install `@hack4impact-uiuc/eslint-plugin`:

```shell
npm install @hack4impact-uiuc/eslint-plugin --save-dev
```

## Usage

To enable `@hack4impact-uiuc/eslint-plugin`, you'll need to create a `.eslintrc.json` file for ESLint configuration.

This plugin abstracts away configuration from the user, with three different configs drawing from `eslint-plugin-import`, `@typescript-eslint/eslint-plugin`, `eslint-plugin-jsx-a11y`, `eslint-plugin-react`, and `eslint-plugin-react-hooks`:

- `base`: for use with any JavaScript project
- `react`: for use with React projects
- `typescript` for use with projects using TypeScript

For a JavaScript-only React app all you'll need to have in your `.eslintrc.json` file is the following:

```json
{
  "plugins": ["@hack4impact-uiuc"],
  "extends": ["plugin:@hack4impact-uiuc/base", "plugin:@hack4impact-uiuc/react"]
}
```

If your app uses TypeScript at all, you'll want to use `@typescript-eslint/eslint-plugin` by extending the `typescript` config as follows (this example is for a React app):

```json
{
  "plugins": ["@hack4impact-uiuc"],
  "extends": [
    "plugin:@hack4impact-uiuc/base",
    "plugin:@hack4impact-uiuc/react",
    "plugin:@hack4impact-uiuc/typescript"
  ]
}
```

If you need to modify or disable specific rules, you can do so in the `rules` section of your `.eslintrc.json` file. For example, if you wish to disable `no-redundant-functions`, add the following to your `.eslintrc.json` file:

```json
{
  "rules": {
    "@hack4impact-uiuc/no-redundant-functions": "off"
  }
}
```

Note that disabling rules from plugins requires prefixing them with their corresponding scope and/or plugin name.

## Supported Rules

### Rules

| Rule                                                                      | Default                   | Fixable |
| ------------------------------------------------------------------------- | ------------------------- | ------- |
| [**no-access-state-after-set**](/docs/rules/no-access-state-after-set.md) | :triangular_flag_on_post: | :x:     |
| [**no-null-ternary**](/docs/rules/no-null-ternary.md)                     | :triangular_flag_on_post: | :x:     |
| [**no-redundant-functions**](/docs/rules/no-redundant-functions.md)       | :triangular_flag_on_post: | :x:     |

### Key

| Symbol                    | Meaning                     |
| ------------------------- | --------------------------- |
| :triangular_flag_on_post: | Error                       |
| :warning:                 | Warning                     |
| :heavy_multiplication_x:  | Off                         |
| :heavy_check_mark:        | Fixable and autofix-enabled |
| :x:                       | Not fixable                 |

---
_Source: https://npm.io/package/@hack4impact-uiuc/eslint-plugin · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
