Alex Lam S.L
1cdf810f0b
fix corner case in reduce_vars ( #4203 )
...
fixes #4198
2020-10-12 19:02:44 +08:00
Alex Lam S.L
b512726cf3
fix corner case in collapse_vars ( #4199 )
...
fixes #4197
2020-10-12 14:13:17 +08:00
Alex Lam S.L
9b7a13c8c7
fix corner case in ie8 & mangle ( #4196 )
...
fixes #4195
2020-10-12 12:43:26 +08:00
Alex Lam S.L
74ff6ce261
fix corner case in dead_code ( #4194 )
...
fixes #4193
2020-10-12 11:09:26 +08:00
Alex Lam S.L
b1b8898e7c
fix corner case in functions ( #4192 )
...
fixes #4191
2020-10-12 09:26:56 +08:00
Alex Lam S.L
55451e7b78
support const ( #4190 )
2020-10-12 01:18:57 +08:00
Alex Lam S.L
9c0feb69e5
fix corner case in reduce_vars ( #4189 )
...
fixes #4188
2020-10-07 22:01:39 +08:00
Alex Lam S.L
bc6e105174
fix corner case in ie8 ( #4187 )
...
fixes #4186
2020-10-06 09:20:41 +08:00
Alex Lam S.L
b91a2459c0
fix corner case in unused ( #4185 )
...
fixes #4184
2020-10-05 18:59:03 +08:00
Alex Lam S.L
b7a57fc69d
fix corner case in loops ( #4183 )
...
fixes #4182
2020-10-05 17:28:46 +08:00
Alex Lam S.L
2dbe40b01b
enhance conditionals ( #4181 )
2020-10-05 15:55:37 +08:00
Alex Lam S.L
813ac3ba96
enhance loops ( #4180 )
2020-10-05 08:26:59 +08:00
Alex Lam S.L
8f0521d51d
retrofit try-catch-finally as block-scoped ( #4178 )
...
- support optional catch binding
2020-10-05 05:30:14 +08:00
Alex Lam S.L
f9946767c9
retrofit AST_BlockStatement as block-scoped ( #4177 )
2020-10-05 01:58:50 +08:00
Alex Lam S.L
58ac5b9bd5
extend support for numeral literals ( #4176 )
2020-10-05 00:05:03 +08:00
Alex Lam S.L
66140b459e
enhance side_effects ( #4175 )
2020-10-04 23:43:49 +08:00
Alex Lam S.L
95ef4d5377
fix corner case in mangle ( #4174 )
2020-10-04 08:24:41 +08:00
Alex Lam S.L
142bd1bd1a
workaround quirks on latter specs ( #4172 )
...
closes #4171
2020-10-03 18:27:17 +08:00
Alex Lam S.L
8cb509d50e
fix corner case in merge_vars ( #4170 )
...
fixes #4168
2020-10-03 07:03:39 +08:00
Alex Lam S.L
baf4903aa7
fix corner cases of catch variable inlining ( #4169 )
2020-10-03 07:02:28 +08:00
Alex Lam S.L
35465d590e
report immediate ufuzz failure from Pull Request ( #4166 )
2020-10-02 23:43:38 +08:00
Alex Lam S.L
47a5e6e17a
enhance if_return ( #4164 )
2020-10-02 16:10:25 +08:00
Alex Lam S.L
090ee895e1
enhance inline ( #4163 )
2020-09-30 21:03:28 +08:00
Alex Lam S.L
1cd1a1e5ee
improve resilience against GitHub API ( #4161 )
2020-09-30 01:13:29 +08:00
Alex Lam S.L
1d835ac17d
fix corner case in inline ( #4160 )
...
fixes #4159
2020-09-29 07:01:38 +08:00
Alex Lam S.L
9e07ac4102
fix corner case in merge_vars ( #4158 )
...
fixes #4157
2020-09-28 14:09:55 +08:00
Alex Lam S.L
b4ff6d0f2d
fix corner cases in functions & merge_vars ( #4156 )
...
fixes #4155
2020-09-26 15:31:33 +08:00
Alex Lam S.L
9882a9f4af
fix corner case in ufuzz scheduling ( #4154 )
2020-09-26 11:23:56 +08:00
Alex Lam S.L
40f36b9e01
improve ufuzz duty cycle heuristic ( #4153 )
2020-09-26 07:56:00 +08:00
Alex Lam S.L
6e105c5ca6
enhance merge_vars ( #4152 )
2020-09-25 22:00:20 +08:00
Alex Lam S.L
af35cd32f2
fix corner case in merge_vars ( #4151 )
2020-09-25 08:04:51 +08:00
Alex Lam S.L
3472cf1a90
fix corner case in unused ( #4147 )
...
fixes #4146
2020-09-22 20:08:45 +08:00
Alex Lam S.L
6d4c0fa6fa
fix corner case in unused ( #4145 )
...
fixes #4144
2020-09-22 14:03:27 +08:00
Alex Lam S.L
3cca0d6249
fix corner case in evaluate ( #4143 )
...
fixes #4142
2020-09-22 12:11:25 +08:00
alexlamsl
8c670cae93
enhance unused
2020-09-22 07:48:55 +08:00
Alex Lam S.L
0e3da27727
fix corner case in merge_vars ( #4140 )
...
fixes #4139
2020-09-21 23:49:41 +01:00
Alex Lam S.L
13cdc167a2
fix corner case in evaluate ( #4138 )
...
fixes #4137
2020-09-22 06:49:32 +08:00
alexlamsl
51803cdcb2
fix corner case in merge_vars
...
fixes #4139
2020-09-22 05:03:06 +08:00
Alex Lam S.L
8fa470c17c
fix corner case in merge_vars ( #4136 )
...
fixes #4135
2020-09-20 23:54:14 +08:00
Alex Lam S.L
90410f9fc3
fix corner case in unused ( #4134 )
...
fixes #4133
2020-09-20 23:21:59 +08:00
Alex Lam S.L
ef3831437d
improve ufuzz duty cycle heuristic ( #4132 )
2020-09-20 08:29:35 +08:00
Alex Lam S.L
171c544705
fix corner case in merge_vars ( #4131 )
...
fixes #4130
2020-09-20 05:36:16 +08:00
Alex Lam S.L
3c609e2f4a
enhance unused ( #4129 )
2020-09-20 01:45:52 +08:00
Alex Lam S.L
f0ae03ed39
report immediate ufuzz failure from Pull Request ( #4128 )
2020-09-19 20:31:37 +08:00
Alex Lam S.L
31c6b45036
fix corner case in merge_vars ( #4127 )
...
fixes #4126
2020-09-19 19:56:21 +08:00
Alex Lam S.L
3ac533e644
enhance merge_vars ( #4125 )
2020-09-19 11:16:23 +08:00
Alex Lam S.L
38a46c86d7
enhance side_effects ( #4124 )
...
- add documentation for `merge_vars`
2020-09-18 21:35:29 +08:00
Alex Lam S.L
7f501f9fed
add tests ( #4122 )
2020-09-18 00:26:31 +08:00
Alex Lam S.L
72844eb5a4
improve fix for #4119 ( #4121 )
2020-09-17 23:08:36 +08:00
Alex Lam S.L
09d93cc6c8
fix corner case in evaluate ( #4120 )
...
fixes #4119
2020-09-17 21:20:31 +08:00
Alex Lam S.L
fdf2e8c5b0
enhance collapse_vars ( #4117 )
2020-09-17 06:35:22 +08:00
Alex Lam S.L
a9d934ab4e
improve handling of switch statements ( #4114 )
2020-09-17 03:12:08 +08:00
Alex Lam S.L
2a053710bd
fix corner case in merge_vars ( #4116 )
...
fixes #4115
2020-09-17 03:11:57 +08:00
Alex Lam S.L
219aac6a84
fix corner case in merge_vars ( #4113 )
...
fixes #4112
2020-09-16 22:18:28 +08:00
Alex Lam S.L
2039185051
enhance conditionals ( #4106 )
2020-09-16 05:51:42 +08:00
Alex Lam S.L
ad27c14202
fix corner cases in merge_vars ( #4108 )
...
fixes #4107
fixes #4109
fixes #4110
fixes #4111
2020-09-16 04:43:01 +08:00
Alex Lam S.L
a62b086184
enhance merge_vars ( #4105 )
2020-09-15 22:59:10 +08:00
Alex Lam S.L
335456cf77
fix corner case in merge_vars ( #4104 )
...
fixes #4103
2020-09-15 19:47:12 +08:00
Alex Lam S.L
d64d0b0bec
fix corner case in merge_vars ( #4102 )
...
fixes #4101
2020-09-15 19:18:12 +08:00
Alex Lam S.L
3ac575f2e8
introduce merge_vars ( #4100 )
2020-09-15 10:01:48 +08:00
Alex Lam S.L
d33a3a3253
enhance unused ( #4098 )
2020-09-13 01:05:43 +08:00
Alex Lam S.L
d7456a2dc2
enhance if_return ( #4097 )
2020-09-10 22:31:34 +08:00
Alex Lam S.L
d97672613d
fix corner case in reduce_vars ( #4095 )
2020-09-08 22:12:27 +08:00
Alex Lam S.L
fb30aeccaf
relax ufuzz job timing constraint ( #4094 )
2020-09-05 19:29:50 +08:00
Alex Lam S.L
226aa1f76b
enhance unsafe_math ( #4093 )
2020-09-04 10:14:39 +08:00
Alex Lam S.L
6e235602fb
fix corner case in loops & unused ( #4092 )
...
fixes #4091
2020-09-04 01:51:26 +08:00
Alex Lam S.L
980fcbb56b
enhance unused ( #4090 )
2020-09-03 17:41:33 +08:00
Alex Lam S.L
375ebe316d
enhance join_vars ( #4089 )
2020-09-03 01:41:10 +08:00
Alex Lam S.L
2f0da2ff05
reduce AST_ForIn gracefully ( #4087 )
2020-09-02 08:51:43 +08:00
Alex Lam S.L
83a3cbf151
fix test case runtime accounting ( #4086 )
2020-09-02 03:23:08 +08:00
Alex Lam S.L
da8d154571
fix corner case in loops & unused ( #4085 )
...
fixes #4084
2020-09-02 03:20:58 +08:00
Alex Lam S.L
f886b3fb2b
fix corner case in loops & unused ( #4083 )
...
fixes #4082
2020-08-29 02:42:17 +08:00
Alex Lam S.L
b1cc15e85b
fix corner case in sequences ( #4080 )
...
fixes #4079
2020-08-26 20:41:11 +08:00
Alex Lam S.L
3aa765e429
fix corner case in evaluate ( #4078 )
...
fixes #4077
2020-08-26 19:45:38 +08:00
Alex Lam S.L
93d084a1d1
fix corner case in loops & unused ( #4076 )
...
fixes #4075
2020-08-26 17:32:20 +08:00
Alex Lam S.L
c7a3e09407
enhance loops & unused ( #4074 )
...
- extend `ufuzz` generation of for-in loops
2020-08-26 09:32:55 +08:00
Alex Lam S.L
09525c7530
fix corner case in sequences ( #4073 )
2020-08-26 01:26:49 +08:00
Alex Lam S.L
a31c27c7cf
fix corner case in collapse_vars ( #4071 )
...
fixes #4070
2020-08-25 17:23:36 +08:00
Alex Lam S.L
0eb0c9b388
fix corner case in evaluate ( #4068 )
...
fixes #4067
2020-08-24 14:57:26 +08:00
Alex Lam S.L
da85d102e3
enhance mangle.properties ( #4064 )
2020-08-23 08:45:39 +08:00
Alex Lam S.L
f2d486e771
enhance comparisons ( #4062 )
2020-08-23 01:03:48 +08:00
Alex Lam S.L
fee677786e
fix corner case in collapse_vars ( #4061 )
2020-08-21 10:35:34 +08:00
Alex Lam S.L
aa83ecdb3b
fix corner case in switches ( #4060 )
...
fixes #4059
2020-08-21 08:05:10 +08:00
Alex Lam S.L
a153176469
enhance conditionals & switches ( #4058 )
2020-08-21 00:35:39 +08:00
Alex Lam S.L
1c6384b6a5
improve ufuzz duty cycle heuristic ( #4057 )
2020-08-19 23:29:01 +08:00
Alex Lam S.L
e8db526f51
avoid setters during console.log() in sandbox ( #4055 )
...
fixes #4054
2020-08-19 06:14:41 +08:00
Alex Lam S.L
fa13ed4391
reject multiple defaults in switch ( #4053 )
...
fixes #4050
2020-08-17 10:09:12 +08:00
Alex Lam S.L
23f0dca992
fix corner cases in collapse_vars & dead_code ( #4052 )
...
fixes #4051
2020-08-17 05:54:27 +08:00
Alex Lam S.L
49670d216b
fix corner case in collapse_vars ( #4048 )
...
fixes #4047
2020-08-10 05:48:56 +08:00
Alex Lam S.L
e2237d8cd2
improve ufuzz duty cycle heuristic ( #4045 )
2020-08-09 03:10:19 +08:00
Alex Lam S.L
91f078fe35
workaround incorrect workflow status ( #4044 )
2020-08-08 05:16:54 +08:00
Alex Lam S.L
a8e286f7e1
fix corner case in collapse_vars ( #4041 )
...
fixes #4040
2020-08-06 20:30:28 +08:00
Alex Lam S.L
9b05494ebc
fix corner cases in aliasing of global variables ( #4039 )
...
fixes #4038
2020-08-06 09:39:50 +01:00
Alex Lam S.L
a4002ef467
fix corner case in evaluate ( #4036 )
...
fixes #4035
2020-08-04 20:05:10 +08:00
Alex Lam S.L
88423f2574
validate against multiple parents on AST_Node ( #4032 )
...
- fix related issues in `global_defs`, `ie8` & `reduce_vars`
2020-07-31 08:09:19 +08:00
Alex Lam S.L
ee632a5519
fix corner case in reduce_vars ( #4031 )
...
fixes #4030
2020-07-31 08:05:09 +08:00
Alex Lam S.L
dfe47bcc42
fix corner case in ie8 & reduce_vars ( #4029 )
...
fixes #4028
2020-07-29 03:11:02 +08:00
Alex Lam S.L
6d3dcaa59e
fix corner case in unused ( #4026 )
...
fixes #4025
2020-07-26 09:27:54 +08:00
Alex Lam S.L
1bc0df1569
fix corner case in hoist_props ( #4024 )
...
fixes #4023
2020-07-26 09:27:34 +08:00
Alex Lam S.L
a98ba994bd
reduce ufuzz test cases that fail to minify() ( #4021 )
2020-07-21 17:22:18 +08:00
Alex Lam S.L
cd671221c5
fix corner case in ie8 & reduce_vars ( #4020 )
...
fixes #4019
2020-07-21 17:22:18 +08:00
Alex Lam S.L
bce3919748
fix corner case in unused ( #4018 )
...
fixes #4017
2020-07-21 17:21:58 +08:00
Alex Lam S.L
61b66e83f1
fix corner case in ie8 ( #4016 )
...
fixes #4015
2020-07-21 02:32:20 +08:00
Alex Lam S.L
a5db8cd14c
fix corner case in collapse_vars ( #4013 )
...
fixes #4012
2020-07-20 23:28:13 +08:00
Alex Lam S.L
2021c2fa3e
fix corner case in false positive detection ( #4011 )
2020-07-20 21:57:22 +08:00
Alex Lam S.L
484d3fd8c7
fix corner case in side_effects ( #4009 )
...
fixes #4008
2020-07-01 11:33:48 +08:00
Alex Lam S.L
3bf8699f95
fix corner case in inline ( #4007 )
...
fixes #4006
2020-06-29 09:06:23 +08:00
Alex Lam S.L
e61bc34eb1
fix corner case in collapse_vars ( #4002 )
...
fixes #4001
2020-06-20 02:19:37 +08:00
Alex Lam S.L
8b2cfd45fa
fix corner case in rename ( #4000 )
...
fixes #3999
2020-06-15 01:29:01 +08:00
Alex Lam S.L
ae9f56be10
fix corner case in evaluate ( #3998 )
...
fixes #3997
2020-06-15 01:28:44 +08:00
Alex Lam S.L
9aed0e3a73
speed up false positive detection in ufuzz ( #3996 )
2020-06-14 03:42:42 +08:00
Alex Lam S.L
88850a6e05
enhance evaluate ( #3995 )
2020-06-14 02:50:26 +08:00
Alex Lam S.L
9e881407bd
fix corner cases related to AST_Hole ( #3994 )
2020-06-13 15:24:57 +01:00
Alex Lam S.L
a82ca62b66
fix corner case in dead_code ( #3991 )
2020-06-12 08:00:19 +08:00
Alex Lam S.L
e9465717ab
enhance dead_code ( #3990 )
2020-06-12 02:16:13 +08:00
Alex Lam S.L
e89031f1af
fix corner case in unsafe evaluate ( #3989 )
...
fixes #3988
2020-06-11 07:37:39 +08:00
Alex Lam S.L
596fad182e
fix corner case in unused ( #3987 )
...
fixes #3986
2020-06-11 02:01:23 +08:00
Alex Lam S.L
ed69adedcd
fix corner case in --reduce-test ( #3985 )
2020-06-10 15:51:00 +01:00
Alex Lam S.L
1dbf7d4a3a
fix corner case in side_effects ( #3984 )
...
fixes #3983
2020-06-10 19:30:37 +08:00
Alex Lam S.L
2a9d0fc6fb
improve false positive detection in ufuzz ( #3982 )
2020-06-10 07:28:56 +08:00
Alex Lam S.L
ed7c82fa5e
fix corner case in collapse_vars ( #3978 )
...
fixes #3976
2020-06-09 19:07:20 +08:00
Alex Lam S.L
3b273cecac
improve false positive detection in ufuzz ( #3977 )
2020-06-09 19:07:02 +08:00
Alex Lam S.L
d764b6cc3b
fix corner case in reduce_vars ( #3975 )
...
fixes #3974
2020-06-09 10:33:47 +08:00
Alex Lam S.L
08c4729eb4
improve false positive detection in ufuzz ( #3973 )
2020-06-09 01:47:50 +08:00
Alex Lam S.L
5561d3e7f3
fix corner case in collapse_vars ( #3972 )
...
fixes #3971
2020-06-09 00:09:21 +08:00
Alex Lam S.L
491d6ce1d5
improve false positive detection in ufuzz ( #3968 )
2020-06-08 14:21:45 +08:00
Alex Lam S.L
cd55eeb77c
fix corner case in dead_code ( #3969 )
...
fixes #3967
2020-06-08 13:42:09 +08:00
Alex Lam S.L
df3bb8028a
fix corner cases related to in ( #3964 )
2020-06-08 05:23:23 +08:00
Alex Lam S.L
28b7b15da1
parse command line internally ( #3961 )
2020-06-07 13:48:51 +08:00
Alex Lam S.L
aa37b19698
fix corner case in unused ( #3963 )
...
fixes #3962
2020-06-07 13:48:29 +08:00
Alex Lam S.L
486ce00b8e
fix corner case in reduce_vars ( #3959 )
...
fixes #3958
2020-06-06 10:04:37 +08:00
Alex Lam S.L
eb481cee8c
fix corner cases in reduce_vars & unused ( #3955 )
...
fixes #3953
fixes #3956
fixes #3957
2020-06-05 18:51:21 +08:00
Alex Lam S.L
fbc9d8009b
fix corner case in collapse_vars ( #3954 )
2020-06-05 14:28:08 +08:00
Alex Lam S.L
04fd3d90f8
fix corner cases in assignments, reduce_vars & unused ( #3950 )
...
fixes #3949
fixes #3951
2020-06-05 04:06:43 +08:00
Alex Lam S.L
a489f8cb5e
add test case for #3945 ( #3948 )
2020-06-03 03:34:38 +08:00
Alex Lam S.L
e2e4b7fb37
fix corner case in hoist_props ( #3947 )
...
fixes #3945
2020-06-02 23:51:06 +08:00
Alex Lam S.L
c97ad98f92
fix corner case in evaluate ( #3946 )
...
fixes #3944
2020-06-02 23:50:40 +08:00
Alex Lam S.L
b24eb22c6b
enhance reduce_vars ( #3942 )
2020-06-01 20:55:23 +08:00
Alex Lam S.L
06ba4e2ce8
fix corner case in arguments ( #3939 )
2020-05-31 12:18:27 +08:00
Alex Lam S.L
0eb4577a82
fix corner case in evaluate ( #3938 )
...
fixes #3937
2020-05-30 18:22:40 +08:00
Alex Lam S.L
43498769f0
fix corner case in evaluate ( #3936 )
...
fixes #3935
2020-05-29 22:10:36 +08:00
Alex Lam S.L
60c0bc1e6b
fix corner case in evaluate ( #3934 )
...
fixes #3933
2020-05-29 17:48:26 +08:00
Alex Lam S.L
6a5c63e1e3
enhance evaluate, functions & inline ( #3931 )
2020-05-29 07:05:47 +08:00
Alex Lam S.L
d47ea77811
fix corner case in functions ( #3930 )
...
fixes #3929
2020-05-28 20:07:36 +08:00
Alex Lam S.L
7840746bd9
fix corner case in collapse_vars ( #3928 )
...
fixes #3927
2020-05-27 21:02:48 +08:00
Alex Lam S.L
13c72a986c
fix corner case in infinite recursion detection ( #3926 )
2020-05-27 02:03:38 +08:00
Alex Lam S.L
27bdcbbd83
fix corner cases in infinite recursion detection ( #3924 )
2020-05-25 22:54:57 +08:00
Alex Lam S.L
2c4d7d66ef
fix corner case in reduce_vars ( #3923 )
...
fixes #3922
2020-05-24 07:38:40 +08:00
Alex Lam S.L
d1cc5270a3
fix corner case in evaluate ( #3921 )
...
fixes #3920
2020-05-22 11:38:09 +08:00
Alex Lam S.L
75c5b6029b
fix corner case in ie8 & reduce_vars ( #3919 )
...
fixes #3918
2020-05-22 09:56:35 +08:00
Alex Lam S.L
fa14a9cfcd
fix corner case in join_vars ( #3917 )
...
fixes #3916
2020-05-22 05:26:46 +08:00
Alex Lam S.L
aeb9ea5ac2
fix corner case in inline ( #3915 )
...
fixes #3911
2020-05-21 22:05:31 +08:00
Alex Lam S.L
cc6eb4b15f
improve ufuzz ( #3912 )
...
- preserve test case if `beautify` suppresses bug
- determine suspicious options even if `minify()` fails
2020-05-21 04:00:38 +08:00
Alex Lam S.L
14eee81dc6
update header comment for --reduce-test ( #3910 )
2020-05-19 11:35:33 +08:00
Alex Lam S.L
55ebb27878
fix corner case in collapse_vars ( #3909 )
...
fixes #3908
2020-05-19 11:34:50 +08:00
Alex Lam S.L
87046410ef
enhance dead_code ( #3907 )
2020-05-19 03:53:08 +08:00
Alex Lam S.L
f9b3198714
fix corner case in evaluate ( #3906 )
...
fixes #3905
2020-05-18 08:41:10 +08:00
Alex Lam S.L
48b62393a4
fix corner case in evaluate ( #3904 )
...
fixes #3903
2020-05-17 22:25:13 +08:00
Alex Lam S.L
a00f8dade7
fix suspicious toplevel detection ( #3902 )
2020-05-17 21:35:17 +08:00
Alex Lam S.L
9daa2fb6f5
benchmark without validation by default ( #3901 )
2020-05-15 23:57:50 +08:00
Alex Lam S.L
8d81d264f4
fix corner case in functions ( #3900 )
...
fixes #3899
2020-05-15 18:03:56 +08:00
Alex Lam S.L
5ef7060098
fix corner case in collapse_vars ( #3898 )
...
fixes #3897
2020-05-15 01:09:54 +08:00
Alex Lam S.L
938368ba21
enhance collapse_vars ( #3896 )
2020-05-14 07:52:42 +08:00
Alex Lam S.L
fe2f1965d6
fix corner case in reduce_vars ( #3895 )
...
fixes #3894
2020-05-13 23:44:54 +08:00
Alex Lam S.L
dc9e7cd1fe
suppress ufuzz false positives ( #3893 )
2020-05-13 07:07:49 +08:00
Alex Lam S.L
76f40e2528
fix corner case in collapse_vars ( #3892 )
...
fixes #3891
2020-05-12 22:28:55 +08:00
Alex Lam S.L
8024f7f7a8
fix corner case in ie8 ( #3890 )
...
fixes #3889
2020-05-12 19:28:29 +08:00
Alex Lam S.L
eb7fa25270
fix corner case in evaluate ( #3888 )
...
fixes #3887
2020-05-12 17:58:37 +08:00
Alex Lam S.L
ee7647dc67
fix corner case in collapse_vars ( #3885 )
...
fixes #3884
2020-05-12 04:01:14 +08:00
Alex Lam S.L
bd2f53bc8b
fix corner case in evaluate ( #3883 )
...
fixes #3882
2020-05-12 03:24:44 +08:00
Alex Lam S.L
e8a7956b6f
fix corner case in reduce_vars ( #3881 )
...
fixes #3880
2020-05-12 02:29:33 +08:00
Alex Lam S.L
2b24dc25fb
fix corner cases in evaluate & reduce_vars ( #3879 )
...
fixes #3878
2020-05-11 22:46:00 +08:00
Alex Lam S.L
35cc5aa06f
extend --reduce-test to cover minify() bugs ( #3876 )
2020-05-11 07:32:21 +08:00
Alex Lam S.L
c1dd49e075
fix corner case in comparisons ( #3877 )
2020-05-11 06:33:52 +08:00
Alex Lam S.L
c76ee4b868
enhance if_return ( #3875 )
2020-05-11 04:29:55 +08:00
Alex Lam S.L
e23bf48052
enhance evaluate & reduce_vars ( #3873 )
2020-05-11 03:08:05 +08:00
Alex Lam S.L
7e0ad232b0
retain @__PURE__ call when return value is used ( #3874 )
2020-05-11 01:07:05 +08:00
Alex Lam S.L
63adfb1590
fix corner case in hoist_props ( #3872 )
...
fixes #3871
2020-05-10 22:23:09 +08:00
Alex Lam S.L
f9806b43c3
enhance evaluate & reduce_vars ( #3870 )
2020-05-10 18:38:32 +08:00
Alex Lam S.L
c4c9c6d37d
fix corner case in hoist_props ( #3869 )
...
fixes #3868
2020-05-10 10:35:24 +01:00
Alex Lam S.L
33f3b0c1d9
fix corner case in reduce_vars ( #3867 )
...
fixes #3866
2020-05-10 16:35:03 +08:00
Alex Lam S.L
abb8ae02a5
improve inline of /*@__PURE__*/ calls ( #3865 )
2020-05-10 07:16:09 +08:00
Alex Lam S.L
97728c4f0b
improve AST validation ( #3864 )
2020-05-10 05:25:44 +08:00
Alex Lam S.L
f74b7f7401
implement AST validation ( #3863 )
2020-05-09 09:58:03 +08:00
Alex Lam S.L
1bb0804d60
improve ufuzz detection of suspicious options ( #3860 )
2020-05-08 15:03:48 +08:00
Alex Lam S.L
998245ffd6
fix corner case in inline ( #3859 )
...
fixes #3858
2020-05-08 15:03:29 +08:00
Alex Lam S.L
7a033bb825
fix corner case in join_vars ( #3857 )
...
fixes #3856
2020-05-08 11:49:17 +08:00
Alex Lam S.L
a441b00951
suppress ufuzz false positives ( #3855 )
2020-05-08 03:21:44 +08:00
Alex Lam S.L
88985a46ed
fix corner case in inline ( #3853 )
...
fixes #3852
2020-05-07 20:53:05 +08:00
Alex Lam S.L
34ead0430b
enhance dead_code ( #3849 )
2020-05-06 05:02:35 +08:00
Alex Lam S.L
6bf1486935
update links to repository after rename ( #3847 )
2020-05-05 21:07:33 +08:00
Alex Lam S.L
ffa1943177
fix corner case in reduce_vars ( #3845 )
...
fixes #3844
2020-05-04 03:30:10 +08:00
Alex Lam S.L
ac429dc8e1
enhance reduce_vars ( #3843 )
2020-05-03 22:52:43 +08:00
Alex Lam S.L
3766d5c962
enhance unused ( #3839 )
2020-05-03 17:38:28 +08:00
Alex Lam S.L
dcb74f558e
fix diagnostic text ( #3838 )
2020-05-01 18:55:06 +08:00
Alex Lam S.L
0794aaa2c2
fix corner case in inline ( #3837 )
...
fixes #3836
2020-05-01 17:20:23 +08:00
Alex Lam S.L
74801de315
fix corner cases in inline ( #3834 )
...
fixes #3833
fixes #3835
2020-05-01 09:06:40 +08:00
Alex Lam S.L
f80d5b8c9e
enhance inline ( #3832 )
2020-05-01 04:33:46 +08:00
Alex Lam S.L
d900006973
fix corner case in dead_code ( #3831 )
...
fixes #3830
2020-04-30 21:52:57 +08:00
Alex Lam S.L
818738beec
fix corner case in ie8 ( #3826 )
...
fixes #3825
2020-04-27 16:51:21 +08:00
Alex Lam S.L
bc2a4a3bb8
fix corner case in ie8 ( #3824 )
...
fixes #3823
2020-04-27 06:44:53 +08:00
Alex Lam S.L
a4a8ccea8c
fix corner case in inline ( #3822 )
...
fixes #3821
2020-04-27 03:31:19 +08:00
Alex Lam S.L
36dcfa3e82
improve suspicious option detection ( #3820 )
2020-04-27 00:59:26 +08:00
Alex Lam S.L
94f33570e3
fix corner case in --reduce-test ( #3819 )
2020-04-25 06:49:50 +08:00
Alex Lam S.L
44d6912a55
improve --reduce-test on Error.message ( #3816 )
...
closes #3815
2020-04-25 01:30:37 +08:00
Alex Lam S.L
3a4497a1c3
fix corner case in typeofs ( #3818 )
...
fixes #3817
2020-04-25 01:29:42 +08:00
Alex Lam S.L
3ee13cae02
improve compress ( #3814 )
...
- avoid identifier overflow through consecutive API calls
- simplify `reduce_vars`
- enhance `unsafe` `evaluate`
2020-04-24 06:50:53 +08:00
Alex Lam S.L
99cf3a38c5
improve unused efficiency ( #3813 )
2020-04-23 08:31:35 +08:00
Alex Lam S.L
3ae24329eb
gate various label-related transformations ( #3812 )
2020-04-23 05:27:26 +08:00
Alex Lam S.L
01b13d797c
enhance dead_code ( #3811 )
2020-04-22 18:22:45 +08:00
Alex Lam S.L
9577c8c1b7
fix corner case in conditionals ( #3809 )
...
fixes #3808
2020-04-22 06:30:08 +08:00
Alex Lam S.L
a2fc32c64b
enhance conditionals ( #3805 )
2020-04-20 09:42:13 +08:00
Alex Lam S.L
88504ab869
enhance join_vars ( #3804 )
2020-04-20 06:37:46 +08:00
Alex Lam S.L
e38754e802
fix corner case in functions & unused ( #3803 )
...
fixes #3802
2020-04-19 06:28:01 +08:00
Alex Lam S.L
eb6f32bfc3
enhance collapse_vars ( #3801 )
2020-04-19 05:04:21 +08:00
Alex Lam S.L
f110601fb4
enhance unused ( #3800 )
2020-04-19 00:10:24 +08:00
Alex Lam S.L
2a508c6e5f
enhance collapse_vars ( #3799 )
2020-04-18 23:12:20 +08:00
Alex Lam S.L
fd6144d95b
enhance conditionals ( #3798 )
2020-04-18 22:32:22 +08:00
Alex Lam S.L
60d4e7b09f
enhance unused ( #3794 )
2020-04-18 18:52:44 +08:00
Alex Lam S.L
b38838c6bf
fix corner case in join_vars ( #3796 )
...
fixes #3795
2020-04-18 18:08:05 +08:00
Alex Lam S.L
708973e51d
report top-level default options ( #3797 )
2020-04-18 18:03:06 +08:00
Alex Lam S.L
dac9e69f9e
enhance collapse_vars ( #3793 )
2020-04-18 10:06:20 +08:00
Alex Lam S.L
39aa33749b
expand ufuzz patterns ( #3792 )
2020-04-18 07:12:13 +08:00
Alex Lam S.L
da68ec6e19
fix corner cases in join_vars ( #3790 )
...
fixes #3789
fixes #3791
2020-04-18 02:53:26 +08:00
Alex Lam S.L
15a3ebd467
fix corner cases in join_vars ( #3787 )
...
fixes #3786
fixes #3788
2020-04-17 21:19:18 +08:00
Alex Lam S.L
9110fac9a2
suppress mutation of input options ( #3785 )
2020-04-17 15:13:49 +08:00
Alex Lam S.L
83f42ede36
support optional output of names in source maps ( #3784 )
2020-04-17 07:20:48 +08:00
Alex Lam S.L
0ce71bbec0
enhance join_vars ( #3783 )
2020-04-17 05:31:33 +08:00
Alex Lam S.L
46d142cbf6
improve source-map generation ( #3782 )
...
- emit singleton segments to mark generated code from input
2020-04-16 23:30:25 +08:00
Alex Lam S.L
6e9afdc94f
prevent input source map mutation ( #3781 )
...
fixes #3780
2020-04-15 17:25:58 +08:00
Alex Lam S.L
c4d28e3b2a
expand testing on Node.js versions ( #3779 )
2020-04-14 10:13:42 +08:00
Alex Lam S.L
903a5df9a5
fix corner case in inline ( #3778 )
...
fixes #3777
2020-04-11 19:54:26 +08:00
Alex Lam S.L
c810ecd081
improve handling of eval ( #3776 )
...
closes #3768
2020-04-11 06:36:17 +08:00
Alex Lam S.L
dce9dfce0e
fix corner case in reduce_vars ( #3775 )
...
fixes #3774
2020-04-11 02:19:38 +08:00
Alex Lam S.L
3d72663689
add tests for eval() ( #3769 )
...
closes #3768
2020-04-11 00:36:53 +08:00
Alex Lam S.L
a2b16e89a4
fix corner cases in inline ( #3773 )
...
fixes #3770
fixes #3771
fixes #3772
2020-04-11 00:34:45 +08:00
Alex Lam S.L
b35f4c5a83
enhance inline ( #3767 )
2020-04-10 10:48:24 +08:00
Alex Lam S.L
273c6020ba
expand ufuzz patterns ( #3761 )
2020-04-05 22:12:46 +08:00
Alex Lam S.L
1b07f64057
enhance inline ( #3760 )
2020-04-05 10:42:23 +08:00
Alex Lam S.L
dc0cd088cf
fix corner case in evaluate & unsafe_math ( #3756 )
...
fixes #3755
2020-03-30 19:13:14 +08:00
Alex Lam S.L
827bcec186
handle source-map operations internally ( #3754 )
2020-03-28 22:18:56 +08:00
Alex Lam S.L
b39228892d
fix line accounting in multi-line strings ( #3752 )
...
fixes #3748
2020-03-21 07:17:41 +08:00
Alex Lam S.L
ff72eaa3c3
improve --reduce-test ( #3742 )
...
- ignore difference in error messages
- improve readability on trailing whitespace differences
- improve performance & quality via `console.log()` insertions
2020-03-21 05:50:41 +08:00
Alex Lam S.L
0a1c9b34ce
fix corner case in evaluate & ie8 ( #3751 )
...
fixes #3750
2020-03-21 00:55:24 +08:00
Alex Lam S.L
03e968be62
improve suspicious option detection ( #3749 )
2020-03-13 04:03:47 +08:00
Alex Lam S.L
421bb7083a
fix corner case in unused ( #3747 )
...
fixes #3746
2020-03-06 18:27:42 +00:00
Alex Lam S.L
bdc8ef2218
fix corner case in collapse_vars ( #3745 )
...
fixes #3744
2020-03-06 18:27:06 +00:00
Alex Lam S.L
d6d31cbb5a
improve AST fuzzing ( #3740 )
2020-03-02 19:38:30 +08:00
Alex Lam S.L
a051846d22
fix corner case in evaluate ( #3739 )
...
fixes #3738
2020-03-01 20:34:31 +00:00
Alex Lam S.L
3485472866
avoid reducing setter argument ( #3737 )
2020-03-01 05:04:21 +00:00
Alex Lam S.L
c8d60d6983
detect toplevel option properly ( #3735 )
...
fixes #3730
2020-02-29 17:33:48 +00:00
Alex Lam S.L
6092bf23de
fix corner case in evaluate ( #3729 )
2020-02-19 00:41:10 +00:00
Alex Lam S.L
7052ce5aef
fix corner case in evaluate ( #3728 )
...
- augment `ufuzz` for further `RegExp` testing
2020-02-18 19:35:37 +00:00
Alex Lam S.L
457f958af3
improve --reduce-test ( #3727 )
...
- print out Node.js and OS information
2020-02-17 20:56:22 +00:00
Alex Lam S.L
53517db3e4
speed up --reduce-test ( #3726 )
...
- avoid pathological test case branches via adaptive time-out
- use initial test case elapsed time to adjust maximum time-out
- index output cache using hash instead of raw source
2020-02-17 15:35:07 +00:00
Alex Lam S.L
c13caf4876
speed up --reduce-test via result caching ( #3725 )
2020-02-15 22:43:34 +00:00
kzc
fbfa6178a6
improve --reduce-test ( #3722 )
...
- hoist body of functions and IIFEs
- simplify var declarations
2020-02-15 20:22:33 +00:00
Alex Lam S.L
f0a29902ac
enhance properties ( #3721 )
2020-02-15 13:04:44 +00:00
Alex Lam S.L
0d820e4c0a
workaround RegExp formatting bugs ( #3720 )
2020-02-15 05:26:48 +00:00
Alex Lam S.L
f01f580d6c
improve --reduce-test ( #3719 )
...
- cover missing cases when eliminating unreferenced labels
- format multi-line outputs correctly
2020-02-14 02:47:20 +00:00
Alex Lam S.L
83a42716c3
fix corner case in unused ( #3716 )
2020-02-12 23:46:16 +00:00
Alex Lam S.L
2557148bba
increase mocha --reduce-test timeout ( #3715 )
2020-02-12 02:25:04 +00:00
Alex Lam S.L
dd22eda888
enhance evaluate ( #3714 )
2020-02-12 01:01:17 +00:00
Alex Lam S.L
f4c77886e7
add test for --reduce-test ( #3712 )
2020-02-09 23:21:46 +00:00
Alex Lam S.L
df547ffd97
improve test reduction ( #3711 )
...
- scan `AST_SymbolFunarg`
- scan `console.log(...)`
2020-02-09 20:42:36 +00:00
Alex Lam S.L
70551febc8
improve test/reduce ( #3710 )
...
- suppress several instances of malformed AST generation
- improve resilience & reporting against malformed ASTs
2020-02-09 08:07:55 +00:00
Alex Lam S.L
44499a6643
fix corner cases in test/reduce ( #3709 )
2020-02-07 02:41:07 +00:00
Alex Lam S.L
470a7d4df1
improve reduction of AST_BlockStatement ( #3708 )
2020-02-06 21:20:05 +00:00
Alex Lam S.L
551420132c
export missing API for AST manipulation ( #3707 )
2020-02-06 18:46:25 +00:00
kzc
b0040ba654
implement CLI --reduce-test and reduce tests in ufuzz ( #3705 )
2020-02-06 02:50:59 +00:00
Alex Lam S.L
c93ca6ee53
fix corner case in ie8 & reduce_vars ( #3706 )
...
fixes #3703
2020-02-05 20:03:22 +00:00
Alex Lam S.L
df506439b1
fix corner case in sequences ( #3704 )
...
fixes #3703
2020-02-04 04:57:32 +00:00
Alex Lam S.L
79c60032a5
fix corner case in collapse_vars ( #3701 )
...
fixes #3700
2020-01-30 09:04:44 +08:00
Alex Lam S.L
a3754068dd
fix corner case in collapse_vars ( #3699 )
...
fixes #3698
2020-01-30 00:08:53 +08:00
Alex Lam S.L
2ba5f391e0
enhance collapse_vars ( #3697 )
2020-01-29 08:52:20 +08:00
Alex Lam S.L
87119e44a0
fix corner case in sign propagation ( #3696 )
...
- migrate de-facto functionality to `evaluate`
fixes #3695
2020-01-28 22:44:18 +08:00
Alex Lam S.L
b499e03f82
enhance conditionals ( #3694 )
2020-01-28 12:33:21 +08:00
Alex Lam S.L
a478f275e4
enhance sequences ( #3693 )
2020-01-28 09:58:01 +08:00
Alex Lam S.L
e9e76dcf04
fix corner case in string concatenations ( #3692 )
...
- migrate de-facto compression to `conditionals` & `strings`
fixes #3689
2020-01-28 07:33:11 +08:00
Alex Lam S.L
0dcedad2d5
fix corner case in booleans ( #3691 )
...
fixes #3690
2020-01-28 02:04:44 +08:00
Alex Lam S.L
41a6eb892a
fix corner case in evaluate ( #3685 )
...
fixes #3684
2020-01-16 01:51:37 +08:00
Alex Lam S.L
91d87ae663
fix corner case in unsafe_math ( #3683 )
...
fixes #3682
2020-01-15 04:05:58 +08:00
Alex Lam S.L
46caaa82ba
enhance collapse_vars ( #3680 )
...
closes #3679
2020-01-10 04:28:43 +08:00
Alex Lam S.L
5d258259a4
introduce --output-opts CLI option ( #3678 )
...
closes #3675
2020-01-08 20:44:03 +08:00
Alex Lam S.L
14c35739dd
fix corner case in unsafe_math ( #3677 )
...
fixes #3676
2020-01-08 10:28:10 +08:00
Alex Lam S.L
f5ceff6e4b
fix corner case in unused ( #3674 )
...
fixes #3673
2020-01-07 20:06:25 +08:00
Alex Lam S.L
4d6771b9b1
fix corner case in collapse_vars ( #3672 )
...
fixes #3671
2020-01-07 19:34:16 +08:00
Alex Lam S.L
0ff607cb80
improve ufuzz false positive detection ( #3670 )
2020-01-06 11:26:15 +08:00
Alex Lam S.L
1988495d71
fix corner case in conditionals ( #3669 )
...
fixes #3668
2020-01-04 09:24:28 +08:00
Alex Lam S.L
fdc10086da
fix corner case in reduce_vars ( #3667 )
...
fixes #3666
2020-01-03 19:28:47 +08:00
Alex Lam S.L
746f5f6c62
fix corner case in unused ( #3665 )
...
fixes #3664
2020-01-01 20:24:30 +08:00
Alex Lam S.L
d83d3d741a
enhance unused ( #3662 )
2019-12-31 23:39:24 +08:00
Alex Lam S.L
99ac73a635
enhance booleans ( #3661 )
2019-12-31 13:10:05 +08:00
Alex Lam S.L
94785e8e14
fix corner case in booleans ( #3659 )
...
fixes #3658
2019-12-31 09:57:35 +08:00
Alex Lam S.L
4dbdac9c31
enhance booleans ( #3657 )
2019-12-30 22:41:11 +08:00
Alex Lam S.L
78c8efd851
fix corner case in evaluate ( #3656 )
...
fixes #3655
2019-12-29 21:16:53 +08:00
Alex Lam S.L
af310ba2d0
fix corner case in evaluate ( #3654 )
...
fixes #3653
2019-12-29 02:50:57 +00:00
Alex Lam S.L
2f3930d1b9
fix corner case in collapse_vars ( #3652 )
...
fixes #3651
2019-12-29 00:57:59 +00:00
Alex Lam S.L
d1a78920d9
workaround firefox asm.js quirks ( #3650 )
...
fixes #3636
2019-12-28 23:14:53 +00:00
Alex Lam S.L
d9cd3d33c8
enhance evaluate ( #3649 )
2019-12-28 20:26:15 +00:00
Alex Lam S.L
22b47cdd63
improve unicode handling ( #3648 )
2019-12-28 18:06:51 +00:00
Alex Lam S.L
4cf612dc9f
increase mocha default timeout ( #3647 )
...
closes #3640
2019-12-28 02:32:22 +00:00
Alex Lam S.L
a19d31dd33
fix corner case in unsafe ( #3646 )
2019-12-27 14:24:54 +00:00
Alex Lam S.L
ab050e7a94
fix corner case in directives ( #3645 )
2019-12-25 00:55:39 +00:00
Alex Lam S.L
75aa6ef848
enhance conditionals ( #3643 )
2019-12-22 04:29:32 +00:00
Alex Lam S.L
519a00bd8a
fix corner case in collapse_vars ( #3642 )
...
fixes #3641
2019-12-22 01:08:56 +00:00
Alex Lam S.L
3ff0feddee
suppress false positives from fuzzer ( #3638 )
2019-12-16 17:32:47 +02:00
Alex Lam S.L
74396acc86
fix corner case in loops ( #3635 )
...
fixes #3634
2019-12-11 06:39:46 +08:00
Alex Lam S.L
036bca980c
enhance loops ( #3633 )
2019-12-10 12:57:47 +00:00
Alex Lam S.L
18c2b1841b
fix corner case in reduce_vars ( #3632 )
...
fixes #3631
2019-12-10 09:45:51 +00:00
Alex Lam S.L
9074f05129
fix corner case in collapse_vars ( #3629 )
...
fixes #3628
2019-12-05 05:08:37 +08:00
Alex Lam S.L
04fbb1f949
avoid collision with HTML comments ( #3625 )
...
fixes #3624
2019-12-05 02:43:25 +08:00
Alex Lam S.L
bf7e4ca1a3
fix corner case in collapse_vars ( #3627 )
...
fixes #3626
2019-12-05 00:59:57 +08:00
Alex Lam S.L
d68ddc31f9
fix corner case in reduce_vars ( #3623 )
...
fixes #3622
2019-12-04 20:24:55 +08:00
Alex Lam S.L
500e31e03b
enhance collapse_vars ( #3621 )
2019-12-02 15:25:38 +08:00
Alex Lam S.L
bef856addb
fix corner case in keep_fargs ( #3620 )
...
fixes #3619
2019-12-02 12:28:17 +08:00
Alex Lam S.L
9a6faf365b
fix corner cases in keep_fargs & unused ( #3618 )
2019-12-02 06:43:54 +08:00
Alex Lam S.L
e915832a36
enhance unused ( #3617 )
2019-12-01 18:10:37 +08:00
Alex Lam S.L
0593892d6e
enhance collapse_vars ( #3616 )
2019-12-01 02:31:04 +08:00
Alex Lam S.L
1283d73853
fix corner case in parsing directives ( #3615 )
2019-11-29 18:57:29 +08:00
Alex Lam S.L
1b61a81b5d
enhance collapse_vars ( #3613 )
2019-11-29 17:45:49 +08:00
Alex Lam S.L
5a88c30d65
enhance assignments ( #3612 )
2019-11-28 07:40:34 +08:00
Alex Lam S.L
168ae747ad
enhance collapse_vars ( #3611 )
2019-11-28 03:57:10 +08:00
Alex Lam S.L
d4b7010678
fix corner case in unsafe_regexp ( #3609 )
2019-11-27 17:35:21 +08:00
Alex Lam S.L
e27493f3c2
fix corner case in inline ( #3608 )
2019-11-27 14:54:36 +08:00
Alex Lam S.L
6768e6578f
inline functions with directives more effectively ( #3604 )
2019-11-26 01:51:04 +08:00
Alex Lam S.L
48a0f6fe41
enhance unsafe_math ( #3603 )
2019-11-25 21:14:13 +08:00
Alex Lam S.L
81caadb709
enhance collapse_vars ( #3602 )
2019-11-20 12:54:49 +08:00
Alex Lam S.L
d959e0b86f
fix corner case in if_return ( #3601 )
...
fixes #3600
2019-11-19 15:45:20 +08:00
Alex Lam S.L
67278e76c8
fix corner case in unused ( #3599 )
...
fixes #3598
2019-11-19 04:26:41 +08:00
Alex Lam S.L
c289ba1139
fix corner case in collapse_vars ( #3597 )
...
fixes #3596
2019-11-19 02:30:52 +08:00
Alex Lam S.L
4e06e1ca34
fix corner case in inline ( #3595 )
2019-11-18 15:04:55 +08:00
Alex Lam S.L
644f65feca
fix corner case in unsafe_math ( #3594 )
...
fixes #3593
2019-11-18 13:44:13 +08:00
Alex Lam S.L
8504a4ea0e
fix corner case in reduce_funcs ( #3592 )
2019-11-17 11:19:42 +08:00
Alex Lam S.L
10c1a78772
fix corner case in collapse_vars ( #3591 )
2019-11-17 05:24:02 +08:00
Alex Lam S.L
a6a0319f1c
compress empty for-in loops ( #3590 )
2019-11-17 02:36:42 +08:00
Alex Lam S.L
d1b2ecec27
refine precision limits on unsafe_math ( #3589 )
2019-11-17 01:16:42 +08:00
Alex Lam S.L
552be61c4d
introduce eager evaluation ( #3587 )
2019-11-16 06:10:47 +08:00
Alex Lam S.L
4027f87717
migrate to GitHub Actions ( #3586 )
2019-11-14 10:48:32 +08:00
Alex Lam S.L
910799ca99
fix corner case in switches ( #3585 )
2019-11-14 02:29:55 +08:00
Alex Lam S.L
4bd36dc8da
enhance unused ( #3584 )
2019-11-13 21:44:44 +08:00
Alex Lam S.L
ab15c40770
enhance switches ( #3583 )
2019-11-13 20:03:48 +08:00
Alex Lam S.L
fe65ce9658
fix corner case in collapse_vars ( #3582 )
...
fixes #3581
2019-11-13 16:45:16 +08:00
Alex Lam S.L
d6fd18d0b0
enhance evaluate & inline ( #3580 )
2019-11-13 04:17:09 +08:00
Alex Lam S.L
5b20bad4b3
fix corner case in dead_code ( #3579 )
...
fixes #3578
2019-11-12 05:16:14 +08:00
Alex Lam S.L
5045e140b1
fix corner case in conditionals ( #3577 )
...
fixes #3576
2019-11-09 00:53:15 +08:00
Alex Lam S.L
10648c9af6
enhance dead_code ( #3575 )
2019-11-08 13:45:28 +08:00
Alex Lam S.L
87e67ec299
fix corner case in collapse_vars ( #3574 )
...
fixes #3573
2019-11-07 20:38:03 +08:00
Alex Lam S.L
3e2c51a4da
enhance collapse_vars ( #3572 )
2019-11-05 18:15:28 +08:00
Alex Lam S.L
0e29ad5eb9
fix corner case in evaluate ( #3569 )
2019-11-04 13:13:48 +08:00
Alex Lam S.L
1c0defdc03
enhance unsafe evaluate ( #3564 )
2019-11-02 03:34:32 +08:00
Alex Lam S.L
dcbf2236c7
more tests for #3562 ( #3565 )
2019-11-02 03:34:20 +08:00
Alex Lam S.L
24bb288832
fix corner case in collapse_vars ( #3563 )
...
fixes #3562
2019-11-01 22:38:19 +08:00
Alex Lam S.L
815eff1f7c
enhance if_return ( #3560 )
2019-11-01 02:08:31 +08:00
Alex Lam S.L
1e9b576ee9
fix corner case in evaluate ( #3559 )
...
fixes #3558
2019-11-01 00:01:25 +08:00
Alex Lam S.L
3797458365
enhance conditionals ( #3557 )
2019-10-31 09:33:46 +08:00
Alex Lam S.L
1858c2018c
enhance typeofs ( #3556 )
2019-10-31 08:00:04 +08:00
Alex Lam S.L
ec7f071272
fix corner case in dead_code ( #3553 )
...
fixes #3552
2019-10-30 14:21:22 +08:00
Alex Lam S.L
f1eb03f2c0
enhance dead_code ( #3551 )
2019-10-30 06:34:54 +08:00
Alex Lam S.L
0f4cfa877a
fix corner case in comments ( #3550 )
2019-10-30 03:49:39 +08:00
Alex Lam S.L
1d5c2becbd
enhance evaluate ( #3549 )
2019-10-29 19:51:55 +08:00
Alex Lam S.L
22a09ea7c5
fix corner case in unsafe_math ( #3548 )
...
fixes #3547
2019-10-29 17:06:57 +08:00
Alex Lam S.L
bad664c632
compress object literals ( #3546 )
2019-10-29 16:53:48 +08:00
Alex Lam S.L
83fb8b4ca1
fix corner case in ie8 ( #3543 )
...
fixes #3542
2019-10-28 23:54:27 +08:00
Alex Lam S.L
f38e31bd1e
fix corner case in evaluate ( #3540 )
...
fixes #3539
2019-10-28 19:56:42 +08:00
Alex Lam S.L
24e8b47977
improve ufuzz resilience ( #3541 )
2019-10-28 18:08:51 +08:00
Alex Lam S.L
95618793a4
fix corner case in ufuzz ( #3538 )
2019-10-28 16:04:07 +08:00
Alex Lam S.L
2f3b460212
fix & enhance unsafe_math ( #3537 )
...
closes #3535
fixes #3536
2019-10-28 13:37:08 +08:00
Alex Lam S.L
06e135e35f
migrate CI workaround ( #3534 )
2019-10-27 17:29:54 +08:00
Alex Lam S.L
ebbf3d4a51
improve ufuzz resilience ( #3533 )
2019-10-27 14:17:35 +08:00
Alex Lam S.L
a270ba6b59
fix corner cases in unsafe_math ( #3532 )
...
fixes #3531
2019-10-27 08:25:11 +08:00
Alex Lam S.L
37f35e4ac2
prevent tty truncation in test/compress ( #3530 )
2019-10-27 05:00:21 +08:00
Alex Lam S.L
50a578c1f6
compress arithmetic expressions further ( #3529 )
2019-10-27 03:07:07 +08:00
Alex Lam S.L
85237b08d4
fix corner case in collapse_vars ( #3527 )
...
fixes #3526
2019-10-26 05:41:02 +08:00
Alex Lam S.L
82b3eed5ef
fix corner case in ie8 & mangle ( #3524 )
...
fixes #3523
2019-10-24 23:43:19 +08:00
Alex Lam S.L
0f7aa41e33
fix corner case in collapse_vars ( #3521 )
...
fixes #3520
2019-10-24 01:13:57 +08:00
Alex Lam S.L
4240fba9b8
fix corner cases in unused ( #3519 )
2019-10-23 06:46:05 +08:00
Alex Lam S.L
267bc70d33
fix corner case in unused ( #3517 )
...
fixes #3515
2019-10-23 01:58:40 +08:00
Alex Lam S.L
a53ab99378
fix corner case in side_effects ( #3514 )
...
fixes #3512
2019-10-23 01:04:00 +08:00
Alex Lam S.L
02308a7b56
fix corner case in reduce_vars ( #3510 )
...
fixes #3509
2019-10-22 20:36:05 +08:00
Alex Lam S.L
0b3705e82f
fix corner cases in inline ( #3507 )
...
fixes #3506
2019-10-22 15:41:55 +08:00
Alex Lam S.L
5bd0cf8633
enable GitHub Actions ( #3503 )
2019-10-21 04:11:14 +08:00
Alex Lam S.L
9199ab5846
minor tweaks ( #3502 )
2019-10-20 15:19:19 +08:00
Alex Lam S.L
ca6dce43fe
fix corner case in collapse_vars ( #3501 )
2019-10-20 03:53:20 +08:00
Alex Lam S.L
543dd7d3d7
fix corner case in comments ( #3500 )
2019-10-20 03:21:30 +08:00
Alex Lam S.L
0201cb4b52
fix corner case in unused ( #3499 )
...
fixes #3497
2019-10-18 20:08:05 +08:00
Alex Lam S.L
cd072317d0
fix corner case in unused ( #3496 )
...
fixes #3495
2019-10-18 17:09:43 +08:00
Alex Lam S.L
0785a15ace
fix corner case in dead_code & ie8 ( #3494 )
...
fixes #3493
2019-10-17 09:58:05 +08:00
Alex Lam S.L
b1279a46d9
fix corner case in sequences ( #3491 )
...
fixes #3490
2019-10-17 09:57:50 +08:00
Alex Lam S.L
b571619d31
handle throw of non-Errors gracefully ( #3492 )
2019-10-17 06:29:02 +08:00
Alex Lam S.L
1549db70e6
fix corner case in ie8 ( #3487 )
...
fixes #3486
2019-10-16 12:18:27 +08:00
Alex Lam S.L
8ff9a3c8fb
fix corner cases in ie8 ( #3485 )
...
fixes #3484
2019-10-16 06:37:40 +08:00
Alex Lam S.L
91cae51d8f
fix corner case in evaluate & ie8 ( #3483 )
...
fixes #3482
2019-10-16 01:09:16 +08:00
Alex Lam S.L
8af2f5fbcf
fix corner case in rename ( #3481 )
...
fixes #3480
2019-10-15 19:44:07 +08:00
Alex Lam S.L
86a8016323
fix corner case in ie8 & mangle ( #3479 )
...
fixes #3478
2019-10-15 17:14:48 +08:00
Alex Lam S.L
f86f615d83
fix corner case in ie8 & mangle ( #3476 )
...
fixes #3475
2019-10-15 14:18:12 +08:00
Alex Lam S.L
d3d1d11926
fix corner case in ie8 & rename ( #3474 )
...
fixes #3473
2019-10-15 07:27:02 +08:00
Alex Lam S.L
736019b767
fix corner cases in ie8 ( #3472 )
...
fixes #3471
2019-10-14 18:15:40 +08:00
Alex Lam S.L
a39bdb5840
fix corner case with collapse_vars & ie8 ( #3469 )
...
fixes #3468
2019-10-14 13:34:35 +08:00
Alex Lam S.L
516b67a43b
minor tweaks to CI test scripts ( #3467 )
2019-10-12 05:36:38 +08:00
Alex Lam S.L
eba3a37bb5
fix boolean context detection ( #3466 )
...
fixes #3465
2019-10-12 03:42:57 +08:00
Alex Lam S.L
6d57ca1a59
improve source map handling ( #3464 )
...
fixes #2947
fixes #3277
fixes #3411
2019-10-11 03:52:33 +08:00
Alex Lam S.L
3320251b4b
update benchmark URLs ( #3462 )
2019-10-11 01:00:09 +08:00
Alex Lam S.L
33c94d3bd9
detect boolean context across IIFEs ( #3461 )
2019-10-10 09:37:02 +08:00
Alex Lam S.L
da9f1622fc
report errors correctly in ufuzz ( #3456 )
2019-10-07 14:36:00 +08:00
Alex Lam S.L
0a63f2f2b0
workaround V8 RegExp bug ( #3453 )
...
fixes #3434
2019-10-06 11:49:39 +08:00
Alex Lam S.L
931ac66638
fix corner case in hoist_props ( #3452 )
...
fixes #3440
2019-10-06 10:29:13 +08:00
Alex Lam S.L
35338a100f
handle function/variable name collisions correctly ( #3451 )
...
fixes #3439
2019-10-06 08:51:38 +08:00
Alex Lam S.L
a31c477fea
fix variable scope determination ( #3449 )
...
fixes #3444
2019-10-06 05:13:44 +08:00
Alex Lam S.L
9d3b1efd86
fix corner case in assignments ( #3430 )
...
fixes #3429
2019-05-30 05:01:53 +08:00
Alex Lam S.L
482e1baea3
enhance assignments & unused ( #3428 )
...
closes #3427
2019-05-29 01:21:08 +08:00
Alex Lam S.L
b9053c7a25
fix corner case in keep_fargs ( #3424 )
...
fixes #3423
2019-05-21 12:55:34 +08:00
Alex Lam S.L
ae77ebe5a5
fix corner case in arguments ( #3421 )
...
fixes #3420
2019-05-19 12:59:40 +08:00
Alex Lam S.L
a246195412
enhance unsafe comparisons ( #3419 )
2019-05-17 01:28:18 +08:00
Alex Lam S.L
8939a36bc7
reduce false positives from fuzzing ( #3417 )
2019-05-16 16:15:03 +08:00
Alex Lam S.L
a21c348d93
improve sandbox fidelity ( #3415 )
2019-05-15 23:26:57 +08:00
Alex Lam S.L
1f0def10eb
fix corner case in comparisons ( #3414 )
...
fixes #3413
2019-05-15 01:01:18 +08:00
Alex Lam S.L
f87caac9d8
fix corner case in hoist_props ( #3412 )
...
fixes #3411
2019-05-14 19:12:00 +08:00
Alex Lam S.L
d538a73250
enhance side_effects ( #3410 )
2019-05-14 05:26:40 +08:00
Alex Lam S.L
2e4fbdeb08
enhance keep_fargs ( #3409 )
2019-05-13 21:58:04 +08:00
Alex Lam S.L
45fbdbc2dc
improve tests ( #3408 )
2019-05-12 09:44:02 +08:00
Alex Lam S.L
54cb678055
fix corner case in assignments ( #3407 )
...
fixes #3406
2019-05-12 03:52:46 +08:00
Alex Lam S.L
e88c439eac
improve tests ( #3405 )
2019-05-11 22:06:14 +08:00
Alex Lam S.L
9fc8cd4076
fix corner case in functions ( #3403 )
...
fixes #3402
2019-05-11 18:55:45 +08:00
Alex Lam S.L
5476cb8f05
fix corner case in inline ( #3401 )
...
fixes #3400
2019-05-10 01:22:44 +08:00
Alex Lam S.L
6a30e1d6be
improve tests ( #3399 )
2019-05-09 07:18:22 +08:00
Alex Lam S.L
354fec8a9c
make enclose & wrap work with sourceMap ( #3396 )
...
fixes #3313
2019-05-04 20:25:52 +08:00
Alex Lam S.L
11cdab745d
fix corner cases in sourceMap ( #3397 )
...
fixes #3255
fixes #3294
2019-05-04 20:08:57 +08:00
Alex Lam S.L
a89d424a0b
render comments in custom ASTs gracefully ( #3393 )
...
fixes #3246
2019-05-02 13:50:51 +08:00
Alex Lam S.L
2ea96549c5
unify logging functionality ( #3392 )
...
fixes #3253
fixes #3254
2019-04-30 06:32:24 +08:00
Alex Lam S.L
c37a8e927e
fix corner case in properties ( #3390 )
...
fixes #3389
2019-04-29 17:23:00 +08:00
Alex Lam S.L
413bbe0480
fix corner case in evaluate ( #3388 )
...
fixes #3387
2019-04-29 08:55:46 +08:00
Alex Lam S.L
e5436ca566
enhance side_effects ( #3384 )
2019-04-25 15:15:50 +08:00
Alex Lam S.L
a206964c0a
enhance side_effects ( #3383 )
2019-04-25 04:14:21 +08:00
Alex Lam S.L
c56d89f804
enhance unsafe ( #3382 )
2019-04-25 02:42:54 +08:00
Alex Lam S.L
c215706350
enhance unsafe comparisons ( #3381 )
2019-04-25 00:08:08 +08:00
Alex Lam S.L
d3b93ec682
fix corner case in unsafe ( #3380 )
2019-04-24 22:21:28 +08:00
Alex Lam S.L
6fe20dbe33
enhance comparisons ( #3379 )
2019-04-24 21:38:55 +08:00
Alex Lam S.L
dafed54764
fix corner case in reduce_vars ( #3378 )
...
fixes #3377
2019-04-24 14:01:01 +08:00
Alex Lam S.L
a84beafd1b
fix corner case in assignments ( #3376 )
...
fixes #3375
2019-04-24 02:50:15 +08:00
Alex Lam S.L
f01cc1e413
unwind IIFE class patterns ( #3373 )
...
fixes #2332
2019-04-21 09:49:07 +08:00
Alex Lam S.L
c719552317
fix corner cases in functions ( #3372 )
...
fixes #3371
2019-04-21 02:16:05 +08:00
Alex Lam S.L
855964a87a
enhance unsafe evaluate ( #3370 )
2019-04-20 19:42:41 +08:00
Alex Lam S.L
00833e893a
enhance functions ( #3368 )
2019-04-19 19:01:47 +08:00
Alex Lam S.L
b55a2fd531
fix corner case in functions ( #3367 )
...
fixes #3366
2019-04-19 02:55:43 +08:00
Alex Lam S.L
e8a2c0b5bf
fix corner case in functions ( #3365 )
...
fixes #3364
2019-04-18 17:03:52 +08:00
Alex Lam S.L
21cd7e3f57
reduce test exports ( #3361 )
2019-04-17 16:19:08 +08:00
Alex Lam S.L
5172ba5f2a
introduce functions ( #3360 )
...
`var f = function() {};` => `function f() {}`
2019-04-15 22:23:11 +08:00
Alex Lam S.L
a74e600fa0
mangle shadowed lambda under ie8 correctly ( #3356 )
...
fixes #3355
2019-04-01 15:22:00 +08:00
Ruben Bridgewater
4b21526310
Fix test expectation ( #3357 )
...
The test expects a specific precision value that is not met on all V8 versions anymore due to a recent consolidation of different algorithms across the V8 code base.
This makes sure the preceision is tested against one digit less to keep the test working on all V8 versions.
Refs: 98453126c1
Refs: https://github.com/nodejs/node/issues/25060#issuecomment-477953457
2019-03-30 02:08:27 +08:00
Alex Lam S.L
54b0b49b68
enhance inline ( #3352 )
2019-03-21 02:58:33 +08:00
Alex Lam S.L
65648d84a5
enhance collapse_vars ( #3351 )
2019-03-20 23:31:21 +08:00
Alex Lam S.L
143f9054da
fix corner case in sequences ( #3350 )
2019-03-20 14:54:26 +08:00
Alex Lam S.L
f2286c33f1
enhance unsafe for Array ( #3349 )
2019-03-20 06:37:51 +08:00
Alex Lam S.L
b9615f7a62
improve compress performance ( #3348 )
...
fixes #3174
2019-03-20 02:53:04 +08:00
Alex Lam S.L
c520e99eda
enhance comparisons ( #3347 )
2019-03-19 01:34:25 +08:00
Alex Lam S.L
615ae37ca3
introduce assignments ( #3345 )
2019-03-18 21:28:41 +08:00
Alex Lam S.L
7aa7f21872
fix corner case in evaluate ( #3344 )
2019-03-18 21:24:42 +08:00
Alex Lam S.L
4430a436eb
fix corner case in inline ( #3343 )
2019-03-17 05:31:40 +08:00
Alex Lam S.L
8b3259e0c2
fix corner case in reduce_vars ( #3341 )
2019-03-15 16:06:47 +08:00
Alex Lam S.L
8d2e6f333e
fix function inlining after reduce_vars ( #3340 )
...
fixes #3297
2019-03-15 05:45:46 +08:00
Alex Lam S.L
b3ef5e514d
enhance evaluate ( #3339 )
...
fixes #3299
2019-03-15 02:48:23 +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
e49297e5eb
improve usability of pure_funcs ( #3336 )
...
fixes #3325
2019-03-14 21:36:45 +08:00
Alex Lam S.L
ebd82b3fb6
fix corner case in collapse_vars ( #3334 )
...
fixes #3274
2019-03-14 16:05:56 +08:00
Alex Lam S.L
d074aa6e27
fix corner case in collapse_vars ( #3333 )
...
fixes #3247
fixes #3305
fixes #3314
fixes #3327
2019-03-13 23:48:52 +08:00
Alex Lam S.L
b052f62710
fix corner case in reduce_vars ( #3332 )
...
fixes #3267
2019-03-13 21:56:38 +08:00
Alex Lam S.L
d4ac84b255
fix corner case in arguments & reduce_vars ( #3331 )
...
fixes #3282
2019-03-13 08:46:03 +08:00
Alex Lam S.L
e250396d7e
fix corner case in arguments ( #3330 )
...
Track modifications to `arguments[i]` under Strict Mode.
fixes #3273
2019-03-13 06:59:53 +08:00
silverwind
9aae4f2424
make tests compatible with Node.js 12 ( #3304 )
...
In Node.js 12, the formatting of console arguments will change slightly.
Previously, a string other than the first argument was formatted using
single quotes if the first argument was non-string. Now, quotes are
never added regardless of position of a string argument.
To make test compatible in all Node.js versions, I work around by
ensuring the first argument to console.log is a string which prevents
the quotes from being added on older versions of Node.js.
Ref: https://github.com/nodejs/node/pull/23162
2019-03-13 04:55:04 +08:00
Alex Lam S.L
008c236137
fix corner case in conditionals ( #3329 )
...
fixes #3245
fixes #3257
fixes #3260
fixes #3269
fixes #3271
fixes #3278
fixes #3309
fixes #3319
fixes #3321
2019-03-13 04:28:21 +08:00
Ed S
b1c0664066
Fix typo in warning ( #3324 )
...
protoype -> prototype
2019-03-13 02:15:54 +08:00
Alex Lam S.L
ce7e220de4
fix corner case in conditionals ( #3244 )
2018-08-30 15:59:05 +08:00
Alex Lam S.L
2bdaca10ae
enhance conditionals ( #3243 )
2018-08-30 01:06:34 +08:00
Alex Lam S.L
aa0029204e
fix corner case in reduce_vars ( #3241 )
...
fixes #3240
2018-08-29 22:14:25 +08:00
Alex Lam S.L
f352bcec3a
fix corner case in collapse_vars ( #3239 )
...
fixes #3238
2018-08-29 11:34:34 +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
57fb58b263
enhance if_return ( #3232 )
2018-08-21 18:34:16 +08:00
Alex Lam S.L
cfebeb2f63
fix corner case in mangle workaround for Safari ( #3230 )
...
fixes #3227
2018-08-09 17:34:28 +08:00
Alex Lam S.L
fc78423f1d
clean up webkit quirks ( #3229 )
2018-08-08 16:15:45 +08:00
Alex Lam S.L
d47547dc71
fix corner case in join_vars ( #3224 )
2018-07-27 19:34:44 +08:00
Alex Lam S.L
304db15a20
fix corner case in ie8 & rename ( #3223 )
2018-07-26 16:35:43 +08:00
Alex Lam S.L
7cf72b8d66
fix corner case in global_defs ( #3218 )
...
fixes #3217
2018-07-19 18:14:36 +08:00
Alex Lam S.L
cea685f8d9
fix corner case in ie8 ( #3216 )
...
fixes #3215
2018-07-19 14:45:36 +08:00
alexlamsl
34a0ab6f2c
improve fuzzing on Travis CI
2018-07-13 02:05:52 +08:00
Alex Lam S.L
bcebacbb9e
fix corner cases in preserve_line ( #3212 )
2018-07-13 01:51:10 +08:00
Alex Lam S.L
66c126ffde
fix corner case in ie8 ( #3207 )
...
fixes #3206
2018-07-03 16:44:23 +08:00
alexlamsl
5ffc17d4aa
fix corner case in unused
2018-07-01 14:34:42 +08:00
Alex Lam S.L
76df77c08c
implement directives ( #3203 )
...
fixes #3166
2018-06-28 18:16:49 +08:00
Alex Lam S.L
957d5537a8
improve unsafe comparisons ( #3200 )
2018-06-28 03:46:19 +08:00
Alex Lam S.L
ab36b9b10a
fix corner case in ie8 ( #3198 )
...
fixes #3197
2018-06-24 04:00:36 +08:00
Alex Lam S.L
28330913d8
improve mocha tests ( #3195 )
2018-06-24 04:00:36 +08:00
Alex Lam S.L
766a4147d4
enhance arguments ( #3193 )
...
fixes #3192
2018-06-24 04:00:21 +08:00
Alex Lam S.L
e54ddcbb8a
fix corner cases in properties ( #3189 )
...
fixes #3188
2018-06-19 18:20:11 +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
caf96acb08
handle asynchronous test failures ( #3164 )
2018-05-31 20:21:39 +08:00
Alex Lam S.L
c76749084b
update JetStream URL ( #3165 )
2018-05-31 16:23:49 +08:00
Alex Lam S.L
efa21ae3e6
fix corner case in reduce_vars ( #3151 )
2018-05-26 05:45:44 +08:00
Alex Lam S.L
24d9633a35
fix corner cases with eval() ( #3147 )
...
fixes #3146
2018-05-24 14:29:30 +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
8c62d854ce
augment tests for RegExp ( #3144 )
2018-05-23 17:24:13 +08:00
Alex Lam S.L
b5af8a1914
fix corner case in reduce_vars ( #3141 )
...
fixes #3140
2018-05-21 15:53:51 +08:00
Alex Lam S.L
4fc39d8dad
fix corner case in collapse_vars ( #3139 )
2018-05-19 05:45:14 +08:00
Alex Lam S.L
1a0d6edc81
remove colors dependency ( #3133 )
2018-05-13 07:50:02 +08:00
Alex Lam S.L
7b59b2f5b2
replace mocha dependency ( #3131 )
2018-05-11 20:15:34 +08:00
Alex Lam S.L
7bc7704edf
fix corner case in reduce_vars ( #3129 )
2018-05-10 18:45:20 +08:00
Alex Lam S.L
14e712ee80
fix corner case in call binding ( #3128 )
...
fixes #3127
2018-05-10 06:16:35 +08:00
Alex Lam S.L
df8a99439a
fix various corner cases ( #3126 )
...
- augment ufuzz/reminify test options
fixes #3125
2018-05-07 07:36:25 +08:00
Alex Lam S.L
6b91d12ec3
fix corner case in reduce_vars ( #3124 )
2018-05-06 16:42:35 +08:00
Alex Lam S.L
f37b91879f
fix various corner cases ( #3123 )
2018-05-05 13:17:50 +08:00
Alex Lam S.L
c4cebb4b01
fix reduce_vars on nested invocations ( #3118 )
2018-05-04 06:05:38 +08:00
Alex Lam S.L
d51a00a450
compress AST_Sequence within AST_Call ( #3117 )
2018-05-03 19:14:56 +08:00
Alex Lam S.L
fc0f168a0c
better fix for #3113 ( #3115 )
2018-05-03 15:51:51 +08:00
Alex Lam S.L
a0ca595c2c
fix TreeWalker scan order ( #3114 )
...
fixes #3113
2018-05-03 00:27:45 +08:00
Alex Lam S.L
1a314e9f60
improve reduce_vars ( #3112 )
...
fixes #3110
2018-05-02 15:11:45 +08:00
Alex Lam S.L
22cea023d1
improve numeral compression ( #3108 )
2018-04-28 02:47:49 +08:00
Alex Lam S.L
70d4477e05
workaround vm context issue in node-chakracore ( #3106 )
2018-04-27 07:40:34 +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
9e87edfc2e
better fix for #2506 ( #3099 )
2018-04-25 04:46:07 +08:00
Alex Lam S.L
27211cf2d5
handle RHS side-effects in collapse_vars ( #3097 )
...
fixes #3096
2018-04-24 20:31:50 +08:00
Alex Lam S.L
b5ce199711
improve max_line_len ( #3095 )
...
fixes #304
2018-04-24 15:19:45 +08:00
Alex Lam S.L
d83c6490ab
fix corner case in strip_func_ids() ( #3090 )
2018-04-19 04:51:42 +08:00
Alex Lam S.L
6a916523d4
fix inline of catch-scoped variables ( #3077 )
...
fixes #3076
2018-04-11 15:44:43 +08:00
Alex Lam S.L
ba7069d52b
suppress hoist_props for embedded assignments ( #3074 )
2018-04-11 05:19:16 +08:00
Alex Lam S.L
4dd7d0e39b
extend hoist_props ( #3073 )
...
- handle `AST_Assign` the same way as `AST_VarDef`
- inject `AST_Var` as succeeding statement
fixes #3071
2018-04-11 02:48:15 +08:00
Alex Lam S.L
90199d0a96
extend join_vars on object assignments ( #3072 )
2018-04-11 01:35:42 +08:00
Alex Lam S.L
b82fd0ad41
handle flow control in loops with reduce_vars ( #3069 )
...
fixes #3068
2018-04-10 06:51:03 +08:00
Alex Lam S.L
183da16896
handle pure_funcs under inline & reduce_vars correctly ( #3066 )
...
fixes #3065
2018-04-10 02:46:38 +08:00
Alex Lam S.L
db49daf365
mangle Object.defineProperty() ( #3059 )
...
fixes #869
2018-04-06 17:10:36 +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
44116c6d2b
fix AST corruption during inline of simple return ( #3056 )
...
fixes #3054
2018-04-06 05:39:07 +08:00
Alex Lam S.L
b5bab254ce
speed up has_parens() (take 2) ( #3052 )
...
fixes #3050
2018-04-05 04:12:04 +08:00
Alex Lam S.L
e67553fa55
fix tree traversal on AST_Do ( #3047 )
...
fixes #3046
2018-04-02 22:31:23 +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
07f64d4050
fix escape analysis on AST_New ( #3043 )
...
fixes #3042
2018-03-31 15:03:46 +09:00
Alex Lam S.L
fa3250199a
mangle unused nested AST_SymbolCatch correctly ( #3038 )
...
fixes #3035
2018-03-30 16:23:09 +09:00
Alex Lam S.L
06b9894c19
handle modifications to this correctly ( #3036 )
...
fixes #3032
2018-03-30 15:07:36 +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
12985d86c2
fix corner case in hoist_props ( #3022 )
...
fixes #3021
2018-03-23 07:27:35 +08: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
d1c6bb8c7c
fix nested inline within loop ( #3019 )
...
fixes #3018
2018-03-23 02:31:59 +08:00
Alex Lam S.L
5c169615a8
fix corner case in inline ( #3017 )
...
fixes #3016
2018-03-22 23:46:26 +08:00
Alex Lam S.L
ccf0e2ef4f
extend fuzzy RHS folding ( #3006 )
...
- `a = []; if (1) x();` => `if (a = []) x();`
2018-03-17 03:10:21 +08:00
Alex Lam S.L
20ca0f5906
improve truthy compression ( #3009 )
2018-03-16 06:12:59 +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
5429234138
preserve non-constant value assignments with modifications ( #2997 )
...
fixes #2995
2018-03-13 17:35:34 +08:00
Alex Lam S.L
b9f72a4a81
handle case correctly under reduce_vars ( #2993 )
...
fixes #2992
2018-03-11 15:54:43 +08:00
Alex Lam S.L
fc6ebd04a5
preserve case when inline_script ( #2991 )
...
fixes #2989
2018-03-11 05:11:12 +08:00
Alex Lam S.L
10b3752b1e
fix mangle of AST_SymbolLambda under ie8 ( #2978 )
...
fixes #2976
2018-03-07 17:20:38 +08:00
Alex Lam S.L
fe51a91395
handle negated constants correctly in collapse_vars ( #2975 )
...
fixes #2974
2018-03-06 00:45:58 +08:00
Alex Lam S.L
798fc21530
improve test/run-test.js performance ( #2971 )
...
- allow reuse of contextified sandbox
- minimise bottleneck from `vm.createContext()`
2018-03-04 04:50:00 +08:00
Alex Lam S.L
a75a046abb
compress arguments[index] ( #2967 )
...
- always replace with existing parameter
- only introduce new parameter if `keep_fargs` is disabled
2018-03-02 11:22:09 +08:00
Alex Lam S.L
38f2b4579f
fix value reference caching in evaluate ( #2969 )
...
fixes #2968
2018-03-02 04:04:29 +08:00
Alex Lam S.L
56e2a369d0
enhance conditionals ( #2966 )
...
- `x ? (y, w) : (z, w)` => `x ? y : z, w`
2018-02-28 23:34:48 +08:00
Alex Lam S.L
0daa199fa8
migrate safe transformations out of unsafe_comps ( #2962 )
...
fixes #2959
2018-02-28 22:02:24 +08:00
Alex Lam S.L
73e98dcda4
drop side_effects-free return values ( #2965 )
2018-02-28 19:59:19 +08:00
Alex Lam S.L
36bca6934d
enhance collapse_vars ( #2952 )
...
- `a = b, b` => `a = b`
- `a.b = c, c()` => `(a.b = c)()`
2018-02-28 15:19:32 +08:00
Alex Lam S.L
ace5811691
drop lone "use strict" in function body ( #2963 )
...
fixes #2961
2018-02-26 15:22:52 +08:00
Dan
ba7bad0dbd
show benchmark subtotal ( #2960 )
...
At the end of the benchmark, sums of the input, output and
gzip values are shown, such as:
Subtotal
Original: 7785102 bytes
Uglified: 2283862 bytes
GZipped: 662354 bytes
2018-02-26 11:46:26 +08:00
Alex Lam S.L
b8b2ac5230
improve fix for #2954 ( #2958 )
2018-02-26 03:14:22 +08:00
Alex Lam S.L
ea2359381b
fix collapse_vars on nested exception ( #2955 )
...
fixes #2954
2018-02-25 15:39:00 +08:00
Alex Lam S.L
52de64cf16
deduplicate parenthesis around object and function literals ( #2953 )
2018-02-25 02:14:33 +08:00
Alex Lam S.L
455790202a
minor clean-ups ( #2951 )
2018-02-24 02:24:47 +08:00
Alex Lam S.L
f40f5eb228
improve mangle ( #2948 )
2018-02-23 23:51:49 +08:00
Alex Lam S.L
29a71d3aae
more tests for #2938 ( #2940 )
2018-02-21 04:19:42 +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
70474310f3
improve unsafe evaluate of function ( #2936 )
...
Miscellaneous
- simplify `run_code()` hack
2018-02-19 18:47:02 +08:00
Alex Lam S.L
b5f0f4f3a1
reduce false positives from object literals ( #2935 )
2018-02-19 06:21:07 +08:00
Alex Lam S.L
2905fd625a
reduce false positives from labels ( #2934 )
2018-02-19 03:55:33 +08:00
Alex Lam S.L
4facd94029
reduce false positives from noop ( #2933 )
2018-02-19 01:15:05 +08:00
Alex Lam S.L
4b5993ff15
fix crash in may_throw() ( #2932 )
...
fixes #2931
2018-02-18 21:51:27 +08:00
Alex Lam S.L
2351a672ea
fix dead_code on exceptional return ( #2930 )
...
fixes #2929
2018-02-18 04:36:00 +08:00
Alex Lam S.L
4a528c469c
reduce false positives from function.toString() ( #2928 )
2018-02-18 02:13:26 +08:00
Alex Lam S.L
82d1ef0242
fix unsafe evaluate of function property ( #2927 )
...
fixes #2926
2018-02-17 21:33:36 +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
e529f54e90
reduce function-related false positives ( #2925 )
2018-02-17 04:35:03 +08:00
Alex Lam S.L
d626e9bf19
improve inline efficiency ( #2924 )
2018-02-17 02:37:13 +08:00
Alex Lam S.L
a2a9459684
fix unsafe evaluate of AST_Function ( #2920 )
...
fixes #2919
2018-02-16 17:21:46 +08:00
Alex Lam S.L
d316fb139d
fix unsafe evaluate on type-converting operators ( #2917 )
...
fixes #2916
2018-02-14 16:48:47 +08:00
Alex Lam S.L
83d8aa8b12
fix collapse_vars within loops ( #2915 )
...
fixes #2914
2018-02-14 05:15:52 +08:00
Alex Lam S.L
4f1c12b6fd
report options upon reminify input error ( #2911 )
2018-02-13 07:29:39 +08:00
Alex Lam S.L
d8e0e34354
collapse within unary expressions ( #2910 )
2018-02-13 07:10:37 +08:00
Alex Lam S.L
0c4f315c02
fix corner case in collapse_vars ( #2909 )
...
fixes #2908
2018-02-13 01:41:22 +08:00
Alex Lam S.L
0809699bdc
simplify do-while into for ( #2907 )
...
fixes #2904
2018-02-12 23:28:28 +08:00
Alex Lam S.L
2088e1c19d
fix AST corruption due to collapse_vars & inline ( #2899 )
...
fixes #2898
2018-02-09 06:54:37 +08:00
Alex Lam S.L
bf1d47180c
fix join_vars on property accessors ( #2895 )
...
fixes #2893
2018-02-09 01:52:39 +08:00
Alex Lam S.L
d66d86f20b
account for exceptions in AST_Assign.left ( #2892 )
...
fixes #2891
2018-02-08 03:31:51 +08:00
Alex Lam S.L
d69d8007d6
evaluate to{Low,Upp}erCase() under unsafe ( #2886 )
2018-02-06 15:57:15 +08:00
Dan
9637f51b68
change undefined == x to null == x ( #2882 )
...
fixes #2871
2018-02-05 15:00:23 +08:00
Alex Lam S.L
3026bd8975
improve exceptional flow compression by collapse_vars ( #2880 )
2018-02-04 04:18:22 +08:00
Alex Lam S.L
78a44d5ab0
maintain order between side-effects and externally observable assignments ( #2879 )
...
fixes #2878
2018-02-04 03:58:49 +08:00
Alex Lam S.L
7e13c0db40
handle break & continue in collapse_vars ( #2875 )
...
fixes #2873
2018-02-03 07:58:43 +08:00
Alex Lam S.L
e6a2e9e4d0
allow collapse_vars across conditional branches ( #2867 )
2018-02-03 02:44:40 +08:00
Alex Lam S.L
e773f03927
fix assignment logic in reduce_vars ( #2872 )
...
fixes #2869
2018-02-03 01:33:09 +08:00
Alex Lam S.L
b16380d669
fix missing corner case in #2855 ( #2868 )
2018-02-02 18:08:56 +08:00
Alex Lam S.L
3cc1527f00
always test for rename ( #2865 )
2018-02-01 21:42:55 +08:00
Alex Lam S.L
c3a002ff97
account for side-effects in comparisons of null & undefined ( #2863 )
2018-02-01 19:15:17 +08:00
Alex Lam S.L
fad6766a90
simplify comparisons with undefined & null ( #2862 )
...
fixes #2857
2018-02-01 16:50:54 +08:00
Alex Lam S.L
aa664dea0a
avoid evaluate of compound assignment after dead_code transform ( #2861 )
...
fixes #2860
2018-02-01 16:18:29 +08:00
Alex Lam S.L
102f994b9d
account for declaration assignment in collapse_vars ( #2859 )
...
fixes #2858
2018-02-01 15:09:53 +08:00
Alex Lam S.L
2a4c68be4f
relax collapse_vars on AST_Exit ( #2855 )
...
First introduced in #1862 to stop assignments to migrate beyond `return` or `throw`. Since then `collapse_vars` has been improved to handle various side-effect-related corner cases.
2018-01-31 23:49:59 +08:00
Alex Lam S.L
541e6011af
improve symbol replacement heuristic ( #2851 )
2018-01-29 17:41:15 +08:00
Alex Lam S.L
6fa3fbeae8
compress chained compound assignments ( #2850 )
2018-01-29 15:13:25 +08:00
Alex Lam S.L
193612ac67
fix accounting after conversion to assignment ( #2847 )
...
Missing reference to `AST_SymbolRef` created by `unused` causes `collapse_vars` to misbehave.
fixes #2846
2018-01-26 14:21:11 +08:00
Alex Lam S.L
ec4202590d
drop assignments to constant expressions only ( #2839 )
...
fixes #2838
2018-01-23 02:49:54 +08:00
Alex Lam S.L
5e2cd07d6f
handle duplicate function declarations correctly ( #2837 )
...
fixes #2836
2018-01-23 01:28:09 +08:00
Alex Lam S.L
e2dc9cf091
fix unsafe evaluate of AST_Array ( #2825 )
...
fixes #2822
2018-01-21 01:39:44 +08:00
Alex Lam S.L
069df27bf1
enable unsafe for test/ufuzz.js ( #2819 )
...
- introduce `unsafe_undefined`
- safer `.toString()` compression
Miscellaneous
- rename `unsafe_Function`
2018-01-19 23:47:42 +08:00
Alex Lam S.L
3e7873217c
improve unused on built-in functions ( #2817 )
2018-01-19 20:41:57 +08:00
Alex Lam S.L
e21bab7ce6
avoid duplicate property names in object literals under "use strict" ( #2818 )
...
fixes #2816
2018-01-19 20:13:50 +08:00
Alex Lam S.L
ac9a168fba
fix & improve test/ufuzz.js ( #2815 )
...
- use correct `options` when testing `rename`
- mask arbitrarily assigned function IDs to reduce rate of false positives
2018-01-19 16:51:59 +08:00
Alex Lam S.L
81b64549ce
fix time-out for respawned test/ufuzz.js ( #2814 )
2018-01-19 06:11:19 +08:00
Alex Lam S.L
082e004b87
compress undefined property names ( #2811 )
...
- enforce property names as string
- handle `void 0` as `undefined` in `hoist_props` & `reduce_vars`
2018-01-19 00:36:30 +08:00
kzc
983e69128b
fix join_vars property assignment for negative array index ( #2810 )
...
fixes #2790
2018-01-18 21:52:54 +08:00
Alex Lam S.L
b335912e86
enhance test/ufuzz.js ( #2808 )
...
- standalone test for `rename`
- handle `keep_fargs` & `rename` upon failure
2018-01-18 14:08:05 +08:00
Alex Lam S.L
07e4b64f3a
fix AST_Scope.clone() ( #2803 )
...
fixes #2799
2018-01-17 21:33:13 +08:00
Alex Lam S.L
d3ce2bc9e7
suppress unsafe_proto for LHS expressions ( #2804 )
2018-01-17 20:41:51 +08:00
Alex Lam S.L
cff3bf4914
configure rename with CLI ( #2802 )
2018-01-17 15:12:22 +08:00
Alex Lam S.L
79cfac77bd
extend join_vars & sequences ( #2798 )
2018-01-17 13:58:27 +08:00
Alex Lam S.L
224c14d49d
improve mocha tests ( #2797 )
...
- workaround sporadic delays from Travis CI
2018-01-16 17:51:25 +08:00
Alex Lam S.L
7857354d85
improve test/travis-ufuzz.js ( #2795 )
...
- print usage
- support concurrent jobs
- improve instance utilisation
- resume after V8 self-destruct
2018-01-16 17:33:21 +08:00
Alex Lam S.L
b4aef753e7
general improvements around AST_ForIn ( #2796 )
...
- compress using `collapse_vars`
- remove unused `name`
- simplify `loop_body`
2018-01-16 17:03:12 +08:00
Alex Lam S.L
ec7cd1dcf7
handle VM failure gracefully ( #2791 )
2018-01-15 23:41:39 +08:00
Alex Lam S.L
7def684730
improve test/travis-ufuzz.js ( #2789 )
...
- wait for instance to boot
- run on forked repositories
- workaround `request_limit_reached`
2018-01-15 19:18:21 +08:00
Alex Lam S.L
10f961c27b
enhance collapse_vars ( #2788 )
2018-01-15 18:47:23 +08:00
Alex Lam S.L
cbbe6fad60
avoid double counting within single-use functions ( #2785 )
...
fixes #2783
2018-01-15 16:42:15 +08:00
Alex Lam S.L
f96929c031
improve test/travis-ufuzz.js ( #2786 )
...
- use more RAM
- show progress in console
- report failure as job status
2018-01-15 15:08:35 +08:00
Alex Lam S.L
2b6657e967
run test/ufuzz.js when Travis CI is idle ( #2784 )
2018-01-15 08:52:11 +08:00
Alex Lam S.L
62a66dfff4
fix & extend join_vars for object assigments ( #2781 )
2018-01-14 17:11:31 +08:00
Alex Lam S.L
e49416e4aa
fix reduce_vars on AST_Accessor ( #2776 )
...
fixes #2774
2018-01-13 02:46:14 +08:00
Alex Lam S.L
b757450cd8
fix nested unused assignments ( #2769 )
...
fixes #2768
2018-01-11 23:13:44 +08:00
Alex Lam S.L
23ec484806
fix corner case in #2763 ( #2766 )
2018-01-11 21:18:08 +08:00
Alex Lam S.L
f1e1bb419a
join object assignments ( #2763 )
2018-01-11 17:08:21 +08:00
Alex Lam S.L
09269be974
enhance conditionals ( #2758 )
...
`x ? y || z : z` --> `x && y || z`
2018-01-10 16:59:57 +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
2972d58dbb
patch variable declaractions extracted within catch ( #2753 )
...
fixes #2749
2018-01-09 13:54:35 +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
ce27bcd69a
compress loops with immediate break ( #2746 )
...
fixes #2740
2018-01-08 14:30:18 +08:00
Alex Lam S.L
9809567dfc
improve process.exit() workaround ( #2741 )
...
- use public API
- fix issue with Node.js 0.10 on WIndows
2018-01-07 17:53:50 +08:00
Alex Lam S.L
1ee8be8d91
fix recursive function inline ( #2738 )
...
fixes #2737
2018-01-07 15:31:24 +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
3564b4f20d
compress RegExp() in unsafe ( #2735 )
2018-01-06 21:04:47 +08:00
Alex Lam S.L
3505a3604a
enhance unsafe_proto ( #2733 )
2018-01-06 06:16:51 +08:00
kzc
9b1bc6c014
ufuzz: add strings "a", "b", "c" to VALUES ( #2732 )
2018-01-06 05:54:53 +08:00
Alex Lam S.L
9f23185f2b
fix corner case with arguments as function name ( #2729 )
...
fixes #2728
2018-01-05 22:21:18 +08:00
Alex Lam S.L
b82feb9302
improve if_return ( #2727 )
2018-01-05 20:24:30 +08:00
Alex Lam S.L
7f2a591c7e
warn on deprecated features ( #2726 )
...
- `function.arguments`
- `function.callers`
fixes #2719
2018-01-05 19:36:02 +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
484e484571
fix corner case in inline ( #2720 )
2018-01-04 23:38:37 +08:00
Alex Lam S.L
6f3f21233f
reminify tests upon expect_stdout ( #2716 )
2018-01-04 20:13:05 +08:00
Alex Lam S.L
a6873a3859
forbid block-scoped AST_Defun in strict mode ( #2718 )
2018-01-04 18:45:51 +08:00
Alex Lam S.L
7a6d452b54
preserve constant modification under strict mode ( #2717 )
2018-01-04 15:53:53 +08:00
Alex Lam S.L
9b58b54e2d
extend inline ( #2714 )
...
- compress `function` with variables within loops
- restrict to `AST_Var` for better compatibility with ES6+
2018-01-04 12:58:40 +08:00
Alex Lam S.L
c598a12af9
apply collapse_vars to loop conditions ( #2712 )
2018-01-04 03:18:28 +08:00
Alex Lam S.L
cfe3a98ce5
drop unused assignment based on reduce_vars ( #2709 )
2018-01-04 01:03:33 +08:00
Alex Lam S.L
14778e049b
fix reduce_vars on AST_Defun ( #2708 )
2018-01-03 17:18:38 +08:00
Alex Lam S.L
446fb0198b
extend __PURE__ to AST_New ( #2706 )
...
fixes #2705
2018-01-03 04:48:07 +08:00
Alex Lam S.L
7d3cddf9d6
inline functions with AST_Var ( #2688 )
2018-01-03 01:54:44 +08:00
Alex Lam S.L
6dead95eb3
enhance collapse_vars ( #2704 )
2018-01-02 18:42:15 +08:00
Alex Lam S.L
cc931b3ad8
enhance if_return ( #2703 )
2018-01-02 15:09:51 +08:00
Alex Lam S.L
d838b4b52e
reset argument value within loop after inline ( #2699 )
2018-01-02 01:24:53 +08:00
Alex Lam S.L
2f3bddbaca
scan within IIFEs of assigned values ( #2702 )
...
fixes #2701
2018-01-02 01:24:23 +08:00
Alex Lam S.L
673b071637
enhance join_vars & sequences ( #2697 )
...
- nudge declarations without assignments
- within `AST_BlockStatement`
- across `AST_If`
2018-01-01 00:09:26 +08:00
Alex Lam S.L
da82fa59a7
fix inline on duplicate argument names ( #2698 )
2017-12-31 20:59:58 +08:00
Alex Lam S.L
333792352e
reduce hoisting declarations ( #2687 )
2017-12-31 16:15:00 +08:00
Alex Lam S.L
ed7a0a454e
fix dead_code on escaped return assignment ( #2693 )
...
fixes #2692
2017-12-30 15:20:25 +08:00
Alex Lam S.L
b95e3338d9
fix pure_getters on AST_Binary ( #2681 )
...
fixes #2678
2017-12-28 17:01:01 +08:00
Alex Lam S.L
e40a0ee9c6
improve assignment variations ( #2671 )
2017-12-28 15:36:55 +08:00
Alex Lam S.L
cb62bd98d3
fix function inlining within loops ( #2675 )
...
fixes #2663
2017-12-28 02:53:14 +08:00
Alex Lam S.L
f30790b11b
fix dead_code on return assignments ( #2668 )
...
fixes #2666
2017-12-27 07:40:34 +08:00
Alex Lam S.L
5205dbcbf4
retain recursive function names ( #2667 )
...
fixes #2665
2017-12-27 07:00:12 +08:00
Alex Lam S.L
3ff625de7e
fix bugs on substituted AST_Defun ( #2661 )
...
fixes #2660
2017-12-27 05:31:37 +08:00
Alex Lam S.L
4832bc5d88
replace single-use recursive functions ( #2659 )
...
fixes #2628
2017-12-26 21:25:35 +08:00
Alex Lam S.L
7f342cb3e3
suppress inline within substituted AST_Scope ( #2658 )
...
fixes #2657
2017-12-26 18:56:59 +08:00
Alex Lam S.L
05e7d34ed4
improve unused over duplicate variable names ( #2656 )
2017-12-26 18:29:28 +08:00
Alex Lam S.L
0fe259e9c5
parse LF & comment correctly ( #2653 )
...
fixes #2652
2017-12-26 01:38:01 +08:00
Alex Lam S.L
1476c78b53
add html-minifier to benchmarks ( #2646 )
2017-12-25 03:07:46 +08:00
Alex Lam S.L
cb6a92892f
fix infinite loop during inline ( #2645 )
...
fixes #2644
2017-12-25 01:57:11 +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
202f90ef8f
fix corner cases with collapse_vars, inline & reduce_vars ( #2637 )
...
fixes #2630
2017-12-24 01:24:12 +08:00
Alex Lam S.L
c07ea17c01
fix escape analysis on AST_PropAccess ( #2636 )
2017-12-24 00:36:46 +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
4113609dd4
extend test/ufuzz.js to inline & reduce_funcs ( #2620 )
...
- forward call `fN()`
- allow forward call functions to be single-use
- avoid generating `AST_Defun` within blocks
2017-12-20 23:52:18 +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
fac003c64f
avoid inline of function with special argument names ( #2625 )
2017-12-20 02:48:04 +08:00
Alex Lam S.L
2273655c17
fix inline after single-use reduce_vars ( #2623 )
2017-12-19 22:19:33 +08:00
Alex Lam S.L
032f096b7f
add test for #2613 ( #2618 )
2017-12-19 05:22:05 +08:00
Alex Lam S.L
4b334edf49
handle global constant collision with local variable after inline ( #2617 )
...
fixes #2616
2017-12-19 03:05:30 +08:00
Alex Lam S.L
8ddcbc39e6
compress apply() & call() of function ( #2613 )
...
- `fn.apply(a, [ ... ])` => `fn.call(a, ...)`
- `fn.call(a, ... )` => `a, fn(...)`
where `fn` can be `function` literal or symbol reference linked through `reduce_vars`
2017-12-18 16:23:39 +08:00
Alex Lam S.L
0b0eac1d5d
drop property assignment to constants ( #2612 )
2017-12-18 12:07:53 +08:00
Alex Lam S.L
b29fc8b27c
improve transversal efficiency in collapse_vars ( #2611 )
...
fixes #2603
2017-12-18 03:00:05 +08:00
Alex Lam S.L
21794c9b8d
account for catch variable when inline ( #2605 )
...
fixes #2604
2017-12-16 15:21:09 +08:00
Alex Lam S.L
6c686ce593
fix nested inline ( #2602 )
...
fixes #2601
2017-12-16 02:16:35 +08:00
Alex Lam S.L
db902af4c6
fix escape analysis on || and && ( #2600 )
...
fixes #2598
2017-12-15 19:48:14 +08:00
Alex Lam S.L
7d6907cb99
fix dead_code on nested try ( #2599 )
...
fixes #2597
2017-12-15 19:41:28 +08:00
Alex Lam S.L
092d9affb8
fix reduce_vars on do...while ( #2596 )
2017-12-15 16:33:19 +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
90313875f7
inline single-use function across loop ( #2594 )
2017-12-14 19:24:54 +08:00
Alex Lam S.L
3f18a61532
fix reduce_vars on single AST_Defun reference across loop ( #2593 )
2017-12-14 18:47:05 +08:00
Alex Lam S.L
02a6ce07eb
improve reduce_vars ( #2592 )
...
- account for hoisting nature of `var`
2017-12-14 15:32:13 +08:00
Alex Lam S.L
738fd52bc4
improve collapse_vars ( #2591 )
...
- handle single-use assignments other than `AST_VarDef`
- scan `AST_Call` for candidates
2017-12-14 15:31:35 +08:00
kzc
d18979bb23
improve dead_code tests ( #2589 )
...
for #2588
2017-12-14 12:12:06 +08:00
Alex Lam S.L
8266993c6e
fix dead_code on return/throw within try ( #2588 )
2017-12-14 04:38:21 +08:00
Alex Lam S.L
9a137e8613
drop local assign-only variable in return ( #2587 )
2017-12-14 02:59:59 +08:00
Alex Lam S.L
ef618332ea
fold cascade functionality into collapse_vars ( #2586 )
2017-12-14 01:20:36 +08:00
Alex Lam S.L
7f418978c9
recover lost opportunities from #2574 ( #2584 )
2017-12-13 18:20:53 +08:00
Alex Lam S.L
04cc395c35
improve collapse_vars on side-effect-free replacements ( #2583 )
2017-12-13 04:52:54 +08:00
Alex Lam S.L
ddf96cfda2
avoid Function.prototype pollution by test/sandbox.js ( #2581 )
2017-12-12 05:02:01 +08:00
Alex Lam S.L
ebfd5c5c74
fix AST_VarDef.may_throw() ( #2580 )
2017-12-12 03:30:25 +08:00
Alex Lam S.L
f2ad542679
fix collapse_vars on switch ( #2578 )
2017-12-11 18:11:09 +08:00
Alex Lam S.L
93f3b2b114
escape consecutive unpaired surrogates ( #2576 )
...
fixes #2569
2017-12-11 01:15:44 +08:00
Alex Lam S.L
bf000beae7
rename tests ( #2575 )
2017-12-11 00:24:54 +08:00
Alex Lam S.L
0e16d92786
handle exceptional flow correctly in collapse_vars ( #2574 )
...
fixes #2571
2017-12-11 00:16:02 +08:00
Alex Lam S.L
0aff037a35
improve unused on assign-only symbols ( #2568 )
2017-12-09 06:19:29 +08:00
Alex Lam S.L
74a2f53683
fix escape analysis for AST_Throw ( #2564 )
2017-12-08 02:54:37 +08:00
Alex Lam S.L
e20935c3f2
fix escape analysis for AST_Conditional & AST_Sequence ( #2563 )
...
fixes #2560
2017-12-08 01:50:38 +08:00
Alex Lam S.L
3e34f62a1c
account for side-effects in conditional call inversion ( #2562 )
...
fixes #2560
2017-12-08 01:15:31 +08:00
Alex Lam S.L
d21cb84696
eliminate noop calls more aggressively ( #2559 )
2017-12-07 01:22:08 +08:00
Alex Lam S.L
3dd495ecdd
improve if_return ( #2558 )
...
`return void x()` => `x()`
2017-12-07 01:01:52 +08:00
Alex Lam S.L
77332a0315
fix dead_code on for ( #2552 )
2017-12-02 15:46:05 +08:00
Alex Lam S.L
85c56adbd1
more tests for #2535 ( #2551 )
2017-12-02 02:26:56 +08:00
Alex Lam S.L
8da3754e51
improve evaluate on typeof ( #2550 )
...
- gated through `typeofs`
2017-12-02 02:18:33 +08:00
Alex Lam S.L
9a6b11f8e6
improve boolean compression ( #2548 )
...
fixes #2535
2017-12-01 22:41:35 +08:00
Alex Lam S.L
7ac6fdcc99
improve switch case compression ( #2547 )
2017-12-01 14:32:00 +08:00
Alex Lam S.L
f6610baaa8
improve AST_For.init & AST_Switch.expression compression ( #2546 )
2017-12-01 12:53:59 +08:00
Alex Lam S.L
09b320e8a5
convert to number under boolean context ( #2545 )
2017-12-01 12:52:36 +08:00
Alex Lam S.L
5a1e99d713
improve compression of if conditions ( #2544 )
2017-12-01 06:18:31 +08:00
Alex Lam S.L
b762f2d6f4
improve compression of loop conditions ( #2543 )
2017-12-01 05:52:33 +08:00
Alex Lam S.L
c58d3936a3
fix corner case in call binding ( #2541 )
2017-12-01 03:18:20 +08:00
Alex Lam S.L
18302bf8e9
backport test from #2526 ( #2534 )
2017-11-29 13:32:00 +08:00
Alex Lam S.L
bc5047c1e7
fix inline on nested substitutions ( #2533 )
...
fixes #2531
2017-11-29 13:31:41 +08:00
Alex Lam S.L
206a54a746
fix nested hoist_props substitution ( #2523 )
...
fixes #2519
2017-11-28 14:39:00 +08:00
Alex Lam S.L
32def5ebf5
improve synergy between collapse_vars & unused ( #2521 )
2017-11-28 14:02:39 +08:00
Alex Lam S.L
ecc9f6b770
drop assignment in AST_VarDef.value ( #2522 )
...
fixes #2516
2017-11-28 13:08:40 +08:00
Alex Lam S.L
c141ae6f8d
fix argument/atom collision by properties ( #2514 )
...
fixes #2513
2017-11-25 22:52:46 +08:00
Alex Lam S.L
3b28b915eb
extend escape analysis on constant expression properties ( #2509 )
...
fixes #2508
2017-11-24 14:07:39 +08:00
Alex Lam S.L
eb001dc1d9
fix argument/atom collision by collapse_vars ( #2507 )
...
fixes #2506
2017-11-24 07:26:22 +08:00
Alex Lam S.L
8987780db6
eliminate invalid state caching in collapse_vars ( #2502 )
...
fixes #2497
2017-11-24 04:12:37 +08:00
Alex Lam S.L
30cfea2e7a
fix rename ( #2501 )
...
- suppress spurious `rename` from `commander`
- handle `AST_SymbolCatch` correctly
2017-11-24 03:05:43 +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
ae28a24c7f
fix cross-scope inlining of AST_Functions ( #2486 )
...
fixes #2485
2017-11-16 10:04:30 +08:00
Alex Lam S.L
49fbe9c5ac
fix replacement logic in collapse_vars ( #2475 )
2017-11-13 07:37:42 +08:00