Selecting a version will take you to the chosen version of the ESLint docs.

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

Important

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

Learn more

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

Theme Switcher

Selecting a language will take you to the ESLint website in that language.