Commit Graph

1406 Commits

Author SHA1 Message Date
Donny/강동윤
d6a24a28e8
build(cargo): Drop dependencies on retain_mut (#6884) 2023-01-31 05:45:37 +00:00
SWC Bot
3e8d80a324 chore: Publish crates 2023-01-30 11:17:16 +00:00
SWC Bot
edc432713e chore: Publish crates 2023-01-29 15:33:29 +00:00
SWC Bot
0bb4dc2c3d chore: Publish crates 2023-01-29 14:56:26 +00:00
SWC Bot
1b56b40fda chore: Publish crates 2023-01-28 17:21:30 +00:00
Austaras
c0e72ef64a
fix(es/minifier): Track reassign in parent scope (#6865)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6864.
2023-01-28 17:19:19 +00:00
SWC Bot
33dab56853 chore: Publish crates 2023-01-27 13:00:49 +00:00
SWC Bot
5a5a7d70e4 chore: Publish crates 2023-01-27 06:59:44 +00:00
SWC Bot
586783a7ac chore: Publish crates 2023-01-27 05:38:19 +00:00
Donny/강동윤
d1687d8e01
feat(es/minifier): Improve compatibility of arrows with terser (#6862)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6123.
2023-01-27 14:36:12 +09:00
SWC Bot
8fc1b651b1 chore: Publish crates 2023-01-26 02:11:53 +00:00
SWC Bot
28be71dfaf chore: Publish crates 2023-01-26 01:19:53 +00:00
Austaras
55225cb994
refactor(es/minifier): Merge cond_init with reassigned (#6850)
**Description:**

And optimize the following situation
```js
export function genElement(el, state) {
    if ('slot' === el.tag) return el1 = el, genChildren(el1);
    if (el.component) {
        var el1
        return 999;
    }
}
```
which rarely happens in hand written JS, but is often generated by swc merge variable pass.
2023-01-26 10:17:33 +09:00
SWC Bot
30b8cc612e chore: Publish crates 2023-01-24 06:18:52 +00:00
HeYunfei
58208ef8ae
perf(es/minifier): Make pure function check O(1) (#6840) 2023-01-24 06:16:23 +00:00
SWC Bot
1d81137592 chore: Publish crates 2023-01-20 08:52:56 +00:00
Donny/강동윤
21e14787c5
fix(es/minifier): Don't inline into await from sequential inliner (#6839)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6837.
2023-01-20 08:50:51 +00:00
SWC Bot
8863e31446 chore: Publish crates 2023-01-20 08:11:11 +00:00
Donny/강동윤
df702614e1
fix(es/codegen): Fix codegen of string literals with \x000 (#6838)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6836.
2023-01-20 08:08:58 +00:00
SWC Bot
8194c65953 chore: Publish crates 2023-01-18 02:19:16 +00:00
SWC Bot
c3607ba6eb chore: Publish crates 2023-01-16 16:09:51 +00:00
SWC Bot
b1f3eb74df chore: Publish crates 2023-01-16 15:26:01 +00:00
SWC Bot
4a75eb0157 chore: Publish crates 2023-01-16 06:59:39 +00:00
Donny/강동윤
ebce18b221
fix(es/renamer): Handle rest params correctly (#6821)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6819.
2023-01-16 06:57:16 +00:00
SWC Bot
179a5f8a92 chore: Publish crates 2023-01-16 04:53:53 +00:00
Donny/강동윤
82bd5c2041
feat(es/renamer): Rename synthesized identifiers even on eval (#6818)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5068.
2023-01-16 04:51:47 +00:00
SWC Bot
a5707ae7c1 chore: Publish crates 2023-01-15 06:45:26 +00:00
SWC Bot
0bc0a0d274 chore: Publish crates 2023-01-13 06:57:24 +00:00
Donny/강동윤
8f683e3f77
feat(es/minifier): Remove noop spreads (#6803)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6788.
2023-01-13 06:55:04 +00:00
Donny/강동윤
a299fd0418
test(es/minifier): Add a test for an invalid issue (#6802)
**Related issue:**
 
 - https://github.com/vercel/next.js/discussions/30237#discussioncomment-4674405
2023-01-13 05:39:22 +00:00
SWC Bot
b27793f579 chore: Publish crates 2023-01-13 05:02:46 +00:00
Donny/강동윤
631dd7872b
feat(es/renamer): Support safari10 from the name mangler (#6801) 2023-01-13 05:00:13 +00:00
SWC Bot
ba910306ad chore: Publish crates 2023-01-12 09:22:29 +00:00
Donny/강동윤
c14540905f
fix(es/transform): Apply hygiene and resolver if minify is specified (#6793)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6791.
2023-01-12 07:29:28 +00:00
Donny/강동윤
5496379454 chore: Publish crates 2023-01-11 18:36:16 +09:00
SWC Bot
1431c735a9 chore: Publish crates 2023-01-11 07:44:21 +00:00
SWC Bot
eddf8fd1bb chore: Publish crates 2023-01-11 07:06:58 +00:00
Donny/강동윤
06770cff04
fix(es/minifier): Make AST compressor respect toplevel (#6775)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/4386.
2023-01-11 07:04:20 +00:00
SWC Bot
267d256b5b chore: Publish crates 2023-01-11 06:04:36 +00:00
Donny/강동윤
336b1d8b4d
fix(es/minifier): Don't inline conditionally initialized vars (#6751)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6750.
 - Closes https://github.com/swc-project/swc/issues/6780.
2023-01-11 06:01:56 +00:00
SWC Bot
cd06479a43 chore: Publish crates 2023-01-11 03:00:59 +00:00
SWC Bot
6f1e08fa3c chore: Publish crates 2023-01-10 06:45:17 +00: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
SWC Bot
52dada97ff chore: Publish crates 2023-01-10 06:03:34 +00:00
SWC Bot
478b1fe458 chore: Publish crates 2023-01-10 05:10:48 +00:00
SWC Bot
ca64ab0906 chore: Publish crates 2023-01-09 11:00:40 +00:00
SWC Bot
a225efe363 chore: Publish crates 2023-01-08 04:59:27 +00:00
SWC Bot
fb6770f649 chore: Publish crates 2023-01-06 08:17:26 +00:00
HeYunfei
8a6a1cbcf1
feat(es/minifier): Handle boolean in Evaluator (#6756)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5953.
2023-01-06 08:15:07 +00:00
SWC Bot
1161360d54 chore: Publish crates 2023-01-06 03:49:20 +00:00
SWC Bot
ec8497b42c chore: Publish crates 2023-01-06 03:16:51 +00:00
HeYunfei
a1ccc8afdf
feat(es/minifier): Make name mangler understand block scoping (#6670)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5090.
 - Closes https://github.com/swc-project/swc/issues/5766.
2023-01-06 03:14:10 +00:00
SWC Bot
918a01bf5c chore: Publish crates 2023-01-04 14:19:54 +00:00
SWC Bot
790c478a7a chore: Publish crates 2023-01-04 07:29:33 +00:00
SWC Bot
1638105865 chore: Publish crates 2023-01-04 04:33:32 +00:00
Donny/강동윤
88d40e8ab8
fix(es/minifier): Fix usage counter to fix infinite loop (#6744)
**Description:**

We skip non-computed property names while checking if we can inline an expression.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6729.
2023-01-04 04:31:12 +00:00
SWC Bot
30471796c9 chore: Publish crates 2023-01-03 09:47:06 +00:00
Donny/강동윤
206c0dbebe
fix(es/compat): Fix syntax context of async-to-generator (#6741)
**Description:**

Previously, the `async-to-generator` produced invalid AST, in the aspect of span hygiene.

[Playground](https://play.swc.rs/?version=1.3.24&code=H4sIAAAAAAAAAz1MbQqAIBT77yn2UyG6gNQJuoSZRCAa7xkk4d1TicZgH7C5%2B4yUYGPgBE7ZuyWazREmSIVpxiMAcumi0C3ANZxyvQ6%2Fqa8CehxjaGNpOAcLaWjn%2F6KhKN1dGaoULSpfHPTdxn8AAAA%3D&config=H4sIAAAAAAAAA0WOSwrDMAxE76K1F22hXfgE3fQQxlWCi39ICsQY3z12cMlOjObNTIUfW9AVsiFGGheXKGYHDVIysiWXBRQId2kxnrEpwF2QovFv9BmJQQtt2D2GVpROIj9u92enfEqMk1MQXHRLGR02hUzIfL1MXP3f2XpFSN9tCPWccWa%2BoF0Zk3P8mcYxoR3Kj7IYzwAAAA%3D%3D).
It generate two bindings for `args` so it's invalid.


**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6730.
2023-01-03 09:45:03 +00:00
SWC Bot
2e32faaa3c chore: Publish crates 2023-01-03 03:14:24 +00:00
HeYunfei
b5d31cc2da
fix(es/utils): Fix detection of hoisting (#6738) 2023-01-03 03:12:01 +00:00
SWC Bot
61245739ea chore: Publish crates 2022-12-21 03:03:05 +00:00
SWC Bot
923e4ff840 chore: Publish crates 2022-12-20 09:37:22 +00:00
Donny/강동윤
707b1e3cd2
feat(es/minifier): Improve simplification of ?. (#6681)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6492.
2022-12-20 09:34:50 +00:00
SWC Bot
417278f79e chore: Publish crates 2022-12-20 07:47:43 +00:00
Donny/강동윤
7e6ec8d587
fix(es/minifier): Don't inline invalid LHS into an update argument (#6680)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6641.
2022-12-20 07:45:29 +00:00
SWC Bot
913230d02a chore: Publish crates 2022-12-20 06:11:34 +00:00
SWC Bot
fc6ed6b0c0 chore: Publish crates 2022-12-15 09:35:01 +00:00
SWC Bot
139e35666c chore: Publish crates 2022-12-15 07:53:24 +00:00
Donny/강동윤
bb9fab8d03
fix(es/minifier): Abort IIFE invoker completely on eval (#6659)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6628.
2022-12-15 07:49:58 +00:00
SWC Bot
fa1b02bbd2 chore: Publish crates 2022-12-14 09:23:16 +00:00
Donny/강동윤
7f3e6983e5
test(es/minifier): Enable size tests created from creduce (#6646) 2022-12-14 09:19:51 +00:00
SWC Bot
d831fb3cdd chore: Publish crates 2022-12-14 04:49:13 +00:00
Donny/강동윤
e4e4d6cf6b
fix(es/minifier): Abort sequential inliner on optional chaining (#6637)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6636.
2022-12-14 04:45:47 +00:00
SWC Bot
4986694d4c chore: Publish crates 2022-12-14 04:07:34 +00:00
SWC Bot
30692bc26c chore: Publish crates 2022-12-13 15:48:32 +00:00
SWC Bot
292c3388b5 chore: Publish crates 2022-12-13 07:31:37 +00:00
SWC Bot
d33fb7e98c chore: Publish crates 2022-12-13 06:53:51 +00:00
HeYunfei
08ccb8384c
chore(es/minifier): Expose globals_defs pass (#6633) 2022-12-13 06:50:11 +00:00
SWC Bot
c4ab41eca4 chore: Publish crates 2022-12-13 04:22:30 +00:00
Donny/강동윤
8b2e1d17e5
fix(es/minifier): Abort IIFE invoker on eval (#6478)
**Related issue:**

 - https://github.com/vercel/next.js/issues/43052.
2022-12-13 04:18:57 +00:00
SWC Bot
581d9ce769 chore: Publish crates 2022-12-13 03:38:21 +00:00
SWC Bot
4d4406d5b3 chore: Publish crates 2022-12-12 02:40:19 +00:00
SWC Bot
2e50dd54e8 chore: Publish crates 2022-12-12 02:01:40 +00:00
SWC Bot
3d80fa4c25 chore: Publish crates 2022-12-10 00:55:14 +00:00
SWC Bot
fc21895bce chore: Publish crates 2022-12-10 00:09:46 +00:00
SWC Bot
fef8fc99a0 chore: Publish crates 2022-12-09 01:52:11 +00:00
SWC Bot
6fadb48a52 chore: Publish crates 2022-12-08 05:15:03 +00:00
SWC Bot
96f9858639 chore: Publish crates 2022-12-07 23:43:51 +00:00
SWC Bot
9cc5b928a6 chore: Publish crates 2022-12-07 11:57:23 +00:00
Alex Kirszenberg
e1d01d8b7a
feat(es/analyzer): Extract the analyzer from the minifier to a separate crate (#6586) 2022-12-07 11:53:49 +00:00
SWC Bot
9d0247a394 chore: Publish crates 2022-12-06 00:54:17 +00:00
SWC Bot
c3dd8ffe79 chore: Publish crates 2022-12-05 00:17:56 +00:00
IWANABETHATGUY
586bfd5480
refactor(es/minifier): Remove unnecessary code (#6575) 2022-12-05 00:14:51 +00:00
SWC Bot
2379fc1fd9 chore: Publish crates 2022-12-04 05:55:52 +00:00
SWC Bot
cffa11122b chore: Publish crates 2022-12-03 00:26:38 +00:00
SWC Bot
ab2e19b601 chore: Publish crates 2022-12-02 08:01:39 +00:00
SWC Bot
912743aadb chore: Publish crates 2022-11-30 17:13:08 +00:00
SWC Bot
171733e8bb chore: Publish crates 2022-11-30 07:50:13 +00:00
Donny/강동윤
8d8f150792
test(es/minifier): Add tests for preserving top-level directives (#6545) 2022-11-30 05:46:48 +00:00
SWC Bot
180f6740c1 chore: Publish crates 2022-11-29 07:04:40 +00:00
Yongwook Choi (Leo)
81224b5d67
fix(es/minifier): Don't convert a signed integer literal key to a numeric literal (#6529)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6528.
2022-11-29 07:01:30 +00:00
SWC Bot
6ca36c198b chore: Publish crates 2022-11-29 06:00:22 +00:00
SWC Bot
01676568e6 chore: Publish crates 2022-11-29 05:26:59 +00:00
Donny/강동윤
9752b43f94
fix(es/minifier): Use unsafe option for arrow => method (#6521)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6504.
 - https://github.com/vercel/next.js/issues/43208.
2022-11-29 05:23:55 +00:00
SWC Bot
40cc78f384 chore: Publish crates 2022-11-29 04:53:35 +00:00
Donny/강동윤
27ae59e77b
fix(es/minifier): Make sequential inliner respect resolution order (#6509)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6491.
2022-11-29 04:50:15 +00:00
SWC Bot
c14acc1b14 chore: Publish crates 2022-11-29 04:15:55 +00:00
Donny/강동윤
b394f9f1d3
fix(es/minifier): Don't drop used variables from sequential inliner (#6520)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6510.
2022-11-29 04:12:11 +00:00
SWC Bot
5a9aab2392 chore: Publish crates 2022-11-28 16:00:01 +00:00
SWC Bot
96a1f93e91 chore: Publish crates 2022-11-28 07:54:59 +00:00
SWC Bot
f019c0210b chore: Publish crates 2022-11-25 11:31:34 +00:00
SWC Bot
2ce5e2287a chore: Publish crates 2022-11-24 15:25:03 +00:00
SWC Bot
bc61b0948a chore: Publish crates 2022-11-24 09:46:57 +00:00
HeYunfei
8d906b45e5
fix(es/minifier): Preserve classes with side effects in static fields (#6480) 2022-11-24 09:43:00 +00:00
SWC Bot
6fd97971c9 chore: Publish crates 2022-11-24 08:47:34 +00:00
SWC Bot
553ba9c382 chore: Publish crates 2022-11-21 00:11:04 +00:00
SWC Bot
66b4966d60 chore: Publish crates 2022-11-20 23:40:48 +00:00
SWC Bot
40ad709523 chore: Publish crates 2022-11-20 10:06:27 +00:00
SWC Bot
59954370cb chore: Publish crates 2022-11-20 00:30:30 +00:00
HeYunfei
9154bbc111
fix(es/minifier): Avoid dropping statements which has side-effects (#6476) 2022-11-20 00:26:52 +00:00
SWC Bot
a4ed624f81 chore: Publish crates 2022-11-18 07:56:33 +00:00
Donny/강동윤
15ad2c2568
fix(es/minifier): Abort inliner on fn declarations used multiple time (#6473)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6463.
2022-11-18 07:53:13 +00:00
SWC Bot
e45c66535c chore: Publish crates 2022-11-18 07:19:26 +00:00
SWC Bot
d78c5452ea chore: Publish crates 2022-11-18 06:38:53 +00:00
SWC Bot
44b0790dcd chore: Publish crates 2022-11-17 06:04:26 +00:00
Alexander Akait
4d7b920bd4
feat(es/minifier): Support script fully (#6455) 2022-11-17 06:00:42 +00:00
SWC Bot
7716f58303 chore: Publish crates 2022-11-17 02:04:20 +00:00
SWC Bot
95d274e403 chore: Publish crates 2022-11-17 00:55:18 +00:00
HeYunfei
dabea71c44
fix(es/minifier): Preserve unused imported specifiers (#6458) 2022-11-17 00:52:19 +00:00
SWC Bot
0d30c7f463 chore: Publish crates 2022-11-16 04:54:58 +00:00
SWC Bot
4d6b182dc2 chore: Publish crates 2022-11-15 07:03:31 +00:00
Donny/강동윤
bb544ba2f5
fix(es/minifier): Fix code for dropping unreachable statements (#6429)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6405.
2022-11-15 07:00:14 +00:00
SWC Bot
6cc71e9493 chore: Publish crates 2022-11-15 02:32:13 +00:00
Donny/강동윤
99934b09f7
fix(es/minifier): Change the default of mangle.toplevel to false (#6439) 2022-11-15 02:28:38 +00:00
SWC Bot
e6e71b5b37 chore: Publish crates 2022-11-15 00:25:10 +00:00
Donny/강동윤
5fd7ab87b6
fix(es/minifier): Preserve op of the op-assignments in seq inliner (#6428)
**Description:**


**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6407.
2022-11-15 00:22:06 +00:00
SWC Bot
cdc1b4cea4 chore: Publish crates 2022-11-14 06:06:09 +00:00
Donny/강동윤
81a4bb304a
fix(es/compat): Fix span hygiene of function naming pass (#6345)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6344.
2022-11-14 06:03:09 +00:00
SWC Bot
b97a59bb3f chore: Publish crates 2022-11-14 05:34:02 +00:00
SWC Bot
6672c52af2 chore: Publish crates 2022-11-13 23:55:36 +00:00
SWC Bot
c74f922311 chore: Publish crates 2022-11-13 08:44:40 +00:00
SWC Bot
2088dd4a84 chore: Publish crates 2022-11-11 22:50:50 +00:00
SWC Bot
c1588eb3e5 chore: Publish crates 2022-11-11 02:00:43 +00:00
SWC Bot
c356f96820 chore: Publish crates 2022-11-09 06:32:39 +00:00
SWC Bot
9f685796c3 chore: Publish crates 2022-11-07 03:59:24 +00:00
Daiki Nishikawa
f6faeb3bad
fix(es/parser): Fix parsing of TS satisfies expressions (#6354) 2022-11-07 03:56:15 +00:00
SWC Bot
981dc88517 chore: Publish crates 2022-11-06 00:23:31 +00:00
SWC Bot
2c8c1392d1 chore: Publish crates 2022-11-05 18:33:53 +00:00
SWC Bot
1b839321c0 chore: Publish crates 2022-11-05 15:28:00 +00:00
SWC Bot
134b134581 chore: Publish crates 2022-11-05 14:10:18 +00:00
SWC Bot
a1a6513ee7 chore: Publish crates 2022-11-03 06:03:12 +00:00
SWC Bot
4293463bb6 chore: Publish crates 2022-11-03 04:55:30 +00:00
SWC Bot
394924cb99 chore: Publish crates 2022-11-02 10:05:19 +00:00
SWC Bot
fffc5f22d6 chore: Publish crates 2022-11-02 09:32:51 +00:00
SWC Bot
5784ae24a5 chore: Publish crates 2022-11-02 02:00:08 +00:00
Donny/강동윤
dd797f7f15
fix(es/minifier): Don't drop an inlined parameter as a duplicate (#6293) 2022-11-02 01:57:15 +00:00
SWC Bot
d22a400fd3 chore: Publish crates 2022-11-02 01:24:27 +00:00
Donny/강동윤
5d52ae971e
feat(es/minifier): Implement trivial optimizations (#6256)
**Description:**

1. Evaluate `Number.toString()`.
2. Mark some terser tests as passing where our output is better.
2022-11-02 01:21:32 +00:00
SWC Bot
108d3b82d4 chore: Publish crates 2022-11-01 16:36:24 +00:00
Donny/강동윤
655f6744c5
fix(es/minifier): Fix infinite loop (#6300)
**Related issue:**

 - https://github.com/vercel/next.js/issues/42171.
2022-11-01 16:32:52 +00:00
SWC Bot
33d83ae734 chore: Publish crates 2022-10-31 02:33:07 +00:00
SWC Bot
41e0698ed6 chore: Publish crates 2022-10-29 00:05:27 +00:00
Donny/강동윤
4eab2ed2fc
fix(es/minifier): Don't inline regex for IIFEs (#6283)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6279.

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2022-10-29 00:02:32 +00:00
SWC Bot
9f39013704 chore: Publish crates 2022-10-28 08:04:06 +00:00
Donny/강동윤
0376da73c6
test(es/minifier): Add a test for ?? operator (#6282)
**Related issue:**

 - https://github.com/vercel/next.js/issues/41992.
2022-10-28 08:00:21 +00:00
SWC Bot
30b3596779 chore: Publish crates 2022-10-28 02:04:38 +00:00
Austaras
8c1ac686cb
fix(es/minifier): Don't ignore nullish coalescing (#6272) 2022-10-28 02:00:47 +00:00
SWC Bot
a4546a4d22 chore: Publish crates 2022-10-28 01:27:37 +00:00
SWC Bot
09b296164c chore: Publish crates 2022-10-27 03:05:43 +00:00
SWC Bot
fd4b66ea8c chore: Publish crates 2022-10-27 01:25:04 +00:00
SWC Bot
bd61e0614c chore: Publish crates 2022-10-27 00:54:01 +00:00
Donny/강동윤
743a1aab4f
feat(es/minfiier): Compute more with sequential inliner (#6169) 2022-10-27 00:50:52 +00:00
SWC Bot
51132f0636 chore: Publish crates 2022-10-27 00:19:24 +00:00
SWC Bot
3fdc8071e1 chore: Publish crates 2022-10-26 12:32:21 +00:00
SWC Bot
f82dfe1f5d chore: Publish crates 2022-10-26 06:05:35 +00:00
Austaras
1cd7f617f9
feat(es/minifier): Inline a lazily initialized var if it's used once (#6237) 2022-10-26 06:02:22 +00:00
SWC Bot
5e60bf4f55 chore: Publish crates 2022-10-26 04:40:31 +00:00
Donny/강동윤
86e265a024
feat(es/minifier): Support more statements in seqential inliner (#6248)
**Description:**

We now inline into the discriminant of a switch statement and into the initializer of for/for-in/for-of statements.
2022-10-26 13:37:10 +09:00
Donny/강동윤
01edb4fff4
test(es/minifier): Organize terser tests (#6247) 2022-10-25 05:12:30 +00:00
Donny/강동윤
d4544884ee
chore(es/minifier): Configure fuzzer (#6246) 2022-10-25 04:36:03 +00:00
SWC Bot
3d9c1a55bb chore: Publish crates 2022-10-25 04:03:28 +00:00
Donny/강동윤
ec9a80aae0
feat(es/minifier): Respect options (#6245) 2022-10-25 04:00:16 +00:00
SWC Bot
2f05c3fd32 chore: Publish crates 2022-10-24 03:58:37 +00:00
SWC Bot
c025cd01ce chore: Publish crates 2022-10-23 04:45:44 +00:00
Donny/강동윤
48bb0cc51d
fix(es/minifier): Fix collapse_vars (#6235)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6217
2022-10-23 13:43:10 +09:00
SWC Bot
e2c1fcffd4 chore: Publish crates 2022-10-21 23:50:56 +00:00
SWC Bot
b79997ba02 chore: Publish crates 2022-10-21 09:11:29 +00:00
Donny/강동윤
e9d421bd95
fix(es/minifier): Preserve this in more cases (#6226)
**Related issue (if exists):**

 - Closes https://github.com/swc-project/swc/issues/6175.
 - Closes https://github.com/swc-project/swc/issues/6137.

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2022-10-21 09:07:00 +00:00
SWC Bot
bcd5f6f5be chore: Publish crates 2022-10-21 03:21:15 +00:00
Donny/강동윤
780b5de678
fix(es/minifier): Fix detection of direct eval (#6215) 2022-10-21 12:18:10 +09:00
SWC Bot
6b738f2443 chore: Publish crates 2022-10-21 00:36:28 +00:00
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
Donny/강동윤
725b1185f3
test(es/minifier): Add a test for a fixed issue (#6218)
**Related issue (if exists):**

 - Closes https://github.com/swc-project/swc/issues/6217.
2022-10-20 19:26:27 +00:00
SWC Bot
3f648bdf0f chore: Publish crates 2022-10-20 08:59:26 +00:00
SWC Bot
33470ab5b9 chore: Publish crates 2022-10-20 05:09:47 +00:00
Donny/강동윤
cc848db80e
feat(es/minifier): Mark more expressions as pure (#6204) 2022-10-20 05:06:32 +00:00
SWC Bot
6aaf6a7a87 chore: Publish crates 2022-10-20 02:26:45 +00:00
Donny/강동윤
12443db39a
feat(es/minifier): Merge functions using sequential inliner (#6148) 2022-10-20 02:24:09 +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
SWC Bot
b48ec880fd chore: Publish crates 2022-10-19 04:00:51 +00:00
SWC Bot
287c2f2941 chore: Publish crates 2022-10-19 02:18:35 +00:00
Donny/강동윤
842abd4575
fix(es/minifier): Remove wrong rule (#6201)
**Related issue:**

 - https://github.com/vercel/next.js/issues/41527.
2022-10-19 02:14:38 +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
e30316626f chore: Publish crates 2022-10-18 02:54:12 +00:00
Donny/강동윤
f2e8f98d38
feat(es/minifier): Skip function declarations in sequential inliner (#6147) 2022-10-18 02:51:05 +00:00
SWC Bot
b197a62b5e chore: Publish crates 2022-10-18 02:16:46 +00:00
Donny/강동윤
3f0fcf4fa9
feat(es/minifier): Make sequential inliner self-repeat (#6168) 2022-10-18 02:13:39 +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
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
16df44221f chore: Publish crates 2022-10-15 05:50:28 +00:00
Austaras
b40d486253
fix(es/minifier): Consider function body cost while inlining function (#5342) 2022-10-15 05:47:56 +00:00
SWC Bot
608aa94935 chore: Publish crates 2022-10-15 04:39:37 +00:00
Donny/강동윤
6d0ca05cb5
fix(es/minifier): Fix ordering issue of analyzer (#6150)
**Description:**

This is the groundwork for a parallel analyzer. This PR fixes the ordering issue of the analyzer so that the analyzer works identically regardless of the visit order. This patch contains some improvements because previously, we mixed `.and_modify()` and `.or_default()`.
2022-10-15 04:37:11 +00:00
SWC Bot
a50b5aeeb1 chore: Publish crates 2022-10-14 10:42:11 +00:00
SWC Bot
ef5ed9b4a9 chore: Publish crates 2022-10-14 03:00:49 +00:00
Donny/강동윤
d334c6e783
feat(es/minifier): Ignore return value if a param of IIFE is not used (#6115) 2022-10-14 02:58:00 +00:00
SWC Bot
3ff55caa38 chore: Publish crates 2022-10-14 00:35:25 +00:00
Donny/강동윤
3d271e82a2
fix(es/minifier): Preserve return values of recursive IIFE (#6142)
**Description:**

This PR fixes the logic for dropping return values of IIFE.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6141.
2022-10-14 09:32:56 +09:00
SWC Bot
31023f8e7e chore: Publish crates 2022-10-13 23:38:26 +00:00
Donny/강동윤
ec0d6d5a0d
feat(es/minifier): Improve trivial rules (#6136) 2022-10-13 23:34:30 +00:00
SWC Bot
0eb91d67a7 chore: Publish crates 2022-10-13 23:03:28 +00:00
Donny/강동윤
3a29bfee9b
feat(es/minifier): Change default pass limit to 3 (#6138) 2022-10-14 08:00:32 +09:00
SWC Bot
1affcfe8e8 chore: Publish crates 2022-10-13 06:12:56 +00:00
SWC Bot
769e5a2885 chore: Publish crates 2022-10-13 03:48:18 +00:00
Donny/강동윤
c37839fc62
feat(es/minifier): Swap more binary expressions (#6134) 2022-10-13 03:45:05 +00:00
SWC Bot
56da9981bb chore: Publish crates 2022-10-12 10:06:01 +00:00
SWC Bot
7e1972df7a chore: Publish crates 2022-10-12 05:34:45 +00:00
Donny/강동윤
5875298377
feat(es/minifier): Merge assignments using sequential inliner (#6103) 2022-10-12 05:31:40 +00:00
SWC Bot
7c9cb80a52 chore: Publish crates 2022-10-12 04:34:51 +00:00
Donny/강동윤
fc5d8a5d41
feat(es/minifier): Enable reduce_vars by default (#6096) 2022-10-12 04:32:15 +00:00
SWC Bot
bcc68a8e79 chore: Publish crates 2022-10-12 02:32:34 +00:00
Donny/강동윤
66196a65be
feat(es/minifier): Inline pure array literal partially (#6099) 2022-10-12 02:29:40 +00:00
SWC Bot
e37ced5bf4 chore: Publish crates 2022-10-12 01:55:47 +00:00
Austaras
5a23949f12
feat(es/minifier): Inline and remove vars in one pass (#6093) 2022-10-12 01:52:58 +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
Donny/강동윤
ad960c76c0
feat(es/minifier): Detect type of .length (#6120)
**Description:**

This PR updates minifier to detect the type of `xxx.length` if possible.
2022-10-11 23:06:58 +00:00
SWC Bot
5bf306565f chore: Publish crates 2022-10-11 11:23:16 +00:00
Donny/강동윤
6365acc9f5
test(es/minifier): Organize terser tests (#6116)
**Description:**

Our minifier is better than terser in some cases, so we don't need to match the output of terser exactly.
2022-10-11 08:25:11 +00:00
SWC Bot
018ca946e7 chore: Publish crates 2022-10-10 13:09:51 +00:00
SWC Bot
675da485fc chore: Publish crates 2022-10-10 05:40:39 +00:00
Donny/강동윤
3c6cdbc61c
feat(es/minifier): Enable reduce_funcs by default (#6097) 2022-10-10 05:38:17 +00:00
SWC Bot
f5f293e72e chore: Publish crates 2022-10-10 00:56:50 +00:00
Austaras
657e5b3111
feat(es/minifier): Inline more lazily initialized vars (#6089) 2022-10-10 09:53:50 +09:00
SWC Bot
fe51d7aaa2 chore: Publish crates 2022-10-09 00:24:46 +00:00
Donny/강동윤
b0c57458c8
feat(es/minifier): Mark ref to fn as non-call in alias analyzer (#6088) 2022-10-09 09:21:54 +09:00
SWC Bot
818a5cc1eb chore: Publish crates 2022-10-08 04:08:55 +00:00
Donny/강동윤
d0418ebe5b
doc(es/minifier): Document assumptions (#6085) 2022-10-08 13:05:57 +09:00
SWC Bot
969c6eeeeb chore: Publish crates 2022-10-08 03:17:53 +00:00
Donny/강동윤
9ce3df091f
feat(es/minifier): Distinguish calls in alias analyzer (#6080)
**Description:**

This PR improves the alias analyzer by distinguishing call and reference, thus reducing the number of identifiers.

---

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2022-10-08 03:15:18 +00:00
SWC Bot
3171718e07 chore: Publish crates 2022-10-07 07:48:18 +00:00
IWANABETHATGUY
8003dc8563
feat(es/codegen): Remove the trailing comma of binding patterns (#6078) 2022-10-07 16:45:20 +09:00
SWC Bot
477626b9ff chore: Publish crates 2022-10-07 05:55:53 +00:00
SWC Bot
15044a35b4 chore: Publish crates 2022-10-06 17:30:14 +00:00
Austaras
ac150c7ced
feat(es/minifier): Use usage_count in sequential inliner (#6071) 2022-10-06 17:27:34 +00:00
SWC Bot
d750f0e03c chore: Publish crates 2022-10-06 16:11:15 +00:00
SWC Bot
5f49ac012e chore: Publish crates 2022-10-06 11:38:55 +00:00
SWC Bot
9d6217f036 chore: Publish crates 2022-10-06 09:15:00 +00:00
Austaras
c9427f1ec4
fix(es/minifier): Improve infection analysis (#6044) 2022-10-06 18:12:09 +09:00
SWC Bot
07611a935c chore: Publish crates 2022-10-06 04:50:27 +00:00
Donny/강동윤
38df5978c1
fix(es/minifier): Mark delete as a property mutation (#6063)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6004.
2022-10-06 04:47:58 +00:00
SWC Bot
02a0cd37d7 chore: Publish crates 2022-10-06 02:49:43 +00:00
Donny/강동윤
d65fba134d
fix(es/minifier): Fix infection analysis of sequential inliner (#6053)
**Description:**

This PR fixes the callee issue by fixing the infection analyzer.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6047
2022-10-06 02:46:22 +00:00
SWC Bot
62dd127e3c chore: Publish crates 2022-10-06 02:13:20 +00:00
Donny/강동윤
36d467e7d7
fix(es/minifier): Fix analysis of var declaration after usage (#6043)
**Description:**

`var_initialized` should be `true` even if the declaration of variable comes after its usage.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6039.
2022-10-06 02:09:13 +00:00
SWC Bot
ad58d5daf8 chore: Publish crates 2022-10-06 01:40:03 +00:00
OJ Kwon
fff4b9ce65
build(cargo): Dedup indexmap with known version (#6060) 2022-10-06 01:36:13 +00:00
SWC Bot
f955f34afc chore: Publish crates 2022-10-05 12:25:56 +00:00
Donny/강동윤
e3b55e4bcf
fix(es/minifier): Fix optimization of numeric keys (#6052)
**Description:**

We should not optimize if the key starts with `0`.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6051.
2022-10-05 12:22:28 +00:00
SWC Bot
cad80e39c8 chore: Publish crates 2022-10-05 11:48:18 +00:00
Donny/강동윤
c5fb774487
fix(es/minifier): Don't skip unresolved identifiers (#6050)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6049
2022-10-05 11:44:51 +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
6749e6948e chore: Publish crates 2022-10-04 07:58:11 +00:00
Donny/강동윤
197c4e269d
fix(es/minifier): Don't evaluate String.fromCharCode for non-ascii values (#6033) 2022-10-04 16:46:59 +09:00
SWC Bot
7746bfb31b chore: Publish crates 2022-10-03 09:02:17 +00:00
Austaras
c4850997a2
feat(es/minifier): Inline vars initialized before the declaration (#6027) 2022-10-03 08:58:38 +00:00
SWC Bot
8e67fcc357 chore: Publish crates 2022-10-03 07:31:41 +00:00
Donny/강동윤
877936f626
feat(es/minifier): Clone trivial literals in sequential inliner (#6005)
**Description:**

As our minifier is two-pass by default, this is enough.

At the first pass, we inline all numeric literals using sequential inliner, and minifier can then inline constants correctly in the second pass.
2022-10-03 07:20:48 +00:00
SWC Bot
d620ce60ff chore: Publish crates 2022-10-02 15:36:08 +00:00
SWC Bot
b450e3829b chore: Publish crates 2022-10-02 11:05:09 +00:00
Donny/강동윤
2b627524ac
feat(es/minifier): Ignore return values of ignored IIFEs (#6020)
**Description:**

As we are not using the return value of the function, we can call `ignore_return_value` on the argument of the return statements of IIFE.
2022-10-02 20:01:56 +09:00
Donny/강동윤
1aae503913
test(es/minifier): Organize terser tests (#6015) 2022-10-02 07:00:10 +00:00
SWC Bot
55ea637450 chore: Publish crates 2022-10-01 09:27:16 +00:00
Austaras
61807abf6e
feat(es/minifier): Inline function calls in more cases (#6010) 2022-10-01 18:18:45 +09:00
SWC Bot
b6824ff254 chore: Publish crates 2022-10-01 03:36:56 +00:00
Austaras
31ffd5a01d
fix(es/renamer): Use a separate scope for the name of FnExpr (#6008) 2022-10-01 12:33:19 +09:00
SWC Bot
628b1a8455 chore: Publish crates 2022-09-30 09:47:09 +00:00
Donny/강동윤
286334c4d0
feat(es/minifier): Drop vars from sequential inliner (#5993)
**Description:**

This PR renames `CloningMultiReplacer` to `Finalizer` and makes it handle the removal of unused variables. Also, this PR improves the sequential inliner so we can drop variables within a single pass.
2022-09-30 09:43:31 +00:00
SWC Bot
97c2e3bf71 chore: Publish crates 2022-09-30 08:57:12 +00:00
Donny/강동윤
2ee3ad0066
fix(es/minifier): Don't inline into nested scope (#6002)
**Related issue:**

- https://github.com/vercel/next.js/discussions/30237#discussioncomment-3768734
2022-09-30 08:53:20 +00:00
Donny/강동윤
10fb645552
chore(ci): Merge CI scripts (#5999)
**Description:**

This PR merges CI scripts, and make integration tests use patched crates.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5540.
2022-09-30 16:57:15 +09:00