For the following input, ```css .foo { :where(& > .bar) { color: red; } } ``` esbuild outputs ```css .foo{:where(>.bar){color:red}} ``` ([esbuild try](https://esbuild.github.io/try/#dAAwLjI0LjAALS1taW5pZnkgLS1sb2FkZXI9Y3NzAC5mb28gewogIDp3aGVyZSgmID4gLmJhcikgewogICAgY29sb3I6IHJlZDsKICB9Cn0)). But this output is invalid because `:where` does not allow relative selectors. Original issue: https://github.com/vitejs/vite/issues/18974 #### reference - [`:where()` spec](https://www.w3.org/TR/selectors-4/#zero-matches) - [`:is()` spec](https://www.w3.org/TR/selectors-4/#matches-pseudo): `:is()` has the same syntax with `:where()` - it takes [`<forgiving-selector-list>`](https://www.w3.org/TR/selectors-4/#typedef-forgiving-selector-list) and not [`<forgiving-relative-selector-list>`](https://www.w3.org/TR/selectors-4/#typedef-forgiving-relative-selector-list)
For the following input,
esbuild outputs
(esbuild try).
But this output is invalid because
:wheredoes not allow relative selectors.Original issue: vitejs/vite#18974
reference
:where()spec:is()spec::is()has the same syntax with:where()<forgiving-selector-list>and not<forgiving-relative-selector-list>