aboutsummaryrefslogtreecommitdiff
path: root/lib/output.js
AgeCommit message (Collapse)Author
2018-06-06general clean-ups (#3175)Alex Lam S.L
2018-04-28improve numeral compression (#3108)Alex Lam S.L
2018-04-24improve `max_line_len` (#3095)Alex Lam S.L
fixes #304
2018-04-05speed up `has_parens()` (take 2) (#3052)Alex Lam S.L
fixes #3050
2018-04-03improve performance through `makePredicate()` (#3048)Alex Lam S.L
2018-03-29improve source map granularity (#3030)Alex Lam S.L
fixes #3023
2018-03-24speed up `has_parens()` (#3014)Alex Lam S.L
2018-03-15refactor brackets to braces (#3005)Alex Lam S.L
2018-03-13retain comments within brackets (#2999)Alex Lam S.L
fixes #2998
2018-03-11preserve case when `inline_script` (#2991)Alex Lam S.L
fixes #2989
2018-02-25deduplicate parenthesis around object and function literals (#2953)Alex Lam S.L
2018-01-19compress `undefined` property names (#2811)Alex Lam S.L
- enforce property names as string - handle `void 0` as `undefined` in `hoist_props` & `reduce_vars`
2018-01-18faster output of comments (#2806)Alex Lam S.L
2018-01-12fix output of imported AST (#2771)Alex Lam S.L
2018-01-06handle trailing line comments correctly (#2736)Alex Lam S.L
fixes #2734
2017-12-29minor clean-ups (#2686)Alex Lam S.L
2017-12-24fix comments output & improve `/*@__PURE__*/`Alex Lam S.L
- fix whitespace around comments - fix comment parsing around parentheses - consider parentheses when parsing `/*@__PURE__*/` - remove all `/*@__PURE__*/` on output fixes #2638
2017-12-22make comments output more robust (#2633)Alex Lam S.L
- improve handling of comments right after `return` - retain comments after `OutputStream` - preserve trailing comments - fix handling of new line before comments - handle comments around parentheses fixes #88 fixes #112 fixes #218 fixes #372 fixes #2629
2017-12-11escape consecutive unpaired surrogates (#2576)Alex Lam S.L
fixes #2569
2017-09-21fix "use asm" numeric output (#2328)kzc
fixes #2324
2017-09-15improve source mapping (#2312)Alex Lam S.L
fixes #2310
2017-08-14don't escape null characters as \0 when followed by any digit (#2273)Erik Desjardins
fixes #2272
2017-07-23unescape surrogate pairs only (#2246)Alex Lam S.L
fixes #2242
2017-07-15ensure `ie8` works with mangled properties (#2238)Alex Lam S.L
fixes #2234
2017-07-11enhance source mapping on IIFEs (#2224)Alex Lam S.L
fixes #2213
2017-07-03improve parenthesis emission (#2196)Alex Lam S.L
- eliminate `throw` usages - suppress extraneous parenthesis - `new function() {foo.bar()}.baz` - `for (function() { "foo" in bar; };;);`
2017-06-23refactor `compute_char_frequency()` (#2152)Alex Lam S.L
- minimise maintenance when updating AST - maximise code sharing between `master` & `harmony`
2017-06-06workaround webkit parsing error (#2056)Alex Lam S.L
apply `webkit` to jetstream tests
2017-06-01fix non-identifier getter/setter name (#2041)Alex Lam S.L
fixes #2040
2017-05-23fix source map offset (#1993)Alex Lam S.L
Account for whitespace insertions. fixes #505 fixes #890
2017-05-17improve `RegExp` handling (#1959)Alex Lam S.L
- remove `options.output.unescape_regexps` - preserve original pattern whenever possible fixes #54 fixes #1929
2017-05-17remove `space_colon` (#1960)Alex Lam S.L
Always emit space after colon when `options.output.beautify` is enabled.
2017-05-12remove support for `const` (#1910)Alex Lam S.L
As this is not part of ES5.
2017-04-22fix label-related bugs (#1835)Alex Lam S.L
- deep cloning of `AST_LabeledStatement` - `L:do{...}while(false)` - empty statement with label within block extend `test/ufuzz.js` - generate labels for blocks & loops - generate for-in statements - skip suspicious option search if `minify()` errs fixes #1833
2017-04-15unify CLI & API under `minify()` (#1811)Alex Lam S.L
- 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
2017-04-12convert `AST_Seq` from binary tree to array (#1460)Alex Lam S.L
- rename `AST_Seq` to `AST_Sequence` - raise default sequences_limit from 200 to 800
2017-04-07enable `inline_script` by default (#1793)Alex Lam S.L
2017-04-01improve compression of undefined, NaN & Infinitiy (#1748)Alex Lam S.L
- 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
2017-03-31sort options in alphabetical order (#1743)Alex Lam S.L
They started off as functional groups I guess, but given the sheer number of options this is becoming too difficult to read.
2017-03-31fix missing preamble when shebang is absent (#1742)Alex Lam S.L
2017-03-29fix missing parentheses around NaN/Infinity shorthands (#1726)Alex Lam S.L
fixes #1724 fixes #1725
2017-03-29output optimal representations of NaN & Infinity (#1723)Alex Lam S.L
- move these optimisations out from `Compressor` to `OutputStream` - fixes behaviour inconsistency when running uglified code from global or module levels due to redefinition
2017-03-29improve beautified output of switch blocks (#1721)Alex Lam S.L
2017-03-24fix corner case in `AST_For.init` (#1652)Alex Lam S.L
Enforce `null` as value for empty initialisation blocks. fixes #1648
2017-03-08plan B for IE8 do-while semi-colon fix (#1572)Alex Lam S.L
- 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
2017-03-06suppress semicolons after do/while (#1556)Alex Lam S.L
- unless both `beautify` & `screw-ie8` are enabled - deprecate workaround for if-do-while-else fixes #186
2017-03-05fix handling of shebang and preamble (#1545)Alex Lam S.L
fixes #1332
2017-02-21clean up `max_line_len`alexlamsl
- never exceed specified limit - otherwise warning is shown - enabled only for final output closes #1496
2017-02-21remove extraneous spaces between ++/+/--/-alexlamsl
fixes #1377 closes #1488
2017-02-21improve `--beautify bracketize`alexlamsl
reduce whitespaces from if-else statements fixes #1482 closes #1483