Commit Graph

6 Commits

Author SHA1 Message Date
Donny/강동윤
ac1d4058f2
fix(es/minifier): Fix analyzer (#3557)
swc_ecma_utils:
 - `collect_decls`: Support paramters of arrow expressions.

swc_ecma_minifier:
 - `analyzer`: Fix `has_property_mutation`.
2022-02-14 15:47:16 +09:00
Donny/강동윤
73e9185bba
test(es/minifier): Add snapshot testing for the analyzer (#3529) 2022-02-11 18:33:08 +09:00
Donny/강동윤
68e9017376
fix(es/minifier): Improve minifier (#3350)
swc_ecma_transforms_optimization:
 - `expr_simplifier`: Track more changes.

swc_ecma_minifier:
 - Analyze after applying the pure optimizer.
 - Preserve access to a variable not in scope.
 - `compress`: Remove string literal if it was not a directive.
 - `pure/collapse_vars`: Merge vars declared in the first statement into one with initializers if `collapse_vars` and `join_vars` are enabled.
 - `unused`: Use `usage_count` instead of `ref_count`.
 - `unused`: Fix dropping rule for member expressions.
 - `unused`: Fix dropping rule for declarations.
 - `hoist_props`: Preserve exported items.
2022-01-27 15:36:22 +09:00
Donny/강동윤
6921ffbbda
fix(es/minifier): Respect block scoping while negating if statements (#3344)
swc_ecma_minifier:
 - Don't negate a if statement if it has `let`/`const` binding.
2022-01-24 00:19:33 +09:00
Donny/강동윤
8e796cdc0a
fix(es/minifier): Don't emit invalid code (#3302)
swc_ecma_minifier:
 - Add lots of debug assertions for invalid codes.
 - Remove all invalid AST nodes eagerly.
 - `pure`: Normalize `PatOrExpr`.
 - `analyzer`: Handle `PatOrExpr` correctly.
2022-01-18 20:52:21 +09:00
Donny/강동윤
057fca4196
chore(es/minifier): Add scripts to extract tests automatically (#3212) 2022-01-10 16:59:21 +09:00