Commit Graph

3461 Commits

Author SHA1 Message Date
SWC Bot
d8c1e4a62e chore: Publish crates 2022-09-13 03:56:39 +00:00
Austaras
8567a38c4a
feat(es/minifier): Extend inlining of identifiers to multi-usage (#5832) 2022-09-13 03:52:47 +00:00
SWC Bot
6cb280fdb5 chore: Publish crates 2022-09-13 03:09:24 +00:00
Alexander Akait
b691fec7b7
perf(html/minifier): Improve performance (#5840) 2022-09-13 03:06:08 +00:00
SWC Bot
b2c0fbd7ba chore: Publish crates 2022-09-13 02:19:15 +00:00
magic-akari
10637b006f
fix(es/parser): Handle more TS1185 (#5834) 2022-09-13 02:16:22 +00:00
SWC Bot
35b88e3adc chore: Publish crates 2022-09-12 22:34:21 +00:00
OJ Kwon
856d741ec7
feat(swc_core): Export testing utilities (#5839)
**Description:**

This PR exports general testing utilities from swc_core.
2022-09-12 22:31:26 +00:00
SWC Bot
2df19176fb chore: Publish crates 2022-09-12 05:16:53 +00:00
Donny/강동윤
10484edbf7
perf(es/parser): Optimize memory layout (#5833)
**Description:**

I boxed `BigIntValue` in the `Token` type to make `TokenAndSpan` smaller and made the parser use `Vec` instead of `SmallVec` for token contexts.
2022-09-12 05:14:09 +00:00
SWC Bot
9f28c246dc chore: Publish crates 2022-09-12 04:34:08 +00:00
Donny/강동윤
24004270d9
perf(atoms): Reduce size of Atom (#5831)
**Description:**

This patch reduces the memory footprint.
2022-09-12 04:31:17 +00:00
SWC Bot
485632ae03 chore: Publish crates 2022-09-12 01:14:29 +00:00
Alexander Akait
1803874f14
fix(css/minifier): Fix minification of universal selectors (#5826) 2022-09-12 01:11:36 +00:00
SWC Bot
bfb06f1248 chore: Publish crates 2022-09-12 00:28:51 +00:00
SWC Bot
c92474ee13 chore: Publish crates 2022-09-11 23:40:40 +00:00
Alexander Akait
b531410ea9
fix(css/minifier): Compress alpha (#5825) 2022-09-11 23:37:35 +00:00
SWC Bot
7811ceea3b chore: Publish crates 2022-09-11 13:59:34 +00:00
Donny/강동윤
4f119b2693
perf(css): Optimize memory layout of ast types (#5823) 2022-09-11 13:56:48 +00:00
SWC Bot
fb2c33e132 chore: Publish crates 2022-09-11 09:28:02 +00:00
Donny/강동윤
9e81c2639b
perf(css/minifier): Merge passes and reduce clone (#5822) 2022-09-11 18:24:53 +09:00
SWC Bot
35736a313d chore: Publish crates 2022-09-11 07:19:34 +00:00
Donny/강동윤
4fa5a2778b
perf(css/minifier): Merge more passes into the compressor (#5821) 2022-09-11 16:16:45 +09:00
SWC Bot
70f1be9919 chore: Publish crates 2022-09-11 06:26:58 +00:00
Donny/강동윤
f523502f4c
perf(css/minifier): Merge passes (#5820)
**Description:**

A single visitor is better for performance.
2022-09-11 15:24:02 +09:00
SWC Bot
2b1e73737f chore: Publish crates 2022-09-11 06:21:56 +00:00
Donny/강동윤
cfe575e35a
perf(es/minifier): Make expression simplifier stateless and parallel (#5819) 2022-09-11 06:18:44 +00:00
SWC Bot
5fe032c01a chore: Publish crates 2022-09-11 03:00:57 +00:00
RiESAEX
8adbe1675e
fix(es/parser): Keep comments of the RHS of a binary expression (#5812) 2022-09-11 02:58:06 +00:00
SWC Bot
7f6483a94c chore: Publish crates 2022-09-11 02:07:00 +00:00
OJ Kwon
2819be5aac
feat(swc_core): Export swc_common/sourcemap (#5818) 2022-09-11 02:04:15 +00:00
SWC Bot
4084fc1aeb chore: Publish crates 2022-09-10 17:14:48 +00:00
Donny/강동윤
704ea3d48d
perf(es/minifier): Optimize usage of IndexSet (#5814) 2022-09-10 17:11:41 +00:00
SWC Bot
b2b7b23460 chore: Publish crates 2022-09-10 16:23:17 +00:00
SWC Bot
961a9047c0 chore: Publish crates 2022-09-10 15:07:06 +00:00
IWANABETHATGUY
97729e5d2b
feat(es/parser): Improve jsx lexer (#5805) 2022-09-11 00:03:51 +09:00
SWC Bot
133da8e92b chore: Publish crates 2022-09-10 10:46:37 +00:00
SWC Bot
0fe3ee682a chore: Publish crates 2022-09-10 10:06:02 +00:00
Donny/강동윤
72a8b608d6
perf(css/parser): Skip whiltespace from lexer (#5810)
**Description:**

Lexer can handle it more efficiently.
2022-09-10 10:01:45 +00:00
SWC Bot
f739976bdd chore: Publish crates 2022-09-10 09:21:51 +00:00
Donny/강동윤
91ed13e098
perf(css/parser): Remove needless branching (#5809) 2022-09-10 18:18:47 +09:00
SWC Bot
53b134f80b chore: Publish crates 2022-09-10 08:35:20 +00:00
Donny/강동윤
96cc888ef2
perf(css/parser): Use ascii operations (#5808)
**Description:**

We don't need Unicode handling in these cases.
2022-09-10 08:32:35 +00:00
SWC Bot
417b1f2a92 chore: Publish crates 2022-09-10 07:23:37 +00:00
Donny/강동윤
7391cc99b1
perf(css/minifier): Use JsWord instead of &str (#5806) 2022-09-10 07:20:51 +00:00
SWC Bot
6cf71285a6 chore: Publish crates 2022-09-10 06:39:04 +00:00
Donny/강동윤
b96eb1ead8
perf(css/codegen): Skip useless operations if not required (#5802)
**Description:**

The column is used only for sourcemap, so we can skip `chars().count()` if we are not generating source maps.
2022-09-10 15:36:15 +09:00
SWC Bot
4c078b0ac3 chore: Publish crates 2022-09-10 06:04:28 +00:00
magic-akari
aa8672e739
fix(es/compat): Fix generator (#5796)
**Description:**

- Merge `temp_vars` into `hoisted_vars`.
- Fix the context of the function call and new call.

**Related issue (if exists):**

 - https://github.com/vercel/next.js/issues/40399
2022-09-10 15:01:43 +09:00
SWC Bot
c8bb70f97e chore: Publish crates 2022-09-10 05:48:09 +00:00
Donny/강동윤
49942ca773
perf(es/codegen): Skip useless operations if not required (#5803)
**Description:**

The column is used only for sourcemap, so we can skip `chars().count()` if we are not generating source maps.
2022-09-10 14:45:23 +09:00
SWC Bot
4859052f4f chore: Publish crates 2022-09-10 04:42:39 +00:00
Donny/강동윤
88e59ffcda
perf(css/minifier): Setup benchmark (#5800)
**Description:**

I created a simple benchmark for the css minifier. It's full benchmark, which also profiles parser and codegen
2022-09-10 13:39:55 +09:00
SWC Bot
a94d9f1fbd chore: Publish crates 2022-09-10 03:54:47 +00:00
Donny/강동윤
2bbc9bd73b
refactor(es/plugin): Fix lints (#5801) 2022-09-10 12:50:54 +09:00
SWC Bot
575940e770 chore: Publish crates 2022-09-09 08:09:53 +00:00
OJ Kwon
6f19f8902f
refactor(swc_core): enable bytechecked flag (#5792)
**Description:**

Another update to enable bytecheck rkyv feature flag.

Our dep tree is quite tangled with implicit enable (plugin -> rkyv). PR tries to detach some of it while trying to preserve existing behavior as much as it can.
2022-09-09 08:05:51 +00:00
SWC Bot
54b108dc51 chore: Publish crates 2022-09-09 05:55:06 +00:00
Donny/강동윤
21fbcb9621
refactor(es/renamer): Rename PARALLEL to MANGLE (#5790)
**Description:**

Actually, performance issue comes from collision, not parallelism. So I renamed the associated constant.
2022-09-09 05:51:45 +00:00
SWC Bot
701fa74631 chore: Publish crates 2022-09-09 05:05:59 +00:00
magic-akari
9c998d4406
fix(es): Use paren_remover pass (#5753)
**Description:**

We now apply the paren_remover pass before applying other transforms.

**Related issue:**
 - Closes #5652 
 - Closes #5752
2022-09-09 05:02:24 +00:00
SWC Bot
0fe604817a chore: Publish crates 2022-09-09 04:14:30 +00:00
Donny/강동윤
097245a196
test(es): Add more execution tests (#5788)
**Description:**

This PR adds all execution tests extracted from babel.
2022-09-09 04:11:18 +00:00
SWC Bot
b5deaa77f1 chore: Publish crates 2022-09-08 15:09:08 +00:00
Donny/강동윤
f11461d3f5
test(es): Enable tests for fixed issues (#5784) 2022-09-08 15:05:39 +00:00
SWC Bot
9b723cc6f5 chore: Publish crates 2022-09-08 08:11:24 +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
SWC Bot
32cd51dc29 chore: Publish crates 2022-09-08 05:26:49 +00:00
Donny/강동윤
24b60d2b64
feat(es/minifier): Change order of renaming to align with terser (#5780)
**Description:**

 - Change the order of renaming to match one of `terser`.
2022-09-08 05:23:23 +00:00
SWC Bot
d2188eac3f chore: Publish crates 2022-09-08 04:28:01 +00:00
magic-akari
7deadd8667
feat(es/lexer): Recover from git merge conflict (#5775) 2022-09-08 04:24:44 +00:00
SWC Bot
bc39c9b9f2 chore: Publish crates 2022-09-08 01:39:44 +00:00
Alexander Akait
1b200a0582
chore(html/parser): Typo (#5778) 2022-09-08 01:36:02 +00:00
SWC Bot
bad9811ea8 chore: Publish crates 2022-09-07 06:16:59 +00:00
Donny/강동윤
c10d55780e
perf(es/parser): Operate on u8 (#5774) 2022-09-07 06:13:32 +00:00
SWC Bot
4507b10219 chore: Publish crates 2022-09-07 05:32:06 +00:00
Donny/강동윤
c2d10503db
perf(es/minifier): Make passes more parallel (#5773) 2022-09-07 14:28:36 +09:00
SWC Bot
0649b054b4 chore: Publish crates 2022-09-07 04:49:51 +00:00
Donny/강동윤
32a73fbf22
fix(es/minifier): Fix calculation of character frequency (#5772) 2022-09-07 04:46:21 +00:00
SWC Bot
c9a6c2193e chore: Publish crates 2022-09-07 03:54:49 +00:00
Austaras
90852f5aa6
fix(es/minifier): Fix analysis of assignments and classes (#5770) 2022-09-07 03:51:42 +00:00
SWC Bot
cee1c48298 chore: Publish crates 2022-09-07 02:09:22 +00:00
SWC Bot
d6a5acd30b chore: Publish crates 2022-09-06 16:50:15 +00:00
SWC Bot
51b9d694be chore: Publish crates 2022-09-06 13:28:30 +00:00
Donny/강동윤
9d29abcd5b
chore(es/minifier): Fix size calculator script (#5767) 2022-09-06 22:23:57 +09:00
SWC Bot
e654741336 chore: Publish crates 2022-09-06 12:41:54 +00:00
Donny/강동윤
60ce462215
feat(es/minifier): Align name mangler with terser (#5763) 2022-09-06 21:37:58 +09:00
SWC Bot
50bb6ffea9 chore: Publish crates 2022-09-06 11:09:32 +00:00
magic-akari
52f6ca5fb8
test(es/tsc): Handle tsx (#5764) 2022-09-06 11:05:45 +00:00
SWC Bot
910526980b chore: Publish crates 2022-09-06 05:39:57 +00:00
Donny/강동윤
27e9254280
perf(es/minifier): Make MultiReplacer single-pass (#5761) 2022-09-06 14:36:53 +09:00
SWC Bot
8493c88b06 chore: Publish crates 2022-09-06 01:42:23 +00:00
Austaras
948d708144
fix(es/minifier): Don't drop parameters in an exported function (#5757) 2022-09-06 10:39:23 +09:00
SWC Bot
55b03eb970 chore: Publish crates 2022-09-05 13:40:03 +00:00
IWANABETHATGUY
9fc6eda89a
fix(es/parser): Fix detection of wrong delete targets (#5754) 2022-09-05 13:36:24 +00:00
SWC Bot
912dd8f6a1 chore: Publish crates 2022-09-05 09:28:21 +00:00
Donny/강동윤
6e2002a148
perf(es/minifier): Improve codegen of name mangler (#5751) 2022-09-05 09:25:10 +00:00
SWC Bot
b6efd4300e chore: Publish crates 2022-09-05 07:09:22 +00:00
Donny/강동윤
8789184d44
perf(es/minifier): Cache the list of bindings for DCE (#5750) 2022-09-05 07:05:44 +00:00
SWC Bot
e8dd50c12e chore: Publish crates 2022-09-05 04:39:12 +00:00