Skip to content

Extending an extender within a pseudo-selector does not work across modules. #1297

@Awjin

Description

@Awjin

When a module extends an upstream :matches() pseudo-selector that, in turn, extends a selector from its upstream module, things break.

For example:

<===> extendee.scss
.extendee {
  a: 1;
}

<===> extender.scss
@use "extendee";
:matches(.extender) {
  @extend .extendee;
}

<===> extender_of_extender.scss
@use "extender";
.extender_of_extender {
  @extend .extender;
  b: 1;
}

This is the expected output:

.extendee, :matches(.extender, .extender_of_extender) {
  a: 1;
}

.extender_of_extender {
  b: 1;
}

This is the current output:

.extendee, :matches(.extender) {
  a: 1;
}

.extender_of_extender {
  b: 1;
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions