Commit Graph

17 Commits

Author SHA1 Message Date
Donny/강동윤
19ce2737b1
feat(es/minifier): Collapse let without init (#5909)
**Description:**

This patch applies the variable collapsing logic for the variables declared with `var` to the variables declared with `let`. This requires some patch about the behavior of visitors about `BlockStmt`, so this patch includes relevant changes.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5696.
2022-09-21 15:04:29 +00:00
Donny/강동윤
a9873e505d
perf(es/minifier): Optimize analyzer (#5908) 2022-09-20 08:21:39 +00:00
Alexander Akait
7f62fa6227
perf(html): Reduce memory usage (#5867) 2022-09-15 04:17:05 +00:00
Austaras
ee26337a25
feat(es/minifier): Inline lazily initialized variables (#5737)
Safety:

For a function-local variable, an expression with side-effects would be a call, including an indirect one with a member expression.

 - If the call is function-local, it will be analyzed by the analyzer and inliner will not work.
 - If the call is not a function-local one, it cannot modify the local variable.
2022-09-08 08:07:43 +00:00
Donny/강동윤
60ce462215
feat(es/minifier): Align name mangler with terser (#5763) 2022-09-06 21:37:58 +09:00
Donny/강동윤
d81fe67e4b
feat(es/minifier): Improve gzipped size (#5631) 2022-08-26 05:23:01 +00:00
Austaras
69f8945911
feat(es/minifier): Remove more functions and classes (#5552) 2022-08-19 04:28:06 +00:00
Donny/강동윤
3943eb24d1
feat(es/minifier): Consider char frequencies (#5375) 2022-08-03 10:20:17 +00:00
Donny/강동윤
36d960c7e9
perf(es/hygiene): Make hygiene faster (#4952) 2022-06-15 14:36:57 +00:00
Donny/강동윤
7f69b9c80f
test(es/minifier): Add snapshots for the mangler (#4823)
I found a way to make the name mangler parallel, but I want to ensure that we don't break anything.
2022-05-27 07:32:23 +00:00
Donny/강동윤
49b3c2715c
refactor(es/minifier): Make rust-analyzer fast, really (#4746) 2022-05-23 16:16:05 +09:00
Donny/강동윤
47e6cc5190
refactor(es/minifier): Make rust-analyzer faster (#4744)
- We now use a separate crate for testing the minifier. This makes IDE much faster.
2022-05-23 15:53:01 +09:00
Donny/강동윤
36ff4f735f
test(es/minifier): Add size tests using dbg-swc (#4664) 2022-05-16 03:01:53 +00:00
Donny/강동윤
a6d404a8c2
chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
Donny/강동윤
53610fdafc
feat(es/resolver): Use different syntax context for unresolved refs (#4436)
- We don't need a list of bindings to check if an identifier is unresolved.
 - Checking if an identifier is unresolved is now one CPU instruction.
   - Previously it was one hashmap operation.
 - This PR also improves performance, by removing the hashmaps mentioned above.
2022-04-26 07:38:50 +00:00
Donny/강동윤
9733917cc7
fix(es/minifier): Fix analysis of update expressions (#4428) 2022-04-25 12:07:27 +00:00
Donny/강동윤
4a8b1dad1d
test(es/minifier): Organize tests (#4375) 2022-04-20 15:52:03 +09:00