An ESLint plugin to sort decorators
First, the peer dependencies must be installed:
npm i --save-dev typescript eslint @typescript-eslint/parser
Next, install eslint-plugin-sort-decorators
:
npm i --save-dev @elsikora/eslint-plugin-sort-decorators
As 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": ["@elsikora/sort-decorators"]
}
The different rules can be defined as follows:
{
"rules": {
"@elsikora/sort-decorators/sort-on-classes": "error"
}
}
Or simply extends a configuration preset:
{
"extends": ["plugin:@elsikora/sort-decorators/recommended"]
}
Name | Description |
---|---|
plugin:@elsikora/sort-decorators/recommended |
Enables all rules with a warn security level. |
plugin:@elsikora/sort-decorators/strict |
Enables all rules with a error security level and autoFix . |
All this configuration can be done on a
override
section: 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.