Sha256: aacfe7022fd52b5d8a9dac677904eda157a682e43f05283dce507614edd46b2d
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
# frozen_string_literal: true require 'sprockets/digest_utils' require 'sprockets/source_map_utils' if Gem::Version.new(::Sprockets::VERSION) >= Gem::Version.new('4.x') class Terser # A wrapper for Sprockets class Compressor VERSION = '1' def initialize(options = {}) options[:comments] ||= :none @options = options @cache_key = -"Terser:#{::Terser::VERSION}:#{VERSION}:#{::Sprockets::DigestUtils.digest(options)}" @terser = ::Terser.new(@options) end def self.instance @instance ||= new end def self.call(input) instance.call(input) end def self.cache_key instance.cache_key end attr_reader :cache_key if Gem::Version.new(::Sprockets::VERSION) >= Gem::Version.new('4.x') def call(input) input_options = { :source_map => { :filename => input[:filename] } } js, map = @terser.compile_with_map(input[:data], input_options) map = ::Sprockets::SourceMapUtils.format_source_map(JSON.parse(map), input) map = ::Sprockets::SourceMapUtils.combine_source_maps(input[:metadata][:map], map) { :data => js, :map => map } end else def call(input) @terser.compile(input[:data]) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gitlab-terser-1.0.1.1 | lib/terser/compressor.rb |