CSSWringのv1.2.4をリリースした。マイナーな部分で空白削除や無駄な記述の削除がなされていなかったことを調節していた。これで圧縮機能についてはフリーズして、正規表現のバグを潰したり、正規表現をやめるのに精を出したい。
- 重複するセレクターの削除
- 属性セレクター内の空白の削除
- 関数型セレクター(
:not()
など)内の空白の削除 - セレクターを持たないルールセットの削除
- 不正な名前を持つキーフレームの削除
calc()
内の空白の削除@import
ルールをまとめて先頭へ移動@supports
ルールのパラメーターの最適化
他、url()
内にエスケープされた)
がある場合などの正規表現の修正や、残すコメントが最初にあるにも関わらず@charset
が常に先頭へ来てしまうバグの修正、コメントや@charset
、@import
のみのCSSがうまく扱えなかったバグの修正なども。
不正な名前を持つキーフレームの削除をやっていて思ったんだけど、こういったバリデーションに属することはCSSWringが持つべき機能じゃない気もしてきた。@charset
ルールの重複の削除や@import
ルールの移動などは特にそうで、これらの場合はCSSWringにかける前と後でCSSの機能が変化してしまう(可能性がある)。
もうちょっと搭載する機能に明確な線引きをすることを考えた方が良さそう。