João Ferreira 🇵🇹
fuyuki-bs.bsky.social
João Ferreira 🇵🇹
@fuyuki-bs.bsky.social
🇵🇹 Coding at Emma Sleep by day, contributing to Open Source by night
Reposted by João Ferreira 🇵🇹
✂️ Knip Extension v1.0.0 is out

For VS Code + Open VSX (e.g. Cursor)

▶️ Install the Knip extension, tell your coding agent to "configure knip" or "fix up knip config" and... profit!

Comes with MCP Server + custom guides + incremental docs for a generated A+ Knip config ✨

Clean code — redefined.
December 24, 2025 at 9:48 AM
Reposted by João Ferreira 🇵🇹
December 25, 2025 at 5:19 AM
Reposted by João Ferreira 🇵🇹
new RSC Explorer example: binary data

rscexplorer.dev?s=binary
December 25, 2025 at 9:03 AM
Reposted by João Ferreira 🇵🇹
fast-equals went from 280KB to 100KB in the last release! 🎉

we still use dequal in most places but this is handy for where you need to compare more complex values
December 19, 2025 at 4:08 PM
Reposted by João Ferreira 🇵🇹
thought i'd dig through the esm vs cjs dataset to see if there's any i can contribute a migration to

many of the top few hundred, though, are packages we shouldn't even need anymore 😅
December 12, 2025 at 8:30 AM
Reposted by João Ferreira 🇵🇹
Announcing Oxlint Type-Aware Linting Alpha 🚀

⚡ Fast via tsgo (TypeScript 7)
🔍 Type-checking while linting
⚙️ Rule configuration
🛑 Highly demanded no-deprecated rule

oxc.rs/blog/2025-1...
Type-Aware Linting Alpha
A collection of high-performance JavaScript tools written in Rust
oxc.rs
December 9, 2025 at 1:22 AM
Reposted by João Ferreira 🇵🇹
Do you think it's confusing how linters and TypeScript both get the same red squiggly color by default in VS Code? But you don't want to downgrade lint reports all the way to orange?

Please upvote my VS Code feature request to add a "danger" style between orange and red! github.com/microsoft/vs...
Offer "danger" (orange) style between "warning" (yellow) and "error" (red) · Issue #246507 · microsoft/vscode
Overview Right now, there are two warm-color severities for "squigglies" in code: editorWarningForeground #CCA700: often used for lint reports and other warnings editorErrorForeground #F14C4C: ofte...
github.com
December 9, 2025 at 1:54 PM
Reposted by João Ferreira 🇵🇹
✂️ Knip v5.72.0 is out

→ New SASS/SCSS compiler
→ New SVGR plugin
→ Support tsconfig `references` + `rootDirs` (oxc-resolver)
→ Improved & prettier export `--trace`
→ Extended AGENTS​.md to assist w/ coding & new plugins

..and a whooole lot more

Knip: knip.dev
Changelog: github.com/webpro-nl/kn...
December 8, 2025 at 6:25 AM
Reposted by João Ferreira 🇵🇹
Merged! Vitest 4.0.14 includes a new tabbed view and slider for visual regression reports 🎉

This feature required a lot of work under the hood, including the creation of the new test artifacts API. Really curious to see how it'll be used by us and the ecosystem 👀
November 25, 2025 at 1:57 PM
Reposted by João Ferreira 🇵🇹
Exciting things coming to the Vitest UI reporter 👀
November 27, 2025 at 8:06 PM
Reposted by João Ferreira 🇵🇹
chokidar 5 published 🎉

now ESM only! 185KB -> 105KB install size
Release 5.0.0 · paulmillr/chokidar
Make the package ESM-only. Reduces on-disk package size from ~150kb to ~80kb Increase minimum node.js version to v20.19. The versions starting from it support loading esm files from cjs fix: Make t...
github.com
November 26, 2025 at 9:53 AM
Reposted by João Ferreira 🇵🇹
Want to speed up subsequent @vitest.dev runs?
Then try out the new experimental file-system based cache ✨

⋄ Caches transformed modules
⋄ Does *not* work with browser mode yet
⋄ Can be manually cleared via `vitest --clearCache`

More in the docs
vitest.dev/config/exper...
November 26, 2025 at 4:36 PM
Reposted by João Ferreira 🇵🇹
we've started tracking the ongoing and upcoming projects better on the e18e site

hopefully this gives a better idea of the things we're building!
e18e
A list of ongoing and upcoming projects by the e18e community.
e18e.dev
November 25, 2025 at 11:39 AM
Reposted by João Ferreira 🇵🇹
we already have a couple of projects in flight to give you an idea of what we're building:

- CLI to detect and auto-migrate replacements, polyfills, etc
- GitHub actions (e.g. the dependency diff action)
- MCP server

future areas: framework perf tracking, npm data analysis, compat data
November 23, 2025 at 10:47 AM
Reposted by João Ferreira 🇵🇹
i have a growing @e18e.dev roadmap of very useful tools we could all benefit from

to make it happen, we need two things: sponsors, and leads/champions 👀

if you're interested in either, come chat to me and i'd be happy to show you through the roadmap we have!
November 23, 2025 at 10:44 AM
Reposted by João Ferreira 🇵🇹
Oxlint enabling type checking straight out of tsgo!

This should speed up the slow `tsc --noEmit` step in large repos.

PR: github.com/oxc-project/...
November 20, 2025 at 3:47 PM
Reposted by João Ferreira 🇵🇹
JavaScript top-level await is no longer considered 'baseline' due to a pretty big Safari bug caniuse.com/mdn-javascri...

The module graph fails in cases where two modules import a third at the same time. Demo: random-stuff.jakearchibald.com/bug-repros/t...

It's best to avoid the feature for now 😔
JavaScript operator: await: Use at module top level | Can I use... Support tables for HTML5, CSS3, etc
caniuse.com
October 26, 2025 at 8:17 PM
Reposted by João Ferreira 🇵🇹
Biome v2.3 is out!

👨‍👨‍👦‍👦 Full support for @vuejs.org, @svelte.dev and @astro.build
‼️ New ignore syntax
🌬️ Tailwind v4 support
⌨️ New CLI flags and reporters

biomejs.dev/blog/biome-v...
October 24, 2025 at 1:02 PM
Reposted by João Ferreira 🇵🇹
✂️ 👀

Playing a bit wit import-export hopping, through re-exports & workspaces. Powered by Knip & new language server.

Would you use this? What else do you think should it do?

Another raw vid with ideas in first comment 👇
October 22, 2025 at 1:05 PM
Reposted by João Ferreira 🇵🇹
✂️ This is "Find All References" on steroi.. hover

Knip 🤝 TS
October 24, 2025 at 6:21 AM
Reposted by João Ferreira 🇵🇹
Time for a first look into the @nitro.build v3 alpha, which is just a @vite.dev plugin 👀

youtu.be/sWGWHyVlIlU
Nitro v3 ALPHA: The first look
YouTube video by Alexander Lichter
youtu.be
October 24, 2025 at 6:27 PM
Reposted by João Ferreira 🇵🇹
back in july i started migrating preact to use vitest. ran into all sorts of problems with react, but got the green tick of joy today!

doesn't really affect preact users but will make preact easier to maintain and test once this lands
October 19, 2025 at 11:24 AM
Reposted by João Ferreira 🇵🇹
October 17, 2025 at 2:53 PM
Reposted by João Ferreira 🇵🇹
In the next version of Rolldown, you can automatically clean up the previous build when rebuilding by setting `output.cleanDir` to true 🧹

Thanks to @aprosail for the contribution!
github.com/rolldown/rol...
October 16, 2025 at 12:37 PM
Reposted by João Ferreira 🇵🇹
I dug into progressive image rendering and found a bunch of common assumptions aren't quite true.

➡️ JPEG & WebP progressive-renders worse in Safari
➡️ AVIF _does_ support progressive
➡️ But JPEG XL in Safari doesn't
➡️ JPEG XL decodes much slower than AVIF
⬇️ and more

jakearchibald.com/2025/present...
The present and potential future of progressive image rendering
Exploring progressive image rendering across JPEG, PNG, WebP, AVIF, and JPEG XL.
jakearchibald.com
October 16, 2025 at 10:16 AM