module LiveScript::Rails::SprocketsProcessor
Constants
- ENABLE_SOURCE_MAP
only enable source map when sprockets >= 4.0
Public Class Methods
cache_key()
click to toggle source
# File lib/livescript/rails/processor.rb, line 9 def self.cache_key @cache_key ||= "#{name}:#{LiveScript::Source::VERSION}:#{LiveScript::VERSION}:#{LiveScript::Rails::VERSION}".freeze end
call(input)
click to toggle source
# File lib/livescript/rails/processor.rb, line 13 def self.call(input) data = input[:data] options = { bare: true, header: true, }.merge(::Rails.application.config.assets.livescript || {}) options.merge!({ filename: input[:source_path] || input[:filename], map: ENABLE_SOURCE_MAP ? 'linked-src' : 'none', }) result = input[:cache].fetch([self.cache_key, data]) do LiveScript.compile(data, options) end if ENABLE_SOURCE_MAP map = Sprockets::SourceMapUtils.decode_vlq_mappings(result['map']['mappings'], sources: result['map']['sources'], names: result['map']['names']) { data: result['code'], map: Sprockets::SourceMapUtils.combine_source_maps(input[:metadata][:map], map), } else result end end