LibSass has reached its end of life. It will no longer receive updates of any kind. Users should migrate to Dart Sass at their earliest convenience. There is a Ruby plugin using Embedded Dart Sass available now.
We all love working with Sass, but compilation can take quite a long time for larger codebases. This gem integrates the C implementation of Sass, LibSass, into the asset pipeline.
In one larger project, this made compilation 4x faster:
# Using sassc-rails
[1] pry(main)> Benchmark.bm { |bm| bm.report { Rails.application.assets["application.css"] } }
user system total real
1.720000 0.170000 1.890000 ( 1.936867)
# Using sass-rails
[1] pry(main)> Benchmark.bm { |bm| bm.report { Rails.application.assets["application.css"] } }
user system total real
7.820000 0.250000 8.070000 ( 8.106347)
This should essentially be a drop in alternative to sass-rails.
With SassC-Rails, it's also extremely easy to turn on inline source maps. Simply add the following configuration to your development.rb file:
# config/environments/development.rb
config.sass.inline_source_maps = trueAfter adding this config line, you may need to clear your assets cache
(rm -r tmp/cache/assets), stop spring, and restart your rails server. You may
also wish to disable line comments (config.sass.line_comments = false).
Note, as indicated, these source maps are inline. They will not generate additional files or anything like that. Instead, they will be appended to the compiled application.css file.
For a look at the compatibility between Ruby Sass and LibSass, check this compatibility chart out.
Add this line to your application's Gemfile:
gem 'sassc-rails'And then execute:
$ bundle
Due to LibSass compilation requirements, you must upgrade to the Heroku Cedar-14 Stack in order to successfully install this gem.
Upgrading to Cedar-14 is usually a painless process.
Libraries explicitly depending on Sass-Rails, such as ActiveAdmin, can cause conflicts with installation of SassC-Rails. While we have no built-in solution for this, please check out this issue for a workaround.
This gem is based on sass-rails, and is maintained by Ryan Boland and awesome contributors.
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.3.0
- 1.2.1
- Bump SassC (and thus LibSass) version
- 1.2.0
- 1.1.0
- Moved under the official sass organization!
- Source line comments (
app.config.sass.line_comments) - Prevent sass-rails railtie from running
- CSS compression may be disabled in test mode. Special thanks to this Sass-Rails PR for inspiration.
- 1.0.0
- Initial Release
- Add support for inline source maps
- Support compression in the way that Sass-Rails handles it
- Fork it ( https://github.com/sass/sassc-rails/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Add Tests
- Push to the branch (
git push origin my-new-feature) - Create a new Pull Request