Ingvar Stepanyan
ae5366a31d
Track ending lines/columns; fix end locations in Mozilla AST.
2015-01-06 11:32:41 +01:00
Mihai Bazon
6b23cbc852
AST_Do nodes: walk body before condition
2015-01-06 12:29:07 +02:00
Mihai Bazon
13219cebcb
Fix handling \r\n
...
Close #437
2015-01-05 12:14:42 +02:00
Mihai Bazon
e1f0747e4c
Support keep_fnames in compressor, and --keep-fnames. #552
...
Passing `--keep-fnames` will enable it both for compressor/mangler, so that
function names will not be dropped (when unused) nor mangled.
2015-01-05 11:03:13 +02:00
Richard van Velzen
e37b67d013
Add an option to prevent function names from being mangled
...
See #552 . This is mostly useful for having the actual function names in traces.
2015-01-04 21:48:43 +01:00
Caridy Patino
ad18689d92
using the original sourcemap as the base
...
* Creates a new SourceMapGenerator based on a SourceMapConsumer:
https://github.com/mozilla/source-map#sourcemapgeneratorfromsourcemapsourcemapconsumer
2015-01-04 21:08:29 +01:00
Richard van Velzen
24bc09b79b
Fix #556
...
`\uFEFF` (ZERO WIDTH NO-BREAK SPACE) is removed when parsing, but was
un-escaped for the output when `ascii_only` was false.
When using
UglifyJS multiple times (creating packages from minified sources, for
example), this would lead to problems because the byte was removed when
parsing for the second time.
2015-01-04 15:01:55 +01:00
Richard van Velzen
37c17d5541
Merge pull request #570 from rvanvelzen/fix-569
...
Fix #569
2015-01-04 14:02:08 +01:00
Richard van Velzen
120948fa48
Merge pull request #584 from clyfish/fix-base54
...
fix base54
2015-01-04 14:00:23 +01:00
Richard van Velzen
66e6f0c3cb
Merge pull request #592 from micschro/patch-1
...
Fix max_line_len not working for JSON files
2015-01-04 13:53:31 +01:00
Richard van Velzen
f4d36a58c2
Fix #569
...
When no arguments are given to `new Function()`, it should be treated as
a regular anonymous function (http://es5.github.io/#x15.3.2.1 )
2015-01-04 13:37:59 +01:00
Richard van Velzen
c75f5a1fd8
Fix #597
...
NaN and Infinity were replaced in the output generation, instead of
during compression. This could lead to results where `1/0` was inserted
without parens leading to invalid output.
The nodes are replaced in the compression step now, and the output
generation returns their regular names. This should not be a problem,
since they're already only constructed from the original name.
2014-12-31 12:23:00 +01:00
micschro
39d8880f2c
Fix max_line_len not working for JSON files
...
As `maybe_newline()` is only called when `might_need_semicolon` is `true`, the `max_line_len` option has no effect for files without (or with very few) semicolons (like JSON files). A simple for this problem is to use `maybe_newline()` instead of `noop` as the `newline()` function in non-beautify mode.
2014-12-17 16:31:03 +01:00
Mihai Bazon
f101d6429b
Merge pull request #546 from jacobk/patch-1
...
Use uglify source map token names if missing
2014-12-04 14:07:08 +02:00
Cheng Liangyu
fe06fc85d3
fix base54
2014-12-01 13:16:44 +08:00
Mihai Bazon
f36a1eaa8b
Add option to allow return outside of functions.
...
Close #288
2014-10-20 18:12:13 +03:00
Mihai Bazon
01d19b4b52
Referencing a global is assumed to have side effects.
...
Close #550
2014-09-28 11:18:25 +03:00
Arnavion
7be680d3f8
Don't warn for an unreferenced exception symbol in a catch block.
2014-09-12 21:01:19 -07:00
Jacob Kristhammar
21b3c890a1
Use uglify source map token names if missing
2014-09-09 13:02:50 +02:00
Tal Ater
fb0ec720a4
Compress conditions that have side effects using sequences
2014-09-04 02:57:49 +03:00
Tal Ater
885835a655
Compress conditional assignments where all possible outcomes are equivalant and condition has no side effects
2014-09-02 23:30:25 +03:00
Mihai Bazon
4c64554808
Turn foo.new into foo["new"] when not --screw-ie8. Fix #534
2014-08-26 10:11:01 +03:00
Mihai Bazon
548beeb6b1
Prevent error for Function(""). Close #538
2014-08-20 09:16:34 +03:00
Ingvar Stepanyan
b467a3c877
Added generative testing for AST conversions.
2014-08-03 20:48:59 +03:00
Ingvar Stepanyan
5e314bf3e9
SpiderMonkey Identifier nodes should contain mangled names.
2014-08-03 01:28:58 +03:00
Ingvar Stepanyan
05ba26c7c8
Small fixes for AST conversion.
2014-08-02 13:18:27 +03:00
Ingvar Stepanyan
87b72364a4
Fixes and improvements for UglifyJS->SM AST conversion.
...
* Explicitly forbidden multiple catch clauses as SM-specific feature.
* Simplified describing of UglifyJS->Mozilla AST conversion rules.
* Moved alias rules to single place.
* Removed usage of dynamic type bindings in generated code (speed-up).
2014-08-01 23:45:37 +03:00
Ingvar Stepanyan
0e3ff1f970
Improved UglifyJS<->SpiderMonkey AST conversions.
...
* Added directives recognition in SM AST.
* Moved semi-standard SM `Property` type to separate handler.
* Added `const` recognition from SM AST.
* Removed redundant `this`-as-identifier recognition.
* Removed redundant rules for abstract SM types.
* Described `CatchClause` using string syntax.
* Added support for semi-standard `range` tuple as location source.
* Added back-conversion support (to be improved).
2014-08-01 23:42:34 +03:00
Mihai Bazon
62bda71c85
Fix parens for AST_Undefined
...
Do the same as for AST_Unary, since we output undefined as `void 0`.
Reported at https://github.com/mishoo/UglifyJS2/issues/338#issuecomment-48858341
2014-07-18 11:31:41 +03:00
Mihai Bazon
ac2caf1088
Check for the case an AST_For's init is an EmptyStatement
...
(lame fix for #503 )
2014-07-01 23:10:44 +03:00
Dan Wolff
8511e80f48
Evaluate "foo".length ==> 3
2014-07-01 11:06:51 +03:00
Artemy Tregubenko
524a8a42a4
added @ngInject support for inline functions
2014-05-11 14:01:08 +02:00
Mihai Bazon
7bf59b5bcd
Actually, even better. #475
...
- also handle x = + ++y, x = - --y;
- don't use parens, a space suffices.
2014-04-27 21:42:14 +03:00
Mihai Bazon
025f3e9596
Better fix for #475
2014-04-27 20:54:54 +03:00
Mihai Bazon
8258edd8a5
Fix parens in +(+x). Close #475
2014-04-27 20:51:01 +03:00
Mihai Bazon
71652690b6
Merge pull request #445 from ConradIrwin/try-statement
...
Handle TryStatements trees from acorn >=0.2.0
2014-04-24 10:46:53 +03:00
Mihai Bazon
8fbe200012
Always quote property names that contain non-ASCII characters.
...
Fix #328
2014-04-18 10:48:44 +03:00
Arnavion
e2e09d5754
Allow colons in the pairs passed to AST_Toplevel.wrap_enclose
2014-03-22 18:02:21 -07:00
Conrad Irwin
514936beb8
Handle TryStatements trees from acorn >=0.2.0
2014-03-06 17:07:49 -08:00
Arnavion
014f655c5f
Handle the case when SourceMapConsumer.originalPositionFor returns null source.
...
This happens when SourceMapConsumer does not have a valid position to map the input line and column. This is a change in mozilla/source-map starting from version 0.1.33
Fixes #436
2014-03-02 19:20:19 -08:00
Mihai Bazon
bf30dc3038
Mangle name of exception when --screw-ie8. Fix #430 .
...
The effect of not mangling it was visible only with --screw-ie8 (otherwise
the names would be mangled exactly because they leaked into the parent
scope).
2014-02-14 13:58:14 +02:00
Mihai Bazon
ef2ef07cbd
Add option keep_fargs.
...
By default it's `false`. Pass `true` if you need to keep unused function
arguments.
Close #188 .
2014-02-08 12:33:56 +02:00
Matt Basta
ac0086a745
Simplify nested conditionals if possible
2014-02-06 12:39:13 -08:00
Mihai Bazon
5344b7dab8
Fix if_return dropping the alternative. Close #413
2014-01-31 10:44:13 +02:00
Mihai Bazon
e29048b54a
Merge branch 'master' of github.com:mishoo/UglifyJS2
2014-01-26 10:07:10 +02:00
Mihai Bazon
ceb200fe81
Move unescaping regexps under a codegen option (unescape_regexps)
2014-01-26 10:05:55 +02:00
Daniel Stutzman
f5f8239057
Don't unescape \x00 in regexes (it breaks IE8)
2014-01-25 11:55:39 -07:00
Mihai Bazon
931862e97f
More chars that cannot be unescaped in regexps.
2014-01-21 11:44:00 +02:00
Mihai Bazon
1d0127de21
Fix end token for conditionals. Close #404
2014-01-21 10:38:59 +02:00
Ville Lautanala
1e31011874
Don't unescape byte order marks in regexps
2014-01-19 12:27:03 +02:00