Commit Graph

911 Commits

Author SHA1 Message Date
Donny/강동윤
84a1ef856a
test(es/minifier): Update the golden list (#5378) 2022-08-03 21:17:47 +09:00
SWC Bot
87409946a0 chore: Publish crates 2022-08-03 10:22:47 +00:00
Donny/강동윤
3943eb24d1
feat(es/minifier): Consider char frequencies (#5375) 2022-08-03 10:20:17 +00:00
Austaras
77497e4fbe
fix(es/fixer): Don't insert extra paren when left of BinExpr is UpdateExpr (#5376) 2022-08-03 08:41:40 +00:00
SWC Bot
efd43c67c3 chore: Publish crates 2022-08-03 06:22:21 +00:00
Donny/강동윤
6552d1a6f7
perf(es/minifier): Make postcompress pass parallel (#5374) 2022-08-03 06:20:04 +00:00
SWC Bot
e13f9230f2 chore: Publish crates 2022-08-03 04:08:12 +00:00
Donny/강동윤
4fdbe40c74
feat(es/minifier): Remove duplicate var declarations (#5373) 2022-08-03 13:05:56 +09:00
SWC Bot
b7573451b3 chore: Publish crates 2022-08-02 11:39:47 +00:00
Austaras
b221f90117
fix(es/minifier): Optimize inlining function calls with a literal in arguments (#5365) 2022-08-02 11:37:40 +00:00
SWC Bot
4ae8ff383f chore: Publish crates 2022-08-01 05:19:11 +00:00
OJ Kwon
fbdc9af5ca
fix(es/minifier): Allow single-thread mode (#5353) 2022-08-01 05:16:51 +00:00
Austaras
8611161c02
fix(es/minifier): Ignore member expression without side-effects in assign position (#5344) 2022-07-31 16:40:58 +09:00
SWC Bot
f8f62eada4 chore: Publish crates 2022-07-29 08:07:24 +00:00
SWC Bot
328e8123a1 chore: Publish crates 2022-07-29 04:51:13 +00:00
Austaras
11f495ad37
fix(es/minifier): Check if an inlined value is mutated (#5318) 2022-07-29 04:49:09 +00:00
SWC Bot
731c4bc4f3 chore: Publish crates 2022-07-29 02:42:20 +00:00
Donny/강동윤
64a99461ec
fix(es/minifier): Change default es version to es5 (#5333) 2022-07-29 02:40:14 +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
Austaras
0f254d5ce5
feat(es/codegen): Remove extra space before a private method (#5295) 2022-07-26 03:35:49 +00:00
SWC Bot
9eb04096b1 chore: Publish crates 2022-07-24 13:57:43 +00:00
Austaras
ee84842d22
fix(es/minifier): Preserve order of side-effects in sequences pass (#5283) 2022-07-24 13:55:37 +00:00
Donny/강동윤
a37fdca969 chore: Publish crates 2022-07-22 21:06:43 +09:00
Donny/강동윤
037a53d5d1
perf(es/ast): Use Atom in some places (#5271) 2022-07-22 20:09:25 +09:00
SWC Bot
aef6de4647 chore: Publish crates 2022-07-20 08:27:46 +00:00
Austaras
6573324d9c
feat(es/minifier): Calculate correct size (#5253) 2022-07-20 08:25:26 +00: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/강동윤
54982d4d72 chore: Publish crates 2022-07-19 11:38:23 +09:00
Austaras
3f0856db2e
feat(es/codegen): Optimize number and bigint literal (#5223) 2022-07-18 03:27:03 +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
SWC Bot
a23464055d chore: Publish crates 2022-07-13 06:09:56 +00:00
Donny/강동윤
16ece4dce0
fix(es/minifier): Don't merge exported declarations (#5193) 2022-07-13 06:07:31 +00:00
Donny/강동윤
b433b69263 chore: Publish crates 2022-07-12 23:58:30 +09:00
Alexander Akait
dada2d7d55
feat(html/minifier): Allow specifying options for other tools (#5125) 2022-07-11 13:08:40 +00:00
SWC Bot
c21ffbef2c chore: Publish crates 2022-07-11 11:39:30 +00:00
Donny/강동윤
d8f57abd26
perf(es/minifier): Remove wrong logic (#5178) 2022-07-11 11:37:13 +00: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
64ccb589b7 chore: Publish crates 2022-07-06 03:55:25 +00:00
Donny/강동윤
0e4a03ccc6
fix(es/minifier): Don't inline a callable expression if it's used as a reference (#5118) 2022-07-06 03:53:11 +00:00
Donny/강동윤
b76b4999cc
fix(es/codegen): Fix codegen of some non-ascii characters (#5108) 2022-07-05 10:22:25 +00:00
Austaras
9519e801ea
fix(es/resolver): Fix handling of block scoped functions (#5092) 2022-07-05 05:04:49 +00:00
SWC Bot
162671ce32 chore: Publish crates 2022-07-03 05:56:40 +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
Donny/강동윤
c2c923e205 chore: Publish crates 2022-07-01 11:50:45 +09:00
SWC Bot
ff75f8136f chore: Publish crates 2022-06-30 01:49:17 +00: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
SWC Bot
c4fe6e2286 chore: Publish crates 2022-06-28 06:58:45 +00:00
Donny/강동윤
a15bb48524
feat(es/minifier): Handle pure annotations on member expressions (#5050) 2022-06-28 06:55:59 +00:00
Donny/강동윤
8b042745c6 chore: Publish crates 2022-06-27 21:36:54 +09:00
SWC Bot
f41c82ac67 chore: Publish crates 2022-06-26 19:10:58 +00:00
SWC Bot
4883fe8011 chore: Publish crates 2022-06-25 05:06:17 +00:00
Donny/강동윤
eedcb114a2
test(es/minifier): Add a test case for the minifier (#5013) 2022-06-20 14:38:23 +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
Donny/강동윤
b3f6f20721
fix(es/resolver): Make catch parameter not disturb resolving (#4976) 2022-06-15 05:24:39 +00:00
SWC Bot
94e553da3b chore: Publish crates 2022-06-14 16:36:07 +00:00
Donny/강동윤
99a474cb2d
refactor(es/minifier): Use Program instead of Module (#4969) 2022-06-14 16:33:38 +00:00
LongYinan
db9f7a5ad4
chore(ci): Fix publish build on Windows (#4970) 2022-06-14 15:58:10 +00:00
SWC Bot
91cff0af80 chore: Publish crates 2022-06-13 20:05:54 +00:00
LongYinan
35806385ea
perf(es/minifier): Make more things parallel and reduce call stacks (#4915) 2022-06-14 05:03:09 +09:00
SWC Bot
12914ef53f chore: Publish crates 2022-06-12 02:39:45 +00:00
Austaras
47bdc6a6b1
feat(es/minifier): Turn Array/Object calls into literals (#4947) 2022-06-12 02:36:49 +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
magic-akari
594089488b
feat(es/minifier): Drop new token if possible (#4932) 2022-06-11 05:27:13 +00:00
SWC Bot
99deeac8ce chore: Publish crates 2022-06-10 08:52:47 +00:00
Donny/강동윤
be87494495
fix(es/minifier): Reserve more symbols on eval (#4925) 2022-06-10 08:49:56 +00:00
SWC Bot
6bc39005bb chore: Publish crates 2022-06-10 06:39:52 +00:00
Donny/강동윤
fc0d8e3f74
perf(es/minifier): Change default pass limit to 2 (#4924) 2022-06-10 06:37:25 +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
Donny/강동윤
06420d99bb
fix(es/minifier): Don't drop typeof (#4883) 2022-06-05 07:43:53 +00:00
Austaras
83ae6a1f1f
feat(es/minifier): Remove extra parens in BinExpr (#4878) 2022-06-05 05:52:22 +00:00
SWC Bot
8a9abfbe10 chore: Publish crates 2022-05-30 06:48:44 +00:00
Donny/강동윤
8365c3d0df
fix(es/minifier): Make if_return to not drop required returns (#4847) 2022-05-30 06:46:01 +00:00
SWC Bot
19562af0c7 chore: Publish crates 2022-05-29 11:17:45 +00:00
Donny/강동윤
0567f67664
fix(es/minifier): Apply name mangler for more cases (#4840) 2022-05-29 11:15:16 +00:00
Donny/강동윤
f847709787
chore(common): Update rustc (#4828) 2022-05-28 07:07:58 +00:00
SWC Bot
7f731a2ab2 chore: Publish crates 2022-05-28 04:35:18 +00:00
Donny/강동윤
58b24278ee
perf(es/minifier): Make name mangler parallel (#4824) 2022-05-28 13:32:48 +09: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
SWC Bot
05f9e257a0 chore: Publish crates 2022-05-27 06:50:43 +00:00
Donny/강동윤
4b27df9f12
perf(es/minifier): Make more passes parallel (#4821) 2022-05-27 06:48:08 +00:00
SWC Bot
424e62e663 chore: Publish crates 2022-05-26 16:01:22 +00:00
SWC Bot
a163279c88 chore: Publish crates 2022-05-26 11:35:19 +00:00
SWC Bot
bebdb8a897 chore: Publish crates 2022-05-26 09:30:36 +00:00
Donny/강동윤
073b1469e6
fix(es/minifier): Don't create names which is same as an unresolved var (#4806) 2022-05-26 09:27:24 +00:00
SWC Bot
829a9c0dd3 chore: Publish crates 2022-05-26 07:40:07 +00:00
Donny/강동윤
1c48a8c8f4
fix(es/minifier): Consider side effects while removing an object spread (#4788) 2022-05-26 07:37:34 +00:00
Donny/강동윤
38a866a900
test(es): Make execution tests faster (#4789) 2022-05-25 06:23:35 +00:00
brightwu
f28d9c143b
fix(es/resolver): Fix more edge cases related to catch and var (#4773) 2022-05-24 09:24:42 +00:00
SWC Bot
5be6661e9a chore: Publish crates 2022-05-23 22:11:58 +00:00
Donny/강동윤
20b724d3cd
feat(es/minifier): Implement more rules (#4763) 2022-05-23 22:09:33 +00:00
Donny/강동윤
e4dee1ed33
fix(es/minifier): Consider parameters while detecting pure calls (#4748) 2022-05-23 13:04:11 +00:00
SWC Bot
476c830a30 chore: Publish crates 2022-05-23 10:02:59 +00:00
Baoshuo Ren
22bf5f014e
chore(es/minifier): Add #[doc(hidden)] (#4751) 2022-05-23 19:00:22 +09:00
Donny/강동윤
0f85f7b9de
chore(ci): Fix CI (#4747) 2022-05-23 07:47:05 +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
SWC Bot
8060264715 chore: Publish crates 2022-05-23 04:32:07 +00:00
Donny/강동윤
a51816a577
feat(es/minifier): Handle prefix update expressions with sequential inliner (#4741) 2022-05-23 04:29:31 +00:00
SWC Bot
624c4ad48b chore: Publish crates 2022-05-22 12:09:50 +00:00
Donny/강동윤
9e42382091
feat(es/minifier): Implement pure_funcs (#4710) 2022-05-22 12:07:28 +00:00
SWC Bot
1b715a1a2b chore: Publish crates 2022-05-20 07:04:12 +00:00
Donny/강동윤
dc67911f61
feat(es/minifier): Implement more skipping rules for sequences (#4716) 2022-05-20 16:01:27 +09:00
SWC Bot
279f9db0b7 chore: Publish crates 2022-05-20 04:59:56 +00:00
Donny/강동윤
1358f452e7
fix(es/minifier): Consider more side effects while inlining (#4715) 2022-05-20 04:57:38 +00:00
Kevin Barabash
72fbf692a4
fix(es/codegen): Don't add a newline after an arrow body (#4711) 2022-05-19 07:12:37 +00:00
SWC Bot
224a2ea8b6 chore: Publish crates 2022-05-19 05:12:49 +00:00
Donny/강동윤
73dfa95e5a
fix(es/minifier): Fix analysis of assignment patterns (#4712) 2022-05-19 05:10:12 +00:00
Donny/강동윤
6f565fbb3a
test(es/minifier): Categorize more tests (#4709) 2022-05-19 04:33:11 +00:00
SWC Bot
6a7240f046 chore: Publish crates 2022-05-18 13:54:03 +00:00
Donny/강동윤
9a27b5f275
perf(es/minifier): Make minifier more parallel (#4699) 2022-05-18 13:51:25 +00:00
SWC Bot
fe5b2e12af chore: Publish crates 2022-05-18 10:49:45 +00:00
Donny/강동윤
809a626a99
fix(es/minifier): Don't create keys with negative number (#4698) 2022-05-18 19:47:00 +09:00
SWC Bot
d29a00c9cc chore: Publish crates 2022-05-18 08:42:52 +00:00
Donny/강동윤
274648ec26
feat(es/minifier): Improve if_return (#4694) 2022-05-18 08:39:57 +00:00
SWC Bot
9792cffefa chore: Publish crates 2022-05-18 07:27:53 +00:00
Donny/강동윤
183e884cbf
fix(es/minifier): Don't hoist functions with dead_code (#4695) 2022-05-18 07:25:25 +00:00
Donny/강동윤
07356a5bba
fix(es/ast): Fix EqIgnoreSpan of Ident (#4689) 2022-05-17 10:21:01 +00:00
SWC Bot
f226c0a3d8 chore: Publish crates 2022-05-17 07:37:08 +00:00
Donny/강동윤
c01476d9ae
feat(es/minifier): Enable conditionals by default (#4687) 2022-05-17 07:34:47 +00:00
Donny/강동윤
04d66dbc8b
feat(es/minifier): Enable computed_props by default (#4678) 2022-05-16 12:51:38 +00:00
SWC Bot
b395a8b3ce chore: Publish crates 2022-05-16 12:30:22 +00:00
Donny/강동윤
3bb4b74d94
fix(es/minifier): Consider fallthrough while merging swtich cases (#4672) 2022-05-16 12:27:24 +00:00
Donny/강동윤
ba6688a783
feat(dbg-swc): Make reducer parallel (#4676) 2022-05-16 12:49:42 +09:00
Donny/강동윤
36ff4f735f
test(es/minifier): Add size tests using dbg-swc (#4664) 2022-05-16 03:01:53 +00:00
Donny/강동윤
50db276d82
build(repo): Downgrade rustc (#4674) 2022-05-15 19:28:55 +00:00
SWC Bot
86efe781a3 chore: Publish crates 2022-05-15 16:24:33 +00:00
Donny/강동윤
e57123e61c
feat(es/minifier): Improve ignore_return_value (#4673) 2022-05-15 16:22:21 +00:00
SWC Bot
8b9851a336 chore: Publish crates 2022-05-15 10:04:57 +00:00
Donny/강동윤
8a40b583a5
feat(es/minifier): Implement directives (#4668) 2022-05-15 10:02:55 +00:00
SWC Bot
d591ce8c0b chore: Publish crates 2022-05-15 09:39:48 +00:00
Donny/강동윤
96cec97b2c
fix(es/minifier): Don't inline a function if we need referential equality (#4665) 2022-05-15 09:37:34 +00:00
Donny/강동윤
98e4845fce
build(repo): Update rustc (#4667) 2022-05-15 09:03:54 +00:00
SWC Bot
ead25ee153 chore: Publish crates 2022-05-15 05:09:48 +00:00
Donny/강동윤
eb8508f88c
feat(es/codegen): Implement ascii-only (#4660) 2022-05-15 05:07:21 +00:00
SWC Bot
36a3cdaac2 chore: Publish crates 2022-05-14 07:08:36 +00:00
Donny/강동윤
053f42b3aa
feat(es/minifier): Improve minifier (#4655)
swc_ecma_transforms_base:
 - Improved `fixer`.

swc_ecma_minifier:
 - `ignore_return_value`: Support computed access to array literals.
2022-05-14 07:06:03 +00:00
Donny/강동윤
af1d19554f
feat(dbg-swc): Add command to compare minifier (#4653) 2022-05-13 09:13:23 +00:00
Donny/강동윤
b393773373
feat(debug): Inline dbg-swc (#4651) 2022-05-13 06:05:21 +00:00
Donny/강동윤
9c190f0a8e
fix(es/minifier): Fix optimization of spread (#4639) 2022-05-12 09:20:44 +00:00
Donny/강동윤
79f87e03db
test(es/minifier): Execute more tests (#4636) 2022-05-12 16:28:52 +09:00
SWC Bot
cb5ca547aa chore: Publish crates 2022-05-12 15:14:28 +09: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
Donny/강동윤
6918e3a4fb
test(es/minifier): Postpone tests which can be verified by execution tests (#4600) 2022-05-10 14:47:37 +09:00
Donny/강동윤
859dc440b4
fix(es/minifier): Preserve more this (#4599) 2022-05-10 05:20:36 +00:00
Donny/강동윤
d611d543ea
fix(es/fixer): Handle new yield (#4598) 2022-05-10 04:17:11 +00:00
SWC Bot
e52c06fe0d chore: Publish crates 2022-05-10 03:57:45 +00:00
Donny/강동윤
8944a3bdf5
fix(es/minifier): Fix switch with a unknown case (#4597) 2022-05-10 03:55:34 +00:00
SWC Bot
20a7304267 chore: Publish crates 2022-05-10 03:24:33 +00:00
Donny/강동윤
097ff1ddc1
fix(es/minifier): Fix with and NaN (#4596) 2022-05-10 03:21:43 +00:00
Donny/강동윤
2ab7594b4a
fix(es/minifier): Fix switches (#4595) 2022-05-09 21:36:09 +00:00
Donny/강동윤
dd09cdf8b1
fix(es/minifier): Fix handling of NaN (#4593) 2022-05-09 19:08:28 +00:00
SWC Bot
ba406f6120 chore: Publish crates 2022-05-09 16:38:56 +00:00
Donny/강동윤
3521ce09e7
fix(es/minifier): Consider more aliases in sequences pass (#4583) 2022-05-09 16:36:40 +00:00
SWC Bot
51d7078175 chore: Publish crates 2022-05-09 11:27:12 +00:00
Donny/강동윤
8db3442216
fix(es/minifier): Unwrap blocks more carefully (#4586) 2022-05-09 11:24:53 +00:00
SWC Bot
6833bb9c6d chore: Publish crates 2022-05-09 09:17:37 +00:00
Donny/강동윤
7e80c10cba
fix(es/minifier): Don't create an invalid labeled statement (#4581) 2022-05-09 09:15:12 +00:00
Donny/강동윤
56c3010f6b
fix(es/resolver): Fix more try catch issues (#4582) 2022-05-09 17:50:30 +09:00
SWC Bot
d9f168687d chore: Publish crates 2022-05-09 07:19:45 +00:00
Donny/강동윤
e43689b7d5
fix(es/minifier): Preserve more identifiers if eval or with exists (#4580) 2022-05-09 07:17:33 +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
Donny/강동윤
9e79f9ced6
fix(es/resolver): Fix handling of a complex try catch (#4574) 2022-05-08 10:12:50 +00:00
Donny/강동윤
bf5ee018b3
test(es/minifier): Fix test system (#4571) 2022-05-08 08:27:14 +00:00
SWC Bot
b6136f80e4 chore: Publish crates 2022-05-08 06:15:23 +00:00
Donny/강동윤
af368eead2
fix(es/minifier): Improve sequential inliner (#4570) 2022-05-08 06:12:42 +00:00
SWC Bot
0e26fa41da chore: Publish crates 2022-05-08 04:14:16 +00:00
Austaras
b3b6fd448c
feat(es/minifier): Remove duplicate control flow in nested blocks (#4569) 2022-05-08 13:07:58 +09:00
SWC Bot
f570220ac6 chore: Publish crates 2022-05-07 16:59:41 +00:00
Donny/강동윤
920d9a7678
fix(es/minifier): Fix handling of template literals (#4563) 2022-05-08 01:56:38 +09:00
SWC Bot
20ce370049 chore: Publish crates 2022-05-07 10:13:28 +00:00
Donny/강동윤
f9b6016d4b
fix(es/minifier): Distinguish raw and cooked while joining template literals (#4559) 2022-05-07 10:10:50 +00:00
SWC Bot
947b1b1232 chore: Publish crates 2022-05-07 08:24:51 +00:00
Donny/강동윤
c5b4ef4377
feat(es/minifier): Drop vars using sequential inliner (#4547) 2022-05-07 08:19:56 +00:00
SWC Bot
ec3624c856 chore: Publish crates 2022-05-07 07:25:42 +00:00
Austaras
5d3a01ad35
fix(es/minifier): Skip getter/setter when collapsing vars (#4557) 2022-05-07 16:23:13 +09:00
Donny/강동윤
b0efd00f38
test(es/minifier): Ignore difference of parens (#4546) 2022-05-07 06:08:23 +00:00
SWC Bot
f552c1c11d chore: Publish crates 2022-05-06 05:20:01 +00:00
Kristján Oddsson
3d5d234047
fix(es/minifier): Respect keepClassNames for class expressions (#4536)
Co-authored-by: Keith Cirkel <keithamus@users.noreply.github.com>
2022-05-06 05:17:45 +00:00
Donny/강동윤
3d3e3bb1d2
test(es/minifier): Categorize more tests (#4538) 2022-05-06 13:54:32 +09: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
SWC Bot
88103cc8ec chore: Publish crates 2022-04-30 07:03:05 +00:00
Donny/강동윤
50b20496cd
refactor(es/minifier): Cleanup (#4489) 2022-04-30 07:00:21 +00:00
SWC Bot
cfe6e5fe1b chore: Publish crates 2022-04-29 08:42:52 +00:00
Donny/강동윤
09ba3c0e68
feat(es/minifier): Add pristine_globals (#4480) 2022-04-29 08:40:16 +00:00
SWC Bot
8611b1bf23 chore: Publish crates 2022-04-29 07:26:21 +00:00
Donny/강동윤
918c9c8a21
feat(es/minifier): Drop pure new calls (#4478) 2022-04-29 07:22:13 +00:00
SWC Bot
588adf0913 chore: Publish crates 2022-04-29 06:01:32 +00:00
Donny/강동윤
7a584d755a
feat(es/minifier): Consider cost of functions for inlining (#4470) 2022-04-29 05:58:59 +00:00
SWC Bot
bbd6fd07f7 chore: Publish crates 2022-04-28 13:31:45 +00:00
Donny/강동윤
273954640a
feat(es/minifier): Drop more returns (#4471) 2022-04-28 13:28:33 +00:00
SWC Bot
0340c6889f chore: Publish crates 2022-04-28 11:44:18 +00:00
Donny/강동윤
233c4d5b86
fix(es/minifier): Fix skipping logic of sequential inliner (#4469) 2022-04-28 11:41:41 +00:00
SWC Bot
ce1aaa5390 chore: Publish crates 2022-04-28 08:34:59 +00:00
Donny/강동윤
effc85df57
fix(es/minifier): Disable some passes for hoist_props (#4468) 2022-04-28 08:32:03 +00:00
SWC Bot
5122a7dc62 chore: Publish crates 2022-04-28 05:21:48 +00:00
Donny/강동윤
c45b0df877
chore(es/minifier): Update debugging utils (#4467) 2022-04-28 05:19:08 +00:00
Donny/강동윤
0bc0bae90d
fix(es/async-generator): Fix yield* in async generators (#4452) 2022-04-28 04:14:17 +00:00
Austaras
ec7dfb9209
chore(es/minifier): Don't run tests with infinite loops (#4448) 2022-04-27 02:21:39 +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
SWC Bot
65ced1d524 chore: Publish crates 2022-04-25 12:34:52 +00:00
Donny/강동윤
8118569045
fix(es/minifier): Remove wrong logic for optimizing deletes (#4429) 2022-04-25 12:32:02 +00:00
SWC Bot
2dee47c430 chore: Publish crates 2022-04-25 12:10:52 +00:00
Donny/강동윤
9733917cc7
fix(es/minifier): Fix analysis of update expressions (#4428) 2022-04-25 12:07:27 +00:00
Donny/강동윤
8ab12fd97b
fix(es/minifier): Preserve more side effects (#4420) 2022-04-25 06:56:19 +00:00
SWC Bot
f12183a245 chore: Publish crates 2022-04-24 15:36:35 +00:00
Donny/강동윤
aa19b65f9c
fix(es/minifier): Don't drop arguments to an IIFE without body (#4419) 2022-04-24 15:27:51 +00:00
Donny/강동윤
9b34ecfd2e
test(es/minifier): Categorize tests (#4410) 2022-04-24 12:11:02 +00:00
Donny/강동윤
f787f8c819
test(es/minifier): Execute terser tests if possible (#4418) 2022-04-24 11:40:39 +00:00
SWC Bot
d7aa781a16 chore: Publish crates 2022-04-24 03:29:34 +00:00
Austaras
83244add33
fix(es/minifier): Remove the last break in the last BlockStmt (#4413) 2022-04-24 03:26:49 +00:00
Donny/강동윤
4e113037e5
test(es/minifier): Use _ instead of - for terser tests (#4411) 2022-04-23 18:34:00 +00:00
Donny/강동윤
ab88637937
test(es/minifier): Split tests into improvement and stabilization (#4409) 2022-04-23 13:40:28 +00:00
SWC Bot
b78ffcc058 chore: Publish crates 2022-04-23 11:01:17 +00:00
Donny/강동윤
4c9e5c01ef
perf(es/minifier): Add some fast-path to the MultiReplacer (#4408) 2022-04-23 19:53:21 +09:00
SWC Bot
9dc30a5bc4 chore: Publish crates 2022-04-22 10:39:46 +00:00
Donny/강동윤
efdf93d910
chore(es/minifier): Add a script to instrument real-world inputs (#4399) 2022-04-22 10:37:04 +00:00
SWC Bot
15aad03bff chore: Publish crates 2022-04-22 01:46:47 +00:00
Donny/강동윤
375cc5975a
fix(es/minifier): Disable conditionals by default (#4391) 2022-04-22 10:44:53 +09:00
SWC Bot
7d23492b16 chore: Publish crates 2022-04-21 10:02:50 +00:00
Austaras
8cf3ddda6c
feat(es/minifier): Improve handling of switches (#4260) 2022-04-21 10:00:25 +00:00
SWC Bot
2033b788a1 chore: Publish crates 2022-04-21 07:26:10 +00:00
Donny/강동윤
87859e373d
fix(es/minifier): Preserve more labels (#4380) 2022-04-21 07:23:50 +00:00
SWC Bot
4f7778930e chore: Publish crates 2022-04-20 13:39:40 +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
SWC Bot
d71e17368b chore: Publish crates 2022-04-20 07:43:05 +00:00
Donny/강동윤
203dde9c6b
perf(es/minifier): Fix default of TerserCompressorOptions (#4378) 2022-04-20 16:35:11 +09:00
Donny/강동윤
4a8b1dad1d
test(es/minifier): Organize tests (#4375) 2022-04-20 15:52:03 +09:00
Donny/강동윤
a8eb00cc54
perf(es/minifier): Change default value of passes to 3 (#4373) 2022-04-19 22:02:33 +00:00
Donny/강동윤
5d179bfd7d
chore(es/minifier): Setup correct benchmark (#4372) 2022-04-19 18:12:04 +00:00
SWC Bot
aabdcf092d chore: Publish crates 2022-04-19 14:44:04 +00:00
Donny/강동윤
6300b9cdb1
perf(es/minifier): Make base54 use stack-allocated vector (#4371) 2022-04-19 14:41:26 +00:00
SWC Bot
0890de43ee chore: Publish crates 2022-04-19 09:16:52 +00:00
Donny/강동윤
4b1590e72f
fix(es/minifier): Apply name mangler even more (#4368) 2022-04-19 09:14:15 +00:00
SWC Bot
33e4661090 chore: Publish crates 2022-04-19 08:22:48 +00:00
Donny/강동윤
a8ed5ba357
fix(es/minifier): Apply name mangler as much as we can (#4365) 2022-04-19 17:20:12 +09:00
Donny/강동윤
128175c329
fix(es/minifier): Fix default values of toplevel (#4366) 2022-04-19 07:31:48 +00:00
SWC Bot
492611b73a chore: Publish crates 2022-04-18 02:46:44 +00:00
Donny/강동윤
e60ae2a486
feat(es/minifier): Implement all template literal evaluation rules (#4360)
- We now handle nested template literals.
 - We now drop expressions in template literals if it's ignored.
2022-04-18 02:43:55 +00:00
SWC Bot
7fe0dbc228 chore: Publish crates 2022-04-17 23:46:20 +00:00
Donny/강동윤
2e095face5
feat(es/minifier): Improve evaluation of template literals (#4359) 2022-04-18 08:43:54 +09:00
SWC Bot
d58e303e83 chore: Publish crates 2022-04-17 22:18:38 +00:00
Donny/강동윤
e13b8625f2
feat(es/minifier): Implement more evaluation rules (#4356)
- We now handle `array.join` in parallel optimizer.
 - We now handle `[].join` of template literals.
 - We now optimize a template literal as a string addition, in unsafe mode.
2022-04-17 22:16:21 +00:00
Donny/강동윤
8309440008
chore(es): Rename benchmarks (#4355) 2022-04-17 18:36:15 +00:00
Donny/강동윤
b3b95acc75
feat(es/minifier): const => let (#3654) 2022-04-17 15:52:29 +00:00
SWC Bot
320e27fb52 chore: Publish crates 2022-04-17 14:27:11 +00:00
Donny/강동윤
42e15aedc2
perf(es/minifier): Split frequently used functions (#4352) 2022-04-17 14:22:38 +00:00
Donny/강동윤
2563c7f8ff
chore(es/minifier): Improve scripts (#4339) 2022-04-17 19:53:47 +09:00
Donny/강동윤
14c74f50c0
chore(es/minifier): Organize scripts (#4347) 2022-04-17 10:16:40 +00:00
SWC Bot
a128b658b7 chore: Publish crates 2022-04-17 08:17:44 +00:00
Austaras
5a5e41aaaa
fix(es/minifier): Preserve vars in dead branches (#4345) 2022-04-17 08:15:14 +00:00
Donny/강동윤
66ff7b8a09
perf(es/minifier): Make name mangler faster (#4342) 2022-04-17 15:35:36 +09:00
SWC Bot
3459b18c32 chore: Publish crates 2022-04-15 22:33:58 +00:00
Donny/강동윤
ba5f7436c1
chore(es/minifier): Add full benchmark for .minify() (#4341) 2022-04-15 22:31:15 +00:00
SWC Bot
6b1e175de4 chore: Publish crates 2022-04-15 11:04:04 +00:00
Donny/강동윤
4110fcb961
fix(es/minifier): Inline before cloning (#4338) 2022-04-15 11:01:29 +00:00
SWC Bot
075c7ff79d chore: Publish crates 2022-04-15 08:28:31 +00:00
Donny/강동윤
f92242dcb1
feat(es/minifier): Improve sequential inliner (#4335)
- We now skip more expressions.
2022-04-15 08:25:31 +00:00
SWC Bot
995b4367cc chore: Publish crates 2022-04-15 07:39:50 +00:00
Donny/강동윤
8886a4b572
fix(es/minifier): Respect dead_code (#4328) 2022-04-14 06:00:43 +00:00
SWC Bot
39dc394933 chore: Publish crates 2022-04-13 14:26:17 +00:00
Donny/강동윤
2002554fa2
refactor(es/minifier): Clean up logging (#4322) 2022-04-13 23:23:07 +09:00
Donny/강동윤
0245e26af5
fix(es/codegen): Fix overflow of numeric literals (#4321) 2022-04-13 10:16:51 +00:00
Alexander Akait
81370d16cb
fix(css/parser): Parse legacy calcs (#4320) 2022-04-13 07:02:31 +00:00
SWC Bot
06c829da71 chore: Publish crates 2022-04-12 03:42:51 +00:00
Donny/강동윤
74a5087989
feat(es/minifier): Enable dead_code by default (#4309) 2022-04-12 03:40:10 +00:00
SWC Bot
e133071c41 chore: Publish crates 2022-04-12 02:15:01 +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
Austaras
df0d572b4f
chore(es/minifier): Update terser test references (#4297) 2022-04-10 06:50:52 +00:00
SWC Bot
d1a5115c6e chore: Publish crates 2022-04-09 09:18:07 +00:00
Donny/강동윤
b990b19ed1
fix(es/minifier): Fix inlining of uninitialized variables (#4292) 2022-04-09 09:15:40 +00:00
SWC Bot
974919eafa chore: Publish crates 2022-04-08 08:59:03 +00:00
Donny/강동윤
c961371c31
fix(es/minifier): Fix handling of eval (#4273) 2022-04-08 08:56:28 +00:00
SWC Bot
9feabcd145 chore: Publish crates 2022-04-07 08:11:17 +00:00
Donny/강동윤
434dcf4af7
refactor(es/minifier): Merge code for multi-replacer (#4269) 2022-04-07 08:08:42 +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
91e889f531 chore: Publish crates 2022-04-06 11:10:53 +00:00
Donny/강동윤
1f5cac4d41
feat(es/minifier): Implement more rules for hoist_props (#4262) 2022-04-06 11:01:45 +00:00
SWC Bot
35ad940ca5 chore: Publish crates 2022-04-06 06:31:19 +00:00
Donny/강동윤
ab1f440103
feat(es/minifier): Exclude local bindings from aliases (#4261)
- We now exclude bindings created by the initializer while analyzing aliases.
2022-04-06 06:28:49 +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
SWC Bot
9843ee42df chore: Publish crates 2022-04-05 07:37:06 +00:00
Donny/강동윤
350a19587e
fix(es/minifier): Fix infinite loops (#4250)
- We now don't mark changes due to `negate_cost` as a change.
2022-04-05 07:29:10 +00:00
SWC Bot
ea871e2879 chore: Publish crates 2022-04-05 06:27:53 +00:00
Donny/강동윤
4701da576f
feat(es/minifier): Improve inliner and evaluator (#4216) 2022-04-05 06:25:23 +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
b973d35282 chore: Publish crates 2022-04-04 03:48:39 +00:00
magic-akari
6a51d0471a
fix(es/minifier): Handle empty RegExp (#4235) 2022-04-04 03:46:07 +00:00
SWC Bot
6e4dc582ba chore: Publish crates 2022-04-03 13:15:32 +00:00
Donny/강동윤
fe358ad0b9
feat(es/minifier): Improve sequential inlining (#4231) 2022-04-03 13:13:15 +00:00
SWC Bot
aac4e34d91 chore: Publish crates 2022-04-03 11:49:06 +00:00
Donny/강동윤
55b98fc874
fix(es/minifier): Remap variables on IIFE evaluation (#4230)
- We now check if there's pending inlining before remapping variables.
 - We now use ad-hoc type for remapping.
 - We now inline before remapping to prevent interference with inlining.
2022-04-03 11:39:05 +00:00
SWC Bot
3337777f8c chore: Publish crates 2022-04-02 06:06:39 +00:00
SWC Bot
d2f44095dc chore: Publish crates 2022-04-01 11:14:19 +00:00
Donny/강동윤
688f653323
perf(es/minifier): Add fast-path for sequences pass (#4217) 2022-04-01 11:06:35 +00:00
Donny/강동윤
164556290b
perf(es/parser): Improve performance by using #[cold] (#4215) 2022-04-01 06:20:29 +00:00
SWC Bot
1068561800 chore: Publish crates 2022-04-01 04:29:08 +00:00
SWC Bot
30742ae6e7 chore: Publish crates 2022-03-31 09:14:23 +00:00
Donny/강동윤
10718547e0
fix(es/minifier): Fix evaluation of IIFEs (#4207)
- We now remap parameters using a new syntax context. This is required because we may copy functions, and it can result in duplicated variables with respect to the span hygiene.
 - We now visit the sequence expression generated by inlining. This is to improve performance in some cases.
 - We now remove variables from variable statements if it's identical to a parameter declared in the function.
 - IIFE evaluation is now aware of `this` being different for member expressions.
 - We now have more logic for detecting simple functions.
2022-03-31 09:11:54 +00:00
SWC Bot
30cde5b0eb chore: Publish crates 2022-03-30 23:37:49 +00:00
Donny/강동윤
11fe5fabd8
feat(es/minifier): Evaluate more iifes (#4200) 2022-03-30 23:35:30 +00:00
SWC Bot
1ac4e54ee4 chore: Publish crates 2022-03-29 10:16:17 +00:00
Donny/강동윤
9a9a4f37d8
fix(es/minifier): Fix react-ace (#4183) 2022-03-29 10:13:30 +00:00
Donny/강동윤
6d3ea17aa6
feat(es/minifier): Optimize switches more correctly (#4180) 2022-03-29 04:25:15 +00:00
SWC Bot
783904917d chore: Publish crates 2022-03-29 01:48:37 +00:00
Donny/강동윤
a6f6799811
feat(es/minifier): Evaluate trivial expressions (#4179) 2022-03-29 01:46:09 +00:00
SWC Bot
6125de9808 chore: Publish crates 2022-03-28 12:20:51 +00:00
SWC Bot
13e7b4f92a chore: Publish crates 2022-03-28 09:16:49 +00:00
Donny/강동윤
6f25e5774b
feat(es/minifier): Implement more rules for dropping unused assignemnts (#4171) 2022-03-28 09:14:16 +00:00
RiESAEX
ea0de90137
fix(es/codegen): Emit sourcemap of key-value properties correctly (#4166) 2022-03-27 14:26:53 +09:00
Donny/강동윤
32c2de1181 chore: Publish crates 2022-03-25 21:15:57 +09:00
SWC Bot
1a3ed8e625 chore: Publish crates 2022-03-25 12:10:43 +00:00
Donny/강동윤
b37dafbd27
feat(es/minifier): Implement rules for optimizing loops (#4157) 2022-03-25 12:08:14 +00: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
4e07a29112 chore: Publish crates 2022-03-24 00:51:52 +00:00
Donny/강동윤
ee5c48c935
feat(es/minifier): Implement more rules for optimizing for-if-break (#4140) 2022-03-24 00:49:32 +00:00
SWC Bot
3c4c3a6087 chore: Publish crates 2022-03-23 22:58:33 +00:00
Donny/강동윤
1d3763d96c
feat(es/minifier): Implement some unsafe evaluation rules (#4133) 2022-03-23 22:56:13 +00:00
Alexander Akait
48f3dc8cc4
feat(es/codegen): Compress \t in string literals more (#4131) 2022-03-23 21:37:03 +00:00
magic-akari
bf1924d1a8
feat(es/typescript): Support optional variance annotations (#4008) 2022-03-23 14:36:37 +00:00
Alexander Akait
f5a5217506
fix(es/codegen): Fix codegen of template literals (#4124) 2022-03-23 12:39:47 +00:00
Donny/강동윤
13b2f38cdd
fix(es/typescript): Collect all bindings in strip (#4118) 2022-03-22 10:03:58 +00:00