Class: BrowserifyRb::Nvm::Browserify
- Inherits:
-
Object
- Object
- BrowserifyRb::Nvm::Browserify
- Defined in:
- lib/browserify_rb/nvm/browserify.rb
Constant Summary collapse
- DEFAULT_NVM_DIR =
"#{ENV["HOME"]}/.nvm"- LOG =
Logger.new(STDERR)
Class Method Summary collapse
Instance Method Summary collapse
- #compile(source) ⇒ Object
-
#initialize(browserify_opts: "", node_ver: nil, env: {}, nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false, required_modules: nil) ⇒ Browserify
constructor
A new instance of Browserify.
- #prepare ⇒ Object
Constructor Details
#initialize(browserify_opts: "", node_ver: nil, env: {}, nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false, required_modules: nil) ⇒ Browserify
Returns a new instance of Browserify.
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/browserify_rb/nvm/browserify.rb', line 12 def initialize( browserify_opts: "", node_ver: nil, env: {}, nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false, required_modules: nil) @nvm = BrowserifyRb::Nvm.new nvm_dir @node_ver = node_ver @env = env @browserify_opts = browserify_opts @suppress_stderr = suppress_stderr @prepared = false @modules = required_modules end |
Class Method Details
.compile(source, browserify_opts: "", node_ver: nil, env: {}, nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/browserify_rb/nvm/browserify.rb', line 68 def self.compile( source, browserify_opts: "", node_ver: nil, env: {}, nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false) new( browserify_opts: browserify_opts, node_ver: node_ver, env: env, nvm_dir: nvm_dir, suppress_stderr: suppress_stderr ).compile(source) end |
Instance Method Details
#compile(source) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/browserify_rb/nvm/browserify.rb', line 44 def compile source prepare unless @prepared out_buf = StringIO.new cmd = <<-CMD $(npm bin)/browserify #{@browserify_opts} -- - CMD stdout_handler = proc {|d| out_buf << d } stderr_handler = @suppress_stderr ? proc {|d| } : proc {|d| STDERR.print d} status = @nvm.run( cmd, stdin: source, node_ver: @node_ver, env: @env, stdout_handler: stdout_handler, stderr_handler: stderr_handler ).value raise "non-zero exit status: #{status.to_i}" unless status.success? return out_buf.string end |
#prepare ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/browserify_rb/nvm/browserify.rb', line 25 def prepare ms = ["browserify", *@modules].map{|m| %!"#{m}"! }.join(" ") cmd = "npm install #{ms}" stdout_handler = proc { } stderr_handler = @suppress_stderr ? proc { } : proc {|d| STDERR.print d} LOG.debug "run: #{cmd}" status = @nvm.run( cmd, node_ver: @node_ver, env: @env, stdout_handler: stdout_handler, stderr_handler: stderr_handler ).value raise "non-zero exit status: #{status.to_i}" unless status.success? @prepared = true end |