lib/uglifier.rb in uglifier-0.3.0 vs lib/uglifier.rb in uglifier-0.4.0

- old
+ new

@@ -8,11 +8,10 @@ :mangle => true, # Mangle variables names :toplevel => false, # Mangle top-level variable names :squeeze => true, # Squeeze code resulting in smaller, but less-readable code :seqs => true, # Reduce consecutive statements in blocks into single statement :dead_code => true, # Remove dead code (e.g. after return) - :extra => false, # Additional and potentially unsafe optimizations :unsafe => false, # Optimizations known to be unsafe in some situations :copyright => true, # Show copyright message :beautify => false, # Ouput indented code :beautify_options => { :indent_level => 4, @@ -57,26 +56,18 @@ source.to_s end end def copyright(source) - comments = [] - tokens = @tokenizer.call(source, false) - comment = tokens.call - prev = nil - - while (comment["type"].match(/^comment/) && (!prev || prev == comment["type"])) - comments << if comment["type"] == "comment1" - "//#{comment["value"]}\n" + tokens.call.comments_before.inject("") do |copyright, comment| + copyright + if comment["type"] == "comment1" + "//" + comment["value"] + "\n" else - "/*#{comment["value"]}*/\n" + "/*" + comment["value"] + "*/\n" end - prev = comment["type"] - comment = tokens.call end - comments.join end def generate_code(ast) @node["gen_code"].call(ast, @options[:beautify] && @options[:beautify_options]) end @@ -94,10 +85,10 @@ return ast unless @options[:squeeze] @node["ast_squeeze"].call(ast, { "make_seqs" => @options[:seqs], "dead_code" => @options[:dead_code], - "extra" => @options[:extra] + "keep_comps" => !@options[:unsafe] }) end def squeeze_unsafe(ast) return ast unless @options[:unsafe]