Sha256: ec6bcaa254b96a94a79df79530091a7fde7ab944997c8c4787e0ee985287318e
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
require 'bundler/setup' require 'opal-spec' desc "Build opal.js into ./build" task :opal => [:dir] do File.open('build/opal.js', 'w+') { |o| o.puts Opal.runtime } end desc "Build opal-parser.js into ./build" task :parser => [:dir] do File.open('build/opal-parser.js', 'w+') { |o| o.puts Opal.parser_code } end desc "Build specs ready to run" task :build_specs => [:dir] do Opal.append_path File.join(File.dirname(__FILE__), 'spec') File.open('build/specs.js', 'w+') do |out| out.puts Opal.process('spec_helper') end end task :default => [:build_specs, :parser, :test] desc "Run opal specs through phantomjs" task :test do OpalSpec.runner end task :dir do require 'fileutils' FileUtils.mkdir_p 'build' end desc "opal.min.js and opal-parser.min.js" task :min do %w[opal opal-parser].each do |file| puts " * #{file}.min.js" File.open("build/#{file}.min.js", "w+") do |o| o.puts uglify(File.read "build/#{file}.js") end end end desc "Check file sizes for opal.js runtime" task :sizes do o = File.read 'build/opal.js' m = uglify o g = gzip m puts "opal.js:" puts "development: #{o.size}, minified: #{m.size}, gzipped: #{g.size}" end desc "Rebuild grammar.rb for opal parser" task :racc do %x(racc -l lib/opal/grammar.y -o lib/opal/grammar.rb) end # Used for uglifying source to minify def uglify(str) IO.popen('uglifyjs -nc', 'r+') do |i| i.puts str i.close_write return i.read end end # Gzip code to check file size def gzip(str) IO.popen('gzip -f', 'r+') do |i| i.puts str i.close_write return i.read end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opal-0.3.34 | Rakefile |