kangax / html-minifier

Javascript-based HTML compressor/minifier (with Node.js support)
http://kangax.github.io/html-minifier/
MIT License
4.92k stars 568 forks source link

incorrectly removes whitespace before CSS wildcard selector #1127

Open dwhieb opened 2 years ago

dwhieb commented 2 years ago

In Elad Shechter's new CSS reset, he uses the following lines of CSS:

*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

html-minifier converts :not(svg *) to :not(svg*), which is invalid CSS and prevents the rule from being applied.

I've confirmed that this error is not caused by clean-css—it's caused by html-minifier.

I haven't been able to find any setting in html-minifier that I can adjust to fix this, except to use ignoreCustomFragments, which seems hacky.

It seems like html-minifier should not be removing whitespace in this instance.