1.0.0-rc.0 • Published 1 year ago
@rainstormy/presets-eslint-react v1.0.0-rc.0
React Preset for ESLint
This package provides a predefined, opinionated ESLint configuration suitable for any TypeScript-based web project with React components.
For a Next.js app, use @rainstormy/presets-eslint-next instead.
This preset configures a subset of rules from the following plugins, which are installed along with the preset package:
- eslint-plugin-jsx-a11y (with rule names prefixed by
jsx-a11y/
) - eslint-plugin-react (with rule names prefixed by
react/
) - eslint-plugin-react-hooks (with rule names prefixed by
react-hooks/
)
Additionally, it includes the following preset:
Installation
Install the @rainstormy/presets-eslint-react
package and its peer dependencies:
npm install --save-dev @rainstormy/presets-eslint-react @rainstormy/presets-eslint eslint typescript
pnpm install --save-dev @rainstormy/presets-eslint-react @rainstormy/presets-eslint eslint typescript
yarn add --dev @rainstormy/presets-eslint-react @rainstormy/presets-eslint eslint typescript
Usage
Create or extend a flat ESLint configuration file (eslint.config.js
) and apply the eslintPresetReact
preset.
For example (with the default options in comments):
import { eslintPresets } from "@rainstormy/presets-eslint"
import { eslintPresetReact } from "@rainstormy/presets-eslint-react"
export default eslintPresets({
additionalPresets: [
// ...other presets...
eslintPresetReact({
// targetFilePatterns: ["**/*.@(jsx|tsx)"],
}),
],
})
In Combination with Storybook, Tailwind CSS, and Testing Library
For example (with the default options applied):
import {
eslintPresetAmbientTypeScriptModules,
eslintPresetTestData,
eslintPresets,
} from "@rainstormy/presets-eslint"
import { eslintPresetReact } from "@rainstormy/presets-eslint-react"
import { eslintPresetStorybook } from "@rainstormy/presets-eslint-storybook"
import { eslintPresetTailwind } from "@rainstormy/presets-eslint-tailwind"
import { eslintPresetTestingLibrary } from "@rainstormy/presets-eslint-testing-library"
import { eslintPresetVitest } from "@rainstormy/presets-eslint-vitest"
export default eslintPresets({
additionalPresets: [
eslintPresetAmbientTypeScriptModules(),
eslintPresetReact(),
eslintPresetStorybook(),
eslintPresetTailwind(),
eslintPresetTestData(),
eslintPresetTestingLibrary(),
eslintPresetVitest(),
],
})
1.0.0-rc.0
1 year ago