eslint-plugin-typescript-sort
v0.1.11
Published
Streamlines coding style consistency and code readability by sorting various code elements like interfaces, types, string enums, and object parameters within arrow functions.
Downloads
34
Maintainers
Readme
eslint-plugin-typescript-sort
Streamlines coding style consistency and code readability by sorting various code elements like interfaces, types, string enums, and object parameters within arrow functions.
npm i --save-dev eslint-plugin-typescript-sort
Tip
: Configure your IDE to auto-format code on save according to ESLint rules, reducing the need for manual sorting and enhancing your coding workflow. Here's a guide on how to do it in VSCode.
Supported Rules
| Name | Description | Recommended | Fixable |
| ---- | ----------- | ------------------ | -------- |
| typescript-sort/interface
| Require interface keys to be sorted. | ✅ | :wrench: |
| typescript-sort/type
| Require string type members to be sorted. | ✅ | :wrench: |
| typescript-sort/enum
| Require string enum members to be sorted. | ✅ | :wrench: |
| typescript-sort/arrowfunc-object-params
| Require objects inside arrow function parameters to be sorted. | ✅ | :wrench: |
Installation
You'll first need to install eslint, typescript and @typescript-eslint/parser
npm i --save-dev eslint typescript @typescript-eslint/parser
Then, install eslint-plugin-typescript-sort
:
npm i --save-dev eslint-plugin-typescript-sort
Usage
Everything is configured in your .eslintrc
configuration file
Specify the parser for typescript files:
{
"parser": "@typescript-eslint/parser"
}
Option 1
Add typescript-sort
to the plugins section. You can omit the eslint-plugin-
part:
{
"plugins": ["typescript-sort"]
}
Then configure the rules you want to use under the rules section:
{
"rules": {
"typescript-sort/interface": "error",
"typescript-sort/type": "error",
"typescript-sort/enum": "error"
"typescript-sort/arrowfunc-object-params": "error"
}
}
Option 2
Enable all rules with recommended config:
{
"extends": ["plugin:typescript-sort/recommended"]
}
Rules options
To see custom options for each rules, see the rule's documentation page
.
E.g. typescript-sort/interface has options for case sensitivity, natural order and required first.
{
"typescript-sort/interface": [
"error",
"asc",
{ "caseSensitive": true, "natural": false, "requiredFirst": false }
]
}
Credits
Inspired by and sourced from eslint/sort-keys and infectr/eslint-plugin-typescript-sort-keys.