aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Expand)Author
2017-06-20ensure mangling works if catch reuses a scope variable (#2123)...fixes #2120Alex Lam S.L
2017-06-17make defensive copies when `inline` (#2116)...fixes #2114Alex Lam S.L
2017-06-16fix loss of context in `collapse_vars` & `cascade` (#2112)...fixes #2110Alex Lam S.L
2017-06-16in-place `tigten_body()` (#2111)...By reducing copies of `AST_Node` arrays, we should be able to reduce: - memory pressure - potential bugs caused by multiple references in AST - duplicated executions of `OPT()`Alex Lam S.L
2017-06-16correctly determine scope of `AST_This` (#2109)...fixes #2107Alex Lam S.L
2017-06-16enforce `inline` scope restriction (#2106)...fixes #2105Alex Lam S.L
2017-06-15suppress `inline` of `this` (#2103)...fixes #2101Alex Lam S.L
2017-06-15compute `uses_arguments` correctly in `figure_out_scope()` (#2099)...fixes #2097Alex Lam S.L
2017-06-13fix variable accounting in `inline` (#2085)...fixes #2084Alex Lam S.L
2017-06-09marshal `mangle[.properties].reserved` from non-Array values (#2072)Alex Lam S.L
2017-06-08fix iteration over object with inherited properties (#2068)...fixes #2055Alex Lam S.L
2017-06-07fix `cascade` on multi-branch evaluations (#2067)...Partially reverts #2059 as this has better coverage and performance. fixes #2062Alex Lam S.L
2017-06-06fix `inline` handling of `AST_Call.args` (#2059)Alex Lam S.L
2017-06-06implement function inlining (#2053)...- empty body - single `AST_Return` - single `AST_SimpleStatement` - avoid `/*#__PURE__*/` Miscellaneous - enhance single-use function substitution fixes #281Alex Lam S.L
2017-06-06workaround webkit parsing error (#2056)...apply `webkit` to jetstream testsAlex Lam S.L
2017-06-04fix `AST_Function` scope invariance (#2052)...improve function name hack in `run_code()`Alex Lam S.L
2017-06-03clean up `lib/parse.js` (#2047)...- remove unused definitions - replace `array_to_hash()`Alex Lam S.L
2017-06-01fix non-identifier getter/setter name (#2041)...fixes #2040Alex Lam S.L
2017-06-01whitelist `unsafe` `evaluate` candidates (#2039)...- all arguments may accept constant values - return constant value - free of side effects - available & identical across locales and runtime environmentsAlex Lam S.L
2017-06-01enhance `unsafe` `evaluate` (#2037)Alex Lam S.L
2017-05-31introduce `unsafe_Func` (#2033)...Separate flag for #203 functionality.Alex Lam S.L
2017-05-29better fix for #512 & #2010 (#2019)...- remove duplicated functionalities - fix similar issue with `else`Alex Lam S.L
2017-05-28implement `--help options` (#2017)Alex Lam S.L
2017-05-27fix `hoist_funs` on block-scoped `function` under "use strict" (#2013)...Technically not part of ES5, but commonly used code exists in the wild.Alex Lam S.L
2017-05-27fix `if_return` on `AST_Defun` (#2010)...Previous fiix for #1052 perturbs declaration order of functions which leads to incorrect behaviour under "use strict".Alex Lam S.L
2017-05-26fix `dead_code` on block-scoped `function` under "use strict" (#2006)...Technically not part of ES5, but commonly used code exists in the wild.Alex Lam S.L
2017-05-26clean up `lib/scope.js` (#2003)...fixes #2004Alex Lam S.L
2017-05-25report timing breakdown (#2000)...fix corner cases with `sourceMap` fixes #1998Alex Lam S.L
2017-05-23fix source map offset (#1993)...Account for whitespace insertions. fixes #505 fixes #890Alex Lam S.L
2017-05-22improve usability of `global_defs` in `minify()` (#1987)...Use `@key` to `parse()` string value as `AST_Node`. fixes #1986Alex Lam S.L
2017-05-20enhance `if_return` to handle `return void...` (#1977)...fixes #512Alex Lam S.L
2017-05-19introduce `unsafe_regexp` (#1970)...fixes #1964Alex Lam S.L
2017-05-17improve `RegExp` handling (#1959)...- remove `options.output.unescape_regexps` - preserve original pattern whenever possible fixes #54 fixes #1929Alex Lam S.L
2017-05-17remove `space_colon` (#1960)...Always emit space after colon when `options.output.beautify` is enabled.Alex Lam S.L
2017-05-16fix parsing of property access after new line (#1944)...Account for comments when detecting property access in `tokenizer`. fixes #1943Alex Lam S.L
2017-05-15improve keyword-related parser errors (#1941)...fixes #1937Alex Lam S.L
2017-05-15fix & 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 #1915Alex Lam S.L
2017-05-14fix 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 errorsAlex Lam S.L
2017-05-12remove support for `const` (#1910)...As this is not part of ES5.Alex Lam S.L
2017-05-12avoid `arguments` and `eval` in `reduce_vars` (#1924)...fixes #1922Alex Lam S.L
2017-05-12fix invalid transform on `const` (#1919)...- preserve (re)assignment to `const` for runtime error - suppress `cascade` on `const`, as runtime behaviour is ill-definedAlex Lam S.L
2017-05-08return `Error` from `minify()` (#1880)...Have `minify()` return `Error` in `result.error` rather than throwing it.Alex Lam S.L
2017-05-08support dumping AST (#1879)...Re-order `AST_Binary` properties to make dump more readable. closes #769Alex Lam S.L
2017-05-08support `minify()` output as AST (#1878)...- `options.output.ast` (default `false`) - `options.output.code` (default `true`)Alex Lam S.L
2017-05-06fix `unsafe` on `evaluate` of `reduce_vars` (#1870)...Determine if variables with non-constant values can escape and be modified. fixes #1865Alex Lam S.L
2017-05-06kill `opera` (#1869)Alex Lam S.L
2017-05-06enhance `collapse_vars` (#1862)...- 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 Alex Lam S.L
2017-05-02rename variables for better readability (#1863)Alex Lam S.L
2017-05-02improve literal return optimization (#1860)kzc
2017-04-30enforce `toplevel` on other compress options (#1855)...Respect "funcs" and "vars" properly. fixes #1850Alex Lam S.L