From 15642fbcc885eba9cc50b7678a922b09c90d6b51 Mon Sep 17 00:00:00 2001 From: Adam Wathan Date: Sun, 30 May 2021 14:52:54 -0400 Subject: [PATCH] Compare adjacent rules ignoring whitespace --- src/jit/lib/collapseAdjacentRules.js | 8 +++++++- tests/jit/collapse-adjacent-rules.test.css | 5 +++++ tests/jit/collapse-adjacent-rules.test.js | 7 +++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/jit/lib/collapseAdjacentRules.js b/src/jit/lib/collapseAdjacentRules.js index 7afdd6f62..8a7c5775c 100644 --- a/src/jit/lib/collapseAdjacentRules.js +++ b/src/jit/lib/collapseAdjacentRules.js @@ -22,7 +22,13 @@ export default function collapseAdjacentRules() { if (node.type === 'atrule' && node.name === 'font-face') { currentRule = node - } else if (properties.every((property) => node[property] === currentRule[property])) { + } else if ( + properties.every( + (property) => + (node[property] ?? '').replace(/\s+/g, ' ') === + (currentRule[property] ?? '').replace(/\s+/g, ' ') + ) + ) { currentRule.append(node.nodes) node.remove() } else { diff --git a/tests/jit/collapse-adjacent-rules.test.css b/tests/jit/collapse-adjacent-rules.test.css index 2c6fde984..97d2dd07a 100644 --- a/tests/jit/collapse-adjacent-rules.test.css +++ b/tests/jit/collapse-adjacent-rules.test.css @@ -36,6 +36,11 @@ .font-bold { font-weight: 700; } +.foo, +.bar { + color: black; + font-weight: 700; +} @media (min-width: 640px) { .sm\:text-center { text-align: center; diff --git a/tests/jit/collapse-adjacent-rules.test.js b/tests/jit/collapse-adjacent-rules.test.js index e29c52a81..6701f0e95 100644 --- a/tests/jit/collapse-adjacent-rules.test.js +++ b/tests/jit/collapse-adjacent-rules.test.js @@ -47,6 +47,13 @@ test('collapse adjacent rules', () => { url("/fonts/ProximaNova.woff") format("woff"); } } + .foo, .bar { + color: black; + } + .foo, + .bar { + font-weight: 700; + } ` return run(css, config).then((result) => {