Age | Commit message (Expand) | Author |
2020-10-27 | improve warnings (#4247)...closes #4244 | Alex Lam S.L |
2020-08-25 | minor clean up (#4069) | Alex Lam S.L |
2020-05-09 | implement AST validation (#3863) | Alex Lam S.L |
2020-05-05 | update links to repository after rename (#3847) | Alex Lam S.L |
2020-04-18 | report top-level default options (#3797) | Alex Lam S.L |
2020-04-17 | suppress mutation of input `options` (#3785) | Alex Lam S.L |
2020-04-11 | fix corner case in `inline` (#3778)...fixes #3777 | Alex Lam S.L |
2020-03-21 | fix corner case in `evaluate` & `ie8` (#3751)...fixes #3750 | Alex Lam S.L |
2020-02-06 | export missing API for AST manipulation (#3707) | Alex Lam S.L |
2019-10-20 | minor tweaks (#3502) | Alex Lam S.L |
2019-04-30 | unify logging functionality (#3392)...fixes #3253
fixes #3254 | Alex Lam S.L |
2018-07-19 | fix corner case in `ie8` (#3216)...fixes #3215 | Alex Lam S.L |
2018-07-13 | fix corner cases in `preserve_line` (#3212) | Alex Lam S.L |
2018-06-24 | enhance `arguments` (#3193)...fixes #3192
| Alex Lam S.L |
2018-06-06 | general clean-ups (#3175) | Alex Lam S.L |
2018-04-27 | improve general performance (#3104) | Alex Lam S.L |
2018-04-03 | improve performance through `makePredicate()` (#3048) | Alex Lam S.L |
2018-01-17 | fix `AST_Scope.clone()` (#2803)...fixes #2799 | Alex Lam S.L |
2017-12-22 | make comments output more robust (#2633)...- improve handling of comments right after `return`
- retain comments after `OutputStream`
- preserve trailing comments
- fix handling of new line before comments
- handle comments around parentheses
fixes #88
fixes #112
fixes #218
fixes #372
fixes #2629 | Alex Lam S.L |
2017-12-11 | remove unused code (#2579)...fixes #2577 | Alex Lam S.L |
2017-06-03 | clean up `lib/parse.js` (#2047)...- remove unused definitions
- replace `array_to_hash()` | Alex Lam S.L |
2017-04-12 | convert `AST_Seq` from binary tree to array (#1460)...- rename `AST_Seq` to `AST_Sequence`
- raise default sequences_limit from 200 to 800 | Alex Lam S.L |
2017-03-15 | fix `AST_Node.optimize()` (#1602)...Liberal use of `Compressor.transform()` and `AST_Node.optimize()` presents an issue for look-up operations like `TreeWalker.in_boolean_context()` and `TreeWalker.parent()`.
This is an incremental fix such that `AST_Node.optimize()` would now contain the correct stack information when called correctly. | Alex Lam S.L |
2017-03-01 | fix crash on missing `props` to `string_template()` (#1523)...Patched up `make_node()` without `orig`.
There may be other cases where `start` could be missing, so make it print "undefined" instead of crashing.
fixes #1518 | Alex Lam S.L |
2017-02-27 | improve error messages (#1506)...- better inheritance of `Error` sub-classes
- mark parse error against source in CLI
closes #235
closes #348
closes #524
closes #1356
closes #1405 | Alex Lam S.L |
2017-02-21 | clean up `negate_iife`...- remove extra tree scanning phase for `negate_iife`
- `negate_iife` now only deals with the narrowest form, i.e. IIFE sitting directly under `AST_SimpleStatement`
- `booleans`, `conditionals` etc. will now take care the rest via more accurate accounting
- `a(); void b();` => `a(); b();`
fixes #1288
closes #1451
| alexlamsl |
2016-11-29 | Do not overwrite options.comments + cleanup | Anthony Van de Gejuchte |
2016-06-30 | Various LineTerminator changes...* Escaped newlines should also produce SyntaxError
* Fix multiline comment parsing and add tests
* Adapt makePredicate to handle \u2028 and \u2029
* Move up nlb check in regex so it's checked before any escape handling
* Change error messages to conform ecma standard
* Find_eol not recornizing \u2028 and \u2029 as line terminator
* Remove \u180e as it is removed in unicode 6.3.0 from the category zs
| Anthony Van de Gejuchte |
2016-04-07 | Simplify member(name, array) implementation. | kzc |
2016-04-07 | Avoid using inherited hasOwnProperty...Fix #1031
| Mihai Bazon |
2015-03-14 | Add property name mangler...We only touch properties that are present in an object literal, or which are
assigned to. Example:
x = { foo: 1 };
x.bar = 2;
x["baz"] = 3;
x[cond ? "qwe" : "asd"] = 4;
console.log(x.stuff);
The names "foo", "bar", "baz", "qwe" and "asd" will be mangled, and the
resulting mangled names will be used for the same properties throughout the
code. The "stuff" will not be, since it's just referenced but never
assigned to.
This *will* break most of the code out there, but could work on carefully
written code: do not use eval, do not define methods or properties by
walking an array of names, etc. Also, a comprehensive list of exclusions
needs to be passed, to avoid mangling properties that are standard in
JavaScript, DOM, used in external libraries etc.
| Mihai Bazon |
2013-12-10 | semicolons | Mihai Bazon |
2013-12-10 | Merge pull request #245 from ForbesLindesay/patch-1...Make `DefaultsError` a real `Error` object | Mihai Bazon |
2013-11-28 | Add --noerr to turn off argument name checking...for now only used for keys passed to `-c` or `-b`.
| Mihai Bazon |
2013-07-22 | Make `DefaultsError` a real `Error` object | Forbes Lindesay |
2013-05-14 | Only compress code in `new Function` if all arguments are strings. | Mihai Bazon |
2012-12-05 | When hoisting variables, try to merge in assignments that follow. | Mihai Bazon |
2012-11-06 | add option to mangle names even if eval/with is in use...(for more fair comparison to Closure compiler)
| Mihai Bazon |
2012-11-02 | use a Dictionary object instead of plain object for hashes...to mitigate the `__proto__` issue
related to #30
| Mihai Bazon |
2012-10-18 | more optimizations for some break/continue cases | Mihai Bazon |
2012-10-11 | stealing more hacks from acorn in the name of speed | Mihai Bazon |
2012-10-11 | using makeComparator from acorn to generate functions that tests whether a...string is keyword, reserved etc.
speeds up the parser a bit, though not spectacular.. still far from acorn.
| Mihai Bazon |
2012-10-11 | cleanup...- use prototype-less objects where feasible (minor speed improvement)
- get rid of HOP
| Mihai Bazon |
2012-10-02 | "use strict"; | Mihai Bazon |
2012-10-02 | a shy attempt to obey `width` in the beautifier; added `bracketize` option to... | Mihai Bazon |
2012-09-26 | compressor successfully moved to TreeTransformer | Mihai Bazon |
2012-09-23 | properly drop mutually-referring declarations that are not otherwise...referenced and have no side effects
| Mihai Bazon |
2012-09-16 | rewrite handle_if_return...optimizations of if/return/continue seem to be even better now
| Mihai Bazon |
2012-09-12 | more AST_If optimizations | 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 |