Age | Commit message (Expand) | Author |
2016-04-12 | Actually limit sequence length....Fix #1038
| Mihai Bazon |
2016-04-07 | Avoid using inherited hasOwnProperty...Fix #1031
| Mihai Bazon |
2015-11-12 | Fix output for "use asm" code from SpiderMonkey AST...(will only work properly if the SM tree contains "raw" properties for
Literal number nodes)
| Mihai Bazon |
2015-11-11 | Rework has_directive...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
| Mihai Bazon |
2015-10-07 | Fix handling of "use asm" when no command line flags are passed to uglifyjs. ... | kzc |
2015-09-24 | No longer use `vm` to load code....Improves performance 2x on node > 0.10.
Ref #636
| Mihai Bazon |
2015-09-24 | Fix wrap_commonjs to include code first...(code could have directives, i.e. "use strict")
| Mihai Bazon |
2015-01-27 | Add option to preserve/enforce string quote style...`-q 0` (default) use single or double quotes such as to minimize the number of
bytes (prefers double quotes when both will do); this is the previous
behavior.
`-q 1` -- always use single quotes
`-q 2` -- always use double quotes
`-q 3` or just `-q` -- always use the original quotes.
Related codegen option: `quote_style`.
Close #495
Close #460
Some `yargs` guru please tell me why `uglifyjs --help` doesn't display the
help string for `-q` / `--quotes`, and why it doesn't output the expected
argument types anymore, like good old `optimist` did.
| Mihai Bazon |
2015-01-06 | Track ending lines/columns; fix end locations in Mozilla AST. | Ingvar Stepanyan |
2015-01-06 | AST_Do nodes: walk body before condition | Mihai Bazon |
2014-03-22 | Allow colons in the pairs passed to AST_Toplevel.wrap_enclose | Arnavion |
2013-12-05 | AST_Catch shouldn't really inherit from AST_Scope. Fix #363...I hereby acknowledge that figure_out_scope has become a mess.
| Mihai Bazon |
2013-11-28 | Properly scope `catch` identifier when --screw-ie8...Fix #344
| Mihai Bazon |
2013-10-30 | Fix parsing setters/getters (allow keywords for name)....The "key" property was always "set" or "get", which didn't make much sense.
Now it'll be the actual name of the setter/getter (AST_Node), and the
AST_Accessor object itself, which represents the function, won't store any
name.
Close #319
| Mihai Bazon |
2013-09-06 | minor | Mihai Bazon |
2013-09-02 | Fix names. | Mihai Bazon |
2013-09-02 | Disallow `continue` referring to a non-IterationStatement. Fix #287...Simplifies handling of labels (their definition/references can be easily
figured out at parse time, no need to do it in `figure_out_scope`).
| Mihai Bazon |
2013-06-07 | Don't swap binary ops when "use asm" is in effect....Refs #167
| Mihai Bazon |
2013-03-24 | Add support for enclose option. Closes #139. | Jake Harding |
2013-01-17 | Fix output for arrays containing undefined values....1b6bcca7 was a first attempt at this. That commit made Uglify stop replacing
holes with undefined, but instead it started replacing undefined with
holes. This is slightly problematic, because there is a difference between a
hole and an undefined value. More problematically, it changed [1,undefined] to
[1,] which generally doesn't even parse as a hole (just as a trailing comma), so
it didn't even preserve the length of the array!
Instead, parse holes as their own special AST node which prints invisibly.
| David Glasser |
2012-11-24 | fix #55 | Mihai Bazon |
2012-11-08 | AST_LabelRef no longer inherits from AST_SymbolRef | Mihai Bazon |
2012-11-07 | add AST_Accessor and AST_SymbolAccessor node types...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
| Mihai Bazon |
2012-10-22 | more sequence optimizations (lift some sequences above binary/unary expressio... | Mihai Bazon |
2012-10-18 | more optimizations for some break/continue cases | Mihai Bazon |
2012-10-12 | remove the $self hack...operations are destructive anyway, so there's no point to clone the nodes in
the transformer. speed++
| Mihai Bazon |
2012-10-12 | fix in_boolean_context() (two tests were broken) | Mihai Bazon |
2012-10-11 | cleanup...- use prototype-less objects where feasible (minor speed improvement)
- get rid of HOP
| Mihai Bazon |
2012-10-10 | fix node name | Mihai Bazon |
2012-10-10 | seems cleaner if AST_Label doesn't inherit from AST_SymbolDeclaration | Mihai Bazon |
2012-10-10 | small improvements in wrap_commonjs:...- use MAP.splice instead of a BlockStatement to inject code (avoids some
warnings in the linter)
- use the original symbol in exports, so that we get the proper source mapping
| Mihai Bazon |
2012-10-09 | add AST_Infinity node | Mihai Bazon |
2012-10-09 | added $propdoc to AST nodes and some cleanups...hopefully we can make the AST documentation self-generating
| Mihai Bazon |
2012-10-09 | minor AST cleanup (AST_BlockStatement may inherit from AST_Block) | Mihai Bazon |
2012-10-09 | add `--ast-help`...displays a rather cruel description of the AST classes, derived
directly from the node definitions.
| Mihai Bazon |
2012-10-08 | added --self to easily get a browser-runnable version of UglifyJS | Mihai Bazon |
2012-10-03 | more cleanup (dropped AST_SwitchBlock) | Mihai Bazon |
2012-10-03 | AST cleanup (dropped AST_StatementBase) | Mihai Bazon |
2012-10-02 | "use strict"; | Mihai Bazon |
2012-10-02 | add AST_SymbolConst for names defined with `const` | Mihai Bazon |
2012-09-28 | minor | Mihai Bazon |
2012-09-26 | checkpoint (refactoring, WIP) | Mihai Bazon |
2012-09-23 | properly drop mutually-referring declarations that are not otherwise...referenced and have no side effects
| Mihai Bazon |
2012-09-21 | better support for multiple input files:...- use a single AST_Toplevel node for all files
- keep original source filename in the tokens
| Mihai Bazon |
2012-09-18 | fixed label scope/mangling | Mihai Bazon |
2012-09-18 | support for directives | Mihai Bazon |
2012-09-18 | added AST_NaN (output as 0/0) | Mihai Bazon |
2012-09-15 | figure out label targets | Mihai Bazon |
2012-09-14 | more optimizations that v1 does and some cleanups...- a = a + x ==> a+=x
- joining consecutive var statements (hoisting is not always desirable)
- x == false ==> x == 0, x != true ==> x != 1
- x, x ==> x; x = exp(), x ==> x = exp()
- discarding useless break-s
| Mihai Bazon |
2012-09-11 | fixed some mess with symbols/scope...- all symbols now have a `thedef` property which is a SymbolDef object,
instead of the `uniq` that we had before (pointing to the first occurrence
of the name as declaration).
- for undeclared symbols we still create a SymbolDef object in the toplevel
scope but mark it "undeclared"
- we can now call figure_out_scope after squeezing, which is useful in order
not to mangle names that were dropped by the squeezer
| Mihai Bazon |