๐ FAQ
Why you didnโt include ESLint plugins/rules for "X" library?โ
- Cypress โ Don't use Cypress. Use Playwright instead
- Testing library โ I believe Sheriff should not encourage wrong testing practices. In my opinion testing library is one of the least efficient ways to test UIs, by principles. In most codebases it does more harm than good. You can use Storybook to test components in isolation and Playwright for any kind of integration and end-to-end tests
- eslint-plugin-unused-imports: anything this plugin does is done better by knip
- import/no-unused-modules: this rule is very slow and and has some issues, it is also hard to get working properly in most codebases. Instead, i recommend knip
Is Sheriff compatible with "X"?โ
Generally speaking, everything that is compatible with ESLint, should also be compatible with Sheriff. That being said, in some cases there can be some nuances:
-
Vite โ Compatible out of the box.
-
Next.js โ Sheriff has explicit support for Next.js. You can enable it in the Sheriff config options. You shouldn't follow any of the steps provided in the Next.js website. Only follow the Sheriff instructions
-
CRA โ Compatible. Just add this line to your
.env
file:.envDISABLE_ESLINT_PLUGIN=true
Does Sheriff support vanilla Javascript codebases?โ
Sheriff is a Typescript-first ESLint configuration. It's focused on Typescript codebases. You can almost consider Sheriff a superset of @typescript-eslint.
If your codebase is not written in Typescript, you should worry about that first, before worrying about linting.
For this reason, vanilla Javascript is not supported as of right now, but support may come at a later time.