🎨 rangi 2.2 now ships 25 built-in color themes. (all optional, ~2.6kB min/gzip in total!)
Pooya Parsa
@pi0.io
Building opensource stuff ◦ @unjs.io ◦ @nitro.build ◦ @nuxt.com 🌱 github.com/pi0 ❌ x.com/_pi0_
Zigbee2MQTT is migrating to srvx to serve its static assets, dropping 22 transitive dependencies! It feels so good when libraries I work on every day power tools I use every day. ♥️
Morning updates: - npx rangi => colorized cat - Language aliases - JSX/TSX support (thnx @jex.me ❤️) - JSONC/JSONC/JSON-LD syntax + detection - A new classes mode renders ~15% faster and produces minimal HTML
Sunday night quest: 🎨 Rangi: Tiny Syntax Highlighter
Humanity built: ✅ Fast machines: computers ✅ Fast communication: the internet ⏳ Fast intelligence: AI Even the thought that, in just a few years, I could do what I do today in the blink of an eye is fascinating!
H3 and Nitro are getting a native MCP integration! Teaming up with @hugorcd.com and @sandros94.com to release it soon!
mountx 0.0.2: - New transports: S3 API, 9P2000L, and NFSv4 - Lots of fixes and performance improvements With the new 9P and NFSv4 transports, we can now mount JavaScript virtual filesystems inside VMs such as QEMU and Firecracker! Link to the Docs below 👇
⛰️ mountx :: mount JavaScript as a real filesystem! Write ~6 lines of JS, get a real directory any process can read & write: editors, CLIs, AI agents. Rootless on Linux (FUSE) and macOS (NFSv3 with no kernel extensions). ~Pure JS, zero deps. mountx.vercel.app
⛰️ mountx :: mount JavaScript as a real filesystem! Write ~6 lines of JS, get a real directory any process can read & write: editors, CLIs, AI agents. Rootless on Linux (FUSE) and macOS (NFSv3 with no kernel extensions). ~Pure JS, zero deps. mountx.vercel.app
I’ve been exclusively coding in containers for a while now. no dev tools on my Laptop and PC. Today, I needed to test something and remembered that getutm.app can natively virtualize MacOS in MacOS. BTW Dropping this mini pkg shortly 😁
IPX 4 βeta is out! - Customizable parseURL - Faster etag revalidation - New unflatten and opacity operators - 16MB smaller than v3 - Security hardenings: symlink sandboxing, opt-in blockPrivateIPs, validated redirects, forced SVG sanitization, clamped dimensions, nosniff header, ...
My new recipe for harder tasks: Prompt → slop → digested spec → clean implementation → reinforced spec 🔁
H3 v2 RC.26 is out! 🚀 - New onDispose hook - Faster setCookie; sessions now use SameSite=Lax - Faster precomposed middleware, cutting dispatch overhead by 9–18% - Return an EventStream directly as a response - 20+ bug fixes and security hardening improvements - Redesigned docs
Side quest of the day: 🧹mermaid-compact Mermaid is great for diagrams… until noticed this cute thing, pulls in 100+ dependencies (140 MB install), and Vite emits 100+ chunks from the mermaid.esm.min import 😅 No more! The whole thing now bundles into a single ~2.7 MB chunk.
Current state: literal goosebumps!
Working on something very exciting! I’ve rebuilt the whole thing from scratch three or four times already. It has now been extracted to a new RFC, and I’m aligning it with the specs all over again. Getting close to the final implementation. Wish me luck!
srvx 0.12 landed 🎉 🔧 25+ fixes in the Node.js adapter ⚡ Precomputed middleware: +18-25% faster ⚡ Faster logger middleware: +34.3% faster 📁 Static middleware w/ conditional caching + streaming + stronge security hardenings Strongly recommend upgrading!
Working on something very exciting! I’ve rebuilt the whole thing from scratch three or four times already. It has now been extracted to a new RFC, and I’m aligning it with the specs all over again. Getting close to the final implementation. Wish me luck!
Today @kane.tw told me that unwasm has issues parsing some opcodes. It wasn’t the first time with this issue. Now the parser is replaced with a tiny one that extracts only what unwasm needs. A few more changes, the install size is down to 38.7kB/329kB from 417kB/2.44 MB 🚀
The latest version of VS Code (1.129) has a new experimental Modern UI (the one on the right) with rounded corners everywhere. I am enabling it in Coderaft to try! How do you like it?
New hook in H3: onDispose(event, cb). Fires when a request is truly done: response finished, client disconnected, or the stream errored. Works identically on all runtimes!
Did you know that even a simple console.log() per request can hugely hurt performance? The built-in logger in the next h3/srvx release batches writes and caches the timestamp (Intl), cutting logging overhead ~60–85%.
Did you know that H3 has a built-in `writeEarlyHints` utility that sends early hints? (Thanks to the initial contribution from @danielroe.dev, we’ve had it since the early days!)
There's an HTTP status code for performance. 103 Early Hints sends your preload and preconnect headers before the real response, so the browser downloads your CSS and hero image while your backend queries the database.
process.getBuiltinModule() is SO underrated! Before this API, conditionally using Node.js built-ins in universal libraries was dodgy.
🍦 unjs/unctx v3: - Zero dependencies, with optional transformer - Faster transformers (thnx @thealexlichter.com) - Uses oxc parser for transform - AsyncLocalStorage doesn't needs to be polyfilled - Fixes memory leak with resources like timers in context
🍦 unjs/unctx v3: - Zero dependencies, with optional transformer - Faster transformers (thnx @thealexlichter.com) - Uses oxc parser for transform - AsyncLocalStorage doesn't needs to be polyfilled - Fixes memory leak with resources like timers in context
Had a fun pair-programming session with @rihan.dev today. And guess what? We got to write a few lines of code by HAND!
Wall-E and Humans on the Axiom
ALT: Wall-E and Humans on the Axiom
static.klipy.com
nowadays i work on multiple projects, in multiple branch worktrees, across multiple sessions all in parallel. zigpty has a built-in attention detection system that tells me when an agent is done. and i can close my laptop and pick up sessions from my phone while cooking!
srvx 0.11.22: - New `trustProxy` option to respect x-forwarded-* headers in req.url (works with Node, Deno and Bun) - New `mtls` plugin to request client certificate during the handshake (thnx @sandros94.com) - Complete AWS streaming docs (thnx @oskarlebuda.bsky.social)
Nitro’s routeRules engine will be 9–110× faster in the next release (over 250x when new security guards kick-in). This is powered by a new complex pattern-overlapping analyzer in rou3, enabling route rules to be pre-merged at compile time. And that’s not all 😜