Require variables within the same declaration block to be sorted

🔧 Fixable

Some problems reported by this rule are automatically fixable by the --fix command line option

When declaring multiple variables within the same block, some developers prefer to sort variable names alphabetically to be able to find necessary variable easier at the later time. Others feel that it adds complexity and becomes burden to maintain.

Rule Details

This rule checks all variable declaration blocks and verifies that all variables are sorted alphabetically. The default configuration of the rule is case-sensitive.

Examples of incorrect code for this rule:

Open in Playground
/*eslint sort-vars: "error"*/

var b, a;

var a, B, c;

var a, A;

Examples of correct code for this rule:

Open in Playground
/*eslint sort-vars: "error"*/

var a, b, c, d;

var _a = 10;
var _b = 20;

var A, a;

var B, a, c;

Alphabetical list is maintained starting from the first variable and excluding any that are considered problems. So the following code will produce two problems:

/*eslint sort-vars: "error"*/

var c, d, a, b;

But this one, will only produce one:

/*eslint sort-vars: "error"*/

var c, d, a, e;


This rule has an object option:

  • "ignoreCase": true (default false) ignores the case-sensitivity of the variables order


Examples of correct code for this rule with the { "ignoreCase": true } option:

Open in Playground
/*eslint sort-vars: ["error", { "ignoreCase": true }]*/

var a, A;

var a, B, c;

When Not To Use It

This rule is a formatting preference and not following it won’t negatively affect the quality of your code. If you alphabetizing variables isn’t a part of your coding standards, then you can leave this rule off.


This rule was introduced in ESLint v0.2.0.


Change Language