npm package: @openinvest/eslint-config
Description: OpenInvest ESLint config
Latest version: 1.1.5

# @openinvest/eslint-config

> OpenInvest [ESLint](https://eslint.org/docs/developer-guide/shareable-configs) config.

## Usage

NOTE: For Node projects, you may want to disable `no-console` when extending this config, since console logging might be of use to you.

### Install (macOS, Linux)

```bash
yarn add --dev @typescript-eslint/eslint-plugin \
               @typescript-eslint/parser \
               babel-eslint \
               eslint \
               prettier \
               eslint-config-prettier \
               eslint-plugin-prettier \
               eslint-plugin-react \
               eslint-plugin-react-native \
               typescript \
               @openinvest/eslint-config
```

### Install (Windows)

```powershell
yarn add --dev @typescript-eslint/eslint-plugin ^
               @typescript-eslint/parser ^
               babel-eslint ^
               eslint ^
               prettier ^
               eslint-config-prettier ^
               eslint-plugin-prettier ^
               eslint-plugin-react ^
               eslint-plugin-react-native ^
               typescript ^
               @openinvest/eslint-config
```

### Update your `.eslintrc.json`

```jsonc
{
  // ...
  "extends": "@openinvest/eslint-config"
}
```

## Set of rules

- [`accessor-pairs`](https://eslint.org/docs/rules/accessor-pairs)
- [`constructor-super`](https://eslint.org/docs/rules/constructor-super)
- [`curly`](https://eslint.org/docs/rules/curly)
- [`dot-location`](https://eslint.org/docs/rules/dot-location)
- [`eqeqeq`](https://eslint.org/docs/rules/eqeqeq)
- [`handle-callback-err`](https://eslint.org/docs/rules/handle-callback-err)
- [`new-cap`](https://eslint.org/docs/rules/new-cap)
- [`no-array-constructor`](https://eslint.org/docs/rules/no-array-constructor)
- [`no-caller`](https://eslint.org/docs/rules/no-caller)
- [`no-class-assign`](https://eslint.org/docs/rules/no-class-assign)
- [`no-compare-neg-zero`](https://eslint.org/docs/rules/no-compare-neg-zero)
- [`no-cond-assign`](https://eslint.org/docs/rules/no-cond-assign)
- [`no-console`](https://eslint.org/docs/rules/no-console)
- [`no-const-assign`](https://eslint.org/docs/rules/no-const-assign)
- [`no-constant-condition`](https://eslint.org/docs/rules/no-constant-condition)
- [`no-control-regex`](https://eslint.org/docs/rules/no-control-regex)
- [`no-debugger`](https://eslint.org/docs/rules/no-debugger)
- [`no-delete-var`](https://eslint.org/docs/rules/no-delete-var)
- [`no-dupe-args`](https://eslint.org/docs/rules/no-dupe-args)
- [`no-dupe-class-members`](https://eslint.org/docs/rules/no-dupe-class-members)
- [`no-dupe-keys`](https://eslint.org/docs/rules/no-dupe-keys)
- [`no-duplicate-case`](https://eslint.org/docs/rules/no-duplicate-case)
- [`no-else-return`](https://eslint.org/docs/rules/no-else-return)
- [`no-empty-character-class`](https://eslint.org/docs/rules/no-empty-character-class)
- [`no-empty-pattern`](https://eslint.org/docs/rules/no-empty-pattern)
- [`no-eval`](https://eslint.org/docs/rules/no-eval)
- [`no-ex-assign`](https://eslint.org/docs/rules/no-ex-assign)
- [`no-extend-native`](https://eslint.org/docs/rules/no-extend-native)
- [`no-extra-bind`](https://eslint.org/docs/rules/no-extra-bind)
- [`no-extra-boolean-cast`](https://eslint.org/docs/rules/no-extra-boolean-cast)
- [`no-extra-parens`](https://eslint.org/docs/rules/no-extra-parens)
- [`no-fallthrough`](https://eslint.org/docs/rules/no-fallthrough)
- [`no-floating-decimal`](https://eslint.org/docs/rules/no-floating-decimal)
- [`no-func-assign`](https://eslint.org/docs/rules/no-func-assign)
- [`no-global-assign`](https://eslint.org/docs/rules/no-global-assign)
- [`no-implied-eval`](https://eslint.org/docs/rules/no-implied-eval)
- [`no-inner-declarations`](https://eslint.org/docs/rules/no-inner-declarations)
- [`no-invalid-regexp`](https://eslint.org/docs/rules/no-invalid-regexp)
- [`no-iterator`](https://eslint.org/docs/rules/no-iterator)
- [`no-label-var`](https://eslint.org/docs/rules/no-label-var)
- [`no-labels`](https://eslint.org/docs/rules/no-labels)
- [`no-lone-blocks`](https://eslint.org/docs/rules/no-lone-blocks)
- [`no-lonely-if`](https://eslint.org/docs/rules/no-lonely-if)
- [`no-multi-str`](https://eslint.org/docs/rules/no-multi-str)
- [`no-negated-in-lhs`](https://eslint.org/docs/rules/no-negated-in-lhs)
- [`no-new-func`](https://eslint.org/docs/rules/no-new-func)
- [`no-new-object`](https://eslint.org/docs/rules/no-new-object)
- [`no-new-require`](https://eslint.org/docs/rules/no-new-require)
- [`no-new-symbol`](https://eslint.org/docs/rules/no-new-symbol)
- [`no-new-wrappers`](https://eslint.org/docs/rules/no-new-wrappers)
- [`no-new`](https://eslint.org/docs/rules/no-new)
- [`no-obj-calls`](https://eslint.org/docs/rules/no-obj-calls)
- [`no-octal-escape`](https://eslint.org/docs/rules/no-octal-escape)
- [`no-octal`](https://eslint.org/docs/rules/no-octal)
- [`no-path-concat`](https://eslint.org/docs/rules/no-path-concat)
- [`no-proto`](https://eslint.org/docs/rules/no-proto)
- [`no-redeclare`](https://eslint.org/docs/rules/no-redeclare)
- [`no-return-assign`](https://eslint.org/docs/rules/no-return-assign)
- [`no-return-await`](https://eslint.org/docs/rules/no-return-await)
- [`no-self-assign`](https://eslint.org/docs/rules/no-self-assign)
- [`no-self-compare`](https://eslint.org/docs/rules/no-self-compare)
- [`no-sequences`](https://eslint.org/docs/rules/no-sequences)
- [`no-shadow-restricted-names`](https://eslint.org/docs/rules/no-shadow-restricted-names)
- [`no-sparse-arrays`](https://eslint.org/docs/rules/no-sparse-arrays)
- [`no-this-before-super`](https://eslint.org/docs/rules/no-this-before-super)
- [`no-throw-literal`](https://eslint.org/docs/rules/no-throw-literal)
- [`no-undef-init`](https://eslint.org/docs/rules/no-undef-init)
- [`no-undef`](https://eslint.org/docs/rules/no-undef)
- [`no-unmodified-loop-condition`](https://eslint.org/docs/rules/no-unmodified-loop-condition)
- [`no-unneeded-ternary`](https://eslint.org/docs/rules/no-unneeded-ternary)
- [`no-unreachable`](https://eslint.org/docs/rules/no-unreachable)
- [`no-unsafe-finally`](https://eslint.org/docs/rules/no-unsafe-finally)
- [`no-unsafe-negation`](https://eslint.org/docs/rules/no-unsafe-negation)
- [`no-useless-call`](https://eslint.org/docs/rules/no-useless-call)
- [`no-useless-computed-key`](https://eslint.org/docs/rules/no-useless-computed-key)
- [`no-useless-constructor`](https://eslint.org/docs/rules/no-useless-constructor)
- [`no-useless-escape`](https://eslint.org/docs/rules/no-useless-escape)
- [`no-useless-rename`](https://eslint.org/docs/rules/no-useless-rename)
- [`no-useless-return`](https://eslint.org/docs/rules/no-useless-return)
- [`no-var`](https://eslint.org/docs/rules/no-var)
- [`no-with`](https://eslint.org/docs/rules/no-with)
- [`object-property-newline`](https://eslint.org/docs/rules/object-property-newline)
- [`one-var`](https://eslint.org/docs/rules/one-var)
- [`prefer-arrow-callback`](https://eslint.org/docs/rules/prefer-arrow-callback)
- [`prefer-promise-reject-errors`](https://eslint.org/docs/rules/prefer-promise-reject-errors)
- [`prefer-template`](https://eslint.org/docs/rules/prefer-template)
- [`sort-vars`](https://eslint.org/docs/rules/sort-vars)
- [`strict`](https://eslint.org/docs/rules/strict)
- [`symbol-description`](https://eslint.org/docs/rules/symbol-description)
- [`unicode-bom`](https://eslint.org/docs/rules/unicode-bom)
- [`use-isnan`](https://eslint.org/docs/rules/use-isnan)
- [`valid-typeof`](https://eslint.org/docs/rules/valid-typeof)
- [`wrap-iife`](https://eslint.org/docs/rules/wrap-iife)
- [`yoda`](https://eslint.org/docs/rules/yoda)