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
David Glasser [Wed, 16 Jan 2013 19:59:19 +0000 (14:59 -0500)]
Fix output for arrays whose last element is a hole: [1,,]
1529ab96 started to do this (by considering holes to be separate from
"undefined") but it still converted
[1,,] (length 2, last element hole, trailing comma)
to
[1,] (length 1, trailing comma)
Unfortunately the test suite doesn't really make this clear: the new test here
passes with or without this patch because run-tests.js beautifys the expected
output (in "make_code"), which does the incorrect transformation! If you make
some manual change to arrays.js to make the test fail and see the INPUT and
OUTPUT, then you can see that without this fix, [1,,] -> [1,], and with this fix
it stays [1,,].
Mihai Bazon [Mon, 15 Jul 2013 08:59:23 +0000 (11:59 +0300)]
Revert previous patch, it was no good.
Mihai Bazon [Mon, 15 Jul 2013 08:27:11 +0000 (11:27 +0300)]
Add "position" option to parser, to specify initial pos/line/col
(for parsing embedded scripts)
Mihai Bazon [Sun, 14 Jul 2013 10:24:09 +0000 (13:24 +0300)]
Apply transformer to AST_VarDef's name
Fix #237
Mihai Bazon [Fri, 12 Jul 2013 06:56:58 +0000 (09:56 +0300)]
Fix typo.
Close #239
Mihai Bazon [Fri, 28 Jun 2013 07:08:13 +0000 (10:08 +0300)]
Reset the base54 counters every time minify is called.
Close #229
Mihai Bazon [Fri, 7 Jun 2013 09:51:23 +0000 (12:51 +0300)]
Don't swap binary ops when "use asm" is in effect.
Refs #167
Mihai Bazon [Mon, 3 Jun 2013 18:10:14 +0000 (11:10 -0700)]
Merge pull request #220 from lautis/escape-null
Escape null characters as \x00
Ville Lautanala [Mon, 3 Jun 2013 17:18:42 +0000 (20:18 +0300)]
Escape null characters as \x00
Since \0 might be mistakenly interpreted as octal if followed by a
number and using literal null is in some cases interpreted as end of
string, escape null as \x00.
Mihai Bazon [Thu, 23 May 2013 20:42:32 +0000 (23:42 +0300)]
v2.3.6
Mihai Bazon [Wed, 22 May 2013 18:30:54 +0000 (11:30 -0700)]
Merge pull request #213 from mattrobenolt/patch-1
SourceMapping pragma has changed to //#
Mihai Bazon [Wed, 22 May 2013 18:22:14 +0000 (21:22 +0300)]
Add `negate_iife` option to the code generator.
See discussion in
a9511dfbe5c0d96d8cacb87582aa9a19737bbb98
Mihai Bazon [Wed, 22 May 2013 10:08:19 +0000 (13:08 +0300)]
Set "global" on undeclared SymbolDef-s
Matt Robenolt [Tue, 21 May 2013 14:50:21 +0000 (08:50 -0600)]
The extra /* */ isn't needed now
Matt Robenolt [Tue, 21 May 2013 14:46:27 +0000 (08:46 -0600)]
SourceMapping pragma has changed to //#
See: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit
The spec was updated on May 16th since `//@` was causing some issues with IE.
Mihai Bazon [Mon, 20 May 2013 05:27:37 +0000 (08:27 +0300)]
Fix output of statement: `new function(){...};`
Close #209
Mihai Bazon [Sun, 19 May 2013 11:25:05 +0000 (14:25 +0300)]
v2.3.5
Mihai Bazon [Sun, 19 May 2013 11:24:33 +0000 (14:24 +0300)]
Fix package.json (use `repository` instead of `repositories`)
Mihai Bazon [Wed, 15 May 2013 10:27:40 +0000 (13:27 +0300)]
v2.3.4
Mihai Bazon [Wed, 15 May 2013 10:27:23 +0000 (13:27 +0300)]
Add `--expr`, an option to parse a single expression (suitable for JSON)
Mihai Bazon [Tue, 14 May 2013 15:36:31 +0000 (18:36 +0300)]
Only compress code in `new Function` if all arguments are strings.
Mihai Bazon [Tue, 14 May 2013 08:33:28 +0000 (11:33 +0300)]
v2.3.3
Mihai Bazon [Tue, 14 May 2013 07:47:06 +0000 (10:47 +0300)]
Compress code passed to `new Function` if it's a constant.
Only for `--unsafe`.
Close #203
Mihai Bazon [Tue, 14 May 2013 07:41:28 +0000 (10:41 +0300)]
Fix a["1_1"]
Close #204
Mihai Bazon [Fri, 10 May 2013 09:56:24 +0000 (02:56 -0700)]
Merge pull request #202 from nschonni/add-travis-ci
Add CI build for supported Node versions
Mihai Bazon [Thu, 9 May 2013 05:58:55 +0000 (08:58 +0300)]
v2.3.2
Mihai Bazon [Thu, 9 May 2013 05:58:47 +0000 (08:58 +0300)]
Use the negation hack rather than parens for a toplevel function expression call
(only in !beautify mode)
Mihai Bazon [Thu, 9 May 2013 05:44:24 +0000 (08:44 +0300)]
Fix is_assignable
(not likely to be noticed, it's only used in `strict` parse mode)
Nick Schonning [Thu, 9 May 2013 03:48:12 +0000 (23:48 -0400)]
Add Travis build badge to README
Nick Schonning [Thu, 9 May 2013 03:42:06 +0000 (23:42 -0400)]
Add CI build for supported Node versions
Trey Griffith [Wed, 8 May 2013 19:29:46 +0000 (15:29 -0400)]
add a test for zero-length string in is_identifier_string, which is used in property compression. Also added a test exercising the change.
Mihai Bazon [Wed, 8 May 2013 19:37:48 +0000 (22:37 +0300)]
Fix property names
Close #199
Mihai Bazon [Wed, 8 May 2013 13:45:36 +0000 (16:45 +0300)]
v2.3.1
Mihai Bazon [Wed, 8 May 2013 13:22:39 +0000 (16:22 +0300)]
Better fix for equality of typeof ... against "undefined"
Justin Lau [Sun, 5 May 2013 12:38:32 +0000 (20:38 +0800)]
Fixed typeof undefined optimization and updated related test case to
accomodates the sort behaviour changes made in commit
mishoo/UglifyJS2@
aebafad41eab48f43ed649ce8c77e8f1528b50da.
Signed-off-by: Justin Lau <justin@tclau.com>
Justin Lau [Sun, 5 May 2013 11:54:27 +0000 (19:54 +0800)]
Added test cases for #104.
Signed-off-by: Justin Lau <justin@tclau.com>
Mihai Bazon [Wed, 8 May 2013 12:51:52 +0000 (05:51 -0700)]
Merge pull request #195 from kjbekkelund/typo
Fix typo in bin and readme
Justin Lau [Sun, 5 May 2013 18:45:41 +0000 (02:45 +0800)]
Fixed dot properties not optimizing unicode identifiers. Signed-off-by: Justin Lau <justin@tclau.com>
Justin Lau [Sun, 5 May 2013 17:26:33 +0000 (01:26 +0800)]
Added test scenario with unicode in properties name.
Signed-off-by: Justin Lau <justin@tclau.com>
Justin Lau [Sun, 5 May 2013 14:27:43 +0000 (22:27 +0800)]
Fixed dot property issue with invlid identifier names.
Signed-off-by: Justin Lau <justin@tclau.com>
Justin Lau [Sun, 5 May 2013 14:08:13 +0000 (22:08 +0800)]
Added scenario in test case where properties shouldn't be accessed with
dotted syntax even with screw_ie8 option.
Signed-off-by: Justin Lau <justin@tclau.com>
Kim Joar Bekkelund [Thu, 2 May 2013 09:15:33 +0000 (11:15 +0200)]
Fix typo in bin and readme
Mihai Bazon [Wed, 1 May 2013 14:04:01 +0000 (07:04 -0700)]
Merge pull request #194 from ulikoehler/master
Add README syntax highlighting
Uli Köhler [Wed, 1 May 2013 13:56:20 +0000 (15:56 +0200)]
Add README syntax highlighting