Skip to content

Commit b336fbe

Browse files
nwoltmanbtmills
authored andcommitted
Fix: indent rule with JSX spread props (#12581)
1 parent 97c745d commit b336fbe

2 files changed

Lines changed: 53 additions & 0 deletions

File tree

lib/rules/indent.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,6 +1492,17 @@ module.exports = {
14921492
);
14931493
},
14941494

1495+
JSXSpreadAttribute(node) {
1496+
const openingCurly = sourceCode.getFirstToken(node);
1497+
const closingCurly = sourceCode.getLastToken(node);
1498+
1499+
offsets.setDesiredOffsets(
1500+
[openingCurly.range[1], closingCurly.range[0]],
1501+
openingCurly,
1502+
1
1503+
);
1504+
},
1505+
14951506
"*"(node) {
14961507
const firstToken = sourceCode.getFirstToken(node);
14971508

tests/lib/rules/indent.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4889,6 +4889,18 @@ ruleTester.run("indent", rule, {
48894889
<a>baz qux</a>.
48904890
</small>
48914891
`,
4892+
unIndent`
4893+
<div
4894+
{...props}
4895+
/>
4896+
`,
4897+
unIndent`
4898+
<div
4899+
{
4900+
...props
4901+
}
4902+
/>
4903+
`,
48924904
{
48934905
code: unIndent`
48944906
a(b
@@ -9754,6 +9766,36 @@ ruleTester.run("indent", rule, {
97549766
`,
97559767
errors: expectedErrors([3, 8, 6, "Block"])
97569768
},
9769+
{
9770+
code: unIndent`
9771+
<div
9772+
{...props}
9773+
/>
9774+
`,
9775+
output: unIndent`
9776+
<div
9777+
{...props}
9778+
/>
9779+
`,
9780+
errors: expectedErrors([2, 4, 0, "Punctuator"])
9781+
},
9782+
{
9783+
code: unIndent`
9784+
<div
9785+
{
9786+
...props
9787+
}
9788+
/>
9789+
`,
9790+
output: unIndent`
9791+
<div
9792+
{
9793+
...props
9794+
}
9795+
/>
9796+
`,
9797+
errors: expectedErrors([3, 8, 6, "Punctuator"])
9798+
},
97579799
{
97589800
code: unIndent`
97599801
<div>foo

0 commit comments

Comments
 (0)