browserify_rb 0.3.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/README.md +31 -4
- data/browserify_rb.gemspec +1 -2
- data/lib/browserify_rb.rb +3 -77
- data/lib/browserify_rb/browserify.rb +36 -0
- data/lib/browserify_rb/nvm.rb +41 -43
- data/lib/browserify_rb/nvm/browserify.rb +79 -0
- data/lib/browserify_rb/popen3.rb +59 -61
- data/lib/browserify_rb/version.rb +2 -2
- data/package.json +9 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d719f31c38f3e7c258bac2a30640ef9d934b7101
|
4
|
+
data.tar.gz: eabc846c29c618278188574cbe7976382032e9dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 471482ceb0aa270e19f6cdb09e6ca3ba95ef16ea7885dbe185a380d7f0a6bdaa7bf6bf6e643cc451eaea60f84487612dc019a602bbee0c34fc3ff5859f0bd462
|
7
|
+
data.tar.gz: bba717e1bbb0f8b16dbc0bc306feb52d0794a2f3c66ead75d64eaaa8655a449e61132babcfc8778d3e42f51d4ea4e354671882475d890663d264f89cf1244115
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# BrowserifyRb
|
2
2
|
|
3
|
-
browserify wrapper
|
3
|
+
browserify wrapper for ruby.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,18 +18,45 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
$ gem install browserify_rb
|
20
20
|
|
21
|
+
|
21
22
|
## Usage
|
22
23
|
|
24
|
+
BrewserifyRb has 2 implementations: `BrowserifyRb::Browserify`, `BrowserifyRb::Nvm::Browserify`
|
25
|
+
|
26
|
+
|
27
|
+
### BrowserifyRb::Browserify
|
28
|
+
|
29
|
+
`browserify` required:
|
30
|
+
|
23
31
|
```ruby
|
24
32
|
require "browserify_rb"
|
25
33
|
|
26
|
-
|
34
|
+
# if you install browserify in global
|
35
|
+
br = BrowserifyRb::Browserify.new
|
27
36
|
puts br.compile("console.log('foo');")
|
37
|
+
# or
|
38
|
+
puts BrowserifyRb::Browserify.compile("console.log('bar');")
|
28
39
|
|
29
|
-
|
40
|
+
# if you install browserify in ./node_modules
|
41
|
+
br = BrowserifyRb::Browserify.new(command: "$(npm bin)/browserify -")
|
42
|
+
puts br.compile("console.log('foo');")
|
43
|
+
# or
|
44
|
+
puts BrowserifyRb::Browserify.compile("console.log('bar');", command: "$(npm bin)/browserify -")
|
30
45
|
```
|
31
46
|
|
32
|
-
|
47
|
+
|
48
|
+
### BrowserifyRb::Nvm::Browserify
|
49
|
+
|
50
|
+
`browserify`, `node` nor `nvm` are not required. These are installed automatically:
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
require "browserify_rb"
|
54
|
+
|
55
|
+
br = BrowserifyRb::Nvm::Browserify.new
|
56
|
+
puts br.compile("console.log('foo');")
|
57
|
+
# or
|
58
|
+
puts BrowserifyRb::Nvm::Browserify.compile("console.log('bar');")
|
59
|
+
```
|
33
60
|
|
34
61
|
## Development
|
35
62
|
|
data/browserify_rb.gemspec
CHANGED
@@ -9,8 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Keiichiro Ui"]
|
10
10
|
spec.email = ["keiichiro.ui@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q{browserify wrapper}
|
13
|
-
spec.description = %q{browserify wrapper with nvm to install node automatically}
|
12
|
+
spec.summary = %q{browserify wrapper for ruby}
|
14
13
|
spec.homepage = "https://github.com/kui/browserify_rb"
|
15
14
|
spec.license = "MIT"
|
16
15
|
|
data/lib/browserify_rb.rb
CHANGED
@@ -1,80 +1,6 @@
|
|
1
1
|
require "browserify_rb/version"
|
2
|
-
require "browserify_rb/nvm"
|
2
|
+
require "browserify_rb/nvm/browserify"
|
3
|
+
require "browserify_rb/browserify"
|
3
4
|
|
4
|
-
|
5
|
-
require "logger"
|
6
|
-
|
7
|
-
class BrowserifyRb
|
8
|
-
DEFAULT_NVM_DIR = "#{ENV["HOME"]}/.nvm"
|
9
|
-
LOG = Logger.new(STDERR)
|
10
|
-
LOG.level = Logger::Severity.const_get(ENV["LOG"] || "INFO")
|
11
|
-
LOG.progname = BrowserifyRb
|
12
|
-
|
13
|
-
def initialize(
|
14
|
-
browserify_opts: "", node_ver: nil, env: {},
|
15
|
-
nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false,
|
16
|
-
required_modules: nil)
|
17
|
-
@nvm = BrowserifyRb::Nvm.new nvm_dir
|
18
|
-
@node_ver = node_ver
|
19
|
-
@env = env
|
20
|
-
@browserify_opts = browserify_opts
|
21
|
-
@suppress_stderr = suppress_stderr
|
22
|
-
@prepared = false
|
23
|
-
@modules = required_modules
|
24
|
-
end
|
25
|
-
|
26
|
-
def prepare
|
27
|
-
ms = ["browserify", *@modules].map{|m| %!"#{m}"! }.join(" ")
|
28
|
-
cmd = "npm install #{ms}"
|
29
|
-
stdout_handler = proc {|d| }
|
30
|
-
stderr_handler = @suppress_stderr ?
|
31
|
-
proc {|d| } :
|
32
|
-
proc {|d| STDERR.print d}
|
33
|
-
LOG.debug "run: #{cmd}"
|
34
|
-
status = @nvm.run(
|
35
|
-
cmd,
|
36
|
-
node_ver: @node_ver,
|
37
|
-
env: @env,
|
38
|
-
stdout_handler: stdout_handler,
|
39
|
-
stderr_handler: stderr_handler
|
40
|
-
).value
|
41
|
-
raise "non-zero exit status: #{status.to_i}" unless status.success?
|
42
|
-
@prepared = true
|
43
|
-
end
|
44
|
-
|
45
|
-
def compile source
|
46
|
-
prepare unless @prepared
|
47
|
-
|
48
|
-
out_buf = StringIO.new
|
49
|
-
cmd = <<-CMD
|
50
|
-
$(npm bin)/browserify #{@browserify_opts} -- -
|
51
|
-
CMD
|
52
|
-
stdout_handler = proc {|d| out_buf << d }
|
53
|
-
stderr_handler = @suppress_stderr ?
|
54
|
-
proc {|d| } :
|
55
|
-
proc {|d| STDERR.print d}
|
56
|
-
status = @nvm.run(
|
57
|
-
cmd,
|
58
|
-
stdin: source,
|
59
|
-
node_ver: @node_ver,
|
60
|
-
env: @env,
|
61
|
-
stdout_handler: stdout_handler,
|
62
|
-
stderr_handler: stderr_handler
|
63
|
-
).value
|
64
|
-
raise "non-zero exit status: #{status.to_i}" unless status.success?
|
65
|
-
|
66
|
-
return out_buf.string
|
67
|
-
end
|
68
|
-
|
69
|
-
def self.compile(
|
70
|
-
source, browserify_opts: "", node_ver: nil, env: {},
|
71
|
-
nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false)
|
72
|
-
new(
|
73
|
-
browserify_opts: browserify_opts,
|
74
|
-
node_ver: node_ver,
|
75
|
-
env: env,
|
76
|
-
nvm_dir: nvm_dir,
|
77
|
-
suppress_stderr: suppress_stderr
|
78
|
-
).compile(source)
|
79
|
-
end
|
5
|
+
module BrowserifyRb
|
80
6
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require "browserify_rb/popen3"
|
2
|
+
|
3
|
+
require "stringio"
|
4
|
+
require "logger"
|
5
|
+
|
6
|
+
class BrowserifyRb::Browserify
|
7
|
+
LOG = Logger.new(STDERR)
|
8
|
+
LOG.level = Logger::Severity.const_get(ENV["LOG"] || "INFO")
|
9
|
+
LOG.progname = BrowserifyRb::Browserify
|
10
|
+
|
11
|
+
def initialize command: "browserify -", suppress_stderr: false
|
12
|
+
@command = command
|
13
|
+
@suppress_stderr = suppress_stderr
|
14
|
+
end
|
15
|
+
|
16
|
+
def compile source
|
17
|
+
out_buf = StringIO.new
|
18
|
+
stdout_handler = proc {|d| out_buf << d }
|
19
|
+
stderr_handler = @suppress_stderr ? proc { } : proc {|d| STDERR.print d }
|
20
|
+
|
21
|
+
LOG.debug "run: #{@command}"
|
22
|
+
status = BrowserifyRb::Popen3.async_exec(
|
23
|
+
@command,
|
24
|
+
input: source,
|
25
|
+
stdout_handler: stdout_handler,
|
26
|
+
stderr_handler: stderr_handler,
|
27
|
+
).value
|
28
|
+
raise "non-zero exit status: #{status.to_i}" unless status.success?
|
29
|
+
|
30
|
+
out_buf.string
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.compile source, command: "browserify -", suppress_stderr: false
|
34
|
+
new(command: command, suppress_stderr: suppress_stderr).compile(source)
|
35
|
+
end
|
36
|
+
end
|
data/lib/browserify_rb/nvm.rb
CHANGED
@@ -3,32 +3,31 @@ require "browserify_rb/popen3"
|
|
3
3
|
require "stringio"
|
4
4
|
require "logger"
|
5
5
|
|
6
|
-
class BrowserifyRb
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
LOG.progname = Nvm
|
6
|
+
class BrowserifyRb::Nvm
|
7
|
+
LOG = Logger.new(STDERR)
|
8
|
+
LOG.level = Logger::Severity.const_get(ENV["LOG"] || "INFO")
|
9
|
+
LOG.progname = BrowserifyRb::Nvm
|
11
10
|
|
12
|
-
|
11
|
+
NVM_SH = File.join(__dir__, "nvm.sh")
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
def initialize nvm_dir = "#{ENV["HOME"]}/.nvm"
|
14
|
+
@nvm_dir = nvm_dir
|
15
|
+
end
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
def env
|
18
|
+
{ "NVM_DIR" => @nvm_dir }
|
19
|
+
end
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
21
|
+
def run(
|
22
|
+
cmd,
|
23
|
+
stdin: "",
|
24
|
+
stdout_handler: proc{|d| STDOUT.print d },
|
25
|
+
stderr_handler: proc{|d| STDERR.print d },
|
26
|
+
node_ver: nil,
|
27
|
+
env: {})
|
28
|
+
new_env = (env).merge(self.env)
|
29
|
+
node_ver = node_ver ? %["#{node_ver}"] : ""
|
30
|
+
cmd = <<-CMD
|
32
31
|
. "#{NVM_SH}"
|
33
32
|
if ! nvm use #{node_ver} >&2; then
|
34
33
|
nvm install #{node_ver} >&2
|
@@ -37,32 +36,31 @@ class BrowserifyRb
|
|
37
36
|
#{cmd}
|
38
37
|
CMD
|
39
38
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
39
|
+
LOG.debug "run: #{cmd}"
|
40
|
+
BrowserifyRb::Popen3.async_exec(
|
41
|
+
cmd,
|
42
|
+
input: stdin, env: new_env,
|
43
|
+
stdout_handler: stdout_handler,
|
44
|
+
stderr_handler: stderr_handler
|
45
|
+
)
|
46
|
+
end
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
48
|
+
def self.version
|
49
|
+
out = StringIO.new
|
50
|
+
err = StringIO.new
|
51
|
+
cmd = <<-CMD
|
53
52
|
. "#{NVM_SH}"
|
54
53
|
nvm --version
|
55
54
|
CMD
|
56
55
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
56
|
+
LOG.debug "run: #{cmd}"
|
57
|
+
st = BrowserifyRb::Popen3.async_exec(
|
58
|
+
cmd,
|
59
|
+
stdout_handler: proc {|d| out << d },
|
60
|
+
stderr_handler: proc {|d| err << d }
|
61
|
+
).value
|
62
|
+
raise "non-zero exit status: #{status.to_i}\n#{err}" unless st.success?
|
64
63
|
|
65
|
-
|
66
|
-
end
|
64
|
+
out.string.strip
|
67
65
|
end
|
68
66
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require "browserify_rb/nvm"
|
2
|
+
|
3
|
+
require "stringio"
|
4
|
+
require "logger"
|
5
|
+
|
6
|
+
class BrowserifyRb::Nvm::Browserify
|
7
|
+
DEFAULT_NVM_DIR = "#{ENV["HOME"]}/.nvm"
|
8
|
+
LOG = Logger.new(STDERR)
|
9
|
+
LOG.level = Logger::Severity.const_get(ENV["LOG"] || "INFO")
|
10
|
+
LOG.progname = BrowserifyRb::Nvm::Browserify
|
11
|
+
|
12
|
+
def initialize(
|
13
|
+
browserify_opts: "", node_ver: nil, env: {},
|
14
|
+
nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false,
|
15
|
+
required_modules: nil)
|
16
|
+
@nvm = BrowserifyRb::Nvm.new nvm_dir
|
17
|
+
@node_ver = node_ver
|
18
|
+
@env = env
|
19
|
+
@browserify_opts = browserify_opts
|
20
|
+
@suppress_stderr = suppress_stderr
|
21
|
+
@prepared = false
|
22
|
+
@modules = required_modules
|
23
|
+
end
|
24
|
+
|
25
|
+
def prepare
|
26
|
+
ms = ["browserify", *@modules].map{|m| %!"#{m}"! }.join(" ")
|
27
|
+
cmd = "npm install #{ms}"
|
28
|
+
stdout_handler = proc { }
|
29
|
+
stderr_handler = @suppress_stderr ?
|
30
|
+
proc { } :
|
31
|
+
proc {|d| STDERR.print d}
|
32
|
+
LOG.debug "run: #{cmd}"
|
33
|
+
status = @nvm.run(
|
34
|
+
cmd,
|
35
|
+
node_ver: @node_ver,
|
36
|
+
env: @env,
|
37
|
+
stdout_handler: stdout_handler,
|
38
|
+
stderr_handler: stderr_handler
|
39
|
+
).value
|
40
|
+
raise "non-zero exit status: #{status.to_i}" unless status.success?
|
41
|
+
@prepared = true
|
42
|
+
end
|
43
|
+
|
44
|
+
def compile source
|
45
|
+
prepare unless @prepared
|
46
|
+
|
47
|
+
out_buf = StringIO.new
|
48
|
+
cmd = <<-CMD
|
49
|
+
$(npm bin)/browserify #{@browserify_opts} -- -
|
50
|
+
CMD
|
51
|
+
stdout_handler = proc {|d| out_buf << d }
|
52
|
+
stderr_handler = @suppress_stderr ?
|
53
|
+
proc {|d| } :
|
54
|
+
proc {|d| STDERR.print d}
|
55
|
+
status = @nvm.run(
|
56
|
+
cmd,
|
57
|
+
stdin: source,
|
58
|
+
node_ver: @node_ver,
|
59
|
+
env: @env,
|
60
|
+
stdout_handler: stdout_handler,
|
61
|
+
stderr_handler: stderr_handler
|
62
|
+
).value
|
63
|
+
raise "non-zero exit status: #{status.to_i}" unless status.success?
|
64
|
+
|
65
|
+
return out_buf.string
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.compile(
|
69
|
+
source, browserify_opts: "", node_ver: nil, env: {},
|
70
|
+
nvm_dir: DEFAULT_NVM_DIR, suppress_stderr: false)
|
71
|
+
new(
|
72
|
+
browserify_opts: browserify_opts,
|
73
|
+
node_ver: node_ver,
|
74
|
+
env: env,
|
75
|
+
nvm_dir: nvm_dir,
|
76
|
+
suppress_stderr: suppress_stderr
|
77
|
+
).compile(source)
|
78
|
+
end
|
79
|
+
end
|
data/lib/browserify_rb/popen3.rb
CHANGED
@@ -2,78 +2,76 @@ require "open3"
|
|
2
2
|
require "stringio"
|
3
3
|
require "logger"
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
LOG.progname = Popen3
|
5
|
+
module BrowserifyRb::Popen3
|
6
|
+
LOG = Logger.new(STDERR)
|
7
|
+
LOG.level = Logger::Severity.const_get(ENV["LOG"] || "INFO")
|
8
|
+
LOG.progname = BrowserifyRb::Popen3
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
CHUNK_SIZE = 2000
|
11
|
+
DEFAULT_STDOUT_HANDLER = proc {|data| STDOUT.write data }
|
12
|
+
DEFAULT_STDERR_HANDLER = proc {|data| STDERR.write data }
|
14
13
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
14
|
+
def self.async_exec(
|
15
|
+
cmd,
|
16
|
+
input: "",
|
17
|
+
env: {},
|
18
|
+
stdout_handler: DEFAULT_STDOUT_HANDLER,
|
19
|
+
stderr_handler: DEFAULT_STDERR_HANDLER,
|
20
|
+
spawn_opts: {},
|
21
|
+
chunk_size: CHUNK_SIZE)
|
22
|
+
Thread.fork do
|
23
|
+
begin
|
24
|
+
stdin, stdout, stderr, wait_thr = Open3.popen3 env, cmd, spawn_opts
|
26
25
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
outs, ins, = ios
|
26
|
+
input = input.is_a?(String) ?
|
27
|
+
StringIO.new(input) :
|
28
|
+
iput
|
29
|
+
input_buff = ""
|
30
|
+
opened_ins = [stdin]
|
31
|
+
opened_outs = [stdout, stderr]
|
32
|
+
handlers = {
|
33
|
+
stdout => stdout_handler,
|
34
|
+
stderr => stderr_handler
|
35
|
+
}
|
36
|
+
while not opened_outs.empty?
|
37
|
+
ios = IO.select opened_outs, opened_ins, nil, 1
|
38
|
+
if ios.nil? and Process.waitpid(wait_thr.pid, Process::WNOHANG)
|
39
|
+
break
|
40
|
+
end
|
44
41
|
|
45
|
-
|
46
|
-
outs.each do |out|
|
47
|
-
if out.eof?
|
48
|
-
out.close
|
49
|
-
opened_outs.delete out
|
50
|
-
else
|
51
|
-
d = out.readpartial chunk_size
|
52
|
-
handlers[out].call d
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
42
|
+
outs, ins, = ios
|
56
43
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
d = input.readpartial(chunk_size)
|
63
|
-
bytes = stdin.write_nonblock(d)
|
64
|
-
input_buff = d[bytes .. -1]
|
44
|
+
if not outs.nil?
|
45
|
+
outs.each do |out|
|
46
|
+
if out.eof?
|
47
|
+
out.close
|
48
|
+
opened_outs.delete out
|
65
49
|
else
|
66
|
-
|
67
|
-
|
50
|
+
d = out.readpartial chunk_size
|
51
|
+
handlers[out].call d
|
68
52
|
end
|
69
53
|
end
|
70
54
|
end
|
71
55
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
56
|
+
if not ins.nil? and ins.include? stdin
|
57
|
+
if input.eof?
|
58
|
+
stdin.close
|
59
|
+
opened_ins.delete stdin
|
60
|
+
elsif input_buff.empty?
|
61
|
+
d = input.readpartial(chunk_size)
|
62
|
+
bytes = stdin.write_nonblock(d)
|
63
|
+
input_buff = d[bytes .. -1]
|
64
|
+
else
|
65
|
+
bytes = stdin.write_nonblock(input_buff)
|
66
|
+
input_buff = input_buff[bytes .. -1]
|
67
|
+
end
|
68
|
+
end
|
76
69
|
end
|
70
|
+
|
71
|
+
wait_thr.value
|
72
|
+
rescue => e
|
73
|
+
LOG.error e
|
74
|
+
nil
|
77
75
|
end
|
78
76
|
end
|
79
77
|
end
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
2
|
-
VERSION = "0.
|
1
|
+
module BrowserifyRb
|
2
|
+
VERSION = "1.0.0"
|
3
3
|
end
|
data/package.json
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browserify_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keiichiro Ui
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '5.0'
|
55
|
-
description:
|
55
|
+
description:
|
56
56
|
email:
|
57
57
|
- keiichiro.ui@gmail.com
|
58
58
|
executables: []
|
@@ -69,10 +69,13 @@ files:
|
|
69
69
|
- bin/setup
|
70
70
|
- browserify_rb.gemspec
|
71
71
|
- lib/browserify_rb.rb
|
72
|
+
- lib/browserify_rb/browserify.rb
|
72
73
|
- lib/browserify_rb/nvm.rb
|
73
74
|
- lib/browserify_rb/nvm.sh
|
75
|
+
- lib/browserify_rb/nvm/browserify.rb
|
74
76
|
- lib/browserify_rb/popen3.rb
|
75
77
|
- lib/browserify_rb/version.rb
|
78
|
+
- package.json
|
76
79
|
homepage: https://github.com/kui/browserify_rb
|
77
80
|
licenses:
|
78
81
|
- MIT
|
@@ -97,5 +100,5 @@ rubyforge_project:
|
|
97
100
|
rubygems_version: 2.4.5.1
|
98
101
|
signing_key:
|
99
102
|
specification_version: 4
|
100
|
-
summary: browserify wrapper
|
103
|
+
summary: browserify wrapper for ruby
|
101
104
|
test_files: []
|