https://github.com/mishoo/UglifyJS

sort by:
Revision Author Date Message Commit Date
64270b9 v2.1.10 08 November 2012, 10:33:27 UTC
e312c5c fix API breakage close #36, #38 08 November 2012, 10:31:28 UTC
1a5fd3e optimization for if/break as first statement in a loop body for(...; x; ...) if (y) break; → for(...; x&&!y; ...); similarly for `while` and some combinations (i.e. the `break` appears in the `else` clause, etc.) 08 November 2012, 09:43:14 UTC
5a7e54c ignore node_modules/ 07 November 2012, 13:27:12 UTC
39f8a62 v2.1.9 07 November 2012, 11:31:58 UTC
46be3f2 fix another small regression we do need parens here: `new (foo.bar().baz)`, but not here: `new foo.bar.baz` 07 November 2012, 11:31:43 UTC
258b46f v2.1.8 07 November 2012, 11:03:11 UTC
80da21d fix regression from 5346fb94 (shouldn't parenthesize i++ in x[i++]) 07 November 2012, 11:02:51 UTC
bb0e4d7 v2.1.7 07 November 2012, 10:45:23 UTC
5276a4a add AST_Accessor and AST_SymbolAccessor node types AST_Accessor will represent the function for a setter or getter. Since they are not mangleable, and they should not introduce a name in scope, we have a new node for their name (AST_SymbolAccessor) which doesn't inherit from AST_SymbolDeclaration. fix #37 07 November 2012, 10:43:27 UTC
a1ae0c8 parenthesize property access when it's the expression in New refs #35 07 November 2012, 10:26:33 UTC
a90c1ae further fix for parens around New (refs #35) 07 November 2012, 09:49:06 UTC
ff388a8 parenthesize a Call expression when its parent is New fix #35 07 November 2012, 09:36:15 UTC
5346fb9 add proper parens around unary expressions fix #34 07 November 2012, 09:23:50 UTC
a4f6d46 add option to mangle names even if eval/with is in use (for more fair comparison to Closure compiler) 06 November 2012, 16:19:51 UTC
7f5f4d6 discard the hack that worked around the deprecation warning (since the source-map module no longer uses require.js) refs #9 05 November 2012, 20:23:51 UTC
ffccb23 convert `while` into `for` 05 November 2012, 14:01:20 UTC
fba0c1a minor 05 November 2012, 14:01:09 UTC
774f2de minor optimization for `==` or `!=` against a constant, prefer to display the constant first. should help a bit after gzip, i.e.: typeof foo=="undefined" ^^^^^^ ^^^^^^^^^^^^^ vs: "undefined"==typeof foo ^^^^^^^^^^^^^^^^^^^ (longer sequence that could repeat) idea stolen from closure. 05 November 2012, 11:13:06 UTC
85af942 print final semicolon close #28 05 November 2012, 11:09:39 UTC
8413787 use a Dictionary object instead of plain object for hashes to mitigate the `__proto__` issue related to #30 02 November 2012, 08:58:45 UTC
dde5745 v2.1.6 01 November 2012, 14:55:10 UTC
cf40980 it's safe to negate expression in !EXP only in boolean context #kendo 01 November 2012, 13:49:05 UTC
18270dd added unsafe_comps for negating `<=` with `>` since it has the potential to break code, let's keep it disabled by default 01 November 2012, 13:14:56 UTC
d4c25c5 fix compressing UnaryPrefix only try negating the expression if the operator is `!` #kendo 01 November 2012, 11:35:08 UTC
5248b79 v2.1.5 30 October 2012, 12:51:05 UTC
abe0ebb don't move expressions containing the binary `in` operator into the `for` initializer (opera can't parse it) close #25 30 October 2012, 12:50:47 UTC
0852f55 v2.1.4 25 October 2012, 15:52:49 UTC
cb3cafa cripple scope to make IE happy :-( close #24 25 October 2012, 15:52:35 UTC
202fb93 test for fs.existsSync 25 October 2012, 07:58:48 UTC
7b87d2e v2.1.3 24 October 2012, 06:41:40 UTC
70fd2b1 fix for `if (...) return; else return ...;` (it was assumed that the first `return` always contains a value) close #22 24 October 2012, 06:33:32 UTC
30faaf1 more sequence optimizations (lift some sequences above binary/unary expressions so that we can avoid parens) 22 October 2012, 08:58:06 UTC
41be863 v2.1.2 22 October 2012, 04:57:28 UTC
bee01dc Merge branch 'master' of github.com:mishoo/UglifyJS2 20 October 2012, 08:14:25 UTC
12f71e0 alternate hack to disable deprecation warning ref #9, close #20 20 October 2012, 08:12:21 UTC
3a72dea Merge pull request #19 from SevInf/master Allow to specify sourceRoot in minify 19 October 2012, 11:29:40 UTC
fc8314e minor fix for dropping unused definitions. function f(x, y) { var g = function() { return h() }; var h = function() { return g() }; return x + y; } now compresses to `function f(x, y) { return x + y }` 19 October 2012, 09:57:29 UTC
11dffe9 Add sourceRoot option to minify 19 October 2012, 09:35:19 UTC
6f45928 add fromString argument to `UglifyJS.minify` (allows to pass the source code, instead of file names, as first argument). close #17 18 October 2012, 12:49:15 UTC
afb7faa more optimizations for some break/continue cases 18 October 2012, 12:14:57 UTC
6aa56f9 v2.1.1 18 October 2012, 07:54:30 UTC
4fe4257 fix `--comments` (close #16) 18 October 2012, 07:54:10 UTC
a5e75c5 v2.1.0 17 October 2012, 19:00:11 UTC
4482fdd added note about API docs and online demo 17 October 2012, 18:59:36 UTC
253bd85 more small optimizations (unlikely to help for hand-written code) 17 October 2012, 18:57:08 UTC
6a099fb define aborts on AST_If: true if both branches abort 17 October 2012, 13:17:14 UTC
a21f3c6 employ a better parser for command-line arguments 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 17 October 2012, 12:56:45 UTC
8f66458 the `sort` option is broken anyway, removed it we need to mangle names from outermost to innermost scope; mangling names from inner scopes before we got to the outer scope won't work correctly, therefore sorting doesn't make sense. 17 October 2012, 12:24:47 UTC
6472f94 add `semicolons` option in the code generator (default: `true`) pass `false` to separate statements with newlines instead of semicolons 17 October 2012, 11:52:08 UTC
8957b3a fix small glitches in source map generation 16 October 2012, 12:54:12 UTC
1ffd526 disable warnings in the test suite 13 October 2012, 12:18:11 UTC
fcc0229 drop unused function arguments also add test for "drop_unused" (the last one fails for now) 13 October 2012, 12:04:44 UTC
b071c9d add parens to AST_Seq whose parent is AST_Unary 13 October 2012, 11:32:08 UTC
851b48e fix compressing benchmark.js (it tried to evaluate a statement) the following code in benchmark.js triggered the issue: support.decompilation = Function( 'return (' + (function(x) { return { 'x': '' + (1 + x) + '', 'y': 0 }; }) + ')' )()(0).x === '1'; technically that could be resolved into a constant expression, but seems it's being used here for browser bugs detection :-\ 13 October 2012, 09:57:10 UTC
708abb1 minor 13 October 2012, 09:42:01 UTC
370d3e0 fix regression from fb5c01c073d06034815d5f3b782fd11cbdf6d6f5 is_digit takes a char code now, not a string 13 October 2012, 09:24:27 UTC
b51fe0d fix end tokens in spidermonkey ast import 13 October 2012, 08:37:58 UTC
70d205c update for acorn 12 October 2012, 21:35:24 UTC
8149be5 minor 12 October 2012, 11:55:54 UTC
ba3df64 actually enable the option that drops unused names in the test of issue #12 12 October 2012, 08:41:48 UTC
1b6f8d4 remove the $self hack operations are destructive anyway, so there's no point to clone the nodes in the transformer. speed++ 12 October 2012, 08:07:35 UTC
731fa9c add test for issue #12 12 October 2012, 07:49:48 UTC
72cb532 fix in_boolean_context() (two tests were broken) 12 October 2012, 07:49:41 UTC
fc39553 use AST_Lambda for object setters/getters so that the optimization that drops the name if unused doesn't apply. close #12 12 October 2012, 07:11:01 UTC
d9d6731 fix pos in syntax error exception 11 October 2012, 12:25:38 UTC
fb5c01c stealing more hacks from acorn in the name of speed 11 October 2012, 12:17:42 UTC
f4584af using makeComparator from acorn to generate functions that tests whether a string is keyword, reserved etc. speeds up the parser a bit, though not spectacular.. still far from acorn. 11 October 2012, 08:52:05 UTC
172aa7a cleanup - use prototype-less objects where feasible (minor speed improvement) - get rid of HOP 11 October 2012, 08:07:42 UTC
5053a29 fix propagation of symbol references 11 October 2012, 07:28:48 UTC
f322b32 disable warnings by default in `minify` (pass warnings: true to enable) close #11 11 October 2012, 06:31:17 UTC
9cdaed9 fix node name 10 October 2012, 20:16:40 UTC
dacce1b seems cleaner if AST_Label doesn't inherit from AST_SymbolDeclaration 10 October 2012, 08:37:51 UTC
f26f3b4 small improvements in wrap_commonjs: - use MAP.splice instead of a BlockStatement to inject code (avoids some warnings in the linter) - use the original symbol in exports, so that we get the proper source mapping 10 October 2012, 08:28:05 UTC
c5ecbfc drop unused variable 10 October 2012, 08:27:06 UTC
3799ac8 add `--lint` and display {file} in scope_warnings 10 October 2012, 08:26:59 UTC
86182af minor 09 October 2012, 19:56:59 UTC
4807c6e update on @cc_on 09 October 2012, 16:09:11 UTC
a84d07e add AST_Infinity node 09 October 2012, 15:35:53 UTC
88beddf make `--comments` keep @cc_on too 09 October 2012, 15:25:00 UTC
1b0aab2 added $propdoc to AST nodes and some cleanups hopefully we can make the AST documentation self-generating 09 October 2012, 15:20:39 UTC
9ead496 minor AST cleanup (AST_BlockStatement may inherit from AST_Block) 09 October 2012, 10:59:17 UTC
e1862cd add `--ast-help` displays a rather cruel description of the AST classes, derived directly from the node definitions. 09 October 2012, 10:21:21 UTC
2c025f2 fix detecting symbols in use 09 October 2012, 10:13:55 UTC
9dfcd47 Merge pull request #8 from SevInf/master Fix crash in minify function 09 October 2012, 10:04:33 UTC
203ecaf Fix nodejs minify without inSourceMap exception When inSourceMap is omitted fs.readFile throws exception. Fixed version calls fs.readFile only when inSourceMap argument is present 09 October 2012, 09:52:28 UTC
c967f0b fix `inSourceMap` in `minify` (should read the file) 08 October 2012, 18:22:20 UTC
dfc04e6 add simple API wrapper: UglifyJS.minify (refs #7) 08 October 2012, 18:15:59 UTC
42ea3c9 added some basic API doc 08 October 2012, 11:30:34 UTC
d4970b3 should not expose base54.sort() in the API docs, I think 08 October 2012, 10:37:27 UTC
dd8286b added --self to easily get a browser-runnable version of UglifyJS 08 October 2012, 09:55:18 UTC
093a903 eliminate redundant directives in the same scope 08 October 2012, 09:53:17 UTC
80a18fe for certain nodes that we invent we might not have a original source file to map from, so just use "?". and in any case, don't fail hard when addMapping throws. 08 October 2012, 09:52:25 UTC
fe1411b fix typo 05 October 2012, 20:10:52 UTC
455ac54 remove unused code 05 October 2012, 19:59:05 UTC
4a2b912 minor 05 October 2012, 17:24:56 UTC
a1e0885 replace `(function(){ ...no side effects ... })()` with `undefined`. 05 October 2012, 13:51:16 UTC
7ae0912 prevent mangling only when eval is *called*, not when it's just referenced 05 October 2012, 13:17:31 UTC
42c25d9 add note about installation 05 October 2012, 12:31:55 UTC
e88dcc3 added --acorn and --spidermonkey options 05 October 2012, 12:22:12 UTC
back to top