/eslint-plugin-hardsort

eslint-plugin-hardsort

Primary LanguageJavaScriptMIT LicenseMIT

eslint-plugin-hardsort

Sorting is attempted under limited conditions.

Installation

You'll first need to install ESLint:

npm i eslint --save-dev

Next, install eslint-plugin-hardsort:

npm install eslint-plugin-hardsort --save-dev

Usage

Add hardsort to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
  "plugins": ["hardsort"]
}

Then configure the rules you want to use under the rules section.

{
  "rules": {
    "hardsort/object-sort": [
      "error",
      {
        "sortedOrders": ["keyNameLengthAsc"],
        "functionKeyNames": ["select"],
        "ignoreEnterGroup": false,
        "functionValueTypes": [
          "AsyncFunction",
          "MethodDefinition",
          "GeneratorFunction",
          "FunctionExpression",
          "ArrowFunctionExpression"
        ],
        "functionKeyNamePatterns": ["^on", "^callback"]
      }
    ],
    "hardsort/jsx-attr-sort": [
      "error",
      {
        "sortedOrders": ["keyNameLengthAsc"],
        "functionKeyNames": ["select"],
        "ignoreEnterGroup": true,
        "functionValueTypes": [
          "AsyncFunction",
          "MethodDefinition",
          "GeneratorFunction",
          "FunctionExpression",
          "ArrowFunctionExpression"
        ],
        "functionKeyNamePatterns": ["^on", "^callback"]
      }
    ],
    "hardsort/import-grouping": [
      "error",
      [
        {
          "id": "components",
          "pathPatterns": ["^.*/components(/.*)?"]
        },
        {
          "id": "pages",
          "pathPatterns": ["^.*/pages(/.*)?"]
        },
        {
          "id": "default",
          "sortedOrders": ["aliasAsc"]
        }
      ],
      {
        "alias": {
          "@": "src"
        },
        "orders": ["default", "pages", "components"]
      }
    ]
  }
}

Rules

🔧 Automatically fixable by the --fix CLI option.

Name Description 🔧
import-grouping import를 그룹화하여 정리합니다. 🔧
jsx-attr-sort JSX Attributes를 정렬합니다. 🔧
object-sort Object를 정렬합니다. 🔧