An ESLint plugin to sort decorators
First, the peer dependencies must be installed:
npm i --save-dev typescript eslint @typescript-eslint/parserNext, install eslint-plugin-sort-decorators:
npm i --save-dev eslint-plugin-sort-decoratorsAs this plugin only works with typescript, the parser must be set in a .eslintrc file:
{
"parser": "@typescript-eslint/parser"
}The plugin can then be activated by adding sort-decorators to the plugins property:
{
"plugins": ["sort-decorators"]
}The different rules can be defined as follows:
{
"rules": {
"sort-decorators/sort-on-classes": "error"
}
}Or simply extends a configuration preset:
{
"extends": ["plugin:sort-decorators/recommended"]
}| Name | Description |
|---|---|
plugin:sort-decorators/recommended |
Enables all rules with a warn security level. |
plugin:sort-decorators/strict |
Enables all rules with a error security level and autoFix. |
All this configuration can be done on a
overridesection: https://eslint.org/docs/latest/use/configure/configuration-files#how-do-overrides-work
💼 Configurations enabled in.
✅ Set in the recommended configuration.
🔒 Set in the strict configuration.
🔧 Automatically fixable by the --fix CLI option.
| Name | Description | 💼 | 🔧 | |
|---|---|---|---|---|
| sort-on-accessors | Enforces order of accessors decorators | 🔒 | ✅ | 🔧 |
| sort-on-classes | Enforces order of class decorators | 🔒 | ✅ | 🔧 |
| sort-on-methods | Enforces order of methods decorators | 🔒 | ✅ | 🔧 |
| sort-on-parameters | Enforces order of parameters decorators | 🔒 | ✅ | 🔧 |
| sort-on-properties | Enforces order of properties decorators | 🔒 | ✅ | 🔧 |
See information about breaking changes and release notes here.