Sentry ESLint Config for React
raw JSON → 2.10.0 verified Sat Apr 25 auth: no javascript
Shared ESLint configuration (v2.10.0) used across Sentry's frontend (React) projects. It extends a base config with rules for eslint-plugin-import and eslint-plugin-react, plus Jest rules. Released as part of a monorepo; cadence is intermittent, tied to Sentry internal needs. Differentiators: purpose-built for Sentry's code style; includes presets for React and Jest out of the box. Peer dependencies: eslint >=8, eslint-plugin-jest ^27.1.3, eslint-plugin-react ^7.31.10, eslint-plugin-import ^2.26.0.
Common errors
error Error: eslint-config-sentry-react not found ↓
cause Missing peer dependencies or npm can't resolve the config.
fix
Ensure all peer deps are installed: npm install -D eslint-config-sentry-react eslint@8 eslint-plugin-jest@^27.1.3 eslint-plugin-react@^7.31.10 eslint-plugin-import@^2.26.0
error Configuration for rule 'react/prop-types' is invalid ↓
cause The config sets a rule that conflicts with your project's settings.
fix
Override the rule in your .eslintrc: 'react/prop-types': 'off' or adjust accordingly.
error Failed to load plugin 'jest' declared in 'sentry/jest' ↓
cause eslint-plugin-jest not installed.
fix
Install eslint-plugin-jest@^27.1.3.
Warnings
breaking v2 requires eslint >=8; v1 used eslint <8. ↓
fix Upgrade eslint to v8 or later.
deprecated eslint-plugin-jest v27.1.3 is specific; newer plugin versions may conflict. ↓
fix Pin eslint-plugin-jest to ^27.1.3 or update peer range.
gotcha The 'react.js' file stores a hardcoded React version; if you upgrade React, update that file manually. ↓
fix Edit node_modules/eslint-config-sentry-react/react.js or override via settings.react.version in .eslintrc.
breaking Configuration outputs are ESM, but many ESLint configs are CJS; might cause loading issues in older ESLint. ↓
fix Ensure ESLint is configured to handle ESM configs (e.g., use .eslintrc.cjs or set type:"module" in package.json).
gotcha Extending 'sentry' alone does not include React rules; use 'sentry/app' for React projects. ↓
fix Set extends to 'sentry/app' instead of 'sentry'.
Install
npm install eslint-config-sentry-react yarn add eslint-config-sentry-react pnpm add eslint-config-sentry-react Imports
- sentry wrong
extends: ['eslint-config-sentry']correctextends: ['sentry'] in .eslintrc - sentry/app wrong
extends: ['sentry-app']correctextends: ['sentry/app'] in .eslintrc - sentry/jest wrong
extends: ['sentry-jest']correctextends: ['sentry/jest'] in .eslintrc
Quickstart
npm install -D eslint-config-sentry-react eslint@8 eslint-plugin-jest@^27.1.3 eslint-plugin-react@^7.31.10 eslint-plugin-import@^2.26.0
# .eslintrc.json
{
"extends": ["sentry/app", "sentry/jest"],
"rules": {}
}