今日からLibsassを使うことにしました。Sassは元来Rubyで書かれているのだけれど、それをC言語で書き直したのがLibsassで、コンパイルの速さが特徴。
きっかけは、2015年4月27日にLibsass 3.2がリリースされたこと。出力スタイルに個人的に好きな(というよりごく一般的な)"expanded"が追加されたほか、Sassの機能的にもSass Compatibilityを見ると一目瞭然、Ruby Sass 3.4との互換性が大幅に向上しています。gitでcloneしてコンパイルしてsassc
コマンドを走らせたところ、Libsass 3.2なら今まで書いたSCSSファイルをコンパイルしてもエラー無し。ついに移行の時が来たか、と考えていました。
そして今朝Twitterを見ると、LibsassをNodeで使えるようにしたnode-sass 3.0.0が登場。正直ちょっと待ちくたびれた...。
We've just released v3.0.0, and it's massive!
Thank you to all our wonderful contributors!
Check the changelog - https://t.co/RfcHmDdAT3
— node-sass (@nodesass) 2015, 5月 6
また、Gruntプラグインであるgrunt-sass、そしてgulpプラグインであるgulp-sassもそれぞれバージョンアップし、node-sass 3.0.0に対応。機は熟したということで、今日からLibsass移行に至った次第です。
オリジナルのgenerator-skywardでスキャフォールディングしているのでタスクランナーは今もGruntを中心に使っているのですが、使った感触はやはりコンパイルが速くとても快適。今まではコードを保存してからブラウザに目をやった後一瞬待ってリロードされる感じでしたが、grunt-sassに変えてからはコードを保存した瞬間に一瞬でコンパイル、そしてAutoprefixerの処理が終わってリロードされている感じです。作業ストレスが減りますね。
これを機にタスクランナーをGruntからgulpに移行してもいいかもと思うけど、他にもやることはたくさんあるので時間と相談です。
ちなみに、LibsassとRuby Sassとの互換性についてはThe LibSass Compatibility Planに書かれています。Libsass 3.4がRuby Sass 3.4同等のふるまいになるのがゴールのようです。