Donny/강동윤
33a15c8d82
fix(es/minifier): Fix analysis of parameters ( #5954 )
...
**Description:**
Although the author of the issue talked about `@react-pdf/renderer`, it's a bug related to `brotli`, not react pdf renderer.
After investigation, I found that the bug is caused by not marking parameters as initialized. So I fixed the analyzer.
**Related issue:**
- https://github.com/vercel/next.js/issues/40803 .
2022-09-27 12:19:36 +09:00
SWC Bot
132a9380df
chore: Publish crates
2022-09-26 15:12:03 +00:00
Donny/강동윤
9d1974248d
fix(es/minifier): Fix skipping logic of sequential inliner ( #5956 )
...
**Description:**
This PR implements `is_skippable_for_seq` fully.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5935 .
2022-09-26 15:05:52 +00:00
SWC Bot
e001226674
chore: Publish crates
2022-09-26 09:21:39 +00:00
SWC Bot
e1f421b6af
chore: Publish crates
2022-09-25 01:36:48 +00:00
SWC Bot
e5ba9636ac
chore: Publish crates
2022-09-24 03:36:47 +00:00
Donny/강동윤
3c3529cb84
build(rustc): Update rustc ( #5943 )
...
**Description:**
This PR updates rustc, and fix some performance bugs of `swc_common`.
2022-09-24 03:33:47 +00:00
SWC Bot
8a5ed1e0ba
chore: Publish crates
2022-09-23 07:50:26 +00:00
Donny/강동윤
5cddb4c734
feat(es/typescript): Support TS 4.9 ( #5938 )
...
**Description:**
This PR adds satisfaction expression to the AST and parser.
2022-09-23 16:41:56 +09:00
SWC Bot
ae14211f04
chore: Publish crates
2022-09-23 05:25:48 +00:00
Donny/강동윤
97647861bf
fix(es/minifier): Track aliasing via assignments ( #5940 )
2022-09-23 14:22:41 +09:00
Donny/강동윤
93964a82ea
test(es/minifier): Remove analysis snapshot ( #5939 )
...
**Description:**
This PR removes analysis snapshots as it disturbs code review process
2022-09-23 13:14:42 +09:00
SWC Bot
15d21651c9
chore: Publish crates
2022-09-22 14:28:07 +00:00
Donny/강동윤
7bcaaef4f7
feat(es/minifier): Mangle labels ( #5934 )
...
**Description:**
This PR adds code to mangle labels.
2022-09-22 23:24:05 +09:00
SWC Bot
8dbef496cf
chore: Publish crates
2022-09-22 13:58:09 +00:00
Donny/강동윤
e16827cc9d
feat(es/minifier): Drop cycles in nested functions ( #5933 )
2022-09-22 13:54:49 +00:00
SWC Bot
098a021a43
chore: Publish crates
2022-09-22 13:18:22 +00:00
Donny/강동윤
5314ac5d02
feat(es/minifier): Use char frequency data for property manglers ( #5932 )
2022-09-22 22:14:26 +09:00
SWC Bot
0879a0504a
chore: Publish crates
2022-09-22 10:25:54 +00:00
Donny/강동윤
e9c704182b
feat(es/minifier): Improve analysis of reassignments ( #5931 )
2022-09-22 10:22:18 +00:00
SWC Bot
60bcdf768a
chore: Publish crates
2022-09-22 09:22:14 +00:00
Donny/강동윤
f2224132c1
fix(es/minifier): Prepend vars when dropping vars in a for loop initializer ( #5930 )
...
**Description:**
The minifier appends initializer of for statements instead of prepending it.
**Related issue:**
- https://github.com/vercel/next.js/discussions/30237#discussioncomment-3704795
2022-09-22 09:18:41 +00:00
SWC Bot
5e82dd63af
chore: Publish crates
2022-09-22 06:19:31 +00:00
Donny/강동윤
ac7b066d9a
feat(es/minifier): Inline rest parameters of IIFE ( #5929 )
2022-09-22 06:16:29 +00:00
SWC Bot
f5d42aa2b6
chore: Publish crates
2022-09-22 03:56:27 +00:00
Donny/강동윤
565bf317f6
feat(es/minifier): Evaluate more expressions ( #5926 )
2022-09-22 03:53:14 +00:00
SWC Bot
4c3813dbcc
chore: Publish crates
2022-09-22 03:16:22 +00:00
SWC Bot
043c95307e
chore: Publish crates
2022-09-21 15:12:52 +00:00
Donny/강동윤
19ce2737b1
feat(es/minifier): Collapse let
without init ( #5909 )
...
**Description:**
This patch applies the variable collapsing logic for the variables declared with `var` to the variables declared with `let`. This requires some patch about the behavior of visitors about `BlockStmt`, so this patch includes relevant changes.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5696 .
2022-09-21 15:04:29 +00:00
Donny/강동윤
31711e76af
test(es/minifier): Add an execution test for a fixed issue ( #5925 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5914 .
2022-09-21 12:19:14 +00:00
SWC Bot
a9270a8475
chore: Publish crates
2022-09-21 11:36:41 +00:00
Donny/강동윤
e303f7e853
fix(es/minifier): Fix analysis of assignments ( #5924 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5910
2022-09-21 11:33:25 +00:00
Donny/강동윤
0b34bcb40e
test(es/minifier): Add a test for a wrong issue ( #5923 )
2022-09-21 19:52:52 +09:00
SWC Bot
8a9cc7dd2a
chore: Publish crates
2022-09-21 07:33:40 +00:00
Donny/강동윤
fe40d8312b
test(es): Accept arguments ( #5916 )
...
**Description:**
This PR adds a way to provide arguments to `exec_node_js`.
2022-09-21 16:23:10 +09:00
SWC Bot
be81c4737e
chore: Publish crates
2022-09-20 08:32:27 +00:00
Donny/강동윤
a9873e505d
perf(es/minifier): Optimize analyzer ( #5908 )
2022-09-20 08:21:39 +00:00
SWC Bot
1898d6686a
chore: Publish crates
2022-09-20 06:44:48 +00:00
Donny/강동윤
1df72430a5
perf(es/minifier): Invoke DCE only before the first compression ( #5907 )
...
**Description:**
Invoke DCE only before the first compression. I verified that this patch does not affect the compression rate of the real-world inputs greatly.
2022-09-20 15:41:26 +09:00
SWC Bot
cb2044234a
chore: Publish crates
2022-09-20 04:32:30 +00:00
Donny/강동윤
6bbd3f4c14
perf(es/minifier): Make more passes parallel ( #5906 )
...
**Description:**
We only unwrap parenthesis in precompress optimizer, so I refactored it. Also, as it's embarrassingly parallel, I parallelized it.
2022-09-20 04:29:08 +00:00
SWC Bot
5c2b1bb15d
chore: Publish crates
2022-09-20 03:51:28 +00:00
Donny/강동윤
1a182ef8d9
perf(es): Optimize memory layout of AST ( #5829 )
2022-09-20 12:47:21 +09:00
SWC Bot
8c112c371b
chore: Publish crates
2022-09-19 15:11:28 +00:00
Donny/강동윤
aacf7aaf80
feat(es/minifier): Drop function identifier in a single pass ( #5901 )
...
**Description:**
We only inline function declarations if `ref_count` is 1, so we don't need to preserve the name of the function.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5682 .
2022-09-19 15:07:56 +00:00
SWC Bot
a18625c0d0
chore: Publish crates
2022-09-19 12:25:00 +00:00
Austaras
83c7887600
fix(es/minifier): Remove more pure calls ( #5900 )
2022-09-19 12:21:15 +00:00
Donny/강동윤
0bbcfe15ee
test(es/minifier): Add a test for a fixed issue ( #5897 )
2022-09-19 17:25:49 +09:00
SWC Bot
b93d740396
chore: Publish crates
2022-09-19 07:49:46 +00:00
Donny/강동윤
4e656af1ec
feat(es/minifier): Drop variable from the sequential inliner ( #5896 )
...
**Description:**
We now drop variable declarations if we are going to eliminate the only usage.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5693 .
2022-09-19 07:40:04 +00:00
IWANABETHATGUY
7d6d04b421
fix(es/codegen): Drop the last comma in an array literal ( #5877 )
...
**Description:**
Drop the last comma in an array literal.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5692 .
2022-09-16 15:48:28 +09:00
Donny/강동윤
f0ca487848
chore: Publish crates
2022-09-16 15:46:25 +09:00
SWC Bot
52c17f3056
chore: Publish crates
2022-09-15 14:49:03 +00:00
Donny/강동윤
c3fa96b21b
fix(es/minifier): Fix unicode handling ( #5875 )
2022-09-15 14:45:33 +00:00
SWC Bot
69bf533571
chore: Publish crates
2022-09-15 07:03:50 +00:00
magic-akari
90d311c042
fix(es/minifier): Fix handling of .toFixed
call without an argument ( #5868 )
2022-09-15 16:00:36 +09:00
SWC Bot
1d633e8ba7
chore: Publish crates
2022-09-15 06:08:07 +00:00
Donny/강동윤
991a34e0c2
fix(es/minifier): Remove fake_block
while calculating next scope ( #5869 )
...
**Description:**
We now remove `fake_block` mark from `with_ctx`.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5865
2022-09-15 06:04:47 +00:00
SWC Bot
ec8bb432b9
chore: Publish crates
2022-09-15 05:23:46 +00:00
Alexander Akait
7f62fa6227
perf(html): Reduce memory usage ( #5867 )
2022-09-15 04:17:05 +00:00
SWC Bot
73ee9d6784
chore: Publish crates
2022-09-15 03:06:15 +00:00
SWC Bot
55a4e18991
chore: Publish crates
2022-09-14 13:00:55 +00:00
Austaras
63fb0c4ad3
feat(es/minifier): Move assign with seq init into seq ( #5847 )
2022-09-14 12:57:18 +00:00
SWC Bot
d35792f424
chore: Publish crates
2022-09-14 07:56:20 +00:00
SWC Bot
8432c0a1ad
chore: Publish crates
2022-09-14 07:19:24 +00:00
SWC Bot
0c24841274
chore: Publish crates
2022-09-14 06:54:54 +00:00
Donny/강동윤
32f18068ad
fix(es/minifier): Preserve more side effects ( #5853 )
...
**Description:**
We now preserve more side effects.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5680 .
2022-09-14 06:51:56 +00:00
SWC Bot
0a56a2d5ab
chore: Publish crates
2022-09-14 06:10:39 +00:00
magic-akari
2b2464271a
fix(es/codegen): Remove redundant ;
after export default decl ( #5851 )
2022-09-14 06:07:15 +00:00
SWC Bot
ad4b0d200c
chore: Publish crates
2022-09-14 05:05:55 +00:00
Donny/강동윤
a5f7b6946f
fix(es/minifier): Don't replace parameters of IIFE if it's recursive ( #5852 )
...
**Description:**
While investigating, I found that problem is not the analysis of recursive functions. Instead, it was a problem with the IIFE evaluator, which replaces parameters even if it's recursive.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5846
2022-09-14 05:02:14 +00:00
Donny/강동윤
0284c1bf40
test(es/transforms): Enable tests for fixed issues ( #5845 )
2022-09-13 10:32:00 +00:00
SWC Bot
76d22dfeb1
chore: Publish crates
2022-09-13 07:46:53 +00:00
SWC Bot
cae41739d5
chore: Publish crates
2022-09-13 06:48:34 +00:00
Donny/강동윤
fe3072b12a
perf(es/minifier): Reduce type sizes ( #5843 )
2022-09-13 06:45:33 +00:00
SWC Bot
c624c3de03
chore: Publish crates
2022-09-13 06:06:00 +00:00
SWC Bot
d16fb9a8cf
chore: Publish crates
2022-09-13 05:04:36 +00:00
Alexander Akait
ccd618ce54
perf(html/minifier): Improve performance ( #5838 )
2022-09-13 14:01:41 +09:00
SWC Bot
d8c1e4a62e
chore: Publish crates
2022-09-13 03:56:39 +00:00
Austaras
8567a38c4a
feat(es/minifier): Extend inlining of identifiers to multi-usage ( #5832 )
2022-09-13 03:52:47 +00:00
SWC Bot
b2c0fbd7ba
chore: Publish crates
2022-09-13 02:19:15 +00:00
SWC Bot
2df19176fb
chore: Publish crates
2022-09-12 05:16:53 +00:00
SWC Bot
9f28c246dc
chore: Publish crates
2022-09-12 04:34:08 +00:00
SWC Bot
2b1e73737f
chore: Publish crates
2022-09-11 06:21:56 +00:00
Donny/강동윤
cfe575e35a
perf(es/minifier): Make expression simplifier stateless and parallel ( #5819 )
2022-09-11 06:18:44 +00:00
SWC Bot
5fe032c01a
chore: Publish crates
2022-09-11 03:00:57 +00:00
SWC Bot
4084fc1aeb
chore: Publish crates
2022-09-10 17:14:48 +00:00
SWC Bot
961a9047c0
chore: Publish crates
2022-09-10 15:07:06 +00:00
SWC Bot
417b1f2a92
chore: Publish crates
2022-09-10 07:23:37 +00:00
Donny/강동윤
7391cc99b1
perf(css/minifier): Use JsWord
instead of &str
( #5806 )
2022-09-10 07:20:51 +00:00
SWC Bot
4c078b0ac3
chore: Publish crates
2022-09-10 06:04:28 +00:00
SWC Bot
c8bb70f97e
chore: Publish crates
2022-09-10 05:48:09 +00:00
SWC Bot
575940e770
chore: Publish crates
2022-09-09 08:09:53 +00:00
SWC Bot
54b108dc51
chore: Publish crates
2022-09-09 05:55:06 +00:00
Donny/강동윤
21fbcb9621
refactor(es/renamer): Rename PARALLEL
to MANGLE
( #5790 )
...
**Description:**
Actually, performance issue comes from collision, not parallelism. So I renamed the associated constant.
2022-09-09 05:51:45 +00:00
SWC Bot
701fa74631
chore: Publish crates
2022-09-09 05:05:59 +00:00
Donny/강동윤
f11461d3f5
test(es): Enable tests for fixed issues ( #5784 )
2022-09-08 15:05:39 +00:00
SWC Bot
9b723cc6f5
chore: Publish crates
2022-09-08 08:11:24 +00:00
Austaras
ee26337a25
feat(es/minifier): Inline lazily initialized variables ( #5737 )
...
Safety:
For a function-local variable, an expression with side-effects would be a call, including an indirect one with a member expression.
- If the call is function-local, it will be analyzed by the analyzer and inliner will not work.
- If the call is not a function-local one, it cannot modify the local variable.
2022-09-08 08:07:43 +00:00
SWC Bot
32cd51dc29
chore: Publish crates
2022-09-08 05:26:49 +00:00
Donny/강동윤
24b60d2b64
feat(es/minifier): Change order of renaming to align with terser ( #5780 )
...
**Description:**
- Change the order of renaming to match one of `terser`.
2022-09-08 05:23:23 +00:00
SWC Bot
d2188eac3f
chore: Publish crates
2022-09-08 04:28:01 +00:00
SWC Bot
bad9811ea8
chore: Publish crates
2022-09-07 06:16:59 +00:00
SWC Bot
4507b10219
chore: Publish crates
2022-09-07 05:32:06 +00:00
Donny/강동윤
c2d10503db
perf(es/minifier): Make passes more parallel ( #5773 )
2022-09-07 14:28:36 +09:00
SWC Bot
0649b054b4
chore: Publish crates
2022-09-07 04:49:51 +00:00
Donny/강동윤
32a73fbf22
fix(es/minifier): Fix calculation of character frequency ( #5772 )
2022-09-07 04:46:21 +00:00
SWC Bot
c9a6c2193e
chore: Publish crates
2022-09-07 03:54:49 +00:00
Austaras
90852f5aa6
fix(es/minifier): Fix analysis of assignments and classes ( #5770 )
2022-09-07 03:51:42 +00:00
SWC Bot
51b9d694be
chore: Publish crates
2022-09-06 13:28:30 +00:00
Donny/강동윤
9d29abcd5b
chore(es/minifier): Fix size calculator script ( #5767 )
2022-09-06 22:23:57 +09:00
SWC Bot
e654741336
chore: Publish crates
2022-09-06 12:41:54 +00:00
Donny/강동윤
60ce462215
feat(es/minifier): Align name mangler with terser ( #5763 )
2022-09-06 21:37:58 +09:00
SWC Bot
910526980b
chore: Publish crates
2022-09-06 05:39:57 +00:00
Donny/강동윤
27e9254280
perf(es/minifier): Make MultiReplacer
single-pass ( #5761 )
2022-09-06 14:36:53 +09:00
SWC Bot
8493c88b06
chore: Publish crates
2022-09-06 01:42:23 +00:00
Austaras
948d708144
fix(es/minifier): Don't drop parameters in an exported function ( #5757 )
2022-09-06 10:39:23 +09:00
SWC Bot
912dd8f6a1
chore: Publish crates
2022-09-05 09:28:21 +00:00
Donny/강동윤
6e2002a148
perf(es/minifier): Improve codegen of name mangler ( #5751 )
2022-09-05 09:25:10 +00:00
SWC Bot
b6efd4300e
chore: Publish crates
2022-09-05 07:09:22 +00:00
Donny/강동윤
8789184d44
perf(es/minifier): Cache the list of bindings for DCE ( #5750 )
2022-09-05 07:05:44 +00:00
OJ Kwon
1202762f30
chore(swc_core): Update deps ( #5748 )
2022-09-05 03:46:07 +00:00
SWC Bot
e7c565dbb2
chore: Publish crates
2022-09-04 16:24:37 +00:00
Donny/강동윤
96b2e17a8f
perf(es/minifier): Pre-allocate in analyzer ( #5743 )
2022-09-04 16:21:26 +00:00
Donny/강동윤
4e989807d7
chore(es/minifier): Fix example ( #5739 )
2022-09-04 22:18:05 +09:00
Donny/강동윤
74b3d2170c
chore: Publish crates
2022-09-04 17:27:19 +09:00
Donny/강동윤
6ba6da62d7
perf(es/minifier): Make dead branch remover parallel ( #5734 )
2022-09-04 07:33:26 +00:00
SWC Bot
30bbe6ac4d
chore: Publish crates
2022-09-04 04:52:28 +00:00
Donny/강동윤
8963db0a1d
perf(es/minifier): Skip useless analysis if not required ( #5733 )
2022-09-04 13:49:30 +09:00
SWC Bot
fafafecb3d
chore: Publish crates
2022-09-03 07:37:21 +00:00
Austaras
5b2d024788
feat(es/minifier): Relax requirement for IIFE invokation ( #5721 )
2022-09-03 07:33:31 +00:00
SWC Bot
a3a66c1191
chore: Publish crates
2022-09-03 06:47:08 +00:00
Donny/강동윤
31c516a922
perf(es/minifier): Optimize precompress optimizer ( #5727 )
2022-09-03 15:43:50 +09:00
OJ Kwon
d6e67b5944
feat(atoms): Introduce bytecheck-ed rkyv version ( #5686 )
2022-09-03 14:29:02 +09:00
Donny/강동윤
5e151c8a8e
feat(es/minifier): Support cycles in DCE ( #5715 )
2022-09-03 04:41:54 +00:00
SWC Bot
d242605aa1
chore: Publish crates
2022-09-01 16:34:13 +00:00
Donny/강동윤
8827c38faf
feat(es/minifier): Make DCE single-pass ( #5699 )
2022-09-01 16:30:21 +00:00
SWC Bot
1232fa634a
chore: Publish crates
2022-09-01 10:39:21 +00:00
Austaras
4ef99f346b
feat(es/minifier): Relax function inline requirement ( #5607 )
2022-09-01 19:36:16 +09:00
SWC Bot
3a0b749f1e
chore: Publish crates
2022-09-01 04:39:40 +00:00
Donny/강동윤
1085667049
perf(es/minifier): Enable parallel processing ( #5705 )
2022-09-01 13:36:30 +09:00
OJ Kwon
7686faece5
fix(swc_core): Bump versions ( #5706 )
2022-09-01 13:08:04 +09:00
SWC Bot
e1deec44cc
chore: Publish crates
2022-08-31 11:15:03 +00:00
Donny/강동윤
5e2b6d5551
feat(es/minifier): Remove useless ES version check ( #5703 )
2022-08-31 11:11:54 +00:00
SWC Bot
c92a8360e0
chore: Publish crates
2022-08-31 10:36:29 +00:00
Donny/강동윤
217f519940
feat(es/minifier): Ignore closure in initializer from sequential inliner ( #5702 )
2022-08-31 10:33:22 +00:00
SWC Bot
32f6b672da
chore: Publish crates
2022-08-31 07:50:59 +00:00
Donny/강동윤
fc28242b99
feat(es/minifier): Exclude JSON
from alias list ( #5698 )
2022-08-31 16:47:52 +09:00
SWC Bot
1ba1ad4984
chore: Publish crates
2022-08-30 08:04:12 +00:00
Donny/강동윤
fd39bb6bff
fix(es/minifier): Don't inline variables declared multiple times ( #5667 )
2022-08-30 07:52:21 +00:00