Skip to content

@stylistic/js/

array-bracket-newline

A number of style guides require or disallow line breaks inside of array brackets.

Rule Details

This rule enforces line breaks after opening and before closing array brackets.

Options

This rule has either a string option:

  • "always" requires line breaks inside brackets
  • "never" disallows line breaks inside brackets
  • "consistent" requires consistent usage of linebreaks for each pair of brackets. It reports an error if one bracket in the pair has a linebreak inside it and the other bracket does not.

Or an object option (Requires line breaks if any of properties is satisfied. Otherwise, disallows line breaks):

  • "multiline": true (default) requires line breaks if there are line breaks inside elements or between elements. If this is false, this condition is disabled.
  • "minItems": null (default) requires line breaks if the number of elements is at least the given integer. If this is 0, this condition will act the same as the option "always". If this is null (the default), this condition is disabled.

always

Examples of incorrect code for this rule with the "always" option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", "always"]*/

var a = 
[
]
;
var b =
[
1
]
;
var c =
[
1, 2
]
;
var d =
[
1,
2
]
;
var e =
[
function foo() {
dosomething(); }
]
;
incorrect

Examples of correct code for this rule with the "always" option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", "always"]*/

var a = [
];
var b = [
    1
];
var c = [
    1, 2
];
var d = [
    1,
    2
];
var e = [
    function foo() {
        dosomething();
    }
];
correct

never

Examples of incorrect code for this rule with the "never" option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", "never"]*/

var a = 
[
]
;
var b =
[
1
]
;
var c =
[
1, 2
]
;
var d =
[
1, 2
]
;
var e =
[
function foo() { dosomething(); }
]
;
incorrect

Examples of correct code for this rule with the "never" option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", "never"]*/

var a = [];
var b = [1];
var c = [1, 2];
var d = [1,
    2];
var e = [function foo() {
    dosomething();
}];
correct

consistent

Examples of incorrect code for this rule with the "consistent" option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", "consistent"]*/

var a = [1
]
;
var b = [ 1
]
;
var c = [function foo() { dosomething(); }
]
var d = [ function foo() { dosomething(); }
]
incorrect

Examples of correct code for this rule with the "consistent" option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", "consistent"]*/

var a = [];
var b = [
];
var c = [1];
var d = [
    1
];
var e = [function foo() {
    dosomething();
}];
var f = [
    function foo() {
        dosomething();
    }
];
correct

multiline

Examples of incorrect code for this rule with the default { "multiline": true } option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", { "multiline": true }]*/

var a = 
[
]
;
var b =
[
1
]
;
var c =
[
1, 2
]
;
var d =
[
1,
2
]
;
var e =
[
function foo() {
dosomething(); }
]
;
incorrect

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

js
/*eslint @stylistic/js/array-bracket-newline: ["error", { "multiline": true }]*/

var a = [];
var b = [1];
var c = [1, 2];
var d = [
    1,
    2
];
var e = [
    function foo() {
        dosomething();
    }
];
correct

minItems

Examples of incorrect code for this rule with the { "minItems": 2 } option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", { "minItems": 2 }]*/

var a = 
[
]
;
var b =
[
1
]
;
var c =
[
1, 2
]
;
var d =
[
1,
2
]
;
var e =
[
function foo() { dosomething(); }
]
;
incorrect

Examples of correct code for this rule with the { "minItems": 2 } option:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", { "minItems": 2 }]*/

var a = [];
var b = [1];
var c = [
    1, 2
];
var d = [
    1,
    2
];
var e = [function foo() {
    dosomething();
}];
correct

multiline and minItems

Examples of incorrect code for this rule with the { "multiline": true, "minItems": 2 } options:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", { "multiline": true, "minItems": 2 }]*/

var a = 
[
]
;
var b =
[
1
]
;
var c =
[
1, 2
]
;
var d =
[
1,
2
]
;
var e =
[
function foo() {
dosomething(); }
]
;
incorrect

Examples of correct code for this rule with the { "multiline": true, "minItems": 2 } options:

js
/*eslint @stylistic/js/array-bracket-newline: ["error", { "multiline": true, "minItems": 2 }]*/

var a = [];
var b = [1];
var c = [
    1, 2
];
var d = [
    1,
    2
];
var e = [
    function foo() {
        dosomething();
    }
];
correct

When Not To Use It

If you don't want to enforce line breaks after opening and before closing array brackets, don't enable this rule.

Compatibility

Released under the MIT License.