CSSハックのあたりを突き詰めていたところ、残してもしょうがない定義が残ることに気付いた。例えば00property
などといった不正なプロパティーを含む定義だ。これらを仕様通り、つまりブラウザーと同じように削除するようにし、CSS Wring v4.2.0をリリースした。今はちょっとしたバグを修正して、v4.2.1を既にリリースしている。
こういった仕様や実装で無視される定義やルールセットの最小化ツールでの扱いは難しい。そもそもエラーだと考えると、リンター等で直されるべき点だとも考えられる。あえて書かれているとすると残して欲しいからこそ書いていると考えられるため、最小化ツールでも残すべきだろう。
CSSWringではどちらも採用しなかった。入力されるCSSにエラーがないと想定することが難しいからだ。CSSハックのことはそろそろ忘れても良いだろうが、実装によって未実装でエラーになるということは十分にありうる。そういった未実装によるエラーはリンターで拾うことは難しい。
そんなわけで単純に文法上のエラーをなるべく排していくという中庸な実装に落ち着いた。