Commit Graph

627 Commits

Author SHA1 Message Date
Donny/강동윤
ea03ce1a82
refactor(es/minifier): Don't create invalid nodes (#6191)
**Description:**

A sequential expression should have at leat two elements.
2022-10-21 00:33:40 +00:00
SWC Bot
3f648bdf0f chore: Publish crates 2022-10-20 08:59:26 +00:00
SWC Bot
0c23592d14 chore: Publish crates 2022-10-20 01:50:04 +00:00
SWC Bot
6008995db1 chore: Publish crates 2022-10-19 04:56:51 +00:00
Donny/강동윤
27896f4751
perf(es/transforms): Exclude old inlining pass (#6203)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6194.
2022-10-19 04:53:46 +00:00
SWC Bot
b48ec880fd chore: Publish crates 2022-10-19 04:00:51 +00:00
SWC Bot
a049ef058b chore: Publish crates 2022-10-18 14:51:39 +00:00
SWC Bot
789ea16fc8 chore: Publish crates 2022-10-18 05:41:47 +00:00
SWC Bot
fed888f822 chore: Publish crates 2022-10-17 08:33:49 +00:00
SWC Bot
99c55dc93b chore: Publish crates 2022-10-16 15:52:36 +00:00
SWC Bot
b3b8e2192d chore: Publish crates 2022-10-16 00:28:22 +00:00
SWC Bot
c3ba51f48e chore: Publish crates 2022-10-15 23:59:27 +00:00
SWC Bot
78f2d6012c chore: Publish crates 2022-10-15 12:55:40 +00:00
Donny/강동윤
2e153e5555
fix(es/minifier): Don't create a numeric literal with NaN value (#6166) 2022-10-15 12:52:34 +00:00
SWC Bot
23e30fd149 chore: Publish crates 2022-10-15 09:14:15 +00:00
Donny/강동윤
aec5cdacc6
fix(es/minifier): Preserve this of tagged template literals (#6165)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6146
2022-10-15 09:11:20 +00:00
SWC Bot
a50b5aeeb1 chore: Publish crates 2022-10-14 10:42:11 +00:00
SWC Bot
1affcfe8e8 chore: Publish crates 2022-10-13 06:12:56 +00:00
SWC Bot
56da9981bb chore: Publish crates 2022-10-12 10:06:01 +00:00
SWC Bot
7c9cb80a52 chore: Publish crates 2022-10-12 04:34:51 +00:00
SWC Bot
e37ced5bf4 chore: Publish crates 2022-10-12 01:55:47 +00:00
SWC Bot
dcb3a4371d chore: Publish crates 2022-10-11 23:55:24 +00:00
SWC Bot
521bdbe9cc chore: Publish crates 2022-10-11 23:11:17 +00:00
SWC Bot
5bf306565f chore: Publish crates 2022-10-11 11:23:16 +00:00
SWC Bot
018ca946e7 chore: Publish crates 2022-10-10 13:09:51 +00:00
SWC Bot
3171718e07 chore: Publish crates 2022-10-07 07:48:18 +00:00
SWC Bot
477626b9ff chore: Publish crates 2022-10-07 05:55:53 +00:00
Donny/강동윤
e6b1dd4731
feat(es/testing): Add an option to test sourcemap (#6079) 2022-10-07 05:52:22 +00:00
SWC Bot
d750f0e03c chore: Publish crates 2022-10-06 16:11:15 +00:00
Donny/강동윤
e88c1c04e1
perf(es/minifier): Remove double-visit of DCE (#6069)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6066.
2022-10-06 16:08:03 +00:00
SWC Bot
5f49ac012e chore: Publish crates 2022-10-06 11:38:55 +00:00
SWC Bot
ad58d5daf8 chore: Publish crates 2022-10-06 01:40:03 +00:00
SWC Bot
37286e369e chore: Publish crates 2022-10-04 15:22:12 +00:00
SWC Bot
5df3eb1f43 chore: Publish crates 2022-10-04 14:37:35 +00:00
SWC Bot
676831477c chore: Publish crates 2022-10-04 12:46:12 +00:00
SWC Bot
d620ce60ff chore: Publish crates 2022-10-02 15:36:08 +00:00
SWC Bot
b6824ff254 chore: Publish crates 2022-10-01 03:36:56 +00:00
SWC Bot
2f626e95eb chore: Publish crates 2022-09-30 07:16:28 +00:00
SWC Bot
f86ff4fa7c chore: Publish crates 2022-09-29 05:19:48 +00:00
SWC Bot
c499e2054d chore: Publish crates 2022-09-28 22:57:51 +00:00
SWC Bot
1c9870a744 chore: Publish crates 2022-09-28 13:44:08 +00:00
SWC Bot
d75addbdec chore: Publish crates 2022-09-28 10:37:40 +00:00
SWC Bot
b5be765a87 chore: Publish crates 2022-09-28 05:39:30 +00:00
Austaras
aff4ea5f44
fix(es/minifier): Preserve exports in DCE (#5973) 2022-09-28 05:35:51 +00:00
SWC Bot
f655488cfa chore: Publish crates 2022-09-27 13:57:39 +00:00
SWC Bot
a5918422bf chore: Publish crates 2022-09-27 11:52:21 +00:00
SWC Bot
1682095813 chore: Publish crates 2022-09-27 05:54:04 +00:00
SWC Bot
e001226674 chore: Publish crates 2022-09-26 09:21:39 +00:00
SWC Bot
e1f421b6af chore: Publish crates 2022-09-25 01:36:48 +00:00
SWC Bot
e5ba9636ac chore: Publish crates 2022-09-24 03:36:47 +00:00
Donny/강동윤
3c3529cb84
build(rustc): Update rustc (#5943)
**Description:**

This PR updates rustc, and fix some performance bugs of `swc_common`.
2022-09-24 03:33:47 +00:00
SWC Bot
8a5ed1e0ba chore: Publish crates 2022-09-23 07:50:26 +00:00
SWC Bot
8dbef496cf chore: Publish crates 2022-09-22 13:58:09 +00:00
Donny/강동윤
e16827cc9d
feat(es/minifier): Drop cycles in nested functions (#5933) 2022-09-22 13:54:49 +00:00
SWC Bot
4c3813dbcc chore: Publish crates 2022-09-22 03:16:22 +00:00
SWC Bot
8a9cc7dd2a chore: Publish crates 2022-09-21 07:33:40 +00:00
SWC Bot
5c2b1bb15d chore: Publish crates 2022-09-20 03:51:28 +00:00
Donny/강동윤
1a182ef8d9
perf(es): Optimize memory layout of AST (#5829) 2022-09-20 12:47:21 +09:00
Donny/강동윤
f0ca487848 chore: Publish crates 2022-09-16 15:46:25 +09:00
SWC Bot
52c17f3056 chore: Publish crates 2022-09-15 14:49:03 +00:00
SWC Bot
1d633e8ba7 chore: Publish crates 2022-09-15 06:08:07 +00:00
SWC Bot
ec8bb432b9 chore: Publish crates 2022-09-15 05:23:46 +00:00
SWC Bot
73ee9d6784 chore: Publish crates 2022-09-15 03:06:15 +00:00
SWC Bot
d35792f424 chore: Publish crates 2022-09-14 07:56:20 +00:00
SWC Bot
8432c0a1ad chore: Publish crates 2022-09-14 07:19:24 +00:00
SWC Bot
0c24841274 chore: Publish crates 2022-09-14 06:54:54 +00:00
Donny/강동윤
32f18068ad
fix(es/minifier): Preserve more side effects (#5853)
**Description:**

We now preserve more side effects.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5680.
2022-09-14 06:51:56 +00:00
SWC Bot
0a56a2d5ab chore: Publish crates 2022-09-14 06:10:39 +00:00
SWC Bot
76d22dfeb1 chore: Publish crates 2022-09-13 07:46:53 +00:00
SWC Bot
cae41739d5 chore: Publish crates 2022-09-13 06:48:34 +00:00
Donny/강동윤
fe3072b12a
perf(es/minifier): Reduce type sizes (#5843) 2022-09-13 06:45:33 +00:00
SWC Bot
c624c3de03 chore: Publish crates 2022-09-13 06:06:00 +00:00
Donny/강동윤
b6cf9750ec
perf(es/minifier): Make the expression simplifier more parallel (#5841)
**Description:**

It was not parallel enough.
2022-09-13 06:02:44 +00:00
SWC Bot
d16fb9a8cf chore: Publish crates 2022-09-13 05:04:36 +00:00
SWC Bot
b2c0fbd7ba chore: Publish crates 2022-09-13 02:19:15 +00:00
SWC Bot
2df19176fb chore: Publish crates 2022-09-12 05:16:53 +00:00
SWC Bot
9f28c246dc chore: Publish crates 2022-09-12 04:34:08 +00: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
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
961a9047c0 chore: Publish crates 2022-09-10 15:07:06 +00:00
SWC Bot
417b1f2a92 chore: Publish crates 2022-09-10 07:23:37 +00:00
SWC Bot
4c078b0ac3 chore: Publish crates 2022-09-10 06:04:28 +00:00
SWC Bot
c8bb70f97e chore: Publish crates 2022-09-10 05:48:09 +00:00
SWC Bot
575940e770 chore: Publish crates 2022-09-09 08:09:53 +00:00
SWC Bot
54b108dc51 chore: Publish crates 2022-09-09 05:55:06 +00:00
SWC Bot
701fa74631 chore: Publish crates 2022-09-09 05:05:59 +00:00
SWC Bot
d2188eac3f chore: Publish crates 2022-09-08 04:28:01 +00:00
SWC Bot
bad9811ea8 chore: Publish crates 2022-09-07 06:16:59 +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
e654741336 chore: Publish crates 2022-09-06 12:41:54 +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
83dbe6cdc3
fix(swc_core): Update deps (#5746) 2022-09-05 02:31:49 +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
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
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
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
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
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
e951aa6996 chore: Publish crates 2022-08-29 10:14:19 +00:00
SWC Bot
1dd17ffd23 chore: Publish crates 2022-08-25 16:14:21 +00:00
SWC Bot
e5926186ee chore: Publish crates 2022-08-25 09:01:43 +00:00
SWC Bot
3ea433bd0a chore: Publish crates 2022-08-25 04:53:03 +00:00
OJ Kwon
1769191f9a
chore(swc_core): Update dependency version (#5595) 2022-08-23 10:10:30 +09:00
OJ Kwon
9bc40e3d08
build(swc_core): Fix dependency version (#5593) 2022-08-23 00:21:29 +00:00
SWC Bot
1d235e0d06 chore: Publish crates 2022-08-22 00:45:24 +00:00
SWC Bot
2c35990a07 chore: Publish crates 2022-08-21 08:33:31 +00:00
Donny/강동윤
f7b34e70e9 chore: Publish crates 2022-08-17 14:28:18 +09:00
OJ Kwon
76797b1fc1
build(bindings): Bump up swc_core (#5484) 2022-08-14 07:48:15 +00:00
Donny/강동윤
925839adc6 chore: Publish crates 2022-08-13 19:11:26 +09:00
Donny/강동윤
1b089be611 chore: Publish crates 2022-08-13 14:09:52 +09:00
Donny/강동윤
d2f2a1315b chore: Publish crates 2022-08-13 00:49:08 +09:00
SWC Bot
415c495505 chore: Publish crates 2022-08-12 13:42:01 +00:00
Austaras
5a06271116
feat(es/compat): Add pure comments for generator and async transform (#5463) 2022-08-12 13:39:26 +00:00
Donny/강동윤
3eb1f4b2b1
chore(ci): Fix lints (#5462) 2022-08-12 13:13:35 +00:00
Donny/강동윤
033e05677a chore: Publish crates 2022-08-12 15:18:06 +09:00
OJ Kwon
072eb13bf1
build(es): Bump up packages (#5451) 2022-08-11 23:58:00 +00:00
OJ Kwon
e25b37d579
build(atoms): Bump swc_atoms (#5442) 2022-08-11 18:52:44 +09:00
Austaras
e35990390b
fix(es/fixer): Remove needless parens for nested ?? (#5432) 2022-08-10 08:26:33 +00:00
SWC Bot
cdb9bbd707 chore: Publish crates 2022-08-08 03:00:13 +00:00
OJ Kwon
5c9ea16b2a
build(cargo): Update packages (#5331) 2022-07-29 08:30:41 +09:00
SWC Bot
129a886e13 chore: Publish crates 2022-07-27 04:18:47 +00:00
Donny/강동윤
a37fdca969 chore: Publish crates 2022-07-22 21:06:43 +09:00
SWC Bot
fe74b7067c chore: Publish crates 2022-07-20 04:10:58 +00:00
OJ Kwon
0d91741eb9
build(cargo): Align dependency versions (#5248) 2022-07-20 03:42:04 +00:00
Donny/강동윤
d229917588
chore: Fix CI (#5251) 2022-07-19 04:37:50 +00:00
Donny/강동윤
54982d4d72 chore: Publish crates 2022-07-19 11:38:23 +09:00
SWC Bot
0c7be690da chore: Publish crates 2022-07-17 09:09:24 +00:00
Austaras
2e9c9bea1a
fix(es/minifier): Fix size calculation of numbers (#5232) 2022-07-17 18:07:35 +09:00
Donny/강동윤
d3b0996617 chore: Publish crates 2022-07-16 23:30:15 +09:00
Austaras
375774d31e
fix(es): Check the syntax context of arguments (#5174) 2022-07-13 10:29:03 +00:00
Donny/강동윤
b433b69263 chore: Publish crates 2022-07-12 23:58:30 +09:00
SWC Bot
0a13105e84 chore: Publish crates 2022-07-11 09:00:07 +00:00
SWC Bot
2bd5b4413a chore: Publish crates 2022-07-09 10:17:04 +00:00
SWC Bot
297228a690 chore: Publish crates 2022-07-07 07:48:49 +00:00
SWC Bot
40dabaddfd chore: Publish crates 2022-07-07 04:38:01 +00:00
SWC Bot
9385103649 chore: Publish crates 2022-07-06 04:44:10 +00:00
SWC Bot
162671ce32 chore: Publish crates 2022-07-03 05:56:40 +00:00
magic-akari
4d5783d9cd
feat(es/modules): Add pure annotations to interop functions (#5087) 2022-07-03 05:54:07 +00:00
SWC Bot
4da97e9d4a chore: Publish crates 2022-07-02 04:20:10 +00:00
SWC Bot
f5447cd1b1 chore: Publish crates 2022-07-02 03:53:10 +00:00
magic-akari
1e33dbab24
feat(es/modules): Support node interop (#5069) 2022-07-01 03:28:03 +00:00
Donny/강동윤
c2c923e205 chore: Publish crates 2022-07-01 11:50:45 +09:00
SWC Bot
73874486b2 chore: Publish crates 2022-06-29 11:05:08 +00:00
SWC Bot
5576c3c601 chore: Publish crates 2022-06-29 03:37:57 +00:00
Donny/강동윤
8b042745c6 chore: Publish crates 2022-06-27 21:36:54 +09:00
magic-akari
fa68cbd74a
refactor(es/module): Implement new module transformer (#4758) 2022-06-27 12:32:06 +00:00
SWC Bot
4883fe8011 chore: Publish crates 2022-06-25 05:06:17 +00:00
SWC Bot
a2fa4a78e2 chore: Publish crates 2022-06-18 09:39:27 +00:00
Donny/강동윤
36d960c7e9
perf(es/hygiene): Make hygiene faster (#4952) 2022-06-15 14:36:57 +00:00
LongYinan
db9f7a5ad4
chore(ci): Fix publish build on Windows (#4970) 2022-06-14 15:58:10 +00:00
Donny/강동윤
bfede71e6c chore: Publish crates 2022-06-11 16:47:29 +09:00
SWC Bot
0f094da77f chore: Publish crates 2022-06-11 07:45:15 +00:00
Donny/강동윤
35c93be60f
perf(es/transforms): Make transforms parallel (#4939) 2022-06-11 07:42:43 +00:00
SWC Bot
7c9ab26256 chore: Publish crates 2022-06-08 07:24:11 +00:00
Donny/강동윤
eb0acc3859 chore: Publish crates 2022-06-06 04:54:19 +09:00
SWC Bot
4cda20c8cd chore: Publish crates 2022-06-05 07:46:31 +00:00
Donny/강동윤
06420d99bb
fix(es/minifier): Don't drop typeof (#4883) 2022-06-05 07:43:53 +00:00
Donny/강동윤
f847709787
chore(common): Update rustc (#4828) 2022-05-28 07:07:58 +00:00
SWC Bot
424e62e663 chore: Publish crates 2022-05-26 16:01:22 +00:00
Donny/강동윤
a487fc1d28
refactor(es/transforms): Remove concurrent (#4808) 2022-05-26 15:58:19 +00:00
SWC Bot
a163279c88 chore: Publish crates 2022-05-26 11:35:19 +00:00
SWC Bot
2096a1da4f chore: Publish crates 2022-05-17 10:45:02 +00:00
Donny/강동윤
07356a5bba
fix(es/ast): Fix EqIgnoreSpan of Ident (#4689) 2022-05-17 10:21:01 +00:00
SWC Bot
ead25ee153 chore: Publish crates 2022-05-15 05:09:48 +00:00
SWC Bot
073ca87012 chore: Publish crates 2022-05-12 09:23:46 +00:00
Donny/강동윤
9c190f0a8e
fix(es/minifier): Fix optimization of spread (#4639) 2022-05-12 09:20:44 +00:00
Donny/강동윤
56a227ad9d fix(es/minifier): Don't create direct eval (#4634)
- `expr_simplifier`: Preserve `this`.
 - `ExprReplacer`: Inject `0` after inlining eval.
 - `MultiReplacer`: Inject `0` after inlining eval.
2022-05-12 15:14:18 +09:00
SWC Bot
97808349a2 chore: Publish crates 2022-05-11 16:17:07 +00:00
SWC Bot
90569d4673 chore: Publish crates 2022-05-11 04:38:52 +00:00
Donny/강동윤
6a97c7bef8
fix(es/utils): Fix wrong apis (#4604)
# API Changes

## `swc_ecma_utils`

### Renames

 - `find_ids` => `find_pat_ids`
 - `prepend` => `prepend_stmt`
 - `as_bool` => `cast_to_bool`
 - `as_number` => `as_pure_number`
 - `as_string` => `cast_to_string`
 - (`as_pure_bool`, `cast_to_number` is not renamed)
 - `UsageFinder` => `IdentUsageFinder`.
 - `IdentFinder` => `IdentRefFinder`.

## Changes

 - Re-export of `HANDLER` from `swc_common::errors` is removed. Use `swc_common::error::HANDLER` instead.
 - Re-export of `Id` from `swc_ecma_ast` is removed. Use `swc_ecma_ast::Id` instead.
 - `ExprCtx` is used for apis related to `Expr`.
 - `preserve_effects` is now a method of `ExprCtx`. It was a top-level function.
 - `extract_side_effects_to` is now a method of `ExprCtx`. It was a top-level function.
 - `IdentUsageFinder` (previously `UsageFinder`) now takes `Id` instead of `Ident`.
 - `IdentRefFinder` (previously `IdentFinder`) now takes `Id` instead of `Ident`.
 - `ExprExt::is_ident_ref_to` is removed.
 - `Expr::is_global_ref_to` is added.
 - `:🆔:id` is removed. Use `Ident::to_id()` instead.
2022-05-11 04:36:22 +00:00
Donny/강동윤
2c861bd9e5
feat(es/ast): Improve Id APIs (#4614)
# API Changes

 - `Ident` now has `to_id()`. This method is added to allow removing an import.
2022-05-11 12:02:14 +09:00
SWC Bot
563602142c chore: Publish crates 2022-05-10 05:23:18 +00:00
Donny/강동윤
859dc440b4
fix(es/minifier): Preserve more this (#4599) 2022-05-10 05:20:36 +00:00
Donny/강동윤
097ff1ddc1
fix(es/minifier): Fix with and NaN (#4596) 2022-05-10 03:21:43 +00:00
SWC Bot
bf2d5ff909 chore: Publish crates 2022-05-09 21:38:24 +00:00
Donny/강동윤
2ab7594b4a
fix(es/minifier): Fix switches (#4595) 2022-05-09 21:36:09 +00:00
SWC Bot
cc712c7084 chore: Publish crates 2022-05-09 19:10:45 +00:00
Donny/강동윤
dd09cdf8b1
fix(es/minifier): Fix handling of NaN (#4593) 2022-05-09 19:08:28 +00:00
SWC Bot
c070b43e5d chore: Publish crates 2022-05-09 05:45:55 +00:00
Donny/강동윤
7fc9bbccd9
feat(config): Make all configuration overridable (#4575) 2022-05-09 05:38:27 +00:00
SWC Bot
e4ce388632 chore: Publish crates 2022-05-06 04:10:39 +00:00
Donny/강동윤
a6d404a8c2
chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
SWC Bot
00695f4b23 chore: Publish crates 2022-05-03 07:50:35 +00:00
Donny/강동윤
f30ffdf200
fix(es/decorators): Make legacy decorator identical to tsc (#4496) 2022-05-03 07:48:09 +00:00
Donny/강동윤
27f9b30ef2 chore: Publish crates 2022-04-26 19:30:11 +09: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
SWC Bot
7cbf30d5ac chore: Publish crates 2022-04-25 15:34:29 +00:00
Donny/강동윤
8048597c9e
feat(es/optimization): Accept top level mark from simplifiers (#4434) 2022-04-25 15:31:59 +00:00
Donny/강동윤
8ab12fd97b
fix(es/minifier): Preserve more side effects (#4420) 2022-04-25 06:56:19 +00:00
SWC Bot
7d23492b16 chore: Publish crates 2022-04-21 10:02:50 +00:00
Donny/강동윤
922299a490
fix(es/minifier): Don't drop labels if required (#4370) 2022-04-20 13:34:21 +00:00
OJ Kwon
8419b60430
fix(plugin): Align deps to fix build (#4377) 2022-04-20 08:05:02 +00:00
Donny/강동윤
da6fa60231
perf(es): Disable wrong parallelization (#4354) 2022-04-17 16:24:00 +00:00
SWC Bot
995b4367cc chore: Publish crates 2022-04-15 07:39:50 +00:00
Donny/강동윤
7e8f613272
feat(es/minifier): Enable conditionals by default (#4301) 2022-04-12 02:12:10 +00:00
SWC Bot
fa880634bd chore: Publish crates 2022-04-11 20:05:28 +00:00
SWC Bot
4a097adbf7 chore: Publish crates 2022-04-11 18:48:43 +00:00
那里好脏不可以
37a8c90750
chore(*): Typo + fomatting (#4304) 2022-04-11 18:45:58 +00:00
SWC Bot
431f70d563 chore: Publish crates 2022-04-08 18:11:07 +00:00
Donny/강동윤
4868c73d5b
fix(es/optimization): Don't create invalid sequence expressions (#4285) 2022-04-08 18:08:31 +00:00
OJ Kwon
fad652f879
chore(plugin): Align version of swc_common to include dummy comment api (#4270) 2022-04-07 07:21:37 +00:00
SWC Bot
5eb3d8315a chore: Publish crates 2022-04-05 12:49:22 +00:00
Alexander Akait
f39d3aca4d
feat(es/ast): Add raw to Num (#4245) 2022-04-05 12:46:35 +00:00
OJ Kwon
4093814895
chore(build): Dedup swc_common (#4247) 2022-04-05 14:28:07 +09:00
Donny/강동윤
1f466e1d2f
chore(ci): Fix benchmark action (#4242) 2022-04-04 20:12:03 +09:00
SWC Bot
abc412cdbd chore: Publish crates 2022-04-04 03:25:37 +00:00
Austaras
b1645f606d
fix(es/optimizer/simplifier): Collect idents in init first (#4239) 2022-04-04 12:23:15 +09:00
SWC Bot
3337777f8c chore: Publish crates 2022-04-02 06:06:39 +00:00
SWC Bot
1068561800 chore: Publish crates 2022-04-01 04:29:08 +00:00
SWC Bot
24ce355d77 chore: Publish crates 2022-03-31 00:56:42 +00:00
overlookmotel
073751f70d
fix(es/optimization): Support jsx in dce (#4203) 2022-03-31 00:54:20 +00:00
SWC Bot
c0abdb394a chore: Publish crates 2022-03-29 04:27:33 +00:00
Donny/강동윤
6d3ea17aa6
feat(es/minifier): Optimize switches more correctly (#4180) 2022-03-29 04:25:15 +00:00
SWC Bot
6125de9808 chore: Publish crates 2022-03-28 12:20:51 +00:00
Alexander Akait
fcf67c4570
fix(es): Consume surrogate pairs (#4115) 2022-03-28 12:18:06 +00:00
Donny/강동윤
32c2de1181 chore: Publish crates 2022-03-25 21:15:57 +09:00
Donny/강동윤
97dfcb9ccb
chore(es/minifier): Add logging (#4156) 2022-03-25 06:44:07 +00:00
Donny/강동윤
e6088408bf chore: Publish crates 2022-03-24 12:05:47 +09:00
SWC Bot
77722c4943 chore: Publish crates 2022-03-22 08:03:01 +00:00
Alexander Akait
634d732803
feat(es/ast): Add raw to Str (#4071) 2022-03-22 07:54:08 +00:00
SWC Bot
e7d450c8af chore: Publish crates 2022-03-19 07:07:31 +00:00
SWC Bot
a74d4ca679 chore: Publish crates 2022-03-17 10:29:25 +00:00
SWC Bot
4d6d766cf8 chore: Publish crates 2022-03-17 05:36:01 +00:00
LongYinan
db9b988845
feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
SWC Bot
8eb9476cfb chore: Publish crates 2022-03-16 08:13:01 +00:00
Donny/강동윤
3a4704fe77
feat(es/transforms/base): Add paren_remover (#4034) 2022-03-15 20:07:04 +00:00
Donny/강동윤
dac84b98e3
doc(api/rust): Add examples (#4002) 2022-03-13 22:07:34 +00:00
Donny/강동윤
38c0c0faa6 chore: Publish crates 2022-03-14 04:11:07 +09:00
Donny/강동윤
ddfa490899 chore: Publish crates 2022-03-12 10:00:23 +09:00
LongYinan
1206c84e19
feat(*): Update dependencies (#3964) 2022-03-11 23:00:55 +09:00
SWC Bot
666f55e01c chore: Publish crates 2022-03-10 07:48:19 +00:00
Austaras
112f428734
feat(es/compat): Add pure comments for class fields keys (#3939) 2022-03-10 07:13:58 +00:00
OJ Kwon
86ea23785d
perf(*): Update tracing to improve performance of disabled spans (#3932) 2022-03-10 03:15:49 +00:00
Donny/강동윤
3d43a9b69d
feat(es/testing): Print comments in test_fixture (#3920) 2022-03-09 02:54:27 +00:00
SWC Bot
4860ea2672 chore: Publish crates 2022-03-07 20:20:42 +00:00
William Tetlow
782a874696
fix(es/transform/optimization): Prevent inlining of vars used as RHS in logical expressions (#3907) 2022-03-07 20:18:48 +00:00
Austaras
9dd0105c5b
feat(es/fixer): Remove extra parens around iife in expression position (#3887) 2022-03-07 03:51:57 +00:00
SWC Bot
fd453b9170 chore: Publish crates 2022-03-05 19:34:45 +00:00
magic-akari
c7f2bdb813
feat(es/compat): Implement loose mode for async_to_generator (#3870) 2022-03-05 19:32:59 +00:00
SWC Bot
2fdc5f625d chore: Publish crates 2022-03-05 14:52:49 +00:00
SWC Bot
3de647a50a chore: Publish crates 2022-03-05 07:58:10 +00:00
SWC Bot
add86a7e6a chore: Publish crates 2022-03-05 06:48:00 +00:00
Austaras
6f076e4927
feat(es/transform): Unify logic for handling class properties (#3766) 2022-03-05 06:46:09 +00:00
SWC Bot
5f8f114b62 chore: Publish crates 2022-03-04 05:26:32 +09:00
SWC Bot
4177a39e9b chore: Publish crates 2022-03-02 08:59:52 +00:00
Donny/강동윤
8a468f7544
fix(es/minifier): Don't reorder unnecessarily (#3817) 2022-03-02 08:57:50 +00:00
SWC Bot
4fe874dd77 chore: Publish crates 2022-02-26 15:11:21 +00:00
Austaras
14155eb0e7
feat(es/compat): Implement loose mode for class_properties (#3722) 2022-02-27 00:09:02 +09:00
SWC Bot
2ab150c603 chore: Publish crates 2022-02-26 12:11:27 +09:00
Donny/강동윤
47ccff8a7c
feat(es/parser): Provide more api for reducing binary size (#3747) 2022-02-26 09:29:05 +09:00
SWC Bot
9a4e961b2b chore: Publish crates 2022-02-25 19:50:18 +00:00
Donny/강동윤
fd223793e8
refactor(es/transforms): Use recommended ast apis (#3735) 2022-02-25 06:50:19 +00:00
SWC Bot
8f1aef47d4 chore: Publish crates 2022-02-25 06:10:45 +00:00
OJ Kwon
a454996314
feat(node-swc): Add experimental trace support in @swc/core (#3731) 2022-02-25 04:06:45 +00:00
SWC Bot
8c94ea9fc5 chore: Publish crates 2022-02-24 09:22:18 +00:00
SWC Bot
e4c674b9cb chore: Publish crates 2022-02-21 13:10:43 +00:00
SWC Bot
e08a2c2c17 chore: Publish crates 2022-02-21 07:15:09 +00:00
SWC Bot
264f1cf8d6 chore: Publish crates 2022-02-20 15:53:48 +00:00
SWC Bot
7351ec2477 chore: Publish crates 2022-02-15 13:22:16 +09:00
OJ Kwon
ad6f24ad83
build(*): Dedupe once_cell (#3567) 2022-02-15 11:58:44 +09:00
SWC Bot
b30586ba7a chore: Publish crates 2022-02-13 15:01:25 +09:00
RiESAEX
6d132ca076 perf(es/optimization): Replace map_with_mut with proper implementation (#3539) 2022-02-13 15:00:26 +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/강동윤
5e82640b42 chore: Publish crates 2022-02-09 13:57:21 +09:00
Donny/강동윤
19e7c70bd7 chore: Publish crates 2022-02-04 13:21:41 +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
ad860c9a1c chore: Publish crates 2022-01-25 06:22:21 +09:00
Austaras
9e636c7e58
refactor(es): Add visit_obj_and_computed macro (#3304) 2022-01-19 23:11:52 +09:00
Donny
681de03e4b chore: Publish crates 2022-01-17 13:36:00 +09:00
Donny
7ff5f0f9f2 chore: Publish crates 2022-01-17 00:22:39 +09:00
RiESAEX
b76d1da699
fix(es/transforms): Handle template literals within jsonify pass (#3282) 2022-01-16 14:57:12 +00:00
Donny
0955c3646b chore: Publish crates 2022-01-16 23:32:02 +09:00
Niklas Mischkulnig
162c1fe047
fix(es/transforms): Remove unsafe new String("...") optimization (#3284) 2022-01-16 23:31:08 +09:00
Donny
7ec6e94cb0 chore: Publish crates 2022-01-16 16:58:21 +09:00
Donny/강동윤
9dd0647e3a
feat(es/ast): Improve AST api for plugin authors (#3281)
swc_ecma_ast:
 - Improve API for AST creation.
2022-01-16 16:56:41 +09:00
Donny/강동윤
357a350390
refactor(*): Cleanup (#3274) 2022-01-15 16:43:34 +09:00
Donny/강동윤
2690742db0
refactor(es/transforms): Cleanup (#3273) 2022-01-15 15:36:40 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy (#3250) 2022-01-13 23:06:11 +09:00
Donny
c13bba8401 chore: Publish crates 2022-01-12 18:39:56 +09:00
Donny
9a62ef21b7 chore: Publish crates 2022-01-11 16:48:26 +09:00
Donny
852ec783f3 chore: Publish crates 2022-01-10 22:57:17 +09:00
Austaras
f58b50bea7
refactor(es/ast): Change types of member-like expressions (#3178)
swc_ecma_ast:
 - Split `MemberExpr` into `MemberExpr` and `SuperPropExpr`.
 - Use `Box<Expr>` for `MemberExpr.obj`.
 - Use ad-hoc type for `MemberExpr.prop`.
 - Use ad-hoc type for `SuperPropExpr.prop`.
 - Use `Callee` instead of  `ExprOrSpread` for `CallExpr`.
 - Simplify types for meta property expressions.
2022-01-10 13:54:42 +00:00
Donny
0d4b671052 chore: Publish crates 2022-01-10 15:05:26 +09:00
Donny
6892f27ad7 chore: Publish crates 2022-01-06 20:19:36 +09:00
Donny
781aa79b82 chore: Publish crates 2022-01-04 19:29:50 +09:00
Donny
1e5bc88cd3 chore: Publish crates 2022-01-03 17:45:09 +09:00
Sosuke Suzuki
07c0489575
feat(es/ast): Add ModuleExportName (#3048)
swc_ecma_ast:
 - Allow using string as import/export specifiers.
2022-01-03 08:44:11 +00:00
Donny/강동윤
194b3e9b67
refactor(*): Use 2021 edition (#3151) 2021-12-30 18:59:18 +09:00
Donny
0cf8265f02 chore: Publish crates 2021-12-29 21:04:30 +09:00
OJ Kwon
72c963662d
refactor(*): Drop unused dependencies (#3138) 2021-12-29 15:27:51 +09:00
Donny
2ab65c2cea chore: Publish crates 2021-12-28 22:25:47 +09:00
Donny/강동윤
693c22aa93
fix(es/optimization): Fix inlining (#3132)
swc_ecma_transforms_optimization:
 - `inlining`: Mark all usages as modification. (Closes #2108)
2021-12-28 22:25:07 +09:00
Donny
9b36abbe75 chore: Publish crates 2021-12-15 16:22:00 +09:00
Donny
f86c077a37 chore: Publish crates 2021-12-13 06:46:14 +09:00
Donny
a04b4082a4 Bump version 2021-12-11 17:01:12 +09:00
Donny
82ece9d0ca chore: Publish crates 2021-12-07 15:15:08 +09:00
Donny
b1a47ee971 chore: Publish crates 2021-12-07 14:34:44 +09:00
Donny/강동윤
e48263b2f3
refactor(visit): Remove &dyn Node from Visit (#2984)
swc_visit_macros:
 - Remove `&dyn Node` from `Visit`.
 - Implement `VisitWith<V>` for `[T]`.
2021-12-07 14:34:16 +09:00
Donny
acc45e7c36 chore: Publish crates 2021-12-05 17:34:04 +09:00
Donny/강동윤
1ea965cecb
fix(es/parser): Drop outdated options (#2974)
swc_ecma_parser:
 - Drop flags in `EsConfig`.
 - Drop flags in `TsConfig`.
 - Drop unused variants from `SyntaxError`.
2021-12-05 17:33:34 +09:00
Donny
529f980693 chore: Publish crates 2021-12-05 15:44:50 +09:00
Donny
42a93dd8ef chore: Publish crates 2021-12-04 11:53:14 +09:00
David Sherret
67280b6fb0
fix(es/typescript): Run resolver before typescript::strip (#2951)
swc_ecma_transforms_base:
 - `resolver`: Handle some typescript nodes.

swc_ecma_transforms_typescript:
 - `strip`: Use identifier span hygiene information for stripping types.
2021-12-04 02:35:16 +00:00
David Sherret
beb2c73c2c
fix(swc/hygiene): Prefer not renaming top level variables (#2940)
swc_ecma_transforms_base:
 - `hygiene`: Use concept of depth to prevent renaming top level nodes.
2021-12-04 01:55:27 +09:00
Donny
67dc0d3b94 chore: Publish crates 2021-12-02 10:08:22 +09:00
Donny
86d2cebd37 chore: Publish v1.2.115 2021-12-01 14:20:52 +09:00
Donny
d4ffce13b5 chore: Publish crates 2021-11-24 10:08:01 +09:00
Donny
2cd565bfc0 chore: Publish crates 2021-11-15 14:31:44 +09:00
Austaras
dc58122283
feat(es/transforms/compat): Add more loose mode (#2611)
swc_ecma_transforms_compat:
- `computed_properties`: Add loose mode.
- `template_literals`: Add loose mode.
- `object_spread`: Add loose mode.
- `optional_chaining`: Add loose mode.
- `nullish_coalescing`: Add loose mode.
- `optional_chaining`: Fix #2734.
2021-11-15 14:31:21 +09:00
Donny/강동윤
665c8e05fc
fix(es): Move TargetEnv to loader from ast (#2719)
swc_ecma_ast:
 - Move `TargetEnv` to `swc_ecma_loader`.

swc_ecma_loader:
 - Drop unused dependencies.
2021-11-11 20:00:46 +09:00
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript (#2708) 2021-11-10 19:00:54 +09:00