@batoanng/eslint-config
v3.4.0
Published
Flat ESLint configs for TypeScript, React, Next.js, Tailwind, and tests.
Readme
@batoanng/eslint-config
Flat ESLint configs for TypeScript, React, Next.js, Tailwind, and tests.
Installation
Baseline install:
npm install -D eslint typescript @batoanng/eslint-configInstall additional peers only for the entrypoints you use:
@batoanng/eslint-configor@batoanng/eslint-config/react:eslint-plugin-react,eslint-plugin-react-hooks,eslint-plugin-jsx-a11y@batoanng/eslint-config/next:@next/eslint-plugin-next@batoanng/eslint-config/tailwind:eslint-plugin-tailwindcss,tailwindcssFor Tailwind CSS v4, installeslint-plugin-tailwindcss@^4.0.0-beta.0@batoanng/eslint-config/test:eslint-plugin-jest,eslint-plugin-testing-library,jest
Exports
@batoanng/eslint-config: base + React defaults Requires:eslint-plugin-react,eslint-plugin-react-hooks,eslint-plugin-jsx-a11y@batoanng/eslint-config/base: JavaScript and TypeScript baseline Requires no extra peers beyondeslintandtypescript@batoanng/eslint-config/react: React, hooks, and JSX a11y rules Requires:eslint-plugin-react,eslint-plugin-react-hooks,eslint-plugin-jsx-a11y@batoanng/eslint-config/typed: opt-in type-aware TypeScript rules Requires no extra peers beyondeslintandtypescript@batoanng/eslint-config/next: Next.js rules Requires:@next/eslint-plugin-next@batoanng/eslint-config/tailwind: Tailwind CSS rules Requires:eslint-plugin-tailwindcss,tailwindcssSupports: Tailwind CSS v3 witheslint-plugin-tailwindcss@^3.18.2, or Tailwind CSS v4 witheslint-plugin-tailwindcss@^4.0.0-beta.0@batoanng/eslint-config/test: Jest, Vitest globals, and Testing Library rules Requires:eslint-plugin-jest,eslint-plugin-testing-library,jest
Usage
TypeScript library
// eslint.config.mjs
import base from '@batoanng/eslint-config/base';
export default [...base];React package with type-aware linting
// eslint.config.mjs
import config from '@batoanng/eslint-config';
import test from '@batoanng/eslint-config/test';
import typed from '@batoanng/eslint-config/typed';
export default [...config, ...typed, ...test];Next.js app with Tailwind
// eslint.config.mjs
import config from '@batoanng/eslint-config';
import next from '@batoanng/eslint-config/next';
import tailwind from '@batoanng/eslint-config/tailwind';
import typed from '@batoanng/eslint-config/typed';
export default [...config, ...typed, ...next, ...tailwind];Notes
typedusesparserOptions.projectService, so it reads the consumer project's own TypeScript configuration.- The shared config already enables
eslint-config-prettier, so formatting-only rule conflicts stay off. - Feature-specific ESLint plugins are peer dependencies so consumers only install the entrypoint-specific packages they actually use.
- Tailwind CSS v4 currently relies on the upstream
eslint-plugin-tailwindcssbeta channel, because stable upstream releases still pin Tailwind CSS to v3. - The Tailwind entrypoint automatically uses a local
tailwind.config.*file when one exists, and falls back to Tailwind's default config for CSS-first Tailwind CSS v4 projects. - The package ships flat config only. Legacy
.eslintrc*usage is intentionally unsupported.
