Bitovi's Recommended ESLint Rule Set
Run npm install --save-dev @bitovi/eslint-config
This package ships with several primary configs, containing our full recommendations for that stack. You will usually want to use one of these directly.
- angular
- react
- node
In your Project's ESLint config file, extend one of them.
extends: [
"@bitovi/eslint-config/angular",
]
If you only want a portion of our config or want more fine-grained control, you can access each of our smaller configs direction. In your Project's ESLint config file, extend any of the available configs.
extends: [
"@bitovi/eslint-config/configs/rxjs",
"@bitovi/eslint-config/configs/jest",
]
Config | angular | react |
---|---|---|
angular-a11y | ✅ | |
angular-best-practices | ✅ | |
base | ✅ | ✅ |
import | ✅ | |
jest | ✅ | ✅ |
karma | ✅ | |
ngrx | ✅ | |
react-best-practices | ✅ | |
rxjs | ✅ | |
typescript | ✅ | ✅ |
typescript-strict | ✅ |
Rule | Error Level |
---|---|
@angular-eslint/template/accessibility-alt-text | error |
@angular-eslint/template/accessibility-elements-content | error |
@angular-eslint/template/accessibility-label-has-associated-control | error |
@angular-eslint/template/accessibility-table-scope | error |
@angular-eslint/template/accessibility-valid-aria | error |
@angular-eslint/template/click-events-have-key-events | warn |
@angular-eslint/template/mouse-events-have-key-events | warn |
@angular-eslint/template/no-autofocus | warn |
@angular-eslint/template/no-distracting-elements | error |
@angular-eslint/template/no-positive-tabindex | error |
@bitovi/angular/host-listener-click-events-have-key-events | warn |
@bitovi/angular/host-listener-mouse-events-have-key-events | warn |
Rule | Error Level |
---|---|
@angular-eslint/template/banana-in-box | error |
@angular-eslint/template/button-has-type | warn |
@angular-eslint/template/conditional-complexity | warn |
@angular-eslint/template/cyclomatic-complexity | warn |
@angular-eslint/template/eqeqeq | error |
@angular-eslint/template/no-any | error |
@angular-eslint/template/no-call-expression | error |
@angular-eslint/template/no-duplicate-attributes | error |
@angular-eslint/template/no-negated-async | warn |
@angular-eslint/template/use-track-by-function | warn |
base config includes eslint:recommended
jest config includes jest/recommended
and, depending if you are using angular or react, testing-library/angular
or testing-library/react
.
Rule | Error Level |
---|---|
jest/no-export | off |
jest/valid-expect | off |
ngrx config includes ngrx/recommended
if @ngrx/store or @ngrx/component-store version is less than 14.
Otherwise, ngrx config includes @ngrx/recommended
.
rxjs includes rxjs/recommended
.
typescript includes @typescript-eslint/eslint-recommended
and @typescript-eslint/recommended
.
Come chat with us or ask questions in our Bitovi community Discord.
See what we're up to by following us on Twitter.