Age | Commit message (Collapse) | Author |
|
|
|
fixes #2055
|
|
Partially reverts #2059 as this has better coverage and performance.
fixes #2062
|
|
Using `console.error()` & `console.log()` result in inconsistent formatting across Node.js versions.
Avoid this issue by directly writing to `process.stderr` & `process.stdout` instead.
Miscellaneous
- prettify invalid option listing
|
|
|
|
|
|
- empty body
- single `AST_Return`
- single `AST_SimpleStatement`
- avoid `/*#__PURE__*/`
Miscellaneous
- enhance single-use function substitution
fixes #281
|
|
apply `webkit` to jetstream tests
|
|
improve function name hack in `run_code()`
|
|
|
|
fixes #2040
|
|
- all arguments may accept constant values
- return constant value
- free of side effects
- available & identical across locales and runtime environments
|
|
|
|
Separate flag for #203 functionality.
|
|
- remove duplicated functionalities
- fix similar issue with `else`
|
|
|
|
Report supported options upon invalid option syntax.
fixes #1883
|
|
|
|
Technically not part of ES5, but commonly used code exists in the wild.
|
|
Previous fiix for #1052 perturbs declaration order of functions which leads to incorrect behaviour under "use strict".
|
|
Technically not part of ES5, but commonly used code exists in the wild.
|
|
fix corner cases with `sourceMap`
fixes #1998
|
|
Account for whitespace insertions.
fixes #505
fixes #890
|
|
Use `@key` to `parse()` string value as `AST_Node`.
fixes #1986
|
|
fixes #512
|
|
fixes #1964
|
|
... via semver string on `node_version` label.
|
|
- remove `options.output.unescape_regexps`
- preserve original pattern whenever possible
fixes #54
fixes #1929
|
|
Account for comments when detecting property access in `tokenizer`.
fixes #1943
|
|
fixes #1937
|
|
- 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
|
|
- `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
|
|
As this is not part of ES5.
|
|
fixes #1922
|
|
- preserve (re)assignment to `const` for runtime error
- suppress `cascade` on `const`, as runtime behaviour is ill-defined
|
|
Travis has gone a lot slower recently, and most test failures are due to time-out on this particular test.
|
|
|
|
fixes #1887
|
|
Have `minify()` return `Error` in `result.error` rather than throwing it.
|
|
Re-order `AST_Binary` properties to make dump more readable.
closes #769
|
|
fixes #1872
|
|
|
|
Determine if variables with non-constant values can escape and be modified.
fixes #1865
|
|
- extend expression types
- `a++`
- `a=x;`
- extend scan range
- `for(init;;);`
- `switch(expr){case expr:}`
- `a = x; a = a || y;`
- terminate upon `debugger;`
closes #1821
fixes #27
fixes #315
fixes #1858
|
|
|
|
|
|
Respect "funcs" and "vars" properly.
fixes #1850
|
|
- forbid redeclaration of `this`
- suppress probability for `this` within nested functions
|
|
Only need to avoid `var` within the initialisation block.
fixes #1841
|
|
- `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
|