KermanX's Avatar

KermanX

@kermanx.github.io

TS/RS dev | @sli.dev team member | Undergraduate at USTC.edu.cn

87 Followers  |  35 Following  |  16 Posts  |  Joined: 19.10.2024  |  1.7263

Latest posts by kermanx.github.io on Bluesky

Post image 25.05.2025 16:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

😭 Because I think this combination makes development the most efficiency.

25.02.2025 13:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I love JavaScript but I also want Rust Syntax. I love Rust but I also want GC.

25.02.2025 12:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Bringing Rust syntax to the JavaScript world with
@bikari.top.

Rust syntax + JavaScript runtime = "Rust with GC" (wtf

github.com/kermanx/js.rs

23.02.2025 08:29 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1
Post image

I recently tried to implement a TypeScript type inferrer in ~6k lines of Rust. Most of the hardest features are already supported, but there is still a lot of effort to make it usable - and then Oxlint can use the type information for linting.

Repo: github.com/KermanX/simp...

25.01.2025 10:41 β€” πŸ‘ 9    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Rust-Based JavaScript Linters: Fast, But No Typed Linting Right Now | Goldblog Explaining why the speed gains from Rust linters aren't comparable to the full feature set of typescript-eslint.

(Inspired by www.joshuakgoldberg.com/blog/rust-ba...)

06.01.2025 16:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

What if giving tree-shaker the ability to infer TypeScript types - Then oxlint can have partial type information🀯

06.01.2025 16:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

btw, object property mangling is not directly related to tree-shaking πŸ˜‡ Let's think of a new name to replace the temporary one "Tree Shaker" plz πŸ₯Ή

25.12.2024 11:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
https://kermanx.github.io/tree-shaker/#N4IglgdgDgrgLiAXCApgDygewE5wAQBmMEAxnGJhHiZgLaxwoAmA+lNplCrgJ4AUxANYRMAdwgAaPAENZUgEaKAlHmAAdKtUoBnfIJQ88AXjxCR4vAH48AcgKZMNvIlvzp2GwG4NeLRF14mPIAVsaqPr6EDi6y0hIRvm7YLoryEQC+3po0/pgANigAdHmYAOZ8QcEA2vo8ALpKWeka6Fi4hMRkFFSVKGQs0traYKUQfLEKyuHZOviVYQDyIX1whYPDo3zA6VLAUZgxsng7qnhJKYrHjRE52vlFJeWVhfaY1zO5BcVlFSGFSe9mhAiKRyJQ8ABhOhQLZ4dicABy0loKCu0182BQcBg2CoAB4mGAAG4APmA8KgSJR6TxAHpCaSmi0MDh8CCuuCAIJQGGxFTqTSY7G4vB4qH0OEcSnIlBGYCxdJ4WkkpkQEASEDsFDaLFIECYmi0FEQJjMdUgJiYACykDABB4SAI0jyOo1ztE0h42gAkhA8pAUI7nTr0kA=

https://kermanx.github.io/tree-shaker/#N4IglgdgDgrgLiAXCApgDygewE5wAQBmMEAxnGJhHiZgLaxwoAmA+lNplCrgJ4AUxANYRMAdwgAaPAENZUgEaKAlHmAAdKtUoBnfIJQ88AXjxCR4vAH48AcgKZMNvIlvzp2GwG4NeLRF14mPIAVsaqPr6EDi6y0hIRvm7YLoryEQC+3po0/pgANigAdHmYAOZ8QcEA2vo8ALpKWeka6Fi4hMRkFFSVKGQs0traYKUQfLEKyuHZOviVYQDyIX1whYPDo3zA6VLAUZgxsng7qnhJKYrHjRE52vlFJeWVhfaY1zO5BcVlFSGFSe9mhAiKRyJQ8ABhOhQLZ4dicABy0loKCu0182BQcBg2CoAB4mGAAG4APmA8KgSJR6TxAHpCaSmi0MDh8CCuuCAIJQGGxFTqTSY7G4vB4qH0OEcSnIlBGYCxdJ4WkkpkQEASEDsFDaLFIECYmi0FEQJjMdUgJiYACykDABB4SAI0jyOo1ztE0h42gAkhA8pAUI7nTr0kA=

Tree Shaker now supports object property mangling!

Most importantly, (unlike some optimizers), Tree Shaker's object property mangling doesn't require any extra assumptions about the input code.

Demo:

25.12.2024 11:53 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Just found that vue-tsc v2.2.0 was out with TypeScript 5.7 support!

Thank you @johnsoncodehk.bsky.social @bikari.top for the hard work! πŸ₯Ή

github.com/vuejs/langua...

24.12.2024 06:12 β€” πŸ‘ 75    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - KermanX/tree-shaker: 🌳πŸͺš An experimental tree shaker for JS based on Oxc (WIP) 🌳πŸͺš An experimental tree shaker for JS based on Oxc (WIP) - KermanX/tree-shaker

Today I officially found an instructor for the research project of tree-shaker. Having lots to learn to become a real PL guy.

23.12.2024 12:45 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Release v0.50.0 Β· slidevjs/slidev 🚨 Breaking Changes Remove prism support Β -Β  by @KermanX in #1700 (01b35) Allow to remove shortcuts Β -Β  by @twitwi and @KermanX in #1922 (a47b8) Β Β Β πŸš€ Features Support snapshoting overview Β -Β  ...

πŸš€ Slidev v0.50.0 is out!

This version is packed with so many updates, @kermanx.github.io and the team were truly on πŸ”₯

πŸ“€ Export your slides right from your browser
⚑️ Vite 6 and Jiti 2
πŸ†š Improved VS Code ext
🌈 Dropped Prism.js, fully on @shiki.style
🐞 A lot of bug fixes

github.com/slidevjs/sli...

18.12.2024 10:23 β€” πŸ‘ 104    πŸ” 15    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - KermanX/slidev-addon-python-runner: A Slidev addon for running Python code in your slides. A Slidev addon for running Python code in your slides. - KermanX/slidev-addon-python-runner

🐍 Hey Python Folks! @kermanx.github.io Just made the Python Runner for Slidev, which allows you to edit and execute actual Python snippets during your presentation!

Give it a try, and we are excited to hear your ways of using it!
github.com/KermanX/slid...

02.12.2024 00:01 β€” πŸ‘ 12    πŸ” 2    πŸ’¬ 2    πŸ“Œ 1

Despite this problem, it's making progress! It was made 3.4x faster 4 days agoπŸ₯°
codspeed.io/KermanX/tree...

28.11.2024 09:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Another option is to use a new "consumed dependencies" scope for each pure call, but this will make consumable impossible to use a flag to avoid being referred twice (for performance). Because entities can be consumed in a pure call, and later in a non-pure.

28.11.2024 09:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I once tried making the return value a "computed" with every consumed thing in the function execution as its dependency, but this is quite tricky and buggy because every consumed dependency have to be attached to something in the pure call.

28.11.2024 09:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

In tree shaking it should be something like "If and only if the return value is retained, retain the function call". However, there is no way to know whether the return value is used or not before completing the analysis of the whole program.

28.11.2024 09:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Why is it so hard to support the `@__PURE__` annotation in my tree-shakerπŸ₯² For DCE, it is just "remove the call if the return value is unused". But for tree shaking, I can't think of a correct & performance-acceptable way to support it.

28.11.2024 09:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Interesting πŸ˜‡

24.11.2024 13:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

β–ΆοΈπŸ¦‹

05.11.2024 14:17 β€” πŸ‘ 70    πŸ” 7    πŸ’¬ 5    πŸ“Œ 1

@kermanx.github.io is following 19 prominent accounts