A sharable ESLint config for SmartHR, designed for React + TypeScript projects. Latest stable version: 14.0.1 (April 2026). Requires ESLint 9+, React 16.8+, and TypeScript 3.4+. Provides a flat config (eslint.config.mjs) with opinionated rules for SmartHR codebase, including accessibility, import ordering, and best practices. Breaking changes in v14 include removal of a11y-delegate-element-has-role-presentation rule and expanded best-practice-for-spread-syntax. Also includes autofixers for smarthr-ui migrations. Supports oxlint via companion package oxlint-config-smarthr.
npm install eslint-config-smarthrVerified import paths — ran on the pinned version, not inferred.
Shows how to install and configure eslint-config-smarthr in a flat config file with a project-specific override.
Remove references to the removed rule from your config. If you relied on it, apply the equivalent accessibility logic manually.
Review and update code that uses spread syntax inside objects; autofixer may change behavior.
Replace extends array with import smarthr from 'eslint-config-smarthr' and spread the array.
Use import syntax or enable ESM in your project (e.g., type: 'module' in package.json).
For oxlint projects, install and use oxlint-config-smarthr instead.
Use import smarthr from 'eslint-config-smarthr' and rename file to .mjs or set type: module.
Remove any references to the rule from your eslint config.
Switch to flat config: import smarthr from 'eslint-config-smarthr' and spread.