class Piperun::Filters::BrowserifyFilter
Public Class Methods
new(entry, options = {})
click to toggle source
Calls superclass method
Piperun::Filters::Filter::new
# File lib/piperun/filters/browserify_filter.rb, line 3 def initialize(entry, options = {}) super() @entry = [*entry] @options = { output: 'bundle.js', debug: false, fast: false }.merge options end
Public Instance Methods
run(src, dst, files)
click to toggle source
# File lib/piperun/filters/browserify_filter.rb, line 14 def run(src, dst, files) entry = @entry.map { |e| File.join(src, e) } dstpath = File.join(dst, @options[:output]) FileUtils::mkdir_p File.dirname(dstpath) argv = ['browserify', '-o', dstpath, *entry] argv += ['--debug'] if @options[:debug] argv += ['--fast'] if @options[:fast] pid = Process.spawn(*argv) Process.wait(pid) return [@options[:output]] end