Versions

function-call-argument-newline

Enforce line breaks between arguments of a function call

🔧 Fixable

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

This rule was deprecated in ESLint v8.53.0. Please use the corresponding rule in @stylistic/eslint-plugin-js.

A number of style guides require or disallow line breaks between arguments of a function call.

Rule Details

This rule enforces line breaks between arguments of a function call.

Options

This rule has a string option:

  • "always" (default) requires line breaks between arguments
  • "never" disallows line breaks between arguments
  • "consistent" requires consistent usage of line breaks between arguments

always

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

Open in Playground
/*eslint function-call-argument-newline: ["error", "always"]*/

foo("one", "two", "three");

bar("one", "two", {
    one: 1,
    two: 2
});

baz("one", "two", (x) => {
    console.log(x);
});

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

Open in Playground
/*eslint function-call-argument-newline: ["error", "always"]*/

foo(
    "one",
    "two",
    "three"
);

bar(
    "one",
    "two",
    { one: 1, two: 2 }
);
// or
bar(
    "one",
    "two",
    {
        one: 1,
        two: 2
    }
);

baz(
    "one",
    "two",
    (x) => {
        console.log(x);
    }
);

never

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

Open in Playground
/*eslint function-call-argument-newline: ["error", "never"]*/

foo(
    "one",
    "two", "three"
);

bar(
    "one",
    "two", {
        one: 1,
        two: 2
    }
);

baz(
    "one",
    "two", (x) => {
        console.log(x);
    }
);

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

Open in Playground
/*eslint function-call-argument-newline: ["error", "never"]*/

foo("one", "two", "three");
// or
foo(
    "one", "two", "three"
);

bar("one", "two", { one: 1, two: 2 });
// or
bar("one", "two", {
    one: 1,
    two: 2
});

baz("one", "two", (x) => {
    console.log(x);
});

consistent

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

Open in Playground
/*eslint function-call-argument-newline: ["error", "consistent"]*/

foo("one", "two",
    "three");
//or
foo("one",
    "two", "three");

bar("one", "two",
    { one: 1, two: 2}
);

baz("one", "two",
    (x) => { console.log(x); }
);

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

Open in Playground
/*eslint function-call-argument-newline: ["error", "consistent"]*/

foo("one", "two", "three");
// or
foo(
    "one",
    "two",
    "three"
);

bar("one", "two", {
    one: 1,
    two: 2
});
// or
bar(
    "one",
    "two",
    { one: 1, two: 2 }
);
// or
bar(
    "one",
    "two",
    {
        one: 1,
        two: 2
    }
);

baz("one", "two", (x) => {
    console.log(x);
});
// or
baz(
    "one",
    "two",
    (x) => {
        console.log(x);
    }
);

When Not To Use It

If you don’t want to enforce line breaks between arguments, don’t enable this rule.

Version

This rule was introduced in ESLint v6.2.0.

Resources

Change Language