Open ygoe opened 2 years ago
@ygoe Which version of CSSO do you use? CSSO recognises :where()
selector and calculates its specificity right starting 5.0
.
Oh, I see, I have version 4.2.0. Need to update that again.
Okay, how can I update this? It doesn't do with npm update -g
(all other tools are updated but not csso). The package csso-cli stays at 3.0.0 and csso --version
keeps printing 4.2.0. Something is broken here. If I install the package csso, it has the version 5.0.3 but csso --version
doesn't change at all.
Any idea how I should follow your suggestion? It seems impossible with npm. Or there's a packaging bug in csso.
@lahmatiy Looks like the version you suggested is not available. See https://github.com/css/csso-cli/issues/25
It looks like :where()
and :is()
are now completely unmodified with csso 5.0.4. No minifying is happening at all, multiline selectors are kept as-is and not pulled together into a single line without whitespace like all other selectors.
:where()
selectors have zero specificity so their order is the only thing that matters. csso will merge multiple selectors into a single comma-separated selector if they have the same content. But then, it will also change their order and it renders differently in browsers.Example SASS:
Compiled to CSS:
Result after csso: (inserted line breaks for readability)
If anything, the second line needs to come last (merge to last occurrence, not to first). But then again, it's still a different order than declared in the source.
Similar to #301?