Quiero utilizar Piñones en la línea de comandos (con el rubí-piñones de paquetes de Debian), y quiero usar Tersa como la de JavaScript compressor (porque Uglify no admite ES6). Toda la documentación que he visto sugiere que puedo crear un archivo con el siguiente código:
require 'sprockets'
require 'terser'
Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor
para registrar el Terser con Piñones, y luego me cobra un --require FILE
a mi llamada sprockets
en la línea de comandos. Sé que es el procesamiento de la secuencia de comandos, porque puedo agregar algo como esto para el archivo:
Sprockets.js_compressor = :terser
puts Sprockets.js_compressor
y se imprime Terser::Compressor
como uno podría esperar.
Sin EMBARGO. Cuando ejecuto piñones con algo similar a esto:
sprockets --require ./register_compressor.rb --js-compressor=terser ...
Tengo la respuesta:
/usr/lib/ruby/vendor_ruby/sprockets/compressing.rb:63:in `js_compressor=':
unknown compressor: terser (Sprockets::Error)
He estado golpeando mi cabeza contra este problema por mucho tiempo.