class SprocketsEsbuild::TransformerBase

Constants

ESBUILD

Public Instance Methods

cache_key() click to toggle source
# File lib/sprockets-esbuild/transformers.rb, line 14
def cache_key
  @cache_key ||= "#{self.class.name}::#{VERSION}".freeze
end
call(input) click to toggle source
# File lib/sprockets-esbuild/transformers.rb, line 18
def call(input)
  data = input[:data]

  input[:cache].fetch([cache_key, data]) do

    out, err, status = Open3.capture3(ESBUILD, '--sourcemap',
      "--sourcefile=#{input[:filename]}", "--loader=#{loader}",
      stdin_data: input[:data])

    if status.success? and err.empty?
      out
    else
      raise Error, "esbuild exit status=#{status.exitstatus}\n#{err}"
    end
  end
end