Anyway, as others comments said, these kind of tools nowadays are more 'transformers' than mere 'minifiers'.
Anyway, as others comments said, these kind of tools nowadays are more 'transformers' than mere 'minifiers'.
I wonder how much ineffective styling still remains after "tree shaking". I guess the fancy tree shaking is out of luck, if we add unnecessary styling to elements, which are indeed used. It seems a really hard problem to solve automatically, to transform CSS in a way, that takes care of redundancies and unnecessary styling, while still maintaining the readability, which well crafted CSS can have.
The problem is, with CSS you don't know if you've added too much. As the project evolves, and code and styles change there's literally no way of knowing if a certain CSS rule is still in use Well, except regexp'ing the whole project looking for matches.
That's basically what these tree-shaking tools do.