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