class Closure::Compiler
Public Class Methods
new()
click to toggle source
# File lib/closure-compiler.rb, line 3 def initialize require File.expand_path "compiler.jar", File.dirname(__FILE__) require 'java' import com.google.javascript.jscomp.JSSourceFile import com.google.javascript.jscomp.Compiler import com.google.javascript.jscomp.VariableRenamingPolicy import com.google.javascript.jscomp.CompilerOptions import com.google.javascript.jscomp.CompilationLevel import com.google.javascript.jscomp.WarningLevel import java.util.logging.Level @opts = CompilerOptions.new # @opts.skipAllCompilerPasses() # TODO: configure Compilation Level CompilationLevel::SIMPLE_OPTIMIZATIONS.setOptionsForCompilationLevel(@opts) # TODO: configure Warning Level # WarningLevel.const_get(warning_level).setOptionsForWarningLevel(opts) com.google.javascript.jscomp.Compiler.setLoggingLevel(Level::SEVERE) end
Public Instance Methods
compile(js)
click to toggle source
# File lib/closure-compiler.rb, line 26 def compile(js) source = JSSourceFile.fromCode("unknown", js) compiler ||= Java::ComGoogleJavascriptJscomp::Compiler.new res = compiler.compile([], [source], @opts) result = compiler.toSource() + "\n" raise Error, result unless res.success return result end
Also aliased as: compress