Paul Gschwendtner
c15af086fd
Fix compressed source-maps have non-terminated segments
...
Currently when UglifyJS compresses a given input file that comes
with a source-map, but the source-map does not have mappings for
all code parts in the input file. e.g. the input file has been generated
and some specific code-parts have been generated and are not
originating from any source-file.
In that case if mappings before the "generated code" are collected, and
the original file location for the "generated code" is determined after previous
mappings for the same line have been recorded, UglifyJS just ignores the fact that
there is no original location and the previous segment is not terminated. This causes
the "generated code" incorrectly to be mapped to the previous segment/
original source location.
2019-04-28 00:49:39 +02:00
Alex Lam S.L
b9615f7a62
improve compress performance ( #3348 )
...
fixes #3174
2019-03-20 02:53:04 +08:00
Alex Lam S.L
627f5fb41e
fix corner case with nameCache ( #3338 )
...
fixes #3301
2019-03-15 01:15:50 +08:00
Alex Lam S.L
d90777b724
parse mangle.properties.regex in --config-file properly ( #3337 )
...
fixes #3315
2019-03-15 00:20:20 +08:00
Alex Lam S.L
694ca5d045
fix corner case in unused ( #3234 )
...
fixes #3233
2018-08-23 06:03:39 +08:00
Alex Lam S.L
76df77c08c
implement directives ( #3203 )
...
fixes #3166
2018-06-28 18:16:49 +08:00
Alex Lam S.L
28330913d8
improve mocha tests ( #3195 )
2018-06-24 04:00:36 +08:00
Alex Lam S.L
9e19e63551
general clean-ups ( #3175 )
2018-06-06 17:50:56 +08:00
Jiavan
b39043f3ab
re-introduce enclose ( #3163 )
...
fixes #2443
2018-06-01 16:47:11 +08:00
Alex Lam S.L
7963b96681
augment tests for inline source maps ( #3145 )
2018-05-24 02:37:51 +08:00
Alex Lam S.L
69fc7ca8da
workaround test failures in Node.js 10 ( #3102 )
2018-04-26 17:44:37 +08:00
Alex Lam S.L
0a79496e0a
workaround stack overflow in ChakraCore ( #3101 )
2018-04-26 15:02:17 +08:00
Alex Lam S.L
923deeff35
support inline source map from multiple files ( #3058 )
...
fixes #145
2018-04-06 16:04:15 +08:00
Alex Lam S.L
0b62a28b47
improve usability of includeSources ( #3057 )
...
Exclude source contents from input source map if `includeSources=false`
fixes #3041
2018-04-06 13:32:26 +08:00
Alex Lam S.L
b5bab254ce
speed up has_parens() (take 2) ( #3052 )
...
fixes #3050
2018-04-05 04:12:04 +08:00
b-fuze
8adfc29f91
Don't load source map until the JS source is fully received ( #3040 )
2018-03-31 20:26:40 +09:00
Alex Lam S.L
02f47e1713
give sensible error against invalid input source map ( #3044 )
2018-03-31 18:48:20 +09:00
Alex Lam S.L
9f9db504d7
improve test for #3023 ( #3031 )
2018-03-29 23:36:40 +09:00
Alex Lam S.L
82ae95c334
improve source map granularity ( #3030 )
...
fixes #3023
2018-03-29 14:47:55 +09:00
Fábio Santos
9a5e2052c4
fix extra regex slash when going through mozilla AST I/O ( #3025 )
...
This relates to #1929 , but in the context of mozilla AST input/output.
2018-03-27 03:22:01 +09:00
Alex Lam S.L
49bfc6b555
improve performance ( #3020 )
...
- replace `find_if()` with `all()` wherever possible
- move ESTree-specific logic out of `figure_out_scope()`
2018-03-23 03:43:52 +08:00
Alex Lam S.L
b29d435bb5
refactor brackets to braces ( #3005 )
2018-03-15 15:46:45 +08:00
Alex Lam S.L
188c39e8d5
retain comments within brackets ( #2999 )
...
fixes #2998
2018-03-13 18:44:21 +08:00
Alex Lam S.L
f40f5eb228
improve mangle ( #2948 )
2018-02-23 23:51:49 +08:00
Alex Lam S.L
39a907bde3
workaround pure_getters=true when dropping unused assignments ( #2939 )
...
fixes #2938
2018-02-20 17:38:40 +08:00
Alex Lam S.L
7fdd2082a6
drop unused "class" definition IIFEs ( #2923 )
...
fixes #805
2018-02-17 05:11:31 +08:00
Alex Lam S.L
d626e9bf19
improve inline efficiency ( #2924 )
2018-02-17 02:37:13 +08:00
Alex Lam S.L
cff3bf4914
configure rename with CLI ( #2802 )
2018-01-17 15:12:22 +08:00
Alex Lam S.L
bf832cde16
improve synergy between compress and rename ( #2755 )
2018-01-09 17:55:41 +08:00
Alex Lam S.L
2e22d38a02
improve rename reproducibility ( #2754 )
...
fixes #2752
2018-01-09 13:53:05 +08:00
Alex Lam S.L
659c8a7632
handle trailing line comments correctly ( #2736 )
...
fixes #2734
2018-01-06 21:05:21 +08:00
Alex Lam S.L
afbcebddf6
fix mangle name collision across files ( #2722 )
2018-01-05 05:08:09 +08:00
Alex Lam S.L
efffb81735
fix comments output & improve /*@__PURE__*/
...
- fix whitespace around comments
- fix comment parsing around parentheses
- consider parentheses when parsing `/*@__PURE__*/`
- remove all `/*@__PURE__*/` on output
fixes #2638
2017-12-24 12:38:45 +08:00
Alex Lam S.L
edb4e3bd52
make comments output more robust ( #2633 )
...
- improve handling of comments right after `return`
- retain comments after `OutputStream`
- preserve trailing comments
- fix handling of new line before comments
- handle comments around parentheses
fixes #88
fixes #112
fixes #218
fixes #372
fixes #2629
2017-12-22 04:59:54 +08:00
Alex Lam S.L
86ae5881b7
disable hoist_funs by default ( #2626 )
2017-12-20 17:05:40 +08:00
Alex Lam S.L
8f681b1d17
handle inline of function arguments ( #2590 )
...
fixes #2476
2017-12-15 13:28:30 +08:00
Alex Lam S.L
f4e2fb9864
expand symbol space to improve compression ( #2460 )
...
- give globally distinct names to distinct variables
- improve ability to compress cross-scoped
- introduce `options.rename` to `minify()`
- default `true` if both `compress` & `mangle`
2017-11-19 19:29:51 +08:00
Alex Lam S.L
246d9d4e83
remove hack in collapse_vars ( #2457 )
...
fixes #2456
2017-11-09 20:00:58 +08:00
Alex Lam S.L
2dcc552ce0
trap invalid use of reserved words ( #2338 )
...
fixes #2337
2017-10-01 02:10:41 +08:00
Alex Lam S.L
182a47bfb1
improve source mapping ( #2312 )
...
fixes #2310
2017-09-15 12:46:48 +08:00
Erik Desjardins
16d40915b4
don't escape null characters as \0 when followed by any digit ( #2273 )
...
fixes #2272
2017-08-14 12:30:08 +08:00
Alex Lam S.L
a845897758
improve mangle.properties ( #2261 )
...
- include dead code when `keep_quoted`
- unify `keep_quoted` & `reserved`
- make `test/run-tests.js` consistent with `minify()`
fixes #2256
2017-07-29 23:02:04 +08:00
Alex Lam S.L
6a5e74b44e
unescape surrogate pairs only ( #2246 )
...
fixes #2242
2017-07-23 12:38:21 +08:00
Alex Lam S.L
b35dfc2599
reject malformed CLI parameters ( #2239 )
...
fixes #2237
2017-07-15 23:50:27 +08:00
Alex Lam S.L
9e1da9235e
ensure ie8 works with mangled properties ( #2238 )
...
fixes #2234
2017-07-15 22:50:59 +08:00
Alex Lam S.L
10a938cb79
enhance source mapping on IIFEs ( #2224 )
...
fixes #2213
2017-07-11 02:34:28 +08:00
Alex Lam S.L
d40950b741
improve inline efficiency ( #2188 )
...
... by teaching `collapse_vars` some new tricks.
fixes #2187
2017-07-02 01:05:14 +08:00
Alex Lam S.L
bdeadffbf5
improve usability of name cache under minify() ( #2176 )
...
fixes #2174
2017-06-29 12:48:34 +08:00
Alex Lam S.L
1e4de2e6d3
parse @global_defs as expressions ( #2169 )
...
- let parser rejects non-conformant input
- eliminate need for extraneous parenthesis
2017-06-27 10:31:19 +08:00
Alex Lam S.L
dc6bcaa18e
synchronise mangle.properties for minify() & test/compress ( #2151 )
2017-06-23 15:53:13 +08:00