What is eslint-plugin-sort-keys-fix?
The eslint-plugin-sort-keys-fix package is an ESLint plugin that automatically sorts the keys of objects in your JavaScript code. It helps maintain a consistent key order in objects, which can improve readability and reduce merge conflicts.
What are eslint-plugin-sort-keys-fix's main functionalities?
Sort Object Keys
This feature enforces a rule that automatically sorts the keys of objects in your code. When the rule is set to 'error', ESLint will throw an error if the keys are not sorted, and it will automatically fix the order when possible.
{
"rules": {
"sort-keys-fix/sort-keys-fix": "error"
}
}
Custom Order
This feature allows you to customize the sorting order. In this example, keys are sorted in ascending order, case-sensitive, and without natural sorting. You can adjust these options to fit your project's needs.
{
"rules": {
"sort-keys-fix/sort-keys-fix": ["error", "asc", { "caseSensitive": true, "natural": false }]
}
}
Other packages similar to eslint-plugin-sort-keys-fix
eslint-plugin-sort-keys
eslint-plugin-sort-keys is another ESLint plugin that enforces key sorting in objects. Unlike eslint-plugin-sort-keys-fix, it does not automatically fix the order of keys but only reports errors when the keys are not sorted.
eslint-plugin-json
eslint-plugin-json is an ESLint plugin that provides linting rules for JSON files. While it does not specifically focus on sorting object keys, it includes rules for ensuring consistency and correctness in JSON files, which can indirectly help with key order.
eslint-plugin-sort-keys-fix
Fork of eslint rule that sorts keys in objects (https://eslint.org/docs/rules/sort-keys) with autofix enabled
Installation
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-sort-keys-fix
:
$ npm install eslint-plugin-sort-keys-fix --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install eslint-plugin-sort-keys-fix
globally.
Usage
Add sort-keys-fix
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": [
"sort-keys-fix"
]
}
Then add sort-keys-fix rule under the rules section.
{
"rules": {
"sort-keys-fix/sort-keys-fix": "warn"
}
}
Often it makes sense to enable sort-keys-fix
only for certain files/directories. For cases like that, use override key of eslint config:
{
"rules": {
// ...
},
"overrides": [
{
"files": ["src/alphabetical.js", "bin/*.js", "lib/*.js"],
"rules": {
"sort-keys-fix/sort-keys-fix": "warn"
}
}
]
}
Rule configuration
For available config options, see official sort-keys reference. All options supported by sort-keys
, besides minKeys
, are supported by sort-keys-fix
.