Commit Graph

491 Commits

Author SHA1 Message Date
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
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
5b6b9c0a25 chore: Publish crates 2022-03-22 06:27:29 +00:00
Donny/강동윤
4a9817f003
fix(es/minifier): Consider side effects while lifting sequences (#4116) 2022-03-22 06:25:19 +00:00
SWC Bot
bba8e6be67 chore: Publish crates 2022-03-21 11:13:26 +00:00
Donny/강동윤
c6f8742669 feat(es/minifier): Implement more evaluation rules (#4030) 2022-03-21 20:07:59 +09: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
Alexander Akait
bd444c0ceb
fix(es/codegen): Fix codegen of string literals (#4037) 2022-03-16 14:25:26 +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
SWC Bot
531762ae71 chore: Publish crates 2022-03-15 08:45:12 +00:00
Donny/강동윤
3173047f58
refactor(es/minifier): Cleanup (#4020)
**Description:**

 - `Optimizer.data`: `Option<ProgramData>` => `ProgramData`.
 - `Optimizer.done`: Remvoed.
 - `Optimzer.done_ctxt`: Removed.
 - `Pure`: Add `data: Option<&'a ProgramData>`.
2022-03-15 08:42:50 +00:00
Donny/강동윤
be09ea6991
feat(es/minifier): Drop noop calls (#4019) 2022-03-15 16:23:32 +09:00
Donny/강동윤
38c0c0faa6 chore: Publish crates 2022-03-14 04:11:07 +09:00
SWC Bot
386456f48a chore: Publish crates 2022-03-13 09:13:23 +00:00
Donny/강동윤
a23af2dea2
feat(es/minifier): Compress more comparisons (#3996) 2022-03-13 09:11:16 +00:00
SWC Bot
ad3115fa2f chore: Publish crates 2022-03-13 03:29:32 +00:00
Donny/강동윤
64ca5bae4d
feat(es/minifier): Implement more rules for arrows (#3992) 2022-03-13 03:27:15 +00:00