Class: Escompress::Compressor

Inherits:
Object
  • Object
show all
Defined in:
lib/escompress/compressor.rb

Instance Method Summary collapse

Constructor Details

#initialize(loader:) ⇒ Compressor

Returns a new instance of Compressor.



5
6
7
# File 'lib/escompress/compressor.rb', line 5

def initialize(loader:)
  @loader = loader
end

Instance Method Details

#compress(input) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/escompress/compressor.rb', line 9

def compress(input)
  cmd = "#{Escompress.esbuild_executable} --loader=#{@loader} --minify"
  output, err, status = Open3.capture3(cmd, stdin_data: input)

  if status.success?
    output
  else
    puts "Escompress::Compressor error: #{err} status: #{status}"
    input
  end
end