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
SWC Bot
d9db2faded
chore: Publish crates
2022-03-13 02:59:56 +00:00
Donny/강동윤
f7b212bfc4
perf(es/minifier): Use Vec<u8>
as a buffer for base54
( #3993 )
...
Description:
We are only using ASCII characters so we can avoid utf8 logics by using `Vec<u8>` as a buffer and converting it into `String` at the end.
2022-03-13 02:57:47 +00:00
SWC Bot
2a6106f0b7
chore: Publish crates
2022-03-12 15:38:49 +00:00
magic-akari
04db7e2a9b
perf(es/minifier): Refactor base54 ( #3989 )
2022-03-12 15:36:42 +00:00
Donny/강동윤
1beecceead
perf(es/minifier): Merge hashmap for scoping before checking ( #3988 )
...
Currently, we check for child scopes by doing a recursive call, like 2ad0d801a2/crates/swc_ecma_minifier/src/pass/mangle_names/analyzer/scope.rs (L112-L114)
But this is slow because it results in an enormous amount of calls.
We can optimize this by merging information of child scopes beforehand.
2022-03-12 20:06:59 +09:00
SWC Bot
fb421b8cc3
chore: Publish crates
2022-03-12 06:47:29 +00:00
Donny/강동윤
67e615421f
perf(es/minifier): Use fxhash for integers ( #3984 )
...
Description:
- `Id` is treated as integer, as `JsWord` and `SyntaxContext` are both integer.
2022-03-12 06:45:35 +00:00
SWC Bot
c6ddb5fcf5
chore: Publish crates
2022-03-12 06:17:50 +00:00
Donny/강동윤
107c91dd20
perf(es/minifier): Make mangler faster by merging hash sets into one ( #3983 )
2022-03-12 06:16:02 +00: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
Donny/강동윤
76e646804a
fix(es/parser): Parse if-else chain iteratively ( #3961 )
2022-03-11 09:10:54 +00:00
SWC Bot
8bb74b6093
chore: Publish crates
2022-03-10 15:23:12 +00:00
underfin
91a302a672
fix(es/minifier): Preserve fuction parameters used for template literals in evaluate
and reduce_vars
( #3949 )
2022-03-10 15:21:06 +00:00
SWC Bot
666f55e01c
chore: Publish crates
2022-03-10 07:48:19 +00:00
SWC Bot
41573530c2
chore: Publish crates
2022-03-10 06:21:09 +00:00
underfin
cc564ff6c5
fix(es/minifier): Skip exported vars while collapsing vars ( #3928 )
2022-03-10 06:19:25 +00:00
SWC Bot
ce57482ac8
chore: Publish crates
2022-03-10 05:57:55 +00:00
Donny/강동윤
f1ec8620ac
perf(es/minifier): Make optimization of pure calls parallel ( #3938 )
2022-03-10 05:56:02 +00:00
OJ Kwon
86ea23785d
perf(*): Update tracing
to improve performance of disabled spans ( #3932 )
2022-03-10 03:15:49 +00:00
SWC Bot
99f381cfa2
chore: Publish crates
2022-03-09 15:44:57 +00:00
Donny/강동윤
9e4dea6663
feat(es/minifier): Improve dropping of unused vars ( #3923 )
2022-03-09 15:43:01 +00:00
SWC Bot
56b646cc1a
chore: Publish crates
2022-03-09 12:04:50 +00:00
Austaras
bd838ac5a9
feat(es/minifier): Remove pure calls ( #3925 )
2022-03-09 11:55:31 +00:00
Austaras
7cfa930a62
feat(es/fixer): Remove extra parens around IIFE in statements ( #3918 )
2022-03-08 14:35:18 +00:00
SWC Bot
4c8e747c5c
chore: Publish crates
2022-03-08 10:06:14 +00:00
Donny/강동윤
8b3aa6d3aa
perf(es/minifier): Remove needless type parameter ( #3897 )
2022-03-08 10:04:14 +00:00
SWC Bot
c7d21da458
chore: Publish crates
2022-03-07 05:25:26 +00:00
Donny/강동윤
a47eed7241
perf(es/minifier): Add a fast-path to export merger ( #3891 )
2022-03-07 14:21:57 +09: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
04d77cab2f
chore: Publish crates
2022-03-05 20:20:43 +00:00
Donny/강동윤
a2643608a7
feat(es/minifier): Implement pure_getters
partially ( #3872 )
2022-03-05 20:18:52 +00:00
SWC Bot
fd453b9170
chore: Publish crates
2022-03-05 19:34:45 +00:00
SWC Bot
2fdc5f625d
chore: Publish crates
2022-03-05 14:52:49 +00:00
Donny/강동윤
44262508c6
fix(es/parser): Use unicode id instead of xid ( #3867 )
2022-03-05 12:24:45 +00:00
SWC Bot
81b2e6153e
chore: Publish crates
2022-03-05 10:03:49 +00:00
Donny/강동윤
e70c9d8f22
fix(es/minifier): Don't remove comments if compress
is not configured ( #3866 )
2022-03-05 10:01:55 +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
SWC Bot
db2a05fa55
chore: Publish crates
2022-03-04 02:11:24 +00:00
Donny/강동윤
260c2a885e
feat(es/minifier): Implement more rules ( #3841 )
...
swc_ecma_minifier:
- `conditionals`: Preserve a conditional expression if test is not resolved.
- `unsafe_arrows`: Optimize an anonymous function expression as an arrow expression.
- `unsafe_methods`: Optimize a method property where the only statement is return to an arrow expression.
2022-03-04 02:09:15 +00:00
SWC Bot
8c5067f510
chore: Publish crates
2022-03-03 22:01:08 +00:00
Donny/강동윤
0fc819e2ef
fix(es/minifier): Support declaring multiple bindings with the same name ( #3837 )
2022-03-04 06:58:39 +09:00
SWC Bot
5f8f114b62
chore: Publish crates
2022-03-04 05:26:32 +09:00
SWC Bot
b9756596ae
chore: Publish crates
2022-03-03 19:20:31 +00:00
Donny/강동윤
364532e9a7
feat(es/minifier): Improve sequential inlining ( #3820 )
2022-03-03 19:18:43 +00:00
SWC Bot
4a38e93efc
chore: Publish crates
2022-03-03 16:37:49 +00:00
Donny/강동윤
efc67417a5
feat(config): Add a dedicated cached regex ( #3832 )
2022-03-03 16:35:41 +00:00
Donny/강동윤
351b814ed0
perf(es): Use Mutex
from parking_lot
( #3830 )
2022-03-03 14:26:49 +00:00
Donny/강동윤
043fba274e
fix(es/hygiene): Fix renaming bugs ( #3824 )
2022-03-03 06:21:13 +00:00
Donny/강동윤
8a468f7544
fix(es/minifier): Don't reorder unnecessarily ( #3817 )
2022-03-02 08:57:50 +00:00
SWC Bot
6ba3c1bf3b
chore: Publish crates
2022-03-02 07:15:46 +00:00
Donny/강동윤
89388e6ac3
fix(es/minifier): Preserve more variables ( #3805 )
2022-03-02 07:13:57 +00:00
SWC Bot
5667316f12
chore: Publish crates
2022-03-02 06:48:09 +00:00
Donny/강동윤
789eb7baa9
feat(es/minifier): Drop more function parameters in strict mode ( #3814 )
2022-03-02 06:41:11 +00:00
Austaras
e1b13eb21a
feat(es/codegen): Optimize output of new expressions without arguments ( #3800 )
2022-03-01 10:55:49 +00:00
SWC Bot
1a79eb984e
chore: Publish crates
2022-03-01 09:58:04 +00:00
Donny/강동윤
8beaa202e2
fix(es/minifier): Fix optimizations of terminating expressions ( #3794 )
2022-03-01 09:55:45 +00:00
SWC Bot
bfc31c4bd1
chore: Publish crates
2022-02-28 16:33:26 +00:00
Donny/강동윤
73cab638a1
fix(es/minifier): Preserve unresolved references ( #3780 )
...
swc_ecma_minifier:
- `pure`: Add an optional list of bindings.
- `pure`: Drop identifier only if we have the complete list of bindings.
- `pure`: Allow using `GLOBALS`.
- `pure`: Drop some pure member expressions.
- Move identifier dropping logic from the stateful optimizer to the pure optimizer.
- `pure`: Drop more references to global declarations.
2022-02-28 16:31:13 +00:00
SWC Bot
a26edd2b0f
chore: Publish crates
2022-02-28 13:53:22 +00:00
Donny/강동윤
86072b57f9
test(es/minifier): Prepare porting more rules from terser
( #3779 )
2022-02-28 13:49:10 +00:00
SWC Bot
1d0c5f600b
chore: Publish crates
2022-02-28 13:01:51 +00:00
Donny/강동윤
714e05e553
feat(es/minifier): Consider arguments
while dropping unused assignments ( #3775 )
...
swc_ecma_minifier:
- `analyze`: Track usage of `arguments`.
2022-02-28 21:57:09 +09:00
SWC Bot
ca10ae1cd7
chore: Publish crates
2022-02-28 12:09:30 +00:00
Donny/강동윤
cfc036381a
fix(es/minifier): Fix inlining logic ( #3776 )
...
swc_ecma_minifier:
- Make `inline_vars_in_node` use `MultiReplacer`.
2022-02-28 12:07:12 +00:00
SWC Bot
ba3fdad025
chore: Publish crates
2022-02-28 07:43:17 +00:00
Donny/강동윤
e7f7f69db4
fix(es/minifier): Disable some operations for asm.js codes ( #3572 )
2022-02-28 07:40:04 +00:00
Donny/강동윤
3798436201
chore: Update rustc
( #3768 )
2022-02-28 16:12:28 +09:00
SWC Bot
4fe874dd77
chore: Publish crates
2022-02-26 15:11:21 +00:00
Donny/강동윤
3d944656bf
refactor(es): Make compilation faster ( #3749 )
2022-02-26 06:41:14 +00: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
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
Donny/강동윤
e35d73adf4
chore(clippy): Improve config ( #3691 )
2022-02-23 06:07:42 +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
Austaras
2cb66ae075
refactor(es/ast): Change definition of optional chaining expressions ( #3645 )
2022-02-21 07:12:09 +00:00
SWC Bot
bea6810c08
chore: Publish crates
2022-02-21 05:36:52 +00:00
Donny/강동윤
da2c77d9af
perf(es/minifier): Parallelize join_vars
( #3655 )
2022-02-21 05:34:32 +00:00
SWC Bot
073ecb560c
chore: Publish crates
2022-02-21 04:38:23 +00:00
Donny/강동윤
de6effc6e1
feat(es/minifier): Drop more unused vars ( #3656 )
2022-02-21 04:35:56 +00:00
SWC Bot
264f1cf8d6
chore: Publish crates
2022-02-20 15:53:48 +00:00
SWC Bot
4bd855274a
chore: Publish crates
2022-02-20 12:10:24 +00:00
Donny/강동윤
e9fabd61e8
feat(es/minifier): Improve name mangler ( #3638 )
2022-02-20 12:08:26 +00:00
SWC Bot
18ae83d853
chore: Publish crates
2022-02-20 10:47:59 +00:00
Donny/강동윤
10adf1e548
feat(es/minifier): Merge exports ( #3643 )
2022-02-20 10:44:21 +00:00
SWC Bot
e668ff08a5
chore: Publish crates
2022-02-19 19:41:18 +09:00
Donny/강동윤
fd0e952aec
perf(es/minifier): Fix performance bug of the mangler ( #3633 )
...
swc_ecma_minifier:
- Use a bi-directional hashmap instead of iterating all keys.
2022-02-19 10:31:54 +00:00
SWC Bot
144b2c9f9f
chore: Publish crates
2022-02-19 08:42:02 +00:00
Donny/강동윤
d2c94416a8
feat(es/minifier): Treat !0
as a literal while inlining ( #3631 )
2022-02-19 17:33:36 +09:00
SWC Bot
a5b3dd815b
chore: Publish crates
2022-02-15 16:30:56 +09:00
Donny/강동윤
bfc9897e34
fix(es/minifier): Disable name mangler if eval
is used ( #3526 )
2022-02-15 07:29:45 +00:00