From f69edda424f22d3cb8a59883f3469d8652cbe8f7 Mon Sep 17 00:00:00 2001 From: Ferit Date: Fri, 9 Oct 2026 23:50:54 +0300 Subject: [PATCH] Fix single-arg values inside nested at-rules --- index.js | 2 +- test/index.test.js | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index adcbdc7..7255dc6 100644 --- a/index.js +++ b/index.js @@ -137,7 +137,7 @@ function unwrapSingleArguments(rules, singleArgumentsMap) { } rule.value = newValue } - } else if (rule.type === 'rule') { + } else if (rule.nodes) { unwrapSingleArguments(rule.nodes, singleArgumentsMap) } } diff --git a/test/index.test.js b/test/index.test.js index d927e39..9528b5d 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -497,6 +497,29 @@ test('handles single-arg inside rules', async () => { ) }) +test('handles single-arg inside nested at-rules', async () => { + await run( + '@define-mixin fonts $x { @media screen { @supports (display: grid) ' + + '{ .a { font-family: $x } } } } @mixin fonts single-arg(Arial, sans-serif);', + '@media screen { @supports (display: grid) ' + + '{ .a { font-family: Arial, sans-serif } } }' + ) +}) + +test('handles single-arg in object mixin at-rules', async () => { + await run( + '@mixin fonts single-arg(Arial, sans-serif);', + '@media screen {\n font-family: Arial, sans-serif\n}', + { + mixins: { + fonts(rule, font) { + return { '@media screen': { fontFamily: font } } + } + } + } + ) +}) + test('passes single-arg to the nested mixin', async () => { await run( '@define-mixin a $p { a: $p; } ' +