Sign in

Pooya Parsa

@pi0.io
5K followers 800 following 742 posts

Building opensource stuff ◦ @unjs.io ◦ @nitro.build ◦ @nuxt.com 🌱 github.com/pi0 ❌ x.com/_pi0_

PostsRepliesMedia
Pooya Parsa @pi0.io · 5h
unjs/jup 0.6.4 now supports @vlt.io in addition to npm, pnpm, yarn, aube, upm, bun, deno, and nub.
030
Pooya Parsa @pi0.io · 14h
Also quite useful to visually see why installing a package is taking time:
020
Reposted by Pooya Parsa
Jovi 🐨 @jovidecroock.com · 14h
Preact 11 is out 🎉 We’ve been hard at work at making our diffing use modern features like moveBefore , leveraging ESM for tree-shaking Preact Compat and ensuring you have a great experience with resumed hydration.
59220
Pooya Parsa @pi0.io · 14h
Fucking amazing! I have built something cool was waiting for preact 11 to be out!!
150
Pooya Parsa @pi0.io · 14h
upm.sh has become my new npm package inspector! It’s fast, reliable, and does everything in the browser! And building it was easy just use the upm API haha!
1110
Pooya Parsa @pi0.io · 16h
github.com/unjs/obuild
github.com
GitHub - unjs/obuild: 📦 😯 Zero-config ESM/TS package builder.
📦 😯 Zero-config ESM/TS package builder. Contribute to unjs/obuild development by creating an account on GitHub.
010
Pooya Parsa @pi0.io · 16h
unjs/obuild now supports minifyLibs and compressLibs options Selectively minify bundled deps or compress them inline into self-extracting ES modules, for when disk size matters. undici: 906 kB → 541 kB (min) → 146 kB (compressed /~5ms to extract on demand)
130
Pooya Parsa @pi0.io · 17h
Release notes: github.com/unjs/upm/rel... Benchmarks: - upm.sh/docs#perform... - benchmarks.vlt.sh#/package-man...
github.com
Release v1.3.0 · unjs/upm
compare changes 🚀 Enhancements Minimal progress bar and shorter install output (#12) cli: Add --verbose flag (#18) cli: Add -v and --version (#19) cli: upm alone installs (242fa15) cli: Report pro...
000
Pooya Parsa @pi0.io · 17h
On modern terminals like Ghostty, upm also shows progress natively in the window!
130
Pooya Parsa @pi0.io · 17h
📦 upm 1.3: - Faster - Better hoisting - Consumes less resources on large repos - Minimal CLI progress bar + an onProgress API - Matches native-scores in independent @vltpkg benchmarks* (3.4ms/pkg => 2ms/pkg on average) *Benchmark results vary by hardware and scenario. upm is by far the smallest.
1161
Pooya Parsa @pi0.io · 20h
Independent vlt benchmarks also shows same results 😄 benchmarks.vlt.sh#/package-man...
benchmarks.vlt.sh
vlt benchmarks
000
Pooya Parsa @pi0.io · 20h
upm does win on cold! raw.githubusercontent.com/unjs/upm/mai... Also in warm at least in limited benchs raw.githubusercontent.com/unjs/upm/mai... We really don’t need more size to be faster. Actually little warm startup cost is because Node has to bootstrap ~50MB logic
raw.githubusercontent.com
120
Pooya Parsa @pi0.io · 21h
* startup in “warm”
000
Pooya Parsa @pi0.io · 21h
At least in upm benchmarks cold times are already one of the fastest implementations (because startup cost matters less). In cold, startup time and little mem/cpu overhead might be improved. Some have to be optimized upstream in Node.js or can be only reduced using a tiny napi extension.
210
Pooya Parsa @pi0.io · 22h
upm regressed around 20kb in 1.3 🙇‍♂️ but got way faster in monorepos 😃
131
Pooya Parsa @pi0.io · 28/09/2026
Playground: oxbox.unjs.io GitHub: github.com/unjs/oxbox
oxbox.unjs.io
oxbox playground
Transform and parse TypeScript, JSX and JavaScript in the browser with OXC packaged as a portable wasm module.
010
Pooya Parsa @pi0.io · 28/09/2026
The oxbox wasm build also has a few extra perf tricks! ⚡ SIMD (simd128) across the whole build 🔗 Parser and transformer optimized together (LTO) 🧵 Multithreaded async APIs with prewarmed workers
110
Pooya Parsa @pi0.io · 28/09/2026
The official packages also pull in dozens of platform bindings and a JS runtime (emnapi + napi-rs). oxbox replaces all of that with its own tiny N-API host that runs in Node.js and browsers. upm.sh/npm/oxbox upm.sh/npm/oxc-parser upm.sh/npm/@oxc-par...
110
Pooya Parsa @pi0.io · 28/09/2026
The official oxc packages ship the parser and transformer as separate binaries, and since the transformer includes its own parser, much of it is duplicated. Oxbox links both into one wasm build and embeds it compressed with 🗜️ zopfli then base93-encoded to keep it small.
120
Pooya Parsa @pi0.io · 28/09/2026
Just published github.com/unjs/oxbox 🐂 🛠️ A tiny, portable JS library for parsing and transforming JS/TS/JSX, powered by oxc. ⚡ Optimized wasm build in a single JS chunk 🪞 Same API as oxc-parser + oxc-transform 🤝 Works in browsers and Node.js 💾 Fits on a floppy disk
2314
Pooya Parsa @pi0.io · 28/09/2026
Mise is probably a good choice! jup.unjs.io can help to manage package manager and runtime versions. It is also pure JS.
jup.unjs.io
Get started - jup
Pin and run the right package manager or runtime for every project.
030
Pooya Parsa @pi0.io · 28/09/2026
Not currently but please open a PR, we can check if we can!
010
Pooya Parsa @pi0.io · 28/09/2026
Huge thanks to the npm and pnpm projects, whose work and ideas inspired much of upm 💛
050
Pooya Parsa @pi0.io · 28/09/2026
Every upm command is also a JS utility, and the store takes pluggable backends. The website runs a real upm install right in your browser tab and reinstall every time you reload it. Try it at upm.sh before installing anything!
131
Pooya Parsa @pi0.io · 28/09/2026
Node.js boots a few ms slower than a native binary. But on CI, size wins it back: restoring a 50–150 MB native package manager from cache takes longer than startup savings! Below you can see the measured/estimated timing.
120
Pooya Parsa @pi0.io · 28/09/2026
upm uses Node.js built-ins for worker threads, networking, compression and the filesystem, and matches the speed of Rust package managers*. * Benchmarks are mainly an indicator; results vary with project, network and hardware.
240
Pooya Parsa @pi0.io · 28/09/2026
Introducing 📦upm: 🪶A fast, tiny package manager for the npm registry. ✨Written in TypeScript, it installs at native-class speed and has a JS API, at a fraction of the size of native tools. 🤝Compatible with your existing .npmrc and lockfiles. 👉 Try at upm.sh
64514
Pooya Parsa @pi0.io · 27/09/2026
Both ;)
010
Pooya Parsa @pi0.io · 26/09/2026
PSA: H3 Stable and Nitro RC are imminent. Closing the last-minute gaps. Sorry for all the delays, but every single one was worth it. Nitro is becoming a MINIMAL, FAST, UNOPINIONATED/AGNOSTIC Swiss Army knife for building any web app. Your agents are gonna LOVE it.
6813
Pooya Parsa @pi0.io · 18/09/2026
Around a day. I guess you can use vercel AI gateway though 😄
120
Pooya Parsa @pi0.io · 17/09/2026
it generates a full query like this: Docs: github.com/pithings/adv...
020
Pooya Parsa @pi0.io · 17/09/2026
if is old, jev is new!
2210
Pooya Parsa @pi0.io · 17/09/2026
That’s also how i first learned about the word 😂 Tastes good with ice cream btw!
120
Pooya Parsa @pi0.io · 17/09/2026
pretty experimental, ideas more than welcome! (advocaat means “lawyer” in Dutch! 😄) github.com/pithings/adv...
github.com
GitHub - pithings/advocaat: A small, type-safe client for asking AI questions about your data, powered by TypeSafe Jev.
A small, type-safe client for asking AI questions about your data, powered by TypeSafe Jev. - pithings/advocaat
140
Pooya Parsa @pi0.io · 17/09/2026
Built a tiny intuitive JS SDK for typesafe.ai Ask questions, get typed answers.
1401
Pooya Parsa @pi0.io · 15/09/2026
💿 💿 💿
010
Pooya Parsa @pi0.io · 09/09/2026
IMO it only works (as mass adoption) if Node.js finally upstreams some of these. Which is very unlikely considering diversity of opinions…
120
Pooya Parsa @pi0.io · 09/09/2026
from experience, unifying efforts like corepack are very hard by nature. especially if it is driven by somehow “biased” opinions. I recently made jup.unjs.io but it is designed for the unjs ecosystem requirements + hopefully little more generic than corepack.
jup.unjs.io
Get started - jup
Pin and run the right package manager or runtime for every project.
120
Pooya Parsa @pi0.io · 09/09/2026
fwiw i have no issues with what language software is written in. runtimes managing packages make sense too. perhaps if node had it builtin everything would be simpler. pnpm managing its version, node version, python deps and actions is…
140
Pooya Parsa @pi0.io · 09/09/2026
I remember when yarn was born. It was cool and fast and fancy. then it got more complex up to a point that users couldn't keep up. Now pnpm is the star. It is getting more complex requirements to be setup "as intended" and honestly i am worried. sigh... just random thoughts.
3321
Pooya Parsa @pi0.io · 09/09/2026
jup.unjs.io
jup.unjs.io
Get started - jup
Pin and run the right package manager or runtime for every project.
040
Pooya Parsa @pi0.io · 09/09/2026
📦 jup 0.5.6 Now respects the pnpm version set in pnpm-lock.yaml with devEngines ranges like pnpm@^12 Also fixes IPC channels for Bun and Deno. Getting closer to mass adoption 🤞
1120
Pooya Parsa @pi0.io · 08/09/2026
Thanks for your contributions in c12 and unjs ❤️
130
Pooya Parsa @pi0.io · 04/09/2026
There’s a Persian saying: "The potter drinks water from a broken jug." I use changelogen for literally all releases i make, yet it has had bugs over a year, but I’ve never found the time to properly fix them. Spending part of this evening on it!
030
Pooya Parsa @pi0.io · 04/09/2026
We are working hard twards RC and Stability for Nuxt v5! Release Notes: github.com/nitrojs/nitr...
github.com
Release v3.0.260903-beta · nitrojs/nitro
NoteThi release focuses on security hardenings, bug fixes, better observability, and a more reliable development experience. Many of new improvements are from major dependency upgrades (h3, srvx, ...
0110
Pooya Parsa @pi0.io · 04/09/2026
🚀 Nitro v3.0.260903 is here! 🧭 Smarter, Safer and Faster Route Rules 💾 Powerful Caching Utils 🗄️ New DB Connectors and ORM Integrations 🔭 Native Vercel & Cloudflare Tracing ▲ Vercel Deploys with Immutable Assets 📦 Smart prompt to install deps 🔒 Strong Security
3495
Pooya Parsa @pi0.io · 03/09/2026
I tried SIEVE a long time ago, handwritten in rou3. It wasn't that impressive, but now, for H3's route rules engine, it is effective!
081
Pooya Parsa @pi0.io · 03/09/2026
jup.unjs.io
jup.unjs.io
Get started - jup
Pin and run the right package manager or runtime for every project.
130
Pooya Parsa @pi0.io · 03/09/2026
New @unjs.io drop 🍕 jup: It provides shims for package managers and runtimes and automatically selects the right one from package.json. It is a full Corepack rewrite, but smaller, faster, and nicer. It supports ^ ranges, pnpm 12, Bun, Deno, Node.js, Aube, Nub. Give it a try!
1211
Pooya Parsa @pi0.io · 02/09/2026
Thanks for feedback! We absolutely should make the description better. When you have a few minutes would you mind dropping your thoughts in an issue? i can spawn a decent agent to work on it 🙌
000