Age | Commit message (Expand) | Author |
2019-04-30 | unify logging functionality (#3392)...fixes #3253
fixes #3254 | Alex Lam S.L |
2019-04-17 | reduce test exports (#3361) | Alex Lam S.L |
2019-04-15 | introduce `functions` (#3360)...`var f = function() {};` => `function f() {}` | Alex Lam S.L |
2019-03-15 | parse `mangle.properties.regex` in `--config-file` properly (#3337)...fixes #3315 | Alex Lam S.L |
2018-06-06 | general clean-ups (#3175) | Alex Lam S.L |
2018-04-03 | improve performance through `makePredicate()` (#3048) | Alex Lam S.L |
2018-03-23 | improve performance (#3020)...- replace `find_if()` with `all()` wherever possible
- move ESTree-specific logic out of `figure_out_scope()` | Alex Lam S.L |
2018-01-19 | compress `undefined` property names (#2811)...- enforce property names as string
- handle `void 0` as `undefined` in `hoist_props` & `reduce_vars` | Alex Lam S.L |
2018-01-16 | general improvements around `AST_ForIn` (#2796)...- compress using `collapse_vars`
- remove unused `name`
- simplify `loop_body` | Alex Lam S.L |
2018-01-04 | forbid block-scoped `AST_Defun` in strict mode (#2718) | Alex Lam S.L |
2018-01-03 | extend `__PURE__` to `AST_New` (#2706)...fixes #2705 | Alex Lam S.L |
2017-12-26 | parse LF & comment correctly (#2653)...fixes #2652 | Alex Lam S.L |
2017-12-24 | fix comments output & improve `/*@__PURE__*/`...- fix whitespace around comments
- fix comment parsing around parentheses
- consider parentheses when parsing `/*@__PURE__*/`
- remove all `/*@__PURE__*/` on output
fixes #2638 | 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 | escape consecutive unpaired surrogates (#2576)...fixes #2569 | Alex Lam S.L |
2017-10-01 | trap invalid use of reserved words (#2338)...fixes #2337 | Alex Lam S.L |
2017-06-23 | fix for-in loop parsing (#2144) | 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-05-28 | implement `--help options` (#2017) | Alex Lam S.L |
2017-05-17 | improve `RegExp` handling (#1959)...- remove `options.output.unescape_regexps`
- preserve original pattern whenever possible
fixes #54
fixes #1929 | Alex Lam S.L |
2017-05-16 | fix parsing of property access after new line (#1944)...Account for comments when detecting property access in `tokenizer`.
fixes #1943 | Alex Lam S.L |
2017-05-15 | improve keyword-related parser errors (#1941)...fixes #1937 | Alex Lam S.L |
2017-05-15 | fix & improve coverage of `estree` (#1935)...- fix `estree` conversion of getter/setter
- fix non-directive literal in `to_mozilla_ast()`
- revamp `test/mozilla-ast.js`
- reuse `test/ufuzz.js` for code generation
- use `acorn.parse()` for creating `estree`
- extend `test/ufuzz.js` for `acorn` workaround
- catch variable redefinition
- non-trivial literal as directive
- adjust options for tolerance
Miscellaneous
- optional semi-colon when parsing directives
fixes #1914
closes #1915 | Alex Lam S.L |
2017-05-14 | fix bugs with getter/setter (#1926)...- `reduce_vars`
- `side_effects`
- property access for object
- `AST_SymbolAccessor` as key names
enhance `test/ufuzz.js`
- add object getter & setter
- property assignment to setter
- avoid infinite recursion in setter
- fix & adjust assignment operators
- 50% `=`
- 25% `+=`
- 2.5% each for the rest
- avoid "Invalid array length"
- fix `console.log()`
- bypass getter
- curb recursive reference
- deprecate `-E`, always report runtime errors | Alex Lam S.L |
2017-05-12 | remove support for `const` (#1910)...As this is not part of ES5. | Alex Lam S.L |
2017-04-23 | improve parser under "use strict" (#1836)...- `const` without value
- `delete` of expression
- redefining `arguments` or `eval`
extend `test/ufuzz.js`
- optionally generate "use strict"
- improve handling of test cases with syntax errors
- group IIFE generation
- generate bare anonymous functions
- workaround `console.log()` for `new function()`
- generate expressions with `this`
fixes #1810 | Alex Lam S.L |
2017-04-19 | fix parser bugs & CLI reporting (#1827)...fixes #1825 | Alex Lam S.L |
2017-04-15 | unify CLI & API under `minify()` (#1811)...- rename `screw_ie8` to `ie8`
- rename `mangle.except` to `mangle.reserved`
- rename `mangle.properties.ignore_quoted` to `mangle.properties.keep_quoted`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
- `ie8`
- `keep_fnames`
- `toplevel`
- `warnings`
- support arrays and unquoted string values on CLI
- drop `fromString` from `minify()`
- `minify()` no longer handles any `fs` operations
- unify order of operations for `mangle_properties()` on CLI & API
- `bin/uglifyjs` used to `mangle_properties()` before even `Compressor`
- `minify()` used to `mangle_properties()` after `Compressor` but before `mangle_names()`
- both will now do `Compressor`, `mangle_names()` then `mangle_properties()`
- `options.parse` / `--parse` for parser options beyond `bare_returns`
- add `mangle.properties.builtins` to disable built-in reserved list
- disable with `--mangle-props builtins` on CLI
- `warnings` now off by default
- add `--warn` and `--verbose` on CLI
- drop `--enclose`
- drop `--export-all`
- drop `--reserved-file`
- use `--mangle reserved` instead
- drop `--reserve-domprops`
- enabled by default, disable with `--mangle-props domprops`
- drop `--prefix`
- use `--source-map base` instead
- drop `--lint`
- remove `bin/extract-props.js`
- limit exposure of internal APIs
- update documentations
closes #96
closes #102
closes #136
closes #166
closes #243
closes #254
closes #261
closes #311
closes #700
closes #748
closes #912
closes #1072
closes #1366
fixes #101
fixes #123
fixes #124
fixes #263
fixes #379
fixes #419
fixes #423
fixes #461
fixes #465
fixes #576
fixes #737
fixes #772
fixes #958
fixes #1036
fixes #1142
fixes #1175
fixes #1220
fixes #1223
fixes #1280
fixes #1359
fixes #1368 | 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-31 | sort options in alphabetical order (#1743)...They started off as functional groups I guess, but given the sheer number of options this is becoming too difficult to read. | Alex Lam S.L |
2017-03-24 | improve error marker placement (#1644)...For AST_UnaryPrefix, points to the operator rather than end of expression. | Alex Lam S.L |
2017-03-24 | fix regression: CLI options with hyphens like -b ascii-only (#1640)...fixes #1637 | kzc |
2017-03-21 | throw parse error on invalid assignments (#1627)...fixes #1626 | Alex Lam S.L |
2017-03-10 | fixup for #1585 (#1589)...As patched on `harmony`, `statement()` is the only user of `embed_tokens()` with a missing error branch.
Updated test case and match up with `harmony` to facilitate future merging. | Alex Lam S.L |
2017-03-10 | Correctly raise a parse exception with a missing loop body (#1585) | Michael Mior |
2017-03-05 | fix handling of shebang and preamble (#1545)...fixes #1332 | 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 | Fix: AST_Accessor missing start / end tokens...fixes #1492
closes #1493
| Ondřej Španěl |
2016-07-21 | Legacy octal integer strict mode fixes | Anthony Van de Gejuchte |
2016-07-15 | Fix error style for regex errors | 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-06-30 | Move OctalEscapeSequence to read_escape_char...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.
| Anthony Van de Gejuchte |
2016-06-19 | Normalize error messages | Anthony Van de Gejuchte |
2016-06-19 | Don't mix strings with directives in output... * 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
| Anthony Van de Gejuchte |
2016-06-12 | Don't allow with statements in strict mode | Anthony Van de Gejuchte |
2016-06-12 | Throw errors in strict mode for octal strings...Adds a directive tracker for the parser/tokenizer to
allow parsing depending on directive context.
| Anthony Van de Gejuchte |
2016-06-05 | Do not allow newlines in regex | Anthony Van de Gejuchte |
2016-05-04 | Handle CR line endings in comments....Fixes #1050
| kzc |
2016-04-16 | Parse comments without recursion to avoid RangeError....Fixes #993
| kzc |
2016-03-15 | Do not produce `let` as a variable name in mangle....Would previously occur in large generated functions with 21,000+ variables.
Fixes #986.
| kzc |