From 3095e60fb06cdc3cb6530eb57c793fb466778b26 Mon Sep 17 00:00:00 2001 From: caroline223 <67647836+caroline223@users.noreply.github.com> Date: Wed, 29 Jun 2022 01:19:03 -0400 Subject: [PATCH] [Refactor] `jsx-indent-props`: improved readability of the checkNodesIndent function --- CHANGELOG.md | 4 ++++ lib/rules/jsx-indent-props.js | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65d8341d30..8748069836 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange ### Added * [`jsx-newline`]: add `allowMultiline` option when prevent option is true ([#3311][] @TildaDares) +### Fixed +* [Refactor] [`jsx-indent-props`]: improved readability of the checkNodesIndent function ([#3315][] @caroline223) + +[#3315]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3315 [#3311]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3311 ## [7.30.1] - 2022.06.23 diff --git a/lib/rules/jsx-indent-props.js b/lib/rules/jsx-indent-props.js index 5d33ded173..860ad72eaa 100644 --- a/lib/rules/jsx-indent-props.js +++ b/lib/rules/jsx-indent-props.js @@ -173,16 +173,22 @@ module.exports = { */ function checkNodesIndent(nodes, indent) { nodes.forEach((node) => { + let nestedIndent = indent; const nodeIndent = getNodeIndent(node); - if (line.isUsingOperator && !line.currentOperator && indentSize !== 'first' && !ignoreTernaryOperator) { - indent += indentSize; + if ( + line.isUsingOperator + && !line.currentOperator + && indentSize !== 'first' + && !ignoreTernaryOperator + ) { + nestedIndent += indentSize; line.isUsingOperator = false; } if ( node.type !== 'ArrayExpression' && node.type !== 'ObjectExpression' - && nodeIndent !== indent && astUtil.isNodeFirstInLine(context, node) + && nodeIndent !== nestedIndent && astUtil.isNodeFirstInLine(context, node) ) { - report(node, indent, nodeIndent); + report(node, nestedIndent, nodeIndent); } }); }