@gilbarbara/eslint-config
Opinionated ESLint configuration for modern projects.
Includes rules for React, TypeScript, accessibility (jsx-a11y), import/export, code organization (perfectionist), promises, regular expressions, and best practices (unicorn).
Requirements
- Node.js 20+
- ESLint 9+
- Prettier 3
- TypeScript 5 (for TS projects)
Setup
Install the package (ESLint is bundled):
npm install -D eslint prettier @gilbarbara/eslint-configCreate an eslint.config.js file:
import config from '@gilbarbara/eslint-config';
export default config;The default export includes base rules and React rules.
Without React
import base from '@gilbarbara/eslint-config/base';
export default base;Combining Configs
import base from '@gilbarbara/eslint-config/base';
import node from '@gilbarbara/eslint-config/node';
import vitest from '@gilbarbara/eslint-config/vitest';
export default [
...base,
...node,
...vitest,
];Exports
@gilbarbara/eslint-config
Includes the base and react rules.
@gilbarbara/eslint-config/base
Includes core ESLint rules, Import, Perfectionist, Prettier, Promise, Regexp, Sort Destructure Keys, TypeScript, Unicorn, and Unused Imports rules.
@gilbarbara/eslint-config/node
Includes Node.js rules for Node.js-specific best practices, deprecated APIs, and promise-based APIs.
@gilbarbara/eslint-config/react
Includes React, React Compiler, React Hooks, React Refresh, and JSX A11y accessibility rules.
@gilbarbara/eslint-config/vitest
Includes Vitest rules.
@gilbarbara/eslint-config/jest
Includes Jest and Jest DOM rules.
@gilbarbara/eslint-config/testing-library
Includes Testing Library rules.
@gilbarbara/eslint-config/type-checking
Includes TypeScript strict type-checking rules.
This configuration is intended to provide consistent rules and pairs well with the @gilbarbara/prettier-config package.