Voglio usare Pignoni a riga di comando (con il ruby-pignoni pacchetto Debian), e voglio utilizzare Terser come il JavaScript compressore (perché Uglify non supporta ES6). Tutta la documentazione ho visto suggerisce che riesco a creare un file con il seguente codice:
require 'sprockets'
require 'terser'
Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor
per registrare Terser con pacco Pignoni, e poi ho virare su un --require FILE
della mia chiamata sprockets
da linea di comando. So che è l'elaborazione di script, perché posso aggiungere qualcosa di simile per il file:
Sprockets.js_compressor = :terser
puts Sprockets.js_compressor
e stampa Terser::Compressor
come ci si potrebbe aspettare.
TUTTAVIA. Quando ho eseguito pignoni con qualcosa di simile a questo:
sprockets --require ./register_compressor.rb --js-compressor=terser ...
Ho la risposta:
/usr/lib/ruby/vendor_ruby/sprockets/compressing.rb:63:in `js_compressor=':
unknown compressor: terser (Sprockets::Error)
Ho continuato a sbattere la testa contro questo problema per troppo tempo.