Class: Cyborg::Assets::Javascripts
Instance Attribute Summary
Attributes inherited from AssetType
#base, #plugin
Instance Method Summary
collapse
Methods inherited from AssetType
#build_msg, #change, #compress, #destination, #file_event, #filter_files, #find_files, #find_node_module, #initialize, #npm_command, #url, #urls, #versioned, #watch
Instance Method Details
#asset_tag(*args) ⇒ Object
8
9
10
|
# File 'lib/cyborg/plugin/assets/javascripts.rb', line 8
def asset_tag(*args)
javascript_include_tag(args)
end
|
#build ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/cyborg/plugin/assets/javascripts.rb', line 16
def build
files = find_files
FileUtils.mkdir_p(File.dirname(cache_file)) if !files.empty?
if Open3.capture3("npm ls browserify-incremental")[1].empty?
files.each do |file|
system build_command(file)
if Cyborg.production?
compress(destination(file))
end
puts build_msg(file)
end
else
abort "JS BUILD FAILED: browserifyinc NPM module not found.\n" << "Please add browserifyinc to your package.json and run `npm install`"
end
end
|
#build_command(file) ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/cyborg/plugin/assets/javascripts.rb', line 35
def build_command(file)
dest = destination(file).sub(/\.js$/,'')
options = " -t babelify --standalone #{plugin.name} -o #{dest}.js -d"
cmd = if Cyborg.production?
"browserify #{file} #{options}"
else
"browserifyinc --cachefile #{cache_file(File.basename(dest))} #{file} #{options}"
end
if Cyborg.production?
cmd += " -p [ minifyify --map #{url(file).sub(/\.js$/,'')}.map.json --output #{dest}.map.json ]"
end
cmd
end
|
#cache_file(name = nil) ⇒ Object
12
13
14
|
# File 'lib/cyborg/plugin/assets/javascripts.rb', line 12
def cache_file(name=nil)
Cyborg.rails_path("tmp/cache/assets/.browserify-cache-#{name}.json")
end
|
#ext ⇒ Object
4
5
6
|
# File 'lib/cyborg/plugin/assets/javascripts.rb', line 4
def ext
"js"
end
|