Donny/강동윤
af922d83e5
feat(es/minifier): Support mangle cache ( #9489 )
...
**Description:**
This PR adds a name cache for the mangler. It's implemented using a `Mutex`, and it's exposed to JS as an experimental API. Note that JS API only provides an opaque object.
2024-08-25 23:42:53 +00:00
Donny/강동윤
a417ff4d86
feat(allocator): Add maybe
types ( #9278 )
2024-07-19 13:22:34 +09:00
Donny/강동윤
b2491e5461
refactor(common): Drop SyntaxContext
from AST nodes ( #9175 )
2024-07-12 13:13:20 +09:00
Austaras
b676e75cdd
test(es/minifier): Enable script mode for terser_exec
and mangle
( #8474 )
2024-01-02 06:00:26 +00:00
Donny/강동윤
ee7575695d
feat(es/codegen): Add an option to print assert
for import attributes ( #7914 )
...
**Description:**
- `jsc.experimental.keepImportAssertions` is renamed to `jsc.experimental.keepImportAttributes`.
- `jsc.experimental.emitAssertForImportAttributes` is added.
**Related issue:**
- Closes #7908
2023-09-05 21:24:25 +09:00
Donny/강동윤
ec7e913815
fix(es/minifier): Make name mangler respect toplevel
( #6774 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/6418 .
2023-01-10 06:42:49 +00:00
Donny/강동윤
8c4873f81e
test(es/minifier): Remove mangle-only snapshots ( #5979 )
...
**Description:**
We don't have to store snapshots of all fixtures.
2022-09-28 21:35:52 +09:00
Donny/강동윤
5314ac5d02
feat(es/minifier): Use char frequency data for property manglers ( #5932 )
2022-09-22 22:14:26 +09:00
Donny/강동윤
a5f7b6946f
fix(es/minifier): Don't replace parameters of IIFE if it's recursive ( #5852 )
...
**Description:**
While investigating, I found that problem is not the analysis of recursive functions. Instead, it was a problem with the IIFE evaluator, which replaces parameters even if it's recursive.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5846
2022-09-14 05:02:14 +00:00
Donny/강동윤
60ce462215
feat(es/minifier): Align name mangler with terser ( #5763 )
2022-09-06 21:37:58 +09:00
Donny/강동윤
3943eb24d1
feat(es/minifier): Consider char frequencies ( #5375 )
2022-08-03 10:20:17 +00:00
Donny/강동윤
99a474cb2d
refactor(es/minifier): Use Program
instead of Module
( #4969 )
2022-06-14 16:33:38 +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/강동윤
eb8508f88c
feat(es/codegen): Implement ascii-only ( #4660 )
2022-05-15 05:07:21 +00:00
Donny/강동윤
7fc9bbccd9
feat(config): Make all configuration overridable ( #4575 )
2022-05-09 05:38:27 +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/강동윤
4a8b1dad1d
test(es/minifier): Organize tests ( #4375 )
2022-04-20 15:52:03 +09:00
Donny/강동윤
97dfcb9ccb
chore(es/minifier): Add logging ( #4156 )
2022-03-25 06:44:07 +00:00
Donny/강동윤
76e646804a
fix(es/parser): Parse if-else chain iteratively ( #3961 )
2022-03-11 09:10:54 +00:00
Donny/강동윤
3d944656bf
refactor(es): Make compilation faster ( #3749 )
2022-02-26 06:41:14 +00:00
William Tetlow
5488159ba5
feat(es/minifier): Implement reserved
mangle option ( #3476 )
2022-02-10 13:53:47 +09:00
Donny/강동윤
9b76783281
refactor(common): Cleanup & rustfmt ( #3495 )
...
swc_common:
- Merge identical source codes.
swc_css_parser:
- Deny `clippy::all`.
- Fix lints.
2022-02-09 06:33:32 +00:00
Donny/강동윤
7ef3bfa5b6
refactor(es/minifier): Merge execution tests into a file to make git
faster ( #3377 )
2022-01-27 17:41:43 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy
( #3250 )
2022-01-13 23:06:11 +09:00
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript
( #2708 )
2021-11-10 19:00:54 +09:00