From 6b4dc6309e985f2d97d7f14ffa45e94a2f9d6a91 Mon Sep 17 00:00:00 2001 From: Tmk Date: Thu, 31 Jul 2025 20:23:56 +0800 Subject: [PATCH] fix(issue#4354): only auto add comma separator for @layer --- packages/less/src/less/tree/atrule.js | 8 ++++---- packages/test-data/css/_main/apply.css | 3 +++ packages/test-data/less/_main/apply.less | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 packages/test-data/css/_main/apply.css create mode 100644 packages/test-data/less/_main/apply.less diff --git a/packages/less/src/less/tree/atrule.js b/packages/less/src/less/tree/atrule.js index df36a5d87..60467a724 100644 --- a/packages/less/src/less/tree/atrule.js +++ b/packages/less/src/less/tree/atrule.js @@ -71,9 +71,9 @@ AtRule.prototype = Object.assign(new Node(), { declarationsBlock(rules, mergeable = false) { if (!mergeable) { - return rules.filter(function (node) { return (node.type === 'Declaration' || node.type === 'Comment') && !node.merge}).length === rules.length; + return rules.every(function (node) { return (node.type === 'Declaration' || node.type === 'Comment') && !node.merge}); } else { - return rules.filter(function (node) { return (node.type === 'Declaration' || node.type === 'Comment'); }).length === rules.length; + return rules.every(function (node) { return (node.type === 'Declaration' || node.type === 'Comment'); }); } }, @@ -81,7 +81,7 @@ AtRule.prototype = Object.assign(new Node(), { if (!Array.isArray(rules)) { return false; } else { - return rules.filter(function (node) { return (node.type === 'Keyword' || node.type === 'Comment'); }).length === rules.length; + return rules.every(function (node) { return (node.type === 'Keyword' || node.type === 'Comment'); }); } }, @@ -135,7 +135,7 @@ AtRule.prototype = Object.assign(new Node(), { if (value) { value = value.eval(context); - if (value.value && this.keywordList(value.value)) { + if (this.name === '@layer' && value.value && this.keywordList(value.value)) { value = new Anonymous(value.value.map(keyword => keyword.value).join(', '), this.getIndex(), this.fileInfo()); } } diff --git a/packages/test-data/css/_main/apply.css b/packages/test-data/css/_main/apply.css new file mode 100644 index 000000000..499decb21 --- /dev/null +++ b/packages/test-data/css/_main/apply.css @@ -0,0 +1,3 @@ +.box { + @apply h-64 w-64; +} diff --git a/packages/test-data/less/_main/apply.less b/packages/test-data/less/_main/apply.less new file mode 100644 index 000000000..499decb21 --- /dev/null +++ b/packages/test-data/less/_main/apply.less @@ -0,0 +1,3 @@ +.box { + @apply h-64 w-64; +}