aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-02"use strict";Mihai Bazon
2012-10-02more constant folding (for names defined with `const`)Mihai Bazon
2012-10-02add AST_SymbolConst for names defined with `const`Mihai Bazon
2012-10-02drop more unused namesMihai 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-28minorMihai Bazon
2012-09-27fix manglingMihai Bazon
(bug in our code prevented the mangler from using a name that was in use prior to mangling but not after it)
2012-09-26removed the "squeeze" method (it's now effectively "transform")Mihai Bazon
2012-09-26some speedup and more savings from unused vars that have side effects in ↵Mihai Bazon
initialization
2012-09-26compressor successfully moved to TreeTransformerMihai Bazon
2012-09-26checkpoint (refactoring, WIP)Mihai Bazon
2012-09-26minorMihai Bazon
2012-09-25more cleanupsMihai Bazon
2012-09-25moving code around (refactoring, WIP)Mihai Bazon
2012-09-25discard all \uFEFF characters (https://github.com/mishoo/UglifyJS/issues/462)Mihai Bazon
2012-09-25started some refactoring (WIP) -- moving squeezer to TreeTransformerMihai Bazon
2012-09-25minorMihai Bazon
2012-09-25it's not safe to assume that property access is side-effect-freeMihai Bazon
(getters/setters + various browser bugs will trigger side effects; also, an exception is thrown when the expression is undefined)
2012-09-25some boolean cleanupMihai 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-24minor tests fixMihai Bazon
2012-09-23properly drop mutually-referring declarations that are not otherwiseMihai Bazon
referenced and have no side effects
2012-09-22tree transformer api (WIP)Mihai Bazon
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-21more on detecting side effectsMihai Bazon
2012-09-19drop unused variablesMihai Bazon
2012-09-19support -c with no arguments to disable compression entirelyMihai Bazon
2012-09-18fixed label scope/manglingMihai Bazon
2012-09-18minorMihai Bazon
2012-09-18support for directivesMihai Bazon
2012-09-18added AST_NaN (output as 0/0)Mihai Bazon
2012-09-17only do the typeof x == "undefined" optimization if x is a symbol reference ↵Mihai Bazon
and it's declared in scope, or x is not a symbol reference.
2012-09-17moved `typeof foo == "undefined"` ==> `foo === undefined` under `--unsafe`Mihai Bazon
because https://github.com/mishoo/UglifyJS2/commit/43fd45154bac89b89330e13bd1f167e2a927a23c#commitcomment-1864505
2012-09-17fix .undeclared (it's now a function)Mihai Bazon
2012-09-17minorMihai Bazon
2012-09-17one more test for sequencesMihai Bazon
2012-09-17possible optimization for AST_UndefinedMihai Bazon
if undefined is defined, ;-), we replace AST_Undefined nodes to a reference to the "undefined" variable; in turn the mangler will compress it to a single letter; this helps at least on jQuery.
2012-09-17empty block to empty statement: {} ==> ;Mihai Bazon
2012-09-17more smallish optimizationsMihai Bazon
2012-09-17try negating AST_BinaryMihai Bazon
2012-09-16some cleanupMihai Bazon
2012-09-16more sequencesizing (WIP)Mihai Bazon
2012-09-16drop unused functionMihai Bazon
2012-09-16rewrite handle_if_returnMihai Bazon
optimizations of if/return/continue seem to be even better now
2012-09-15other small optimization:Mihai Bazon
if (foo) continue; ...body... ==> if (!foo) { ...body ... } Only when the parent block is the target loop of the `continue` statement.
2012-09-15figure out label targetsMihai Bazon
2012-09-15join_vars:Mihai Bazon
var XXX; for (var YYY; ...) ==> for (var XXX,YYY; ...)
2012-09-14compress typeof x == "undefined" to x === undefined, which further getsMihai Bazon
shortened to x === void 0 (or x === [][0] in unsafe mode)
2012-09-14minorMihai Bazon
when unsafe, compress undefined as [][0]