0.0.0-dev.0 • Published 1 year ago
@neetly-eslint-react/eslint-plugin v0.0.0-dev.0
A series of composable ESLint rules for libraries and frameworks that use React as a UI runtime.
Roadmap
Features
- Universal rules for libraries and frameworks that use React as a UI runtime.
- Well designed rule behaviors and sensible defaults.
- Maximum flexibility through minimum configuration options.
Public packages
All-in-one packages
@eslint-react/eslint-plugin
- The main ESLint plugin package including all rules and config presets in this repository.
Individual packages (will be available in 2.0)
eslint-plugin-react-core
- Core rules (DOM Irrelevant, Render Target Agnostic, Formatting Independent).eslint-plugin-react-dom
- DOM specific rules for React DOM.eslint-plugin-react-hooks-extra
- Extra React Hooks rules.eslint-plugin-react-naming-convention
- Naming convention rules.
Supported ESLint versions
- 8.57.0 or later
Supported React versions
- 18.2.0 or later
Supported engines
Node.js
- 18.18.0 or later
Bun
- 1.0.15 or later
Install
# npm
npm install --save-dev @eslint-react/eslint-plugin
Setup
Add the plugin to your eslint.config.js
:
// @ts-check
import js from "@eslint/js";
import react from "@eslint-react/eslint-plugin";
export default [
js.configs.recommended,
{
files: ["**/*.{ts,tsx}"],
...react.configs.recommended,
},
];
Presets
- recommended\ Enable rules that are recommended by ESLint React.
- recommended-type-checked\ Enable rules that are recommended by ESLint React with additional rules that require type information.
- dom\ Enable rules that are specific to React DOM.
- off-dom\ Disable rules that are specific to React DOM.
- off\ Disable all rules in this plugin except for debug rules.
Rules
Contributing
Before you start working on something, it's best to check if there is an existing issue first. It's also a good idea to reach the maintainer and confirm if it makes sense or if someone else is already working on it.
Please make sure to read the Contributing Guide before making a pull request.
Thank you to everyone contributing to ESLint React!
License
This project is licensed under the MIT License - see the LICENSE file for details.
Inspiration
- eslint-plugin-solid
- eslint-plugin-functional
- eslint-plugin-perfectionist
- eslint-plugin-filenames-simple
- rome/tools
- rust-clippy
Prior art
0.0.0-dev.0
1 year ago
1.5.15-beta.1
1 year ago