aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2016-06-30Fix spidermonkey AST (ESTree) export and import, Array holeskzc
Fixes: #1156 #1161 Also add test to exercise Uglify after spidermonkey export/import of itself.
2016-06-30Move OctalEscapeSequence to read_escape_charAnthony Van de Gejuchte
This should simplify and improve implementation, make it easier to implement template strings, and keep master a bit more in sync with harmony. Previous implementation wasn't broken, though the loop gave me the impression it could read infinite numbers and annoyed me a bit. It was also slightly unnecessary because the lookup involved only 3 characters.
2016-06-21Fix conditional expressions of form (x ? -1 : -1)kzc
Fixes #1154, #1153
2016-06-21Don't replace undefined, NaN and Infinity within with scopekzc
2016-06-20Keep master in sync with harmonyAnthony Van de Gejuchte
* Do not mangle when no mangle is required * Improve use_asm reset while printing code
2016-06-19Respect quote style in object literalsShrey Banga
The option added in fbbaa42ee55a7f753f7cab9b1a905ccf73cf26d5 wasn't being respected inside object literals, so quoted property names would still be stripped out with this option. This is mostly a corner-case, but useful when the output is passed to something like the Closure compiler, where quoted property names can be used to prevent mangling.
2016-06-19Normalize error messagesAnthony Van de Gejuchte
2016-06-19Don't mix strings with directives in outputAnthony Van de Gejuchte
* Don't interpret strings with escaped content as directive * Don't interpret strings after empty statement as directive * Adapt output to prevent strings being represent as directive * Introduce UGLIFY_DEBUG to allow internal testing like EXPECT_DIRECTIVE
2016-06-15Fix test262 failures related to <, <=, in and instanceofAnthony Van de Gejuchte
Fixed-by: @kzc
2016-06-12Re-add parens after new expression in beautify modeAnthony Van de Gejuchte
2016-06-12Don't allow with statements in strict modeAnthony Van de Gejuchte
2016-06-12Stop dropping args in new expressionsAnthony Van de Gejuchte
2016-06-12Escape null characters as \0 unless followed by 0-7.David Bau
2016-06-12Don't drop unused if scope uses with statementAnthony Van de Gejuchte
Fix provided by @kzc
2016-06-12Throw errors in strict mode for octal stringsAnthony Van de Gejuchte
Adds a directive tracker for the parser/tokenizer to allow parsing depending on directive context.
2016-06-08Fix uglify attempting to rewrite invalid new expressionsAnthony Van de Gejuchte
2016-06-05Do not allow newlines in regexAnthony Van de Gejuchte
2016-05-27collapse_vars: Do not consider RegExp literals to be constantskzc
Fixes #1100
2016-05-24Optimize if_return for single if/return cases.kzc
Fixes #1089
2016-05-24Completely allow evaluating -0Richard van Velzen
2016-05-17Never produce -0 when evaluating expressions (like -"")Richard van Velzen
Fix for #1085. The major case was already there, but more expressions can result in -0.
2016-05-15Simplify iife `new` fixkzc
as suggested by @rvanvelzen. Added a test for IIFEs in nested contexts.
2016-05-09Do not apply negate_iife optimization to `new` expressionkzc
2016-05-04Retain comments before AST_Constants during mangle.kzc
2016-05-04Handle CR line endings in comments.kzc
Fixes #1050
2016-04-23Hoist functions when reversing if (x) return; ... vs. if (!x) ...Richard van Velzen
Fixes #1052
2016-04-19Add `passes` compress option. Fix duplicate compress warnings.kzc
2016-04-16Parse comments without recursion to avoid RangeError.kzc
Fixes #993
2016-04-13Prevent endless recursion when evaluating self-referencing constsRichard van Velzen
Fix #1041
2016-04-12Actually limit sequence length.Mihai Bazon
Fix #1038
2016-04-11Fix warnings for referenced non-hoisted functions.kzc
Fixes #1034 Also added `expect_warnings` functionality to test framework.
2016-04-07Simplify member(name, array) implementation.kzc
2016-04-07Avoid using inherited hasOwnPropertyMihai Bazon
Fix #1031
2016-04-02Optimize ternaries with boolean consequent or alternative.kzc
Fixes #511
2016-03-28Speedup `unused` compress option for already minified codekzc
Fixes: #321 #917 #1022
2016-03-24Merge pull request #1011 from kzc/dont-produce-let-in-mangleMihai Bazon
Do not produce `let` as a variable name in mangle.
2016-03-24Escape all ASCII control characters within strings when using ascii_only.kzc
Fixes #1017. Tab characters within strings are now output as `\t` in all output modes.
2016-03-15Do not produce `let` as a variable name in mangle.kzc
Would previously occur in large generated functions with 21,000+ variables. Fixes #986.
2016-03-14Fix: Uglified Number.prototype functions on big numbersphilippsimon
2016-02-27#877 Ignore mangle sort optionkzc
2016-02-22boolean_expression ? true : false --> boolean_expressionkzc
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