Skip to content

Commit 7687ecf

Browse files
authored
fix: edge cases with whitespace in enforces-shorthand (#308)
* Add test cases (one is broken) * Fix
1 parent 01bd10c commit 7687ecf

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

lib/rules/enforces-shorthand.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ module.exports = {
434434
const w = whitespaces[i] ?? '';
435435
const cls = union[i];
436436
validatedClassNamesValue += headSpace ? `${w}${cls}` : isLast ? `${cls}` : `${cls}${w}`;
437-
if (headSpace && tailSpace && isLast) {
437+
if (tailSpace && isLast) {
438438
validatedClassNamesValue += whitespaces[whitespaces.length - 1] ?? '';
439439
}
440440
}

tests/lib/rules/enforces-shorthand.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,26 @@ ruleTester.run("shorthands", rule, {
691691
`,
692692
errors: [generateError(["overflow-hidden", "text-ellipsis", "whitespace-nowrap"], "truncate")],
693693
},
694+
{
695+
code: "<div className={ctl(`${live && 'bg-white'} w-full px-10 py-10`)}>Leading space trim issue with fix</div>",
696+
output: "<div className={ctl(`${live && 'bg-white'} w-full p-10`)}>Leading space trim issue with fix</div>",
697+
errors: [generateError(["px-10", "py-10"], "p-10")],
698+
},
699+
{
700+
code: "<div className={ctl(`${live && 'bg-white'} w-full px-10 py-10 `)}>Leading space trim issue with fix (2)</div>",
701+
output: "<div className={ctl(`${live && 'bg-white'} w-full p-10 `)}>Leading space trim issue with fix (2)</div>",
702+
errors: [generateError(["px-10", "py-10"], "p-10")],
703+
},
704+
{
705+
code: "<div className={ctl(`w-full px-10 py-10 ${live && 'bg-white'}`)}>Trailing space trim issue with fix</div>",
706+
output: "<div className={ctl(`w-full p-10 ${live && 'bg-white'}`)}>Trailing space trim issue with fix</div>",
707+
errors: [generateError(["px-10", "py-10"], "p-10")],
708+
},
709+
{
710+
code: "<div className={ctl(` w-full px-10 py-10 ${live && 'bg-white'}`)}>Trailing space trim issue with fix (2)</div>",
711+
output: "<div className={ctl(` w-full p-10 ${live && 'bg-white'}`)}>Trailing space trim issue with fix (2)</div>",
712+
errors: [generateError(["px-10", "py-10"], "p-10")],
713+
},
694714
{
695715
code: `<div class="h-10 w-10">New size-* utilities</div>`,
696716
output: `<div class="size-10">New size-* utilities</div>`,

0 commit comments

Comments
 (0)