lib/sprockets/sass_compressor.rb in sprockets-3.7.5 vs lib/sprockets/sass_compressor.rb in sprockets-4.0.0.beta1

- old
+ new

@@ -1,7 +1,8 @@ require 'sprockets/autoload' require 'sprockets/digest_utils' +require 'sprockets/source_map_utils' module Sprockets # Public: Sass CSS minifier. # # To accept the default options @@ -43,9 +44,21 @@ }.merge(options).freeze @cache_key = "#{self.class.name}:#{Autoload::Sass::VERSION}:#{VERSION}:#{DigestUtils.digest(options)}".freeze end def call(input) - Autoload::Sass::Engine.new(input[:data], @options).render + css, map = Autoload::Sass::Engine.new( + input[:data], + @options.merge(filename: 'filename') + ).render_with_sourcemap('') + + css = css.sub("/*# sourceMappingURL= */\n", '') + + map = SourceMapUtils.combine_source_maps( + input[:metadata][:map], + SourceMapUtils.decode_json_source_map(map.to_json(css_uri: 'uri'))["mappings"] + ) + + { data: css, map: map } end end end