aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2016-02-21Take operator || precendence into account for AST_If optimization.kzc
Fixes #979.
2016-02-17preserve ThisBinding for side_effectsalexlamsl
2016-02-16Don't compress (0, eval)() to eval()Richard van Velzen
2016-02-16Preserve ThisBinding in conditionals & collapse_varsalexlamsl
Fixes #973
2016-02-10Revert "using the original sourcemap as the base"sergeyv
This reverts commit ad18689d926d25c7a25b95c630c2ad05b7b5f5b5. Reason for revert: introduce issue #882 Currently, generated sourcemap contains copy of all existing mappings and adds new mappings from uglified code to original one. However, previous mapping are no longer valid and shouldn't be added.
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