less.js
less.js copied to clipboard
Nested @layer rule lost scope
To reproduce:
https://lesscss.org/less-preview/#eyJjb2RlIjoiLm1haW57ICBcbiAgQGxheWVye1xuICAgICY6OmJlZm9yZXtcbiAgICAgIGNvbG9yOiNmMDA7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBzY3JlZW57XG4gICAgJjo6YmVmb3Jle1xuICAgICAgY29sb3I6IzBmMDtcbiAgICB9XG4gIH1cbiAgQGNvbnRhaW5lciAod2lkdGg+NDAwcHgpe1xuICAgICY6OmJlZm9yZXtcbiAgICAgIGNvbG9yOiMwMGY7XG4gICAgfVxuICB9XG59IiwiYWN0aXZlVmVyc2lvbiI6IjQuMi4wIiwibWF0aCI6InBhcmVucy1kaXZpc2lvbiIsInN0cmljdFVuaXRzIjpmYWxzZX0=
.main{
@layer{
&::before{
color:#f00;
}
}
}
Current behavior:
Nesting selector & lost in @layer.
But other @ rules works well, such as @media, @container etc.
@layer {
::before {
color: #f00;
}
}
Expected behavior:
Nesting selector & resolved as its scope selector.
@layer {
.main::before {
color: #f00;
}
}
Environment information:
lessversion: 4.2.0
Fixed in https://github.com/less/less.js/pull/4260