Commit Graph

3459 Commits

Author SHA1 Message Date
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
Donny/강동윤
08b2aea2b0
perf(es/minifier): Use efficient logic for entry tracking in DCE (#5749) 2022-09-05 04:35:40 +00:00
OJ Kwon
1202762f30
chore(swc_core): Update deps (#5748) 2022-09-05 03:46:07 +00:00
OJ Kwon
83dbe6cdc3
fix(swc_core): Update deps (#5746) 2022-09-05 02:31:49 +00:00
SWC Bot
e7c565dbb2 chore: Publish crates 2022-09-04 16:24:37 +00:00
Donny/강동윤
96b2e17a8f
perf(es/minifier): Pre-allocate in analyzer (#5743) 2022-09-04 16:21:26 +00:00
SWC Bot
17aeba68f4 chore: Publish crates 2022-09-04 15:38:04 +00:00
Donny/강동윤
2baa640e98
perf(es/minifier): Make passes more parallel (#5741) 2022-09-04 15:34:46 +00:00
SWC Bot
c44fd43b15 chore: Publish crates 2022-09-04 14:57:35 +00:00
Donny/강동윤
64f42bec27
refactor(es/utils): Move utilities for parallel processing (#5742) 2022-09-04 23:54:36 +09:00
SWC Bot
d0f5cd38c6 chore: Publish crates 2022-09-04 14:37:47 +00:00
SWC Bot
c00f1a4d52 chore: Publish crates 2022-09-04 13:21:00 +00:00
Donny/강동윤
4e989807d7
chore(es/minifier): Fix example (#5739) 2022-09-04 22:18:05 +09:00
Donny/강동윤
74b3d2170c chore: Publish crates 2022-09-04 17:27:19 +09:00
SWC Bot
b814189f57 chore: Publish crates 2022-09-04 07:36:20 +00:00
Donny/강동윤
6ba6da62d7
perf(es/minifier): Make dead branch remover parallel (#5734) 2022-09-04 07:33:26 +00:00
SWC Bot
8c7f968b53 chore: Publish crates 2022-09-04 05:40:36 +00:00
Donny/강동윤
5936bd2b5e
perf(es/minifier): Make rename operator parallel (#5732) 2022-09-04 05:36:48 +00:00
SWC Bot
30bbe6ac4d chore: Publish crates 2022-09-04 04:52:28 +00:00
Donny/강동윤
8963db0a1d
perf(es/minifier): Skip useless analysis if not required (#5733) 2022-09-04 13:49:30 +09:00
OJ Kwon
aad50dcc6e
refactor(swc_core): Directly export swc_ecma_transforms_base (#5731) 2022-09-04 03:19:42 +00:00
SWC Bot
e97756c4b1 chore: Publish crates 2022-09-03 16:04:42 +00:00
OJ Kwon
9c43713109
fix(swc_core): Bump swc_ecma_quote_macros (#5723) 2022-09-03 16:01:45 +00:00
SWC Bot
1013d18fa8 chore: Publish crates 2022-09-03 15:11:30 +00:00
magic-akari
a3a7277909
fix(es/lexer): Drop ClassExpr context in object properties (#5729) 2022-09-03 15:08:13 +00:00
SWC Bot
fafafecb3d chore: Publish crates 2022-09-03 07:37:21 +00:00
Austaras
5b2d024788
feat(es/minifier): Relax requirement for IIFE invokation (#5721) 2022-09-03 07:33:31 +00:00
SWC Bot
a3a66c1191 chore: Publish crates 2022-09-03 06:47:08 +00:00
Donny/강동윤
31c516a922
perf(es/minifier): Optimize precompress optimizer (#5727) 2022-09-03 15:43:50 +09:00
SWC Bot
5f09a1c14a chore: Publish crates 2022-09-03 05:36:44 +00:00
Donny/강동윤
25c96b4b7a
perf(es/minifier): Use faster hash algorithm for DCE (#5725) 2022-09-03 14:33:09 +09:00
SWC Bot
0b462e2a5d chore: Publish crates 2022-09-03 05:32:12 +00:00
OJ Kwon
d6e67b5944
feat(atoms): Introduce bytecheck-ed rkyv version (#5686) 2022-09-03 14:29:02 +09:00
SWC Bot
bb5fcdbb4d chore: Publish crates 2022-09-03 04:44:48 +00:00
Donny/강동윤
5e151c8a8e
feat(es/minifier): Support cycles in DCE (#5715) 2022-09-03 04:41:54 +00:00
SWC Bot
7a6a43576a chore: Publish crates 2022-09-02 08:31:14 +00:00
OJ Kwon
9bef83681f
fix(swc_core): Fix reexport of ES transforms (#5716) 2022-09-02 08:28:00 +00:00
SWC Bot
baa5540fa2 chore: Publish crates 2022-09-02 07:44:07 +00:00
IWANABETHATGUY
383aa8510c
fix(es/parser): Improve error message (#5719) 2022-09-02 07:40:52 +00:00
SWC Bot
f2fd8dc44e chore: Publish crates 2022-09-02 01:28:36 +00:00
OJ Kwon
975cbfe0d9
refactor(swc_core): Use namespace ecma (#5713) 2022-09-02 10:24:27 +09:00
SWC Bot
d242605aa1 chore: Publish crates 2022-09-01 16:34:13 +00:00
Donny/강동윤
8827c38faf
feat(es/minifier): Make DCE single-pass (#5699) 2022-09-01 16:30:21 +00:00
SWC Bot
0a38dec525 chore: Publish crates 2022-09-01 11:50:01 +00:00
PolarETech
2b7cba8a97
fix(bundler): Handle star export with top-level await (#5707) 2022-09-01 11:46:31 +00:00
SWC Bot
1232fa634a chore: Publish crates 2022-09-01 10:39:21 +00:00
Austaras
4ef99f346b
feat(es/minifier): Relax function inline requirement (#5607) 2022-09-01 19:36:16 +09:00
SWC Bot
8d575e9b3c chore: Publish crates 2022-09-01 07:48:49 +00:00
SWC Bot
3a0b749f1e chore: Publish crates 2022-09-01 04:39:40 +00:00
Donny/강동윤
1085667049
perf(es/minifier): Enable parallel processing (#5705) 2022-09-01 13:36:30 +09:00
OJ Kwon
7686faece5
fix(swc_core): Bump versions (#5706) 2022-09-01 13:08:04 +09:00
SWC Bot
e1deec44cc chore: Publish crates 2022-08-31 11:15:03 +00:00
Donny/강동윤
5e2b6d5551
feat(es/minifier): Remove useless ES version check (#5703) 2022-08-31 11:11:54 +00:00
SWC Bot
c92a8360e0 chore: Publish crates 2022-08-31 10:36:29 +00:00
Donny/강동윤
217f519940
feat(es/minifier): Ignore closure in initializer from sequential inliner (#5702) 2022-08-31 10:33:22 +00:00
SWC Bot
32f6b672da chore: Publish crates 2022-08-31 07:50:59 +00:00
Donny/강동윤
fc28242b99
feat(es/minifier): Exclude JSON from alias list (#5698) 2022-08-31 16:47:52 +09:00
SWC Bot
18efd12d97 chore: Publish crates 2022-08-31 06:40:45 +00:00
Donny/강동윤
6febfe900c
feat(dbg-swc): Improve minifier comparator (#5681) 2022-08-31 15:37:29 +09:00
SWC Bot
d6204761f3 chore: Publish crates 2022-08-30 13:16:02 +00:00
Donny/강동윤
edef5f868b
fix(es/compat): Don't move variables from object-rest pass (#5673) 2022-08-30 13:12:11 +00:00
SWC Bot
a9f7cc3d5d chore: Publish crates 2022-08-30 12:40:49 +00:00
Donny/강동윤
b1f1a86a9d
feat(es/decorators): Support bigint (#5671) 2022-08-30 12:37:33 +00:00
SWC Bot
58077aeb12 chore: Publish crates 2022-08-30 11:58:08 +00:00
Donny/강동윤
4babf4a2c0
fix(es/typescript): Mark a namespace as concrete only if it is (#5670) 2022-08-30 11:54:29 +00:00
SWC Bot
6ee1bc9ce2 chore: Publish crates 2022-08-30 11:13:16 +00:00
Donny/강동윤
1ae539aac5
test(es/compat): Add a test for a fixed issue (#5672) 2022-08-30 11:09:58 +00:00
SWC Bot
1fa9cacad6 chore: Publish crates 2022-08-30 09:58:58 +00:00
Donny/강동윤
4820f0cbcc
fix(es/compat): Handle yield in block scoping pass (#5668) 2022-08-30 09:55:18 +00:00
SWC Bot
1ba1ad4984 chore: Publish crates 2022-08-30 08:04:12 +00:00
Donny/강동윤
fd39bb6bff
fix(es/minifier): Don't inline variables declared multiple times (#5667) 2022-08-30 07:52:21 +00:00
Donny/강동윤
cfc3880379 chore: Publish crates 2022-08-30 12:27:05 +09:00
SWC Bot
815a7e6f3c chore: Publish crates 2022-08-30 03:25:43 +00:00
Donny/강동윤
d43334eb92
feat(es/minifier): Remove redundant check (#5664) 2022-08-30 12:22:18 +09:00
Alexander Akait
5c28d00516
fix(css/parser): Improve parsing of media queries (#5567) 2022-08-30 03:18:43 +00:00
SWC Bot
5028658269 chore: Publish crates 2022-08-30 01:59:00 +00:00
Alexander Akait
4a5e347a8a
fix(css/minifier): Don't compress none for keyframes (#5663) 2022-08-30 01:55:29 +00:00
SWC Bot
213d8b9ab5 chore: Publish crates 2022-08-29 15:29:16 +00:00
Alexander Akait
e2aca46889
feat(css): Support forgiving selector (#5539) 2022-08-29 15:25:48 +00:00
SWC Bot
99c7b976f9 chore: Publish crates 2022-08-29 11:30:29 +00:00
magic-akari
6c2c2587ff
perf(es/lexer): Improve keyword tokenizer (#5658) 2022-08-29 11:27:11 +00:00
SWC Bot
f06b2536d2 chore: Publish crates 2022-08-29 10:52:47 +00:00
magic-akari
095cbf1b4f
test(es/transforms): Respect directives in tsc tests (#5648) 2022-08-29 10:49:01 +00:00
SWC Bot
e951aa6996 chore: Publish crates 2022-08-29 10:14:19 +00:00
Donny/강동윤
537449e53b
fix(es/codegen): Emit trailing semicolon (#5659) 2022-08-29 10:10:55 +00:00
SWC Bot
d01cdca11f chore: Publish crates 2022-08-29 06:20:48 +00:00
Donny/강동윤
2cddb240c9
test(es/transforms): Add tests for fixed issues (#5655) 2022-08-29 06:17:16 +00:00
SWC Bot
51335ebc35 chore: Publish crates 2022-08-28 04:00:47 +00:00
Donny/강동윤
efd6a3603c
test(es/transforms): Enable tests for resolved issues (#5651) 2022-08-28 03:57:23 +00:00
SWC Bot
f2a0eef4f1 chore: Publish crates 2022-08-28 03:18:09 +00:00
Donny/강동윤
100f359e5d
fix(es/minifier): Fix optimization of template literals with escape (#5650) 2022-08-28 03:15:12 +00:00
SWC Bot
3917522bf1 chore: Publish crates 2022-08-27 15:48:16 +00:00
magic-akari
0f0d1db301
feat(es/parser): Handle async in for...of (#5646) 2022-08-27 15:44:51 +00:00
SWC Bot
4132902826 chore: Publish crates 2022-08-27 06:09:27 +00:00
Donny/강동윤
488562baac
doc(rustdoc): Document rust APIs (#5647) 2022-08-27 06:06:19 +00:00
SWC Bot
0d053b9782 chore: Publish crates 2022-08-26 14:17:17 +00:00
magic-akari
838438dc9d
fix(es/parser): Handle more TS2406 errors (#5640) 2022-08-26 14:13:38 +00:00
SWC Bot
7a8a172479 chore: Publish crates 2022-08-26 10:09:47 +00:00
Donny/강동윤
a06e6e9ce5
fix(es/minifier): Fix alias analyzer (#5639) 2022-08-26 10:06:25 +00:00
SWC Bot
e434c834c3 chore: Publish crates 2022-08-26 09:31:37 +00:00
Donny/강동윤
e8edb67def
feat(es): Improve APIs for plugin authors (#5632)
- All variants of `Expr` now implement `Into<Box<Expr>>`.
 - All variants of `Expr` now implement `Into<PatOrExpr>`.
 - All variants of `Pat` now implement `Into<PatOrExpr>`.
 - All variants of `Pat` now implement `Into<Param>`.
 - `StmtOrModuleItem` is improved.
2022-08-26 09:28:14 +00:00
SWC Bot
048beefb33 chore: Publish crates 2022-08-26 08:49:14 +00:00
Donny/강동윤
d44bbffa02
fix(es/minifier): Revert alias analyzer work (#5634) 2022-08-26 08:45:49 +00:00