eslint-plugin-th-rules

1.5.3 • Public • Published

eslint-plugin-th-rules

semantic-release XO code style Snyk Security CodeQL OpenSSF Scorecard

This repository contains custom ESLint rules to enhance code quality and consistency across projects.

Custom ESLint Rules

This repository contains custom ESLint rules to enhance code quality and consistency across projects, created by Tomer Horowitz.

Configurations

All

To add all of the rules into your project, add the following configuration into your ESLint configuration file:

{
  "extends": ["plugin:th-rules/all"]
}

All React

{
  "extends": ["plugin:th-rules/all-react"]
}

All React Native

{
  "extends": ["plugin:th-rules/all-react-native"]
}

Recommended

{
  "extends": ["plugin:th-rules/recommended"]
}

Basic

{
  "extends": ["plugin:th-rules/basic"]
}

Rules

1. No-Destruction Rule

Rule ID: th-rules/no-destructuring

Description

This rule disallows destructuring that does not meet certain conditions, aiming to prevent overly complex destructuring patterns and ensure code readability.

Rule Details

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).

Configuration

{
  "rules": {
    "th-rules/no-destructuring": ["error", { "maximumDestructuredVariables": 2, "maximumLineLength": 100 }]
  }
}

2. Name-Export Rule

Rule ID: th-rules/no-default-export

Description

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.

Rule Details

This rule targets unnamed default exports and automatically generates a named export based on the file name.

Configuration

{
  "rules": {
    "no-default-export": "error"
  }
}

Installation

{
  "plugins": [
    "th-rules"
  ],
  "rules": {
    "no-destructuring": "error",
    "no-default-export": "error"
  }
}

Package Sidebar

Install

npm i eslint-plugin-th-rules

Weekly Downloads

20

Version

1.5.3

License

ISC

Unpacked Size

3.17 MB

Total Files

24

Last publish

Collaborators

  • tomerh2001