less.js icon indicating copy to clipboard operation
less.js copied to clipboard

Nested @layer rule lost scope

Open woody-li opened this issue 2 years ago • 1 comments

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:

  • less version: 4.2.0

woody-li avatar Nov 01 '23 02:11 woody-li

Fixed in https://github.com/less/less.js/pull/4260

matthew-dean avatar Feb 05 '24 13:02 matthew-dean