Skip to content

function-call-argument-newline

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:

js
/* eslint @stylistic/function-call-argument-newline: ["error", "always"] */  foo("one",
"two",
"three");
bar("one",
"two",
{
one: 1, two: 2 }); baz("one",
"two",
(x) => {
console.log(x); });
incorrect

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

js
/* eslint @stylistic/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);     } );
correct

never

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

js
/* eslint @stylistic/function-call-argument-newline: ["error", "never"] */  foo(     "one",
"two", "three" ); bar( "one",
"two", { one: 1, two: 2 } ); baz( "one",
"two", (x) => { console.log(x); } );
incorrect

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

js
/* eslint @stylistic/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); });
correct

consistent

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

js
/* eslint @stylistic/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); } );
incorrect

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

js
/* eslint @stylistic/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);     } );
correct

When Not To Use It

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