Age | Commit message (Expand) | Author |
2015-03-14 | Add property name mangler...We only touch properties that are present in an object literal, or which are
assigned to. Example:
x = { foo: 1 };
x.bar = 2;
x["baz"] = 3;
x[cond ? "qwe" : "asd"] = 4;
console.log(x.stuff);
The names "foo", "bar", "baz", "qwe" and "asd" will be mangled, and the
resulting mangled names will be used for the same properties throughout the
code. The "stuff" will not be, since it's just referenced but never
assigned to.
This *will* break most of the code out there, but could work on carefully
written code: do not use eval, do not define methods or properties by
walking an array of names, etc. Also, a comprehensive list of exclusions
needs to be passed, to avoid mangling properties that are standard in
JavaScript, DOM, used in external libraries etc.
| Mihai Bazon |
2015-02-11 | Parse regexes properly | Anthony Van de Gejuchte |
2015-01-27 | Add option to preserve/enforce string quote style...`-q 0` (default) use single or double quotes such as to minimize the number of
bytes (prefers double quotes when both will do); this is the previous
behavior.
`-q 1` -- always use single quotes
`-q 2` -- always use double quotes
`-q 3` or just `-q` -- always use the original quotes.
Related codegen option: `quote_style`.
Close #495
Close #460
Some `yargs` guru please tell me why `uglifyjs --help` doesn't display the
help string for `-q` / `--quotes`, and why it doesn't output the expected
argument types anymore, like good old `optimist` did.
| Mihai Bazon |
2015-01-05 | Declare boolean type for --keep-fnames | Mihai Bazon |
2015-01-05 | Support keep_fnames in compressor, and --keep-fnames. #552...Passing `--keep-fnames` will enable it both for compressor/mangler, so that
function names will not be dropped (when unused) nor mangled.
| Mihai Bazon |
2015-01-04 | Fix backslashes in source-map paths on Windows | Derek Wickern |
2015-01-01 | Use yargs instead of optimist. | Kenneth Powers |
2014-10-20 | Add option to allow return outside of functions....Close #288
| Mihai Bazon |
2014-01-09 | Added support for sourcesContent property of source map | Artemy Tregubenko |
2014-01-07 | Fix #392 | Mihai Bazon |
2013-11-28 | Add --noerr to turn off argument name checking...for now only used for keys passed to `-c` or `-b`.
| Mihai Bazon |
2013-10-29 | Fix reading arguments...i.e. read `-c unsafe,unsafe-comps` as `-c unsafe=true,unsafe_comps=true`
| Mihai Bazon |
2013-10-29 | Add "preamble" output option...Close #335
| Mihai Bazon |
2013-10-28 | Fix codegen for when comments_before is undefined....Fix #333
| Mihai Bazon |
2013-09-02 | Better reporting of parse errors | Mihai Bazon |
2013-08-18 | fixes #259: don't unnecessarily quote object properties when --screw-ie8 | Michael Ficarra |
2013-08-07 | Support `-p relative`. Fix #256 | Mihai Bazon |
2013-07-30 | Fix #251 | Mihai Bazon |
2013-07-28 | Don't require arguments to --enclose | Mihai Bazon |
2013-05-21 | The extra /* */ isn't needed now | Matt Robenolt |
2013-05-21 | SourceMapping pragma has changed to //#...See: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit
The spec was updated on May 16th since `//@` was causing some issues with IE. | Matt Robenolt |
2013-05-15 | Add `--expr`, an option to parse a single expression (suitable for JSON) | Mihai Bazon |
2013-05-02 | Fix typo in bin and readme | Kim Joar Bekkelund |
2013-04-21 | Make compress/mangle disabled by default, as before 5af144522a6fea302abdd0b63... | Mihai Bazon |
2013-04-20 | fixes #189: use dotted member access when --screw-ie8 option given | Michael Ficarra |
2013-03-31 | uglifyjs binary: Make read_whole_file async and don't attempt to read STDIN s... | Andreas Lind Petersen |
2013-03-25 | renamed --screw-ie to --screw-ie8, documented it in README.md, indicated it d... | Michał Gołębiowski |
2013-03-24 | Add support for enclose option. Closes #139. | Jake Harding |
2013-03-22 | Keep legit code working even when --screw-ie is not passed....Previously:
Without `--screw-ie`, UglifyJS would always leak names of function
expressions into the containing scope, as if they were function
declarations. That was to emulate IE<9 behavior. Code relying on this
IE bug would continue to work properly after mangling, although it would
only work in IE (since other engines don't share the bug). Sometimes
this broke legitimage code (see #153 and #155).
With `--screw-ie` the names would not be leaked into the current scope,
working properly in legit cases; but still it broke legit code when
running in IE<9 (see #24).
Currently:
Regardless of the `--screw-ie` setting, the names will not be leaked.
Code relying on the IE bug will not work properly after mangling.
<evil laughter here>
Without `--screw-ie`: a hack has been added to the mangler to avoid
using the same name for a function expression and some other variable in
the same scope. This keeps legit code working, at the (negligible,
indeed) cost of one more identifier.
With `--screw-ie` you allow the mangler to name function expressions
with the same identifier as another variable in scope. After mangling
code might break in IE<9.
Oh man, the commit message is longer than the patch.
Fix #153, #155
| Mihai Bazon |
2013-03-05 | Read the entire STDIN....The problem with reading synchronously from /dev/stdin is that you can get a
spurious EOF when the input buffer is empty, even if more content is coming. Now
STDIN is read from a loop, and only stops polling when all input has been read.
This fixes #70 #85 and other errors related to parsing large files on STDIN.
| Mike Bostock |
2013-03-02 | Add `--screw-ie` option...For now the implication is that UglifyJS will not leak a function
expression's name in the surrounding scope (IE < 9 does that).
(ref. mishoo/UglifyJS#485)
| Mihai Bazon |
2013-02-03 | Wraps sourceMappingURL in a multiline comment. Fixes #108 | Matt Robenolt |
2013-01-20 | Add --source-map-url option...Fix #100
Fix #47
| Mihai Bazon |
2013-01-03 | Set --version as a boolean #87 | Benoît Zugmeyer |
2013-01-03 | --version option | Benoît Zugmeyer |
2012-11-30 | Revert "Fixed reading from STDIN."...It breaks usage like this:
echo '...code...' | uglifyjs
This reverts commit e48802ad291fae5a16f2d23cbd25a0c433cdbe48.
| Mihai Bazon |
2012-11-29 | Fixed reading from STDIN. | Visa Kopu |
2012-11-21 | rename the npm package to "uglify-js" and cli tool to "uglifyjs" | Mihai Bazon |