Pinned Tweet
New blog post: How to improve INP with Yield Patterns
It contains:
🚀 In-depth guide on how to yield to the main thread & browser scheduling
💡 A comparison to @cramforce's await-interaction-response pattern
3⃣ How to deal with 3rd-party code like GTM
Link in the next tweet👇
It contains:
🚀 In-depth guide on how to yield to the main thread & browser scheduling
💡 A comparison to @cramforce's await-interaction-response pattern
3⃣ How to deal with 3rd-party code like GTM
Link in the next tweet👇
1
4
29
7,399
Jacob 'kurtextrem' Groß retweeted
Parcel v3 supports tree shaking for JS (ESM and CJS) and CSS modules (as in v2), but now also for SVG!
<use href="sprite.svg#icon">
will only include the element with id="icon", and remove unused symbols in the SVG. Nice advantage of a language-agnostic core.
<use href="sprite.svg#icon">
will only include the element with id="icon", and remove unused symbols in the SVG. Nice advantage of a language-agnostic core.
8
4
122
5,902
Bun's now leading the TypeScript checker race!
As always, in @framer's monorepo:
🏆 bun check: 2.42s, 2.0 GB | v1.4.4
🥈 tsrs: 2.50s, 2.6 GB | v0.18
🥉 tsc-ts: 5.9s, 5.3 GB | v0.6
TS 7.1 beta: 13.9s, 8.1 GB
As always, in @framer's monorepo:
🏆 bun check: 2.42s, 2.0 GB | v1.4.4
🥈 tsrs: 2.50s, 2.6 GB | v0.18
🥉 tsc-ts: 5.9s, 5.3 GB | v0.6
TS 7.1 beta: 13.9s, 8.1 GB
Bun v1.4.4
- Fixes 271 issues, addressing 544 👍
- `bun fmt` is a fast Prettier-compatible code formatter
- `bun check` gets 1.4x - 7.8x faster
- New in Bun.SQL & WebSocket
- Security fixes, including for Brotli, TLS certs, HTTP/3, and more
bun.com/blog/bun-v1.4.4
6
12
289
22,272
You can also use this to make VSCode/Cursor/Zed faster.
In your VSCode/Cursor config:
"𝚓𝚜/𝚝𝚜.𝚝𝚜𝚍𝚔.𝚙𝚊𝚝𝚑": "𝚗𝚘𝚍𝚎_𝚖𝚘𝚍𝚞𝚕𝚎𝚜/𝚝𝚜𝚛𝚜/𝚋𝚒𝚗/𝚝𝚜𝚛𝚜"
(for Zed: lsp.typescript-ls.binary.path)
In your VSCode/Cursor config:
"𝚓𝚜/𝚝𝚜.𝚝𝚜𝚍𝚔.𝚙𝚊𝚝𝚑": "𝚗𝚘𝚍𝚎_𝚖𝚘𝚍𝚞𝚕𝚎𝚜/𝚝𝚜𝚛𝚜/𝚋𝚒𝚗/𝚝𝚜𝚛𝚜"
(for Zed: lsp.typescript-ls.binary.path)
Introducing tsrs: a Rust port of the TypeScript compiler 🦀
We are not forking TypeScript!
◆ In close collaborating with the TypeScript team
◆ Up to 8x faster than TS 7.0 & ~70% less memory
◆ Runs in WASM, so it works in your browser & on Workers
◆ Soon part of the Oxc toolchain
npx tsrs
blog.cloudflare.com/typescript-rus…
14
41
804
33,944
Tip for faster Oxlint on CI: Turn off "warn" rules.
No one reads warnings on CI, so this is a no-brainer. ESLint v10 does this by default, oxlint currently doesn't.
Effect on Framer's monorepo: 100s → 66s, 51% faster.
No one reads warnings on CI, so this is a no-brainer. ESLint v10 does this by default, oxlint currently doesn't.
Effect on Framer's monorepo: 100s → 66s, 51% faster.
12
11
199
12,562
TS fork news: Vercel joined the race and tsrs seems to have moved to the @OxcProject org on GH, and got a great speed boost 👀
tsrs: 2.8s, 2.6 GB (v0.16)
bun: 4.8s, 1.4 GB (v1.4.4)
tsc-ts: 6.5s, 6.5 GB (v0.0.2) 🆕
Not bad @ctatedev.
tsrs: 2.8s, 2.6 GB (v0.16)
bun: 4.8s, 1.4 GB (v1.4.4)
tsc-ts: 6.5s, 6.5 GB (v0.0.2) 🆕
Not bad @ctatedev.
15
21
312
22,155
@OxcProject @ctatedev @boshen_c @max_schwenk @bunjavascript @jarredsumner @theo tsrs: github.com/oxc-project/ts…
tsc-ts: x.com/ctatedev/statu…
tsc-ts: x.com/ctatedev/statu…
New from Vercel Labs: tsc-ts
TypeScript was written in TypeScript
Then rewritten in Go
We ported it back to TypeScript
Compiled it with scriptc
And it's 2-4x faster than tsgo
0
0
7
2,237
Made eslint-react faster with this tiny change. It replaces the OpenSSL call (randomBytes) with a simple counter.
Result: 2.6s faster linting in Framer's monorepo (with oxlint).
Ty for merging so quickly @_krystallizer!
Result: 2.6s faster linting in Framer's monorepo (with oxlint).
Ty for merging so quickly @_krystallizer!
1
2
20
1,462
Latest benchmark runs on Framer's monorepo:
🏆 tsrs: 5.3s, 2.5 GB | v0.11
🥈 tsc-rs --fast: 7.9s, 5.8 GB | v0.6
🥉 bun check: 8.0s, 1.4 GB | v1.4.4
tsc-rs: 8.3s, 6.1 GB | v0.6
--
@can1357's TS7.1 patch: 11.3s, 8.7 GB
TS 7.1-dev: 21.3s, 10.2 GB
tsgo 7: 26.5s, 12.6 GB
🏆 tsrs: 5.3s, 2.5 GB | v0.11
🥈 tsc-rs --fast: 7.9s, 5.8 GB | v0.6
🥉 bun check: 8.0s, 1.4 GB | v1.4.4
tsc-rs: 8.3s, 6.1 GB | v0.6
--
@can1357's TS7.1 patch: 11.3s, 8.7 GB
TS 7.1-dev: 21.3s, 10.2 GB
tsgo 7: 26.5s, 12.6 GB
ts-rust v0.6.0 is out! It's now 30% faster than before, and up to 70% faster with the new "--fast" mode (at the expense of RAM)
This mostly closes the gap in performance against `bun check` while still maintaining 100% compatibility with upstream TypeScript (Bun does not)
3
3
46
6,420
Whatever @max_schwenk is cooking, it's working out great.
@jarredsumner Bun leads in memory usage, but not speed. Are you planning improvements? 👀
@theo why not join forces with max on tsrs? github.com/maschwenk/tsrs
@jarredsumner Bun leads in memory usage, but not speed. Are you planning improvements? 👀
@theo why not join forces with max on tsrs? github.com/maschwenk/tsrs
0
1
12
591
Which Rust TypeScript fork is the fastest?
I benchmarked 3 different ones in Framer's monorepo.
The results:
🏆 tsrs: 5.5s, 2.6 GB RAM (v0.5.0)
🥈 bun check: 7.3s, 1.6 GB (v1.4.3-canary.1)
🥉 tsc-rs: 10.3s 8, 7.1 GB (v0.1.0)
tsgo: 25s, 10 GB (v7.0)
I benchmarked 3 different ones in Framer's monorepo.
The results:
🏆 tsrs: 5.5s, 2.6 GB RAM (v0.5.0)
🥈 bun check: 7.3s, 1.6 GB (v1.4.3-canary.1)
🥉 tsc-rs: 10.3s 8, 7.1 GB (v0.1.0)
tsgo: 25s, 10 GB (v7.0)
17
13
245
46,133
I've run tsrs/tsc-rs/tsgo with --checkers 8.
If you're curious, tsc-rs is from @theo, tsrs from @maxschwenk, bun check @bunjavascript.
tsrs: github.com/maschwenk/tsrs
tsc-rs: npmx.dev/package/tsc-rs
If you're curious, tsc-rs is from @theo, tsrs from @maxschwenk, bun check @bunjavascript.
tsrs: github.com/maschwenk/tsrs
tsc-rs: npmx.dev/package/tsc-rs
0
1
20
5,026
Announcing skillzero: save tokens by keeping skill names + descriptions out of agent context for skills you only use as /-commands.
Experts like @addyosmani & @mattpocockuk all have mentioned this in the past: Don't accumulate skills you never use. You pay for them, they pollute conts reliable in actually using the ones you want it to use.
skillzero changes this, as it allows you to split skills into:
- 👻 hidden skills (the /-cmds)
- 📚 collections (bundled by topic)
- regular skills (stay in context)
Of course open-source.
Experts like @addyosmani & @mattpocockuk all have mentioned this in the past: Don't accumulate skills you never use. You pay for them, they pollute conts reliable in actually using the ones you want it to use.
skillzero changes this, as it allows you to split skills into:
- 👻 hidden skills (the /-cmds)
- 📚 collections (bundled by topic)
- regular skills (stay in context)
Of course open-source.
1
1
13
960
This exists, because personally love collecting skills. Some of them I use daily (or expect my agent to), others only for specific flows (say writing, design, video generation, and so on).
As example, some of the skills I have I want my agent to only invoke them when the task is about design. Otherwise it does not need to know I have skills related to design installed.
Some authors have recognized this already and have correctly added 𝚍𝚒𝚜𝚊𝚋𝚕𝚎-𝚖𝚘𝚍𝚎𝚕-𝚒𝚗𝚟𝚘𝚌𝚊𝚝𝚒𝚘𝚗: 𝚝𝚛𝚞𝚎 & 𝚊𝚐𝚎𝚗𝚝𝚜/𝚘𝚙𝚎𝚗𝚊𝚒.𝚢𝚊𝚖𝚕 to hide the skills in Claude Code and Codex. But most don't (or have only added either of them, not both).
With skillzero, I decide whether I want them to be manually invokable only, or if the agent can make use of a the collection of skills automatically for certain tasks.
As example, some of the skills I have I want my agent to only invoke them when the task is about design. Otherwise it does not need to know I have skills related to design installed.
Some authors have recognized this already and have correctly added 𝚍𝚒𝚜𝚊𝚋𝚕𝚎-𝚖𝚘𝚍𝚎𝚕-𝚒𝚗𝚟𝚘𝚌𝚊𝚝𝚒𝚘𝚗: 𝚝𝚛𝚞𝚎 & 𝚊𝚐𝚎𝚗𝚝𝚜/𝚘𝚙𝚎𝚗𝚊𝚒.𝚢𝚊𝚖𝚕 to hide the skills in Claude Code and Codex. But most don't (or have only added either of them, not both).
With skillzero, I decide whether I want them to be manually invokable only, or if the agent can make use of a the collection of skills automatically for certain tasks.
1
0
1
299
Jacob 'kurtextrem' Groß retweeted
introducing 🤏 pico-cn
an experimental 3.6kb (gzip) fork of shadcn-ui/cn (11kb)
it trades off some coverage (still covers 99.996% of the main test suite though!), and performance, for a much smaller bundle size.
based on a forgotten experiment i did in 2023
an experimental 3.6kb (gzip) fork of shadcn-ui/cn (11kb)
it trades off some coverage (still covers 99.996% of the main test suite though!), and performance, for a much smaller bundle size.
based on a forgotten experiment i did in 2023
Very impressive approach, kudos to the authors, but the 26 kB (or 15 kB with custom build) bundle size is 😵
With all my love for Tailwind, the need for so much runtime just to make things function as intended is a sign of a fundamental problem.
8
7
177
17,175
Sometimes you can start weeks with a bang:
50% less JS shipped to our login site. On some others even -80%.
This is your yearly reminder to get rid of barrel files. They're bad, make your tooling slower and more inefficient in tree-shaking.
50% less JS shipped to our login site. On some others even -80%.
This is your yearly reminder to get rid of barrel files. They're bad, make your tooling slower and more inefficient in tree-shaking.
7
2
78
6,650
👉 see @marvinhagemeist's post marvinh.dev/blog/speeding-…
(& yes, there is more work to do to make these bundles smaller. one step at a time)
(& yes, there is more work to do to make these bundles smaller. one step at a time)
0
0
2
655
Can recommend. I've made the switch at Framer:
• Paint: 127ms → 0ms
• RasterTask: 440ms → 0ms
• Main-thread time: 276ms → 6ms
• Compositor thread: 146ms → 351ms
→ work moves off main thread. this can improve INP too!
• Paint: 127ms → 0ms
• RasterTask: 440ms → 0ms
• Main-thread time: 276ms → 6ms
• Compositor thread: 146ms → 351ms
→ work moves off main thread. this can improve INP too!
Text shimmer animations are usually very CPU intensive (~20% for one line of text). Animating background-position is not GPU accelerated, so the browser re-paints every frame.
I found an alternative using a CSS mask which only animates a transform. Reduces CPU usage to < 2%. codepen.io/editor/devongo…
5
8
292
48,777
Added to github.com/kurtextrem/awe… - it's basically a free way to point your agents to clever performance improvements :)
0
1
26
1,385
Engineering is now about deciding what to pick, ASD-STE100 simplified English or @dillon_mulroy 's bro skill (x.com/dillon_mulroy/…)
Adding to every AGENTS md file for the rest of time.
(h/t @richardpenner for the self-referential explanation on what ASD-STE100 is)
0
0
2
483




















