Age | Commit message (Expand) | Author |
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-04-07 | enable `inline_script` by default (#1793) | Alex Lam S.L |
2017-04-01 | improve compression of undefined, NaN & Infinitiy (#1748)...- migrate transformation logic from `OutputStream` to `Compressor`
- always turn `undefined` into `void 0` (unless `unsafe`)
- always keep `NaN` except when avoiding local variable redefinition
- introduce `keep_infinity` to suppress `1/0` transform, except when avoiding local variable redefinition
supersedes #1723
fixes #1730 | 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-31 | fix missing preamble when shebang is absent (#1742) | Alex Lam S.L |
2017-03-29 | fix missing parentheses around NaN/Infinity shorthands (#1726)...fixes #1724
fixes #1725 | Alex Lam S.L |
2017-03-29 | output optimal representations of NaN & Infinity (#1723)...- move these optimisations out from `Compressor` to `OutputStream`
- fixes behaviour inconsistency when running uglified code from global or module levels due to redefinition | Alex Lam S.L |
2017-03-29 | improve beautified output of switch blocks (#1721) | Alex Lam S.L |
2017-03-24 | fix corner case in `AST_For.init` (#1652)...Enforce `null` as value for empty initialisation blocks.
fixes #1648 | Alex Lam S.L |
2017-03-08 | plan B for IE8 do-while semi-colon fix (#1572)...- omitting trailing semi-colon in do-while breaks non-browser parser, e.g. uglify-js 1.x
- trailing semi-colon only breaks IE8 if followed by `else` or `while`
- always use braces in do-while body to workaround 2nd case with no size loss in compression
fixes #1568 | Alex Lam S.L |
2017-03-06 | suppress semicolons after do/while (#1556)...- unless both `beautify` & `screw-ie8` are enabled
- deprecate workaround for if-do-while-else
fixes #186 | Alex Lam S.L |
2017-03-05 | fix handling of shebang and preamble (#1545)...fixes #1332 | Alex Lam S.L |
2017-02-21 | clean up `max_line_len`...- never exceed specified limit
- otherwise warning is shown
- enabled only for final output
closes #1496
| alexlamsl |
2017-02-21 | remove extraneous spaces between ++/+/--/-...fixes #1377
closes #1488
| alexlamsl |
2017-02-21 | improve `--beautify bracketize`...reduce whitespaces from if-else statements
fixes #1482
closes #1483
| alexlamsl |
2017-02-21 | clean up `negate_iife`...- remove extra tree scanning phase for `negate_iife`
- `negate_iife` now only deals with the narrowest form, i.e. IIFE sitting directly under `AST_SimpleStatement`
- `booleans`, `conditionals` etc. will now take care the rest via more accurate accounting
- `a(); void b();` => `a(); b();`
fixes #1288
closes #1451
| alexlamsl |
2016-11-29 | Do not overwrite options.comments + cleanup | Anthony Van de Gejuchte |
2016-10-23 | Don't filter shebangs when using the 'some' comment filter...Also clarify documentation a bit more about using regexp as filter
| Anthony Van de Gejuchte |
2016-10-06 | Remove console.log and add extra test case | Richard van Velzen |
2016-10-06 | Add an option to wrap IIFEs in parenthesis...For #1307.
| Richard van Velzen |
2016-09-06 | Make all comment options in cli available in js api...Also removing more code within "loop" while at it.
| Anthony Van de Gejuchte |
2016-08-17 | Fix negate_iife transform to return a correct tree for nested IIFEs...Fix for #1256, partially reverts d854523783b4
| Richard van Velzen |
2016-08-17 | Fix negate_iife regression #1254 | kzc |
2016-08-14 | Fix unneeded parens around unary args in new expression. | kzc |
2016-06-30 | Enable --screw-ie8 by default....catch identifier is mangled correctly for ES5 standards-compliant JS engines by default.
Unconditionally use the ie8 if/do-while workaround whether or not --screw-ie8 is enabled.
To support non-standard ie8 javascript use: uglifyjs --support-ie8
| kzc |
2016-06-20 | Keep master in sync with harmony... * Do not mangle when no mangle is required
* Improve use_asm reset while printing code
| Anthony Van de Gejuchte |
2016-06-19 | Respect quote style in object literals...The option added in fbbaa42ee55a7f753f7cab9b1a905ccf73cf26d5 wasn't
being respected inside object literals, so quoted property names would
still be stripped out with this option.
This is mostly a corner-case, but useful when the output is passed to
something like the Closure compiler, where quoted property names can be
used to prevent mangling.
| Shrey Banga |
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 | Re-add parens after new expression in beautify mode | Anthony Van de Gejuchte |
2016-06-12 | Stop dropping args in new expressions | Anthony Van de Gejuchte |
2016-06-12 | Escape null characters as \0 unless followed by 0-7. | David Bau |
2016-06-08 | Fix uglify attempting to rewrite invalid new expressions | Anthony Van de Gejuchte |
2016-05-04 | Retain comments before AST_Constants during mangle. | kzc |
2016-03-24 | Escape all ASCII control characters within strings when using ascii_only....Fixes #1017.
Tab characters within strings are now output as `\t` in all output modes.
| kzc |
2016-03-14 | Fix: Uglified Number.prototype functions on big numbers | philippsimon |
2016-01-19 | Add some tests for comment-filters through api...Also never bother comment options to filter comment5/shebang comments
as they have their custom filter.
| 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-10-28 | Allow specification beautify options in tests...Caught an error in #847 as well - `output` wasn't passed anywhere which led to an exception. `options` was available though.
| Richard van Velzen |
2015-10-27 | fixes #845: \v escaping should be restricted to "screw_ie8" mode | Michael Ficarra |
2015-10-20 | Fix #836 | Fábio Santos |
2015-10-15 | Make_string was missing \v and wasnt reversing vertical tabs even though read... | startswithaj |
2015-10-13 | Fix other operator output related to <!-- or --> | kzc |
2015-10-12 | Only encode <!-- and --> in strings when inline_script | Mihai Bazon |
2015-10-12 | Output `-- >` instead of `-->` in expressions. Escape `<!--` and `-->` within... | kzc |
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-07-30 | Fix semicolon printing when restricting max line length...Fixes #755
| Richard van Velzen |