This repository contains custom ESLint rules to enhance code quality and consistency across projects.
This repository contains custom ESLint rules to enhance code quality and consistency across projects, created by Tomer Horowitz.
To add all of the rules into your project, add the following configuration into your ESLint configuration file:
{
"extends": ["plugin:th-rules/all"]
}
{
"extends": ["plugin:th-rules/all-react"]
}
{
"extends": ["plugin:th-rules/all-react-native"]
}
{
"extends": ["plugin:th-rules/recommended"]
}
{
"extends": ["plugin:th-rules/basic"]
}
Rule ID: th-rules/no-destructuring
This rule disallows destructuring that does not meet certain conditions, aiming to prevent overly complex destructuring patterns and ensure code readability.
This rule checks for:
- Destructuring at a nesting level above 3.
- Destructuring of more than the specified maximum number of variables (default is 2).
- Destructuring on a line exceeding the specified maximum line length (default is 100 characters).
{
"rules": {
"th-rules/no-destructuring": ["error", { "maximumDestructuredVariables": 2, "maximumLineLength": 100 }]
}
}
Rule ID: th-rules/no-default-export
Converts unnamed default exports to named default exports based on the file name. This rule helps maintain consistency in export names and facilitates easier identification of components or modules.
This rule targets unnamed default exports and automatically generates a named export based on the file name.
{
"rules": {
"no-default-export": "error"
}
}
{
"plugins": [
"th-rules"
],
"rules": {
"no-destructuring": "error",
"no-default-export": "error"
}
}