Require or disallow an newline around variable declarations (one-var-declaration-per-line)

Some developers declare multiple var statements on the same line:

var foo, bar, baz = 0;

Others prefer to declare one var per line.

var foo,
    bar,
    baz = 0;

This rule enforces a consistent style across the entire project.

Rule Details

This rule enforces a consistent coding style where newlines are required or disallowed after each var declaration or just when there is a variable initialization. It ignores var declarations inside for loop conditionals.

Options

This rule takes one option, a string, which can be:

The following patterns are considered problems when set to "always":

/*eslint one-var-declaration-per-line: [2, "always"]*/
/*eslint-env es6*/

var a, b;               /*error Expected variable declaration to be on a new line. */

let a, b = 0;           /*error Expected variable declaration to be on a new line. */

const a = 0, b = 0;     /*error Expected variable declaration to be on a new line. */

The following patterns are not considered problems when set to "always":

/*eslint one-var-declaration-per-line: [2, "always"]*/
/*eslint-env es6*/

var a,
    b;

let a,
    b = 0;

The following patterns are considered problems when set to "initializations":

/*eslint one-var-declaration-per-line: [2, "initializations"]*/
/*eslint-env es6*/

var a, b, c = 0;        /*error Expected variable declaration to be on a new line. */

let a,
    b = 0, c;           /*error Expected variable declaration to be on a new line. */

The following patterns are not considered problems when set to "initializations":

/*eslint one-var-declaration-per-line: [2, "initializations"]*/
/*eslint-env es6*/

var a, b;

let a,
    b;

let a,
    b = 0;

Version

This rule was introduced in ESLint 2.0.0-beta.3.

Resources