eslint-config-sheriff is a comprehensive and opinionated TypeScript-first ESLint configuration. Version 31.3.0 is the latest stable release, with frequent updates (minor/patch releases weekly). It integrates over 20 ESLint plugins including Prettier, Playwright, JSDoc, Lodash, SonarJS, Unicorn, React, Next.js, and Storybook. Unlike generic ESLint configs, Sheriff provides strict defaults out of the box and requires minimal setup. It ships with TypeScript types and supports ESLint 9+ flat config. Maintained actively, with a dedicated website and CLI tool for scaffolding.
npm install eslint-config-sheriffVerified import paths — ran on the pinned version, not inferred.
Shows how to import and configure sheriffConfig with optional framework support in an ESLint flat config file.
Use 'import { sheriffConfig } from 'eslint-config-sheriff'' in your config file.Replace 'import { defineConfig } from 'eslint-config-sheriff' with 'import { defineConfig } from 'eslint/config'.Ensure your project is using ESM (type: module in package.json) as the package is ESM-only.
Migrate to ESM imports.
Run 'npx install-peerdeps eslint-config-sheriff' to install missing peer deps automatically.
Run 'npm install eslint-config-sheriff@latest' and ensure your Node.js version is >=22.21.1.
Use 'import { sheriffConfig } from 'eslint-config-sheriff' and ensure your project has 'type: module' in package.json.Add 'eslint-config-sheriff' to tsconfig.json's 'types' array or install @types/eslint.
Ensure your ESLint config extends the recommended setup from sheriff, or explicitly set 'parserOptions.project: true'.