Age | Commit message (Expand) | Author |
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 |
2016-01-19 | Allow operator names as getters/setters...Fixes #919
Fix provided by @kzc
| Anthony Van de Gejuchte |
2015-12-27 | Fix ch that could contain other newline characters | Anthony Van de Gejuchte |
2015-12-26 | Do not allow newlines in string literals | Anthony Van de Gejuchte |
2015-12-17 | Semicolon after do...while statement is optional | Anthony Van de Gejuchte |
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-11-09 | Fix parsing invalid input...i.e. `x = 1.xe` — because parseFloat("1.xe") returns 1, this parsed as
`x = 1`.
Ref #857
| Mihai Bazon |
2015-11-09 | Prevent ReDoS by not using a regexp to verify floating point numbers...`parseFloat` will return `NaN` for invalid numbers anyway, which is the check used to throw the parse error.
Fixes #857
| Richard van Velzen |
2015-10-07 | Fix handling of "use asm" when no command line flags are passed to uglifyjs. ... | kzc |
2015-10-07 | Add proper support for "use asm"; blocks. Disable -c optimization within "use... | kzc |
2015-10-06 | Implement shebang support | Anthony Van de Gejuchte |
2015-08-27 | Fix bad parsing of `new new x()()` constructs...Fixes #739
| Richard van Velzen |
2015-07-29 | Re-use the caught exception's error message in the parse error call. | Chris Cowan |
2015-07-29 | Give a good error message if an invalid regular expression is found. | Chris Cowan |
2015-05-20 | Treat \uFEFF as whitespace....Fix #714
| Mihai Bazon |
2015-05-05 | Only drop the BOM when it's the first character....Close #704
| Mihai Bazon |
2015-04-23 | Fix parsing strings with literal DOS newlines...(should not set newline_before)
Fix #693
| Mihai Bazon |
2015-03-18 | Fix parsing for U+2028 / U+2029...(they should be treated as whitespace)
| Mihai Bazon |
2015-02-11 | Add filename to the JS_Parse_Error exception....It would be nice to have access to the filename of the file that includes the code that causes a JavaScript error. This is especially handy if uglifying multiple files at once.
Only a small change is needed for this to happen as it's already available in the function that throws the error. | Edward Casbon |