From 9373ea314fe029fb6de55e6c14010b0b369179f2 Mon Sep 17 00:00:00 2001 From: Olivier Nicodemi Date: Thu, 23 Sep 2021 17:15:26 +0200 Subject: [PATCH 1/3] Tests for 2991 --- packages/test-data/css/_main/css-3.css | 2 -- .../less/_main/import-reference-issues.less | 3 +++ .../comments-2991.less | 22 +++++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 packages/test-data/less/_main/import-reference-issues/comments-2991.less diff --git a/packages/test-data/css/_main/css-3.css b/packages/test-data/css/_main/css-3.css index 95725b8700..d1316defbb 100644 --- a/packages/test-data/css/_main/css-3.css +++ b/packages/test-data/css/_main/css-3.css @@ -136,8 +136,6 @@ body > .shadow { symbols: ‣; suffix: " "; } -@-ms-viewport { -} @unknown foo 42 (bar) { x { y: z; diff --git a/packages/test-data/less/_main/import-reference-issues.less b/packages/test-data/less/_main/import-reference-issues.less index f35e90feb3..63ecc30af2 100644 --- a/packages/test-data/less/_main/import-reference-issues.less +++ b/packages/test-data/less/_main/import-reference-issues.less @@ -5,6 +5,7 @@ // * #2716 - A file imported by reference and then normally - multiple imports should be independent // * #1968 - When using an @import (reference), mixins that contain an & selector get added to the compiled output improperly // * #2162 - Cannot put import by reference inside of a mixin (also doubles #1896) +// * #2991 - Empty @media queries generated through line comments when compiling less file with (reference) // #1878: extend inside referenced file should not extend outside selectors @import (reference) "import-reference-issues/global-scope-import.less"; @@ -48,3 +49,5 @@ show-all-content { call-mixin-with-import-by-reference-inside { .mixin-with-import-by-reference-inside(); } + +@import (reference) "import-reference-issues/comments-2991.less"; \ No newline at end of file diff --git a/packages/test-data/less/_main/import-reference-issues/comments-2991.less b/packages/test-data/less/_main/import-reference-issues/comments-2991.less new file mode 100644 index 0000000000..4b85731d20 --- /dev/null +++ b/packages/test-data/less/_main/import-reference-issues/comments-2991.less @@ -0,0 +1,22 @@ +.referenced { + // line comment is enough to reproduce it + @media (hover) { + // sezam + } + // repeat to prove point + @media (hover) { + // sezam + } + // but block comment is not, huh + @media (hover) { + /* salabim */ + } + // following block does not output, needs line comment + @media (hover) { + color: #000000; + } +} +// needs to be nested to fail +@media (hover) { + // sezam +} \ No newline at end of file From dbd388992be70f779b905ddc1aabbef6d5743bb6 Mon Sep 17 00:00:00 2001 From: Olivier Nicodemi Date: Thu, 23 Sep 2021 17:16:09 +0200 Subject: [PATCH 2/3] Fix for 2991 --- .../less/src/less/visitors/to-css-visitor.js | 4 ++-- .../comments-2991.less | 21 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/less/src/less/visitors/to-css-visitor.js b/packages/less/src/less/visitors/to-css-visitor.js index d49987ea74..6654f8a825 100644 --- a/packages/less/src/less/visitors/to-css-visitor.js +++ b/packages/less/src/less/visitors/to-css-visitor.js @@ -39,9 +39,9 @@ class CSSVisitorUtils { ? (rulesetNode.paths.length > 0) : false; } - resolveVisibility(node, originalRules) { + resolveVisibility(node) { if (!node.blocksVisibility()) { - if (this.isEmpty(node) && !this.containsSilentNonBlockedChild(originalRules)) { + if (this.isEmpty(node)) { return ; } diff --git a/packages/test-data/less/_main/import-reference-issues/comments-2991.less b/packages/test-data/less/_main/import-reference-issues/comments-2991.less index 4b85731d20..d3f8aa7a85 100644 --- a/packages/test-data/less/_main/import-reference-issues/comments-2991.less +++ b/packages/test-data/less/_main/import-reference-issues/comments-2991.less @@ -1,22 +1,25 @@ .referenced { - // line comment is enough to reproduce it + // This file should not output anything if referenced. @media (hover) { - // sezam + // This file should not output anything if referenced. } - // repeat to prove point + // This file should not output anything if referenced. @media (hover) { - // sezam + // This file should not output anything if referenced. } - // but block comment is not, huh + // This file should not output anything if referenced. @media (hover) { - /* salabim */ + /* This file should not output anything if referenced. */ } - // following block does not output, needs line comment + // This file should not output anything if referenced. @media (hover) { color: #000000; } } -// needs to be nested to fail +// This file should not output anything if referenced. @media (hover) { - // sezam + // This file should not output anything if referenced. +} +@media (hover) { + /* This file should not output anything if referenced. */ } \ No newline at end of file From c86f536fd07381a3c96ea90c7329c2655e22901e Mon Sep 17 00:00:00 2001 From: Lei Chen Date: Sat, 5 Feb 2022 16:11:27 +0800 Subject: [PATCH 3/3] chore: add missing newline --- .../less/_main/import-reference-issues/comments-2991.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/test-data/less/_main/import-reference-issues/comments-2991.less b/packages/test-data/less/_main/import-reference-issues/comments-2991.less index d3f8aa7a85..da15b2442f 100644 --- a/packages/test-data/less/_main/import-reference-issues/comments-2991.less +++ b/packages/test-data/less/_main/import-reference-issues/comments-2991.less @@ -22,4 +22,4 @@ } @media (hover) { /* This file should not output anything if referenced. */ -} \ No newline at end of file +}