Age | Commit message (Expand) | Author |
---|---|---|
2017-06-23 | fix for-in loop parsing (#2144) | Alex Lam S.L |
2017-06-15 | avoid intermittent test time-out failures (#2100) | Alex Lam S.L |
2017-06-14 | cache web assets between CI runs (#2089)...- skip `test/jetstream.js` for `node@0.12` | Alex Lam S.L |
2017-06-13 | fix CLI parsing of `--source-map content` (#2088)...fixes #2082 | Ziad El Khoury Hanna |
2017-06-13 | add Node.js 8 to Travis CI (#2086)...- explicitly terminate `test/jetstream.js` upon completion - log verbose output from `test/benchmark.js` & `test/jetstream.js` - remove obsolete workaround for Travis CI | Alex Lam S.L |
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)...fixes #2055 | Alex Lam S.L |
2017-06-07 | fix CLI output corruption (#2061)...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 | Alex Lam S.L |
2017-06-06 | implement `test/jetstream.js --debug` (#2058) | Alex Lam S.L |
2017-06-06 | implement function inlining (#2053)...- empty body - single `AST_Return` - single `AST_SimpleStatement` - avoid `/*#__PURE__*/` Miscellaneous - enhance single-use function substitution fixes #281 | Alex Lam S.L |
2017-06-06 | workaround webkit parsing error (#2056)...apply `webkit` to jetstream tests | Alex Lam S.L |
2017-05-28 | improve CLI usability (#2016)...Report supported options upon invalid option syntax. fixes #1883 | Alex Lam S.L |
2017-05-23 | fix source map offset (#1993)...Account for whitespace insertions. fixes #505 fixes #890 | Alex Lam S.L |
2017-05-22 | improve usability of `global_defs` in `minify()` (#1987)...Use `@key` to `parse()` string value as `AST_Node`. fixes #1986 | Alex Lam S.L |
2017-05-20 | enhance `if_return` to handle `return void...` (#1977)...fixes #512 | 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-05-10 | extend test timeout...Travis has gone a lot slower recently, and most test failures are due to time-out on this particular test. | Alex Lam S.L |
2017-05-09 | print error stack in CLI (#1890) | Alex Lam S.L |
2017-05-08 | return `Error` from `minify()` (#1880)...Have `minify()` return `Error` in `result.error` rather than throwing it. | Alex Lam S.L |
2017-05-08 | support dumping AST (#1879)...Re-order `AST_Binary` properties to make dump more readable. closes #769 | Alex Lam S.L |
2017-05-08 | deprecate low level API (#1877)...fixes #1872 | 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-03-31 | fix missing preamble when shebang is absent (#1742) | Alex Lam S.L |
2017-03-29 | remove UGLIFY_DEBUG (#1720)...fixes #1719 | 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 expect_stdout (#1642)...`compress()` may modify input ASTs add tests for #1627 & #1640 | Alex Lam S.L |
2017-03-24 | improve collapsible value detection (#1638)...- #1634 bars variables with cross-scope references in between to collapse - but if assigned value is side-effect-free, no states can be modified, so it is safe to move | Alex Lam S.L |
2017-03-23 | account for cross-scope modifications in `collapse_vars` (#1634)...mostly done by @kzc fixes #1631 | Alex Lam S.L |
2017-03-23 | fix a bug in simple_glob (#1632)...- "?" should not match "/" - other minor clean-ups | Alex Lam S.L |
2017-03-16 | make `collapse_vars` consistent with `toplevel` (#1608)...fixes #1605 | 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-08 | only run benchmark & jetstream on CI (#1571) | Alex Lam S.L |
2017-03-07 | include benchmark.js in test suite (#1564)...- report file sizes and overall run time - exit with non-zero code upon error | Alex Lam S.L |
2017-03-07 | transform function calls to IIFEs (#1560)...- expose function body to call sites for potential optimisations - suppress substitution of variable used within `AST_Defun` | Alex Lam S.L |
2017-03-05 | fix handling of shebang and preamble (#1545)...fixes #1332 | Alex Lam S.L |
2017-03-02 | optimize trivial IIFEs returning constants (#1530) | kzc |
2017-03-01 | invert `reduce_vars` tracking flag (#1519)...Modules like webpack and grunt-contrib-uglify still uses `ast.transform(compressor)` before `Compressor.compress(ast)` was introduced. Workaround this compatibility issue by deactivating `reduce_vars` in such case. Also fix use case with omitted `options` when calling `Compressor()`. fixes #1516 | Alex Lam S.L |
2017-02-28 | warn & drop `#__PURE__` iff IIFE is dropped (#1511)...- consolidate `side-effects` optimisations - improve string `+` optimisation - enhance literal & `conditionals` optimisations | 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-26 | consolidate `evaluate` & `reduce_vars` (#1505)...- improve marking efficiency - apply smarter `const` replacement to `var` fixes #1501 | Alex Lam S.L |
2017-02-25 | allow --in-source-map inline (#1490)...- limited to one input file (or `stdin`) - only works with built-in parser fixes #520 | Alex Lam S.L |
2017-02-21 | Support marking a call as pure...A function call or IIFE with an immediately preceding comment containing `@__PURE__` or `#__PURE__` is deemed to be a side-effect-free pure function call and can potentially be dropped. Depends on `side_effects` option. `[#@]__PURE__` hint will be removed from comment when pure call is dropped. fixes #1261 closes #1448 | kzc |
2017-02-21 | Fix: AST_Accessor missing start / end tokens...fixes #1492 closes #1493 | Ondřej Španěl |
2017-02-21 | remove extraneous spaces between ++/+/--/-...fixes #1377 closes #1488 | alexlamsl |