aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2016-01-29collapse_vars: avoid replacement across AST_Case nodes to be on safe side ↵kzc
even though no issues seen.
2016-01-28collapse_vars: fix if/else and ternary operator side effectskzc
2016-01-28collapse_vars: fix bug in repeated var defs of same namekzc
2016-01-27fix bug in collapse_vars for right side of "||" and "&&"kzc
2016-01-27Collapse single use var definitionskzc
Fix #721
2016-01-27Add start/end in the `arguments` definitionMihai Bazon
(keeps my https://github.com/mishoo/jsinfo.el working)
2016-01-20Merge pull request #928 from STRML/constPragmaRichard van Velzen
Mark vars with /** @const */ pragma as consts so they can be eliminated.
2016-01-20Tighten up @const regex.Samuel Reed
2016-01-20Simplify by skipping extra tree walk.Samuel Reed
2016-01-20Use TreeWalker for more accurate @const results and update testsSamuel Reed
2016-01-19Mark vars with /** @const */ pragma as consts so they can be eliminated.Samuel Reed
Fixes older browser support for consts and allows more flexibility in dead code removal.
2016-01-19Allow operator names as getters/settersAnthony Van de Gejuchte
Fixes #919 Fix provided by @kzc
2016-01-19Add some tests for comment-filters through apiAnthony Van de Gejuchte
Also never bother comment options to filter comment5/shebang comments as they have their custom filter.
2016-01-14Never mangle arguments and keep them in their scopeAnthony Van de Gejuchte
Fixes #892 Helped-by: kzc
2016-01-14Merge pull request #905 from avdg/unit-testsRichard van Velzen
Add unit tests
2016-01-05Fix hoisting the var in ForInMihai Bazon
Close #913
2015-12-27Fix ch that could contain other newline charactersAnthony Van de Gejuchte
2015-12-26Do not allow newlines in string literalsAnthony Van de Gejuchte
2015-12-26Merge pull request #874 from kzc/fix-conditionalsRichard van Velzen
#873 Fix `conditionals` optimizations with default compress options
2015-12-17Semicolon after do...while statement is optionalAnthony Van de Gejuchte
2015-11-24#873 Fix `conditionals` optimizations with default compress optionskzc
2015-11-16Fix endless loopMihai Bazon
Close #866
2015-11-16Limit max iterations for tighten_bodyMihai Bazon
Ref #866
2015-11-12Fix output for "use asm" code from SpiderMonkey ASTMihai Bazon
(will only work properly if the SM tree contains "raw" properties for Literal number nodes)
2015-11-12Build label def/refs info when figuring out scopeMihai Bazon
Fix #862
2015-11-11Rework has_directiveMihai Bazon
It's now available during tree walking, i.e. walker.has_directive("use asm"), rather than as part of the scope. It's thus no longer necessary to call `figure_out_scope` before codegen. Added special bits in the code generator to overcome the fact that it doesn't inherit from TreeWalker. Fix #861
2015-11-10Merge pull request #854 from kzc/moz-regexp-2Mihai Bazon
Have mozilla AST RegExpLiteral parser use regex.pattern and regex.flags
2015-11-09Fix parsing invalid inputMihai Bazon
i.e. `x = 1.xe` — because parseFloat("1.xe") returns 1, this parsed as `x = 1`. Ref #857
2015-11-09Prevent ReDoS by not using a regexp to verify floating point numbersRichard van Velzen
`parseFloat` will return `NaN` for invalid numbers anyway, which is the check used to throw the parse error. Fixes #857
2015-11-02simplify mozilla AST RegExpLiteral token parse and handle corner cases of ↵kzc
regex.pattern better
2015-11-02Have mozilla AST RegExpLiteral parser use regex.pattern and regex.flags ↵kzc
rather than non-standard `raw` property.
2015-11-01rename To_Moz_Literal to To_Moz_RegExpkzc
2015-11-01Fixed RegExp literal in mozilla AST generation/output and added a ↵kzc
--dump-spidermonkey-ast flag
2015-10-29`return undefined` optimization no longer uses `return_void_0` optionkzc
2015-10-29optimize `return undefined` and `return void 0`kzc
2015-10-28Allow specification beautify options in testsRichard van Velzen
Caught an error in #847 as well - `output` wasn't passed anywhere which led to an exception. `options` was available though.
2015-10-27fixes #845: \v escaping should be restricted to "screw_ie8" modeMichael Ficarra
2015-10-20Fix #836Fábio Santos
2015-10-15Make_string was missing \v and wasnt reversing vertical tabs even though ↵startswithaj
read_escaped_char coverts them
2015-10-13Fix other operator output related to <!-- or -->kzc
2015-10-12Only encode <!-- and --> in strings when inline_scriptMihai Bazon
2015-10-12Output `-- >` instead of `-->` in expressions. Escape `<!--` and `-->` ↵kzc
within string literals.
2015-10-07Fix handling of "use asm" when no command line flags are passed to uglifyjs. ↵kzc
SCOPE_IS_NEEDED is unconditionally true now. Refactored floating point literal parsing to be more in keeping with the AST class design.
2015-10-07Add proper support for "use asm"; blocks. Disable -c optimization within ↵kzc
"use asm"; sections and preserve floating point literals in their original form. Non-asm.js sections are optimized as before. Asm.js sections can still be mangled and minified of whitespace. No special command line flags are required.
2015-10-06Implement shebang supportAnthony Van de Gejuchte
2015-09-24Fix mozilla-ast after module loading changesMihai Bazon
Need to explicitly qualify stuff now, since it's not evaluated in some global scope. Ref #636
2015-09-24No longer use `vm` to load code.Mihai Bazon
Improves performance 2x on node > 0.10. Ref #636
2015-09-24Fix wrap_commonjs to include code firstMihai Bazon
(code could have directives, i.e. "use strict")
2015-09-14Control keeping function arguments with a single optionVille Lautanala
2015-08-27Fix bad parsing of `new new x()()` constructsRichard van Velzen
Fixes #739