PostCSSというCSSのパースと変更を行うNode.jsパッケージを知った。Autoprefixerで使われている。名前からわかるように、主にCSSをポストプロセスするためのパッケージだけど、単にパーサーとして使っても良さそう。 習作ということでメディアクエリをまとめるライブラリ、CSS MQPackerを作った。パース結果のオブジェクトを把握するまでがちょっと時間かかったけど、その後は特に難しいことはなく、快適にCSSポストプロセッサーを書けそうな予感がする。 PostCSSのparse()を呼んだ返り値やprocess()で呼ばれる自前の関数に渡されるオブジェクトは、その子の配列rulesの各要素にルールセット(かメディアクエリなど)が格納され、それらは以下のような構造になっている。 { type: 'rule', decls: [ { type: 'decl', parent: