aboutsummaryrefslogtreecommitdiff
path: root/lib/compress.js
AgeCommit message (Collapse)Author
2013-10-09wrap upMihai Bazon
2013-10-09Don't drop_unused before compression.Mihai Bazon
Fix #280, #282
2013-10-04Rename clean_getters to pure_getters; add pure_funcs.Mihai Bazon
2013-10-02add `clean_getters` compressor option (default `false`)Mihai Bazon
allows one to specify if `foo.bar` is considered to have side effects.
2013-10-02minor optimizationMihai Bazon
unlikely to help in hand-written code: (something() ? foo : bar) == foo ==> something()
2013-09-30Fix error in the output minifying `Function("return this")()`Mihai Bazon
2013-09-22More attempts to determine when addition is associativeMihai Bazon
Somebody hit me with bug reports on this. :) Refs #300
2013-09-22Actually let's move away those monsters from the evaluate functionMihai Bazon
ev() should do a single thing — evaluate constant expressions. if that's not possible, just return the original node. it's not the best place for partial evaluation there, instead doing it in the compress functions.
2013-09-22More dirty handling of [ ... ].join() in unsafe modeMihai Bazon
Close #300
2013-09-22Evaluate [...].join() if possible: minor bugfixDan Wolff
Follow-up to 78e98d2.
2013-09-19When `unsafe` is set, evaluate [...].join() if possibleMihai Bazon
Close #298
2013-09-19Concatenate strings also on the right-hand side of an expression that cannot ↵Dan Wolff
be evaluated. Fix #126 E.g. converts: a+'Hello'+'World' to a+'HelloWorld'
2013-09-02Disallow `continue` referring to a non-IterationStatement. Fix #287Mihai Bazon
Simplifies handling of labels (their definition/references can be easily figured out at parse time, no need to do it in `figure_out_scope`).
2013-08-20Move support for `negate_iife` in the compressor, rather than code generatorMihai Bazon
(the code generator doesn't maintain enough context to know whether the return value is important or discarded) Fixes #272
2013-08-18fixes #259: don't unnecessarily quote object properties when --screw-ie8Michael Ficarra
2013-08-07Don't drop unused setter argument.Mihai Bazon
Fix #257
2013-08-04Don't pretend to evaluate lambdasMihai Bazon
Fix #255
2013-07-25Reverting "added option for dropping unused params"Mihai Bazon
Revert "added option for dropping unused params" (turns out we already had the `unused` option for this.) This reverts commit e54df2226f7f3887d2f850cea8caf5c0353dce00.
2013-07-25added option for dropping unused paramsDusan Bartos
2013-06-07Don't swap binary ops when "use asm" is in effect.Mihai Bazon
Refs #167
2013-05-14Only compress code in `new Function` if all arguments are strings.Mihai Bazon
2013-05-14Compress code passed to `new Function` if it's a constant.Mihai Bazon
Only for `--unsafe`. Close #203
2013-05-14Fix a["1_1"]Mihai Bazon
Close #204
2013-05-08Better fix for equality of typeof ... against "undefined"Mihai Bazon
2013-05-08Fixed typeof undefined optimization and updated related test case toJustin Lau
accomodates the sort behaviour changes made in commit mishoo/UglifyJS2@aebafad41eab48f43ed649ce8c77e8f1528b50da. Signed-off-by: Justin Lau <justin@tclau.com>
2013-05-07Fixed dot properties not optimizing unicode identifiers. Signed-off-by: ↵Justin Lau
Justin Lau <justin@tclau.com>
2013-05-05Fixed dot property issue with invlid identifier names.Justin Lau
Signed-off-by: Justin Lau <justin@tclau.com>
2013-04-20fixes #189: use dotted member access when --screw-ie8 option givenMichael Ficarra
2013-04-03Fix typeof evaluation for regex and functionRoman Bataev
2013-03-11Disable `unsafe` by defaultMihai Bazon
Close #147
2013-03-04Fix reordering comparisonsMihai Bazon
Close #143
2013-03-01Drop last `default:` if it's the last branch and emptyMihai Bazon
Close #141
2013-03-01Compress boolean constants after evaluationMihai Bazon
Close #137
2013-02-19Fix compressing `do {...} while (false)`Mihai Bazon
It's not safe to transform it to {...} because the body might contain `break`. The solution could be more elaborate (detect if body contains `break`) but I don't think it's worth the trouble. Close #129
2013-02-06Give up evaluating (unary-prefix '-' 0)Mihai Bazon
Close #117 ------ JS, WHY YOU SUCK SO BADLY? ;-(
2013-02-06Fix handling of constantsMihai Bazon
Close #113
2013-01-23Fix #105: property comparison to undefined is not always safeRichard Gibson
2013-01-17Handle String() with no arguments.Mihai Bazon
Fix #91
2012-12-21Optimize new Array(1, 2, 3) → [1, 2, 3]Mihai Bazon
Close #74
2012-12-05small improvement on merging assignments into hoisted varsMihai Bazon
2012-12-05When hoisting variables, try to merge in assignments that follow.Mihai Bazon
2012-11-30Don't messup compressor stack while optimizing SwitchMihai Bazon
Fix #59
2012-11-23fix for https://github.com/mishoo/UglifyJS/issues/474Mihai Bazon
2012-11-17retain (1,eval) as is when it's the expression of an AST_CallMihai Bazon
otherwise we change the meaning of eval from global to lexical.
2012-11-14better solution for the last test in constant switch foldingMihai Bazon
2012-11-14optimize constant switch blocksMihai Bazon
ref. mishoo/UglifyJS#441
2012-11-13Merge branch 'optimize_concat' of https://github.com/rvanvelzen/UglifyJS2 ↵Mihai Bazon
into rvanvelzen-optimize_concat
2012-11-13don't change order in binary expressions if both operands have side effectsMihai Bazon
2012-11-12Add simple optimization for empty-string concats.Richard van Velzen
ref. #43
2012-11-12fix invalid AST produced by dropping unused variableMihai Bazon
close #44