Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-03-16 | rename --prop-cache to --name-cache | Mihai Bazon | |
... and support storing there variable names as well, to help with multiple invocations when mangling toplevel. | |||
2015-01-04 | Add an option to prevent function names from being mangled | Richard van Velzen | |
See #552. This is mostly useful for having the actual function names in traces. | |||
2014-12-01 | fix base54 | Cheng Liangyu | |
2014-09-12 | Don't warn for an unreferenced exception symbol in a catch block. | Arnavion | |
2014-02-14 | Mangle name of exception when --screw-ie8. Fix #430. | Mihai Bazon | |
The effect of not mangling it was visible only with --screw-ie8 (otherwise the names would be mangled exactly because they leaked into the parent scope). | |||
2013-12-16 | minor | Mihai Bazon | |
2013-12-16 | bugfix #242 | colorhook | |
2013-12-05 | AST_Catch shouldn't really inherit from AST_Scope. Fix #363 | Mihai Bazon | |
I hereby acknowledge that figure_out_scope has become a mess. | |||
2013-11-28 | Properly scope `catch` identifier when --screw-ie8 | Mihai Bazon | |
Fix #344 | |||
2013-10-29 | Fix typo | Mihai Bazon | |
2013-10-29 | Avoid shadowing name of function expression with function argument | Mihai Bazon | |
Close #179, #326, #327 | |||
2013-10-17 | `arguments` outside of a function is an ordinary variable. | Mihai Bazon | |
Fix #501 | |||
2013-09-02 | Disallow `continue` referring to a non-IterationStatement. Fix #287 | Mihai Bazon | |
Simplifies handling of labels (their definition/references can be easily figured out at parse time, no need to do it in `figure_out_scope`). | |||
2013-05-22 | Set "global" on undeclared SymbolDef-s | Mihai Bazon | |
2013-03-25 | renamed --screw-ie to --screw-ie8, documented it in README.md, indicated it ↵ | Michał Gołębiowski | |
doesn't break IE9+ | |||
2013-03-22 | Keep legit code working even when --screw-ie is not passed. | Mihai Bazon | |
Previously: Without `--screw-ie`, UglifyJS would always leak names of function expressions into the containing scope, as if they were function declarations. That was to emulate IE<9 behavior. Code relying on this IE bug would continue to work properly after mangling, although it would only work in IE (since other engines don't share the bug). Sometimes this broke legitimage code (see #153 and #155). With `--screw-ie` the names would not be leaked into the current scope, working properly in legit cases; but still it broke legit code when running in IE<9 (see #24). Currently: Regardless of the `--screw-ie` setting, the names will not be leaked. Code relying on the IE bug will not work properly after mangling. <evil laughter here> Without `--screw-ie`: a hack has been added to the mangler to avoid using the same name for a function expression and some other variable in the same scope. This keeps legit code working, at the (negligible, indeed) cost of one more identifier. With `--screw-ie` you allow the mangler to name function expressions with the same identifier as another variable in scope. After mangling code might break in IE<9. Oh man, the commit message is longer than the patch. Fix #153, #155 | |||
2013-03-13 | Support mangling toplevel names | Mihai Bazon | |
Close #127 | |||
2013-03-02 | Add `--screw-ie` option | Mihai Bazon | |
For now the implication is that UglifyJS will not leak a function expression's name in the surrounding scope (IE < 9 does that). (ref. mishoo/UglifyJS#485) | |||
2013-02-06 | Fix handling of constants | Mihai Bazon | |
Close #113 | |||
2013-01-04 | Fix handling of labels in nested scopes | Mihai Bazon | |
2013-01-02 | Implement `-m sort=true` | Mihai Bazon | |
close #83 | |||
2012-12-05 | When hoisting variables, try to merge in assignments that follow. | Mihai Bazon | |
2012-11-08 | fix API breakage | Mihai Bazon | |
close #36, #38 | |||
2012-11-07 | add AST_Accessor and AST_SymbolAccessor node types | Mihai Bazon | |
AST_Accessor will represent the function for a setter or getter. Since they are not mangleable, and they should not introduce a name in scope, we have a new node for their name (AST_SymbolAccessor) which doesn't inherit from AST_SymbolDeclaration. fix #37 | |||
2012-11-06 | add option to mangle names even if eval/with is in use | Mihai Bazon | |
(for more fair comparison to Closure compiler) | |||
2012-11-02 | use a Dictionary object instead of plain object for hashes | Mihai Bazon | |
to mitigate the `__proto__` issue related to #30 | |||
2012-10-25 | cripple scope to make IE happy :-( | Mihai Bazon | |
close #24 | |||
2012-10-17 | the `sort` option is broken anyway, removed it | Mihai Bazon | |
we need to mangle names from outermost to innermost scope; mangling names from inner scopes before we got to the outer scope won't work correctly, therefore sorting doesn't make sense. | |||
2012-10-13 | fix regression from fb5c01c073d06034815d5f3b782fd11cbdf6d6f5 | Mihai Bazon | |
is_digit takes a char code now, not a string | |||
2012-10-11 | cleanup | Mihai Bazon | |
- use prototype-less objects where feasible (minor speed improvement) - get rid of HOP | |||
2012-10-11 | fix propagation of symbol references | Mihai Bazon | |
2012-10-10 | seems cleaner if AST_Label doesn't inherit from AST_SymbolDeclaration | Mihai Bazon | |
2012-10-10 | add `--lint` and display {file} in scope_warnings | Mihai Bazon | |
2012-10-09 | added $propdoc to AST nodes and some cleanups | Mihai Bazon | |
hopefully we can make the AST documentation self-generating | |||
2012-10-08 | should not expose base54.sort() in the API docs, I think | Mihai Bazon | |
2012-10-05 | prevent mangling only when eval is *called*, not when it's just referenced | Mihai Bazon | |
2012-10-04 | removed some unused variables | Mihai Bazon | |
2012-10-03 | more cleanup (dropped AST_SwitchBlock) | Mihai Bazon | |
2012-10-02 | option to exclude certain names from mangling | Mihai Bazon | |
2012-10-02 | support defines | Mihai Bazon | |
2012-10-02 | "use strict"; | Mihai Bazon | |
2012-10-02 | add AST_SymbolConst for names defined with `const` | Mihai Bazon | |
2012-10-02 | a shy attempt to obey `width` in the beautifier; added `bracketize` option ↵ | Mihai Bazon | |
to always print brackets around if/do/while/for statements; export more options via the CLI | |||
2012-09-28 | minor | Mihai Bazon | |
2012-09-27 | fix mangling | Mihai Bazon | |
(bug in our code prevented the mangler from using a name that was in use prior to mangling but not after it) | |||
2012-09-23 | properly drop mutually-referring declarations that are not otherwise | Mihai Bazon | |
referenced and have no side effects | |||
2012-09-21 | better support for multiple input files: | Mihai Bazon | |
- use a single AST_Toplevel node for all files - keep original source filename in the tokens | |||
2012-09-19 | drop unused variables | Mihai Bazon | |
2012-09-18 | fixed label scope/mangling | Mihai Bazon | |
2012-09-18 | minor | Mihai Bazon | |