Profile avatar
pi0.io
Building opensource stuff ◦ @unjs.io ◦ @nitro.build ◦ @nuxt.com 🌱 github.com/pi0 ❌ x.com/_pi0_
144 posts 3,923 followers 639 following
Regular Contributor
Active Commenter

📦 I will release all new major versions of my packages as ESM-only. Thanks to @joyeecheung.bsky.social for finally making this possible for us!

Another util for the ESM saga: github.com/unjs/exsolve 📦 ESM only, no dependencies (53kB unpacked) 🔥 Much faster with sync API and optimized search path 🐱 Closer to ESM spec. No implicit extensions or /index check by default (opt-in)

Fun fact: In the event of a GitHub bot uprising, you can't stop them in any way! When you try to block a bot, GitHub shows an error: > An error occurred while trying to block the user: The blocked user is not a user.

# @unjs.io ohash.unjs.io v2 - 🚀 Speedup with node:crypto when available - 🪴 Serializer rewritten - 🧹 Internal cleanups - 📦 ESM-only (63.3kB=>18.7kB) Bundle size down to 5.5/2.6kB (web), 2.3/1kB (node) changelog: github.com/unjs/ohash/r...

Just want to say that unstorage is such an amazing project! It abstracts KV so well that it's very easy to swap storage in different scenarios. Thank you @pi0.io & @unjs.io 💛 github.com/unjs/unstorage

Cloudflare Workers, Deno Deploy, Netlify Edge, and Vercel Edge all have (partial) native Node.js support. But how much? Made a test suite to check this live! > github.com/pi0/platform...

Now can sleep!

oxc.rs is FAST 🔥 ⏳ Trying for unenv.unjs.io dist: - 156 transforms in 61ms - @rolldown.rs bundle in 26ms - e2e build down to 0.32s from 4s It is only publish-time, but these prove how much end-user time will be saved once the rest of the (user-facing) ecosystem adopts OXC stuff.

Using tools made by/for vendors _locks_ your choices. It’s sad to see how much bold vendor marketing shapes the direction of OSS. Nitro and UnJS were created to fight against this, but the truth is, we were not the loudest voices. We should be louder!

As the universe expands, it moves toward greater entropy and disorder. We, humans (and developers!) love to impose order on everything... or are we creating even more disorder?? Who knows 👀

> Cloudflare Durable Objects are single global instances with shared state. However, moving context from global edge workers to a Durable Object can be complex. 💡 @nitro.build experimental cloudflare-durable exposes a seamless API to move the fetch context:

A few months ago, I had been exploring possibilities with Cap’n Proto in JS (it is like Protobuf except it is much better and used across Cloudflare) and made capnp-es.unjs.io. Now, it’s being used at Cloudflare 🤝 (thanks to @penalosa.link ❤️) ~> github.com/cloudflare/w...

esm.sh v136 has been deployed with - builtin @jsr.io (h/t @lcas.dev ) and pkg.pk.new (h/t @aslemammad.bsky.social @amirsakhravi.bsky.social) registries. - more stable package version resolving - use @pi0.io's github.com/unjs/unenv - and more ↪ github.com/esm-dev/esm....

auth-utils > nuxt > nitro > h3 > crossws 5 open layers adopted this in less than a day 🔥 (yes, that’s possible when ecosystem is collaborative)

and...with @unjs.io h3.unjs.io: 1.14 you can now access sessions from WebSocket hooks with the same session utils 🤝 PR: github.com/unjs/h3/pull... Example: github.com/unjs/h3/blob...

🔑 in @unjs.io crossws.unjs.io 0.3.2: enhancements to make authentication and session handling easier. - Throw a Response to abort upgrades - Shared context between all hooks Notes: github.com/unjs/crossws...

🪴 Released @unjs.io nanotar.unjs.io 0.2 after a long time: ✅ `filter` and `metaOnly` options for parser ✅ various fixes Next steps: > Streaming IO > Extended file types github.com/unjs/nanotar...

Soon in @nitro.build: Error page will be much more helpful ✨ Thanks to poppinss/youch 4 by @iamvirk.bsky.social 💝 github.com/nitrojs/nitr...

in @unjs.io pathe 2.0: - Improvements for consistency with node:path behavior - reverseResolveAlias(path, aliases) - matchesGlob(path, pattern)

Let’s face it: open source today isn’t just about collaboration or making the world better. It’s heavily influenced by hidden politics. Good or bad? I’m not sure. But it’s not what I dedicated 10 years of my life to. Turning 30 soon—should I keep going on and "accept" reality just as-is?

I was planning to work on some fun projects during the holidays, but now I'm back to OSS maintenance, and there's a lot of it. So tired.. People think OSS is fun, but it's not—especially for low-level project maintenance. It's unseen, unappreciated, and constant labor.

Consola was one of my earliest (2018) open-source projects. It has now surpassed 600 million (~43M monthly) downloads. I’m genuinely proud of how far it has come. 🫡

In @unjs.io 🐨 consola 3.3: - New `formatTree` utility - Prints error cause - Configurable cancel strategy for prompts - [various bug fixes and improvements] github.com/unjs/consola...

@astro.build 🤝 unstorage.unjs.io

Very excited to share this. Experimental session support in Astro. With Astro.session we're aiming to make sessions as easy as they are in PHP and Rails. It's experimental now, but please try it out and let me know how you get on. Thanks to @unjs.io for unstorage which powers the actual storage.

unstorage.unjs.io 1.14 is out: 🌟 6 New Drivers: Upstash, SQL (db0.unjs.io), Vercel Blob, Deno KV, S3, and Uploadthing. 🙌 Typed Storage Interface and other enhancements. github.com/unjs/unstora...