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]