Anthony Fu

@antfu.me

A ship in harbor is safe, but that is not what ships are built for. creator → @sli.dev • @unocss.dev • @vueuse.org • @vitest.dev • elk.zone core team → @nuxt.com • @vite.dev • vuejs.org maintainer → @shiki.style • eslint.style he/him → antfu.me

Hello friends and welcome to another “how’s ESM vs CJS doing?!” A big win this time, at a year of `require(esm)` available! 38.0% of the popular npm packages now have ESM, up from 33.4% half a year ago. ESM-only is up from 12.6% to 16.0%. Particularly this non-dual, “vanilla” growth is very big!

Graph showing the status, in raw CSV:

```csv
date,total,esm,dual,faux,cjs
2021-08-24,5617,341,95,832,4349
2021-11-09,5647,411,119,809,4308
2022-08-01,5734,496,207,791,4240
2022-11-04,5747,518,216,785,4228
2023-05-29,6240,630,417,783,4410
2023-11-22,6818,734,510,881,4693
2024-05-27,7042,819,736,826,4661
2024-11-27,8087,942,1152,843,5150
2025-06-05,8677,995,1573,859,5250
2025-12-04,14159,1779,2947,1522,7911
2026-06-08,16231,2590,3574,1689,8378
```

wouldn't it be nice if sites could share a cache of common js? ... stuff like react, or vue or svelte? 👉 there's an early stage proposal for cross-origin storage which enables exactly this. there are challenges but I think it's very interesting indeed

GitHub - WICG/cross-origin-storage: Explainer for the Cross-Origin Storage (COS) API

Explainer for the Cross-Origin Storage (COS) API. Contribute to WICG/cross-origin-storage development by creating an account on GitHub.

github.com

My experience with agents is that it doesn't make my work "faster". In the end it costs roughly the same amount of time, if not longer But my role has shifted from "builder" to "sculptor", which is a completely different job. I hated it at the very beginning tbh, but I'm getting better at it slowly

That said, there’s still some friction for people to start benefiting from agents, and the cost can be a barrier. If you’re actively contributing to OSS and want to use agents to help with your work, DM me with your contributions or plans. I’d be happy to sponsor your agent bills for a few months.

Anthony Fu@antfu.me · last mo.

I want to say thanks to @hyf0.bsky.social, who wrote me a long email back then explaining the benefit of using agents, with a $100 sponsorship for me to try them. It has significantly changed my attitude and workflow (still exploring the best practices tho, hopefully to be able to share soon).

I want to say thanks to @hyf0.bsky.social, who wrote me a long email back then explaining the benefit of using agents, with a $100 sponsorship for me to try them. It has significantly changed my attitude and workflow (still exploring the best practices tho, hopefully to be able to share soon).

Over the years, in Vue, we have added a lot of dev only warnings at runtime to help developers With @antfu.me we want to improve these with structured diagnostics: enforcing good practices for errors and pretty print output that is actionable (agents autofix cheat code) Say hello to nostics.dev

Introducing CoHub: a simple way to visualize the connection between two GitHub users. Enter two usernames to discover their shared organizations and the repositories they’ve both contributed to or starred.

CoHub HomeCoHub connection detail

npm increasingly feels like a zombie org under GitHub. As someone who's been around the JS ecosystem and part of multiple OSS orgs for years, what I'm seeing isn't just "big co moves slow." It's quiet neglect of critical infrastructure the entire JS world runs on. A short thread 🧵

What do you think of a dev tool that helps you inspect components in your live app and then save that snapshot as a story in Storybook? 🤔 Backed by the incredible Vite devtools of course @antfu.me <3

I share so many feelings with what @acemarke.dev wrote in this post. I got saved a lot. I was thinking about writing a similar post myself, but apparently Mark goes much further and deeper than what I have experienced. It’s a long read, but I highly recommend taking the time to sit down and read.

Mark Erikson@acemarke.dev · 3mo ago

I wrote about everything I've felt, feared, and experienced about using AI for code over the last few years, and my opinions on where we stand. It's the most personal thing I've ever written. And I'm putting it out there to share with all of you. blog.isquaredsoftware.com/2026/05/ai-t...

In node-modules-inspector@2.1.0, we added a new report page "Maintainer Actions", which lists actionable changes for package maintainers to move the ecosystem forward. With pre-constructed prompts to copy if you want agents to do that for you. github.com/antfu/node-m...

BildBild

`tsnapi` - a snapshot testing utility for the public API for library maintainers. Snapshots for both JavaScript and TypeScript declarations. It would help prevent unintended breaking changes on public API signatures. Thanks @sxzz.dev for the initial idea and implementation. github.com/antfu/tsnapi

GitHub - antfu/tsnapi: Library public API snapshot testing for runtime exports and type declarations.

Library public API snapshot testing for runtime exports and type declarations. - antfu/tsnapi

github.com

After years of working in silos, in 2024 @netlify.com, @cloudflare.social, OpenNext, Google @firebase.com, and the @nextjs.org team at @vercel.com built bridges. We started discussing how to truly solve for full portability of Next.js. And we kept at it. Today marks a culmination of this work.

Next.js Across Platforms: Adapters, OpenNext, and Our Commitments

Next.js 16.2 introduces a stable Adapter API, a public adapter test suite, and a working group for more consistent deployment across platforms.

nextjs.org

Netlify@netlify.com · 4mo ago

The Next.js Adapter API is now stable. That’s a big step toward running @nextjs.org across platforms. However, there's still work ahead and that's why we're forming the Ecosystem Working Group. @philippeserhal.com shares what’s next: www.netlify.com/blog/the-nex...

It has been a very long while since I was posting on social media. I kinda want to get back into it and share more, but I feel like I've lost the momentum. I'll try to get it back on track.

Every Slidev power user ends up writing a custom picker script for their talks repo. @antfu.me has one. I had one. So I packaged it properly. slidev-decks: TUI deck picker, fuzzy matching, scaffold wizard, build --all, pm detection, slidev CLI pass-through. github.com/afonsojramos/slidev-decks

GitHub - afonsojramos/slidev-decks: CLI companion for managing multiple Slidev presentations

CLI companion for managing multiple Slidev presentations - afonsojramos/slidev-decks

github.com

This day 4 years ago I sent my first PR to @vitest.dev. Back then it was on v0.7.4 with 80K weekly downloads. After one year and +70 more PRs, @antfu.me and @erus.dev invited me to join the team. Today we are at v4.1.0 with 35M weekly downloads. Maybe in 2030 we'll have Vitest 8 with 140M downloads.

test(reporters): add outputFile tests by AriPerkkio · Pull Request #978 · vitest-dev/vitest

Adds missing test cases for outputFile configuration. I'm working on another bug fix and thought let's merge these ones first.

github.com

TIL that the tailwinds docs are not open source. It is the first time I see a popular OSS project with this kind of non-license approach for their docs. Are there other examples out there? Maybe I missed them too assuming that docs followed the same license as their code.

License

This project is not licensed under an open-source license and is the intellectual property of Tailwind Labs Inc. The source is available only as an educational resource and to accept fixes for minor mistakes.

Don't even know if I should build some LLM-powered tools to fight back magic with magic, or if I should just quit altogether. Agents create the illusion that you can accomplish complicated work with simple prompts, and people become less appreciative of the hard work behind the scenes.