Skip to main content

โœจ Features

  • โšก Batteries included: Sheriff is a all-in-one solution. You don't need to install or configure separately anything else. Everything is included here
  • โžฐ Seamless: if you know ESLint, you know Sheriff
  • ๐Ÿ”“ No lock-in: Sheriff has extended capabilities beyond being a simple eslint config, but it's not a framework. You can extend the eslint.config.js beyond Sheriff as much as you like, just like you normally would. Or you can disable any rule Sheriff comes with. Sheriff doesn't impose any limitation. See: configuration
  • ๐Ÿ‘ Frictionless by design: to setup Sheriff and take off, the only input required from the user is running the create-sheriff-config command. The command will automatically infer the details of your project and figure out the optimal Sheriff configuration by itself
  • โ‡† Interoperability: you can plop Sheriff in your project at any moment. create-sheriff-config will configure automatically everything for you and will warn you if you need to take any special precautions. Bottom line: it's never too late to install Sheriff
  • ๐Ÿ” Cutting-edge: Sheriff is one of the first attempts in the wild to adhere to the new eslint configuration format, the FlatConfig. You can use Sheriff to easily and safely migrate your project to the new config format without effort. See: migration guide
  • ๐Ÿ‘Š Sensible: All of the rules that were hand-picked in Sheriff were chosen to counter some problematic real-world scenarios that can occur in production projects and to ensure maximum style consistency. No bloat here. See criteria
  • ๐Ÿ›ก๏ธ Typesafe: The Sheriff configuration file can be typesafe! See: eslint-config-ts
  • ๐Ÿ—„๏ธ Configurable: Sheriff is fully configurable with its own config object. See: configuration
  • ๐Ÿ™ Modular: Sheriff has opt-in support for a wide array of libraries
  • ๐Ÿ†™ SemVer: Sheriff releases follows Semantic Versioning with Conventional Commits standards