@sanity/eslint-config-studio
v6.0.0
Published
The ESLint configuration that ships with new Sanity Studio projects. Designed to be relatively unobtrusive to help find bugs instead enforce opinions.
Downloads
645,310
Readme
@sanity/eslint-config-studio
The ESLint configuration that ships with new Sanity Studio projects.
Designed to be relatively unobtrusive to help find bugs instead enforce opinions.
Installation
Install
yarn add eslint @sanity/eslint-config-studio --devor
npm install eslint @sanity/eslint-config-studio --save-devUpdate the configuration
Add the following to eslint.config.mjs
import studio from '@sanity/eslint-config-studio'
export default [...studio]Version compatibility
This package is designed to work with ESLint >= 10, and requires Node.js >= 22.13.
| ESLint | @sanity/eslint-config-studio |
| ------- | -------------------------------------------------------------------- |
| >= 10 | 7 |
| 9 | 6 |
| <= 8 | 4 |
See MIGRATION.md when upgrading between majors. Upgrading to 7 renames every React rule, so read it before you upgrade.
Plugins
| Plugin | Namespace | Covers |
| -------------------------------------------------------------------------------------- | --------------- | ----------------- |
| @eslint-react/eslint-plugin | @eslint-react | React and JSX |
| eslint-plugin-jsx-a11y-x | jsx-a11y | JSX accessibility |
| eslint-plugin-react-hooks | react-hooks | Rules of Hooks |
| typescript-eslint | typescript | TypeScript |
eslint-plugin-jsx-a11y-x is a maintained fork of eslint-plugin-jsx-a11y, which has not supported ESLint since v9. Rule names are identical, and it is registered under the original jsx-a11y namespace, so jsx-a11y/* rule IDs and eslint-disable comments are unaffected.
Differences from eslint-config-sanity
| | eslint-config-sanity | @sanity/eslint-config-studio |
| ------------ | -------------------------------------------------- | -------------------------------------------------------------------------------- |
| Use case | internal projects | offered publicly to be used in the Sanity Studio |
| Rule set | opinionated, enforces internal conventions | unobtrusive, unopinionated, offered solely to catch bugs |
| Dependencies | contains many presets but must install each plugin | contains only one preset, but install plugins for you* |
Since this package includes dependencies to plugins, it will never have more than one preset.
Release new version
Run "CI & Release" workflow. Make sure to select the main branch and check "Release new version".
Semantic release will only release on configured branches, so it is safe to run release on any branch.
