Skip to main content

๐Ÿ“š FAQ

Why you didnโ€™t include ESLint plugins/rules for โ€œXโ€ library?โ€‹

Is Sheriff compatible with โ€œXโ€?โ€‹

Generally speaking, everything that is compatible with ESLint should also be compatible with Sheriff. That said, there are 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 should not follow any of the steps provided on the Next.js website. Only follow Sheriffโ€™s instructions

  • CRA โžœ Compatible. Just add this line to your .env file:

    .env
    DISABLE_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 concerning yourself with linting.

For this reason, vanilla JavaScript is not supported for now, although support may be added later.

Versioning Policyโ€‹

Sheriff follows Semantic Versioning using Conventional Commits and Changesets. SemVer stipulates that projects should define their โ€œpublic APIโ€ so that users can understand the impact of upgrading to a new version. If changes to your configuration are needed for it to continue functioning, we consider it to be a SemVer breaking change. If changes are not needed to your configuration, whether a change is a feature, a patch, or breaking change is determined on a case-by-case basis.