Opinionated Programmer - Jo Liss's musings on enlightened software development.

The State of Libsass (versus Ruby Sass)

Libsass is a C++ re-implementation of the Ruby-based Sass compiler. It’s an order of magnitude faster than Ruby Sass, but hasn’t seen as much adoption yet.

I recently asked Aaron Leung, the current maintainer, about the state of libsass. He kindly agreed to let me publish his response, rendered below. Shout-out to his employer Moovweb, who, Aaron lets me know, have been paying him to work on libsass.

Hi Jo,

I appreciate your interest in LibSass! It’s been very stable – the company I work for uses it internally in our SDK and build server, and it’s been running fine. Unfortunately, in terms of features, it hasn’t fully caught up with the Ruby implementation yet. The biggest deficiency right now is that @extend isn’t fully functional – LibSass works correctly for more basic uses of @extend, but a full implementation is still 2-3 months out (it’s a very complex feature).

Off the top of my head, other incompatibilities include:
* no 3.3 features yet
* full UTF-8 support is in the works (hopefully will be done in a week or two)
* @media blocks are following the scoping rules of pre-3.2 Sass
* limited support for the new CSS filter functions
* not properly handling namespaced selectors

In addition to those, there are miscellaneous little bugs that cause LibSass to generate incorrect output, mostly in obscure edge-casey stuff. However, thanks to a recent spike in community interest, I’ve been working harder to get all these things sorted out, and my employer is also interested in seeing LibSass become every bit as good as the Ruby version. Thanks to all that, as well as taking a closer look at the Ruby code, I’m hoping to get completely caught up with the Ruby version by mid-summer.

Hope this helps, and let me know if you have any more questions!

Aaron

He adds:

I should also let you know that we’re working on a more detailed feature/compatibility grid. More generally, we’re trying to be better about staying in touch with the community this year (via blog posts, talks at conferences & meetups, etc), so I’ll try to keep you apprised of any LibSass progress.

P.S. Keep in mind that the “mid-summer 2014” estimate above was given in private email to me, and is not an official commitment on anyone’s part. ;-)

Discuss on Twitter