Note: For the sake of completeness, I put a version of this post that has links as references for everything mentioned here on my website.
The king is (almost) dead. Long live the king!
LibSass, which undergirds Jekyll’s native Sass pre-compiler, is deprecated. Jekyll has roughly until November to transition to Dart Sass or drop native Sass support altogether.
Here’s exactly how Jekyll is affected:
- The
jekyll
gem depends on thejekyll-sass-converter
gem. - The
jekyll-sass-converter
gem depends on thesassc
gem (also known assassc-ruby
and not to be confused withsassc
, a wrapper around LibSass written in C). - The
sassc
gem, because it is a Ruby wrapper around LibSass, is among those affected by the project’s deprecation. - There are currently no plans for migrating the
sassc
gem to Dart Sass, which is the “primary” or “reference” implementation of Sass.
This is the second time, as far as I am aware, that the default Sass implementation that Jekyll was using has been deprecated. The first was when Ruby Sass died.
Ending Ruby Sass took one year and two days. The language designers announced deprecation on April 2, 2018; they declared end-of-life on April 4, 2019. This time around, the deprecation announcement of LibSass came on Oct. 26, 2020, so Oct. 28 seems like a reasonable target date for transitioning away from LibSass.
I have been scouring for references on this and trying to figure out the plans for moving on from LibSass. For myself, I am planning to jury-rig a script to compile Sass with Dart Sass, and hopefully it is as fast and easy as simply using the jekyll-sass-converter
gem natively, but I have only so much patience for scripting since I prefer to instead financially support people who develop open source projects.
So, my question is: What is the Jekyll project’s plan for migrating away from LibSass? I think it would be best to maintain rather than drop Sass support and to do so by moving to Dart Sass, but I’m likely not the person who would do that programming, and I am only so tied into the weeds of the project itself.
Any and all guidance, references, opinions, or updates welcome.