aboutsummaryrefslogtreecommitdiff
path: root/bin
AgeCommit message (Collapse)Author
2013-05-21The extra /* */ isn't needed nowMatt Robenolt
2013-05-21SourceMapping pragma has changed to //#Matt Robenolt
See: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit The spec was updated on May 16th since `//@` was causing some issues with IE.
2013-05-15Add `--expr`, an option to parse a single expression (suitable for JSON)Mihai Bazon
2013-05-02Fix typo in bin and readmeKim Joar Bekkelund
2013-04-21Make compress/mangle disabled by default, as before ↵Mihai Bazon
5af144522a6fea302abdd0b63d48864de0664207
2013-04-20fixes #189: use dotted member access when --screw-ie8 option givenMichael Ficarra
2013-03-31uglifyjs binary: Make read_whole_file async and don't attempt to read STDIN ↵Andreas Lind Petersen
synchronously.
2013-03-25renamed --screw-ie to --screw-ie8, documented it in README.md, indicated it ↵Michał Gołębiowski
doesn't break IE9+
2013-03-24Add support for enclose option. Closes #139.Jake Harding
2013-03-22Keep legit code working even when --screw-ie is not passed.Mihai Bazon
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
2013-03-05Read the entire STDIN.Mike Bostock
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.
2013-03-02Add `--screw-ie` optionMihai Bazon
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)
2013-02-03Wraps sourceMappingURL in a multiline comment. Fixes #108Matt Robenolt
2013-01-20Add --source-map-url optionMihai Bazon
Fix #100 Fix #47
2013-01-03Set --version as a boolean #87Benoît Zugmeyer
2013-01-03--version optionBenoît Zugmeyer
2012-11-30Revert "Fixed reading from STDIN."Mihai Bazon
It breaks usage like this: echo '...code...' | uglifyjs This reverts commit e48802ad291fae5a16f2d23cbd25a0c433cdbe48.
2012-11-29Fixed reading from STDIN.Visa Kopu
2012-11-21rename the npm package to "uglify-js" and cli tool to "uglifyjs"Mihai Bazon
2012-11-06add option to mangle names even if eval/with is in useMihai Bazon
(for more fair comparison to Closure compiler)
2012-10-18fix `--comments` (close #16)Mihai Bazon
2012-10-17employ a better parser for command-line argumentsMihai Bazon
to support passing commas in strings in for example: uglifyjs2 -cd TEST="'a,b'" <<EOF console.log(TEST); EOF → console.log("a,b") close #14
2012-10-10add `--lint` and display {file} in scope_warningsMihai Bazon
2012-10-09make `--comments` keep @cc_on tooMihai Bazon
2012-10-09add `--ast-help`Mihai Bazon
displays a rather cruel description of the AST classes, derived directly from the node definitions.
2012-10-08should not expose base54.sort() in the API docs, I thinkMihai Bazon
2012-10-08added --self to easily get a browser-runnable version of UglifyJSMihai Bazon
2012-10-05added --acorn and --spidermonkey optionsMihai Bazon
2012-10-02fixed usage stringMihai Bazon
2012-10-02support for `--comments` option to keep comments containing @license or ↵Mihai Bazon
@preserve
2012-10-02option to exclude certain names from manglingMihai Bazon
2012-10-02support definesMihai Bazon
2012-10-02"use strict";Mihai Bazon
2012-10-02a shy attempt to obey `width` in the beautifier; added `bracketize` option ↵Mihai Bazon
to always print brackets around if/do/while/for statements; export more options via the CLI
2012-09-26removed the "squeeze" method (it's now effectively "transform")Mihai Bazon
2012-09-26minorMihai Bazon
2012-09-24Support input source mapMihai Bazon
This is useful while compressing generated code; for example compressing JS compiled by CoffeeScript (assuming you got a source map): uglifyjs2 --in-source-map generated.js.map \ --source-map uglified.js.map \ -o uglified.js The above assumes you have a "generated.js.map" file which is the source mapping between your CoffeeScript and the generated.js (compiled output from CoffeeScript). The name of the input file is not present in this example; it will be fetched from the source map (but it can be passed manually too). The output will be in "uglified.js" and the output map "uglified.js.map" will actually map to the original CoffeeScript code, rather than to generated.js.
2012-09-21log filename in parse errors / compressor warningsMihai Bazon
2012-09-21better support for multiple input files:Mihai Bazon
- use a single AST_Toplevel node for all files - keep original source filename in the tokens
2012-09-19support -c with no arguments to disable compression entirelyMihai Bazon
2012-09-14more optimizations that v1 does and some cleanupsMihai Bazon
- a = a + x ==> a+=x - joining consecutive var statements (hoisting is not always desirable) - x == false ==> x == 0, x != true ==> x != 1 - x, x ==> x; x = exp(), x ==> x = exp() - discarding useless break-s
2012-09-13added -m and -c optionsMihai Bazon
2012-09-11minorMihai Bazon
2012-09-11fixed some mess with symbols/scopeMihai Bazon
- all symbols now have a `thedef` property which is a SymbolDef object, instead of the `uniq` that we had before (pointing to the first occurrence of the name as declaration). - for undeclared symbols we still create a SymbolDef object in the toplevel scope but mark it "undeclared" - we can now call figure_out_scope after squeezing, which is useful in order not to mangle names that were dropped by the squeezer
2012-09-11checkpointMihai Bazon
- discard statements with no side effects (unsafe? could be) - safer hoist_vars (needs some revamping of scope/mangling)
2012-09-10hoist_vars is pretty bad, it seems. cancelled it for now.Mihai Bazon
2012-09-10adaptive base54 digits depending on char frequency (WIP)Mihai Bazon
2012-09-10fix "file" in the source mapMihai Bazon
2012-09-05declared `--stats` as booleanMihai Bazon
2012-09-03minorMihai Bazon