diff --git a/tools/eslint-rules/align-function-arguments.js b/tools/eslint-rules/align-function-arguments.js index 55ce5a4fdbb7c9..015552489a9d44 100644 --- a/tools/eslint-rules/align-function-arguments.js +++ b/tools/eslint-rules/align-function-arguments.js @@ -30,7 +30,6 @@ function checkArgumentAlignment(context, node) { const ignoreTypes = [ 'ArrowFunctionExpression', - 'CallExpression', 'FunctionExpression', 'ObjectExpression', ]; @@ -48,18 +47,26 @@ function checkArgumentAlignment(context, node) { return; } + var misaligned; + args.slice(1).forEach((argument) => { - if (argument.loc.start.line === currentLine + 1) { - if (argument.loc.start.column !== firstColumn) { - msg = 'Function called with argument in column ' + - `${argument.loc.start.column}, expected in ${firstColumn}`; + if (!misaligned) { + if (argument.loc.start.line === currentLine + 1) { + if (argument.loc.start.column !== firstColumn) { + if (isNodeFirstInLine(argument)) { + msg = 'Function argument in column ' + + `${argument.loc.start.column + 1}, ` + + `expected in ${firstColumn + 1}`; + misaligned = argument; + } + } } } currentLine = argument.loc.start.line; }); if (msg) - context.report(node, msg); + context.report(misaligned, msg); } module.exports = function(context) {