Mihai Bazon [Wed, 8 Jan 2014 09:39:24 +0000 (11:39 +0200)]
Better process_for_angular before other statement reductions. #395
Mihai Bazon [Wed, 8 Jan 2014 09:28:32 +0000 (11:28 +0200)]
Support @ngInject with `angular` compressor option. Close #395.
Mihai Bazon [Tue, 7 Jan 2014 16:56:18 +0000 (18:56 +0200)]
Disable node 0.6 since the build fails consistently and it's not our fault.
Mihai Bazon [Tue, 7 Jan 2014 16:42:48 +0000 (18:42 +0200)]
Support SpiderMonkey AST in UglifyJS.minify. Fix #393.
Mihai Bazon [Tue, 7 Jan 2014 10:54:14 +0000 (12:54 +0200)]
doh.
Mihai Bazon [Tue, 7 Jan 2014 10:48:54 +0000 (12:48 +0200)]
Fix #392
Mihai Bazon [Tue, 7 Jan 2014 10:48:21 +0000 (12:48 +0200)]
minor: exp["10"] => exp[10]
Mihai Bazon [Sun, 5 Jan 2014 09:48:01 +0000 (11:48 +0200)]
Fix parens for property access -- (foo, bar)["baz"]
Mihai Bazon [Sun, 29 Dec 2013 08:31:30 +0000 (10:31 +0200)]
Conditional/call optimization
foo ? bar(x) : bar(y) ==> bar(foo ? x : y)
Mihai Bazon [Sun, 22 Dec 2013 18:52:19 +0000 (20:52 +0200)]
Mark `yield` as reserved word. Close #375.
Mihai Bazon [Sun, 22 Dec 2013 09:36:45 +0000 (11:36 +0200)]
Optimize seq,void 0. Close #377.
(x, void 0) => void x
(x, undefined) => void x
Mihai Bazon [Wed, 18 Dec 2013 13:54:12 +0000 (15:54 +0200)]
Better fix for comments in AST_Exit
Close #374
Mihai Bazon [Wed, 18 Dec 2013 11:30:26 +0000 (13:30 +0200)]
Take out all comments from an AST_Exit's value
Fix #372
Mihai Bazon [Wed, 18 Dec 2013 10:10:43 +0000 (12:10 +0200)]
v2.4.8
Mihai Bazon [Wed, 18 Dec 2013 10:10:02 +0000 (12:10 +0200)]
Add option to adjust the src/target line in the source map
Mihai Bazon [Mon, 16 Dec 2013 18:37:09 +0000 (20:37 +0200)]
minor
Mihai Bazon [Mon, 16 Dec 2013 08:21:07 +0000 (00:21 -0800)]
Merge pull request #371 from colorhook/master
bugfix #242
colorhook [Mon, 16 Dec 2013 07:53:43 +0000 (15:53 +0800)]
bugfix #242
Mihai Bazon [Tue, 10 Dec 2013 18:24:27 +0000 (20:24 +0200)]
semicolons
Mihai Bazon [Tue, 10 Dec 2013 18:23:29 +0000 (10:23 -0800)]
Merge pull request #245 from ForbesLindesay/patch-1
Make `DefaultsError` a real `Error` object
Mihai Bazon [Tue, 10 Dec 2013 17:44:41 +0000 (19:44 +0200)]
Add `drop_console` option to the compressor
Mihai Bazon [Tue, 10 Dec 2013 17:39:03 +0000 (19:39 +0200)]
minor
Mihai Bazon [Mon, 9 Dec 2013 10:09:31 +0000 (12:09 +0200)]
v2.4.7
Mihai Bazon [Thu, 5 Dec 2013 11:30:29 +0000 (13:30 +0200)]
AST_Catch shouldn't really inherit from AST_Scope. Fix #363
I hereby acknowledge that figure_out_scope has become a mess.
Mihai Bazon [Thu, 28 Nov 2013 14:43:30 +0000 (16:43 +0200)]
Properly scope `catch` identifier when --screw-ie8
Fix #344
Mihai Bazon [Thu, 28 Nov 2013 13:05:32 +0000 (15:05 +0200)]
v2.4.6, because npm is foobar
Mihai Bazon [Thu, 28 Nov 2013 11:15:27 +0000 (13:15 +0200)]
v2.4.5
Mihai Bazon [Thu, 28 Nov 2013 11:15:01 +0000 (13:15 +0200)]
Add --noerr to turn off argument name checking
for now only used for keys passed to `-c` or `-b`.
Mihai Bazon [Wed, 27 Nov 2013 12:24:26 +0000 (14:24 +0200)]
v2.4.4
Mihai Bazon [Wed, 20 Nov 2013 19:13:16 +0000 (21:13 +0200)]
Fix faulty compression
`String(x + 5)` is not always the same as `x + "5"`. Overlooked that. :-(
Close #350
Mihai Bazon [Fri, 8 Nov 2013 09:57:17 +0000 (11:57 +0200)]
Only descend twice after drop_unused if it's the same node type.
Fix #345
Mihai Bazon [Wed, 6 Nov 2013 08:47:36 +0000 (10:47 +0200)]
Better fix for #343
We can in fact lift sequences, but only if the operation is assignment and
the left-hand side has no side effects nor property access -- that should
guarantee that whatever we place before it cannot affect the sense of the
assignment.
Dropped contrived test case (too hard to support it now), added a more
meaningful one.
Mihai Bazon [Wed, 6 Nov 2013 08:21:29 +0000 (10:21 +0200)]
v2.4.3
Mihai Bazon [Wed, 6 Nov 2013 08:18:28 +0000 (10:18 +0200)]
Do not lift sequence from right-hand side of binary operation. Fix #343
Mihai Bazon [Sun, 3 Nov 2013 21:41:07 +0000 (23:41 +0200)]
v2.4.2
Mihai Bazon [Wed, 30 Oct 2013 12:13:10 +0000 (14:13 +0200)]
[README] Fix #278
Mihai Bazon [Wed, 30 Oct 2013 11:59:59 +0000 (13:59 +0200)]
Workaround for Safari bug
Close #313
Mihai Bazon [Wed, 30 Oct 2013 09:50:22 +0000 (11:50 +0200)]
Fix parsing setters/getters (allow keywords for name).
The "key" property was always "set" or "get", which didn't make much sense.
Now it'll be the actual name of the setter/getter (AST_Node), and the
AST_Accessor object itself, which represents the function, won't store any
name.
Close #319
Mihai Bazon [Wed, 30 Oct 2013 08:45:58 +0000 (10:45 +0200)]
Fix regression after
e4c530240650535d1cb46569dfb013193471af05
`x * (y * z)` ==> `x * y * z` -- the better place to do this is in the
compressor rather than codegen.
Mihai Bazon [Wed, 30 Oct 2013 08:44:50 +0000 (10:44 +0200)]
indentation
Mihai Bazon [Wed, 30 Oct 2013 07:11:55 +0000 (09:11 +0200)]
Fix output for `x = 2 * (a % b / b * c)`
(issue #337)
Mihai Bazon [Wed, 30 Oct 2013 07:10:56 +0000 (09:10 +0200)]
minor
Richard van Velzen [Tue, 29 Oct 2013 20:37:36 +0000 (21:37 +0100)]
Disallow reversal where lhs has higher or equal precedence
Fixes #267
Mihai Bazon [Tue, 29 Oct 2013 13:53:54 +0000 (15:53 +0200)]
Fix typo
Mihai Bazon [Tue, 29 Oct 2013 12:01:26 +0000 (14:01 +0200)]
Fix reading arguments
i.e. read `-c unsafe,unsafe-comps` as `-c unsafe=true,unsafe_comps=true`
Mihai Bazon [Tue, 29 Oct 2013 11:18:09 +0000 (13:18 +0200)]
Avoid shadowing name of function expression with function argument
Close #179, #326, #327
Mihai Bazon [Tue, 29 Oct 2013 08:43:43 +0000 (10:43 +0200)]
Add "preamble" output option
Close #335
Mihai Bazon [Mon, 28 Oct 2013 07:39:29 +0000 (09:39 +0200)]
Fix codegen for when comments_before is undefined.
Fix #333
Mihai Bazon [Sun, 27 Oct 2013 08:03:01 +0000 (10:03 +0200)]
Merge branch 'master' of github.com:mishoo/UglifyJS2
Mihai Bazon [Sun, 27 Oct 2013 08:02:44 +0000 (10:02 +0200)]
Display number of failed tests and corresponding files
Mihai Bazon [Sun, 27 Oct 2013 08:01:57 +0000 (01:01 -0700)]
Merge pull request #330 from markjaquith/master
Unit test to detect issue in
8d14efe for #126 that causes aggressive parenthesis removal, functional differences
Mihai Bazon [Sun, 27 Oct 2013 08:01:11 +0000 (01:01 -0700)]
Merge pull request #331 from rvanvelzen/rhs-strings-fix
Fix RHS concat (raised in #330)
Richard van Velzen [Sat, 26 Oct 2013 16:44:52 +0000 (18:44 +0200)]
Fix RHS concat (raised in #330)
When attempting to concat the left-side of the rhs, make sure the rhs is
a string.
Mark Jaquith [Fri, 25 Oct 2013 20:28:15 +0000 (16:28 -0400)]
Add a unit test for issue-126
Add a unit test to test to test for aggressive parenthesis removal that causes functional changes.
Mihai Bazon [Thu, 24 Oct 2013 09:39:07 +0000 (02:39 -0700)]
Merge pull request #325 from rvanvelzen/fix-269
Fix #269
Richard van Velzen [Thu, 24 Oct 2013 09:08:33 +0000 (11:08 +0200)]
Fix #269
Shorten most primitives where possible. Also optimize some edge cases.
Mihai Bazon [Wed, 23 Oct 2013 20:58:09 +0000 (13:58 -0700)]
Merge pull request #323 from rvanvelzen/undefined-drop-vars-fix
Fix #280
Richard van Velzen [Wed, 23 Oct 2013 20:26:04 +0000 (22:26 +0200)]
Fix #280
The `init` of the `ForStatement` is not a `BlockStatement` before it was
descended. The descend has to happen first, and *then* the actual
checks.
Mihai Bazon [Wed, 23 Oct 2013 18:37:36 +0000 (11:37 -0700)]
Merge pull request #322 from rvanvelzen/test-exit-code-1
Add an exit code to the test suite
Richard van Velzen [Wed, 23 Oct 2013 18:24:58 +0000 (20:24 +0200)]
Add an exit code to the test suite
By adding the exit code 1 (or any other non-zero exit code) `npm test`
will know the tests didn't perform correctly. This way it's easier to
know if pull requests are good or bad.
Mihai Bazon [Tue, 22 Oct 2013 18:49:33 +0000 (21:49 +0300)]
Revert #
3a81f60 for now
(with it some tests break and it can generate invalid output, see issue #44)
Mihai Bazon [Tue, 22 Oct 2013 18:31:01 +0000 (21:31 +0300)]
v2.4.1
Mihai Bazon [Thu, 17 Oct 2013 15:20:33 +0000 (18:20 +0300)]
`arguments` outside of a function is an ordinary variable.
Fix #501
Mihai Bazon [Wed, 9 Oct 2013 19:15:43 +0000 (22:15 +0300)]
wrap up
Mihai Bazon [Wed, 9 Oct 2013 16:15:09 +0000 (19:15 +0300)]
Don't drop_unused before compression.
Fix #280, #282
Mihai Bazon [Fri, 4 Oct 2013 10:17:25 +0000 (13:17 +0300)]
Rename clean_getters to pure_getters; add pure_funcs.
Mihai Bazon [Fri, 4 Oct 2013 07:13:52 +0000 (00:13 -0700)]
Merge pull request #308 from meteor/fix-unicode-keys
Only allow identifier start characters at the beginning of identifiers.
David Glasser [Fri, 4 Oct 2013 00:02:19 +0000 (17:02 -0700)]
Only allow identifier start characters at the beginning of identifiers.
Without this fix, the following source:
x = {"\u200c": 42};
would incorrectly be converted into a quoteless key. But while \u200c is allowed
to be in identifiers, it cannot be at the beginning, as per ES5.
(For example, the SockJS client library doesn't work under uglify starting with
d9ad3c7c.)
Mihai Bazon [Wed, 2 Oct 2013 16:33:45 +0000 (19:33 +0300)]
add `clean_getters` compressor option (default `false`)
allows one to specify if `foo.bar` is considered to have side effects.
Mihai Bazon [Wed, 2 Oct 2013 12:31:31 +0000 (15:31 +0300)]
minor optimization
unlikely to help in hand-written code:
(something() ? foo : bar) == foo ==> something()
Mihai Bazon [Mon, 30 Sep 2013 08:49:29 +0000 (11:49 +0300)]
Fix error in the output minifying `Function("return this")()`
Mihai Bazon [Sun, 22 Sep 2013 12:26:10 +0000 (15:26 +0300)]
More attempts to determine when addition is associative
Somebody hit me with bug reports on this. :)
Refs #300
Mihai Bazon [Sun, 22 Sep 2013 11:54:32 +0000 (14:54 +0300)]
Actually let's move away those monsters from the evaluate function
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.
Mihai Bazon [Sun, 22 Sep 2013 10:12:34 +0000 (13:12 +0300)]
More dirty handling of [ ... ].join() in unsafe mode
Close #300
Dan Wolff [Fri, 20 Sep 2013 04:24:25 +0000 (06:24 +0200)]
Evaluate [...].join() if possible: minor bugfix
Follow-up to
78e98d2.
Mihai Bazon [Thu, 19 Sep 2013 15:20:45 +0000 (18:20 +0300)]
When `unsafe` is set, evaluate [...].join() if possible
Close #298
Dan Wolff [Thu, 19 Sep 2013 08:58:50 +0000 (10:58 +0200)]
Concatenate strings also on the right-hand side of an expression that cannot be evaluated. Fix #126
E.g. converts:
a+'Hello'+'World'
to
a+'HelloWorld'
Mihai Bazon [Fri, 6 Sep 2013 07:10:45 +0000 (10:10 +0300)]
Avoid printing <!-- in the output (HTML5 comment)
Mihai Bazon [Fri, 6 Sep 2013 06:54:30 +0000 (09:54 +0300)]
Support HTML5 comment syntax (enabled by default!)
See http://javascript.spec.whatwg.org/#comment-syntax
https://github.com/mishoo/UglifyJS/issues/503
https://github.com/marijnh/acorn/issues/62
Mihai Bazon [Fri, 6 Sep 2013 06:52:56 +0000 (09:52 +0300)]
minor
Mihai Bazon [Mon, 2 Sep 2013 16:38:00 +0000 (19:38 +0300)]
Fix names.
Mihai Bazon [Mon, 2 Sep 2013 16:36:16 +0000 (19:36 +0300)]
Disallow `continue` referring to a non-IterationStatement. Fix #287
Simplifies handling of labels (their definition/references can be easily
figured out at parse time, no need to do it in `figure_out_scope`).
Mihai Bazon [Mon, 2 Sep 2013 08:36:48 +0000 (11:36 +0300)]
Better fix for #286
Mihai Bazon [Mon, 2 Sep 2013 08:09:54 +0000 (11:09 +0300)]
Fix parsing `a.case /= 1`
Close #286
Mihai Bazon [Mon, 2 Sep 2013 06:56:27 +0000 (09:56 +0300)]
Fix parsing regexp after unary-prefix operator
++/x/.y
Fix #284
Mihai Bazon [Mon, 2 Sep 2013 06:55:34 +0000 (09:55 +0300)]
Better reporting of parse errors
Mihai Bazon [Thu, 22 Aug 2013 12:06:42 +0000 (15:06 +0300)]
v2.4.0
Mihai Bazon [Thu, 22 Aug 2013 07:10:25 +0000 (10:10 +0300)]
Remove --ie-proof from the readme.
Fix #276
Mihai Bazon [Tue, 20 Aug 2013 14:45:52 +0000 (17:45 +0300)]
Move support for `negate_iife` in the compressor, rather than code generator
(the code generator doesn't maintain enough context to know whether
the return value is important or discarded)
Fixes #272
Mihai Bazon [Mon, 19 Aug 2013 07:21:08 +0000 (00:21 -0700)]
Merge pull request #270 from michaelficarra/GH-259
fixes #259: don't unnecessarily quote object properties when --screw-ie8
Michael Ficarra [Mon, 19 Aug 2013 00:45:06 +0000 (19:45 -0500)]
fixes #259: don't unnecessarily quote object properties when --screw-ie8
Mihai Bazon [Thu, 8 Aug 2013 06:15:13 +0000 (09:15 +0300)]
fix usage
Mihai Bazon [Wed, 7 Aug 2013 09:04:58 +0000 (12:04 +0300)]
Don't drop unused setter argument.
Fix #257
Mihai Bazon [Wed, 7 Aug 2013 08:43:47 +0000 (11:43 +0300)]
Support `-p relative`. Fix #256
Forbes Lindesay [Thu, 1 Aug 2013 04:51:09 +0000 (05:51 +0100)]
Add support for browserify
Mihai Bazon [Sun, 4 Aug 2013 18:44:17 +0000 (21:44 +0300)]
Don't pretend to evaluate lambdas
Fix #255
Mihai Bazon [Tue, 30 Jul 2013 09:16:29 +0000 (12:16 +0300)]
Fix #251
Mihai Bazon [Sun, 28 Jul 2013 08:11:11 +0000 (11:11 +0300)]
Don't require arguments to --enclose
Mihai Bazon [Thu, 25 Jul 2013 15:08:36 +0000 (18:08 +0300)]
Reverting "added option for dropping unused params"
Revert "added option for dropping unused params"
(turns out we already had the `unused` option for this.)
This reverts commit
e54df2226f7f3887d2f850cea8caf5c0353dce00.
Dusan Bartos [Thu, 25 Jul 2013 13:32:21 +0000 (15:32 +0200)]
added option for dropping unused params