The Tigris team migrated their TypeScript CLI from Node.js/npm distribution to a Bun-compiled standalone binary. The migration required creating a parallel entry point to handle Bun's static bundling constraints (replacing dynamic YAML imports and lazy-loaded command handlers with auto-generated static equivalents), while keeping the npm distribution intact. Benchmarks on an Apple M4 Max showed Bun is 20–48% faster for uploads across all file sizes and 2–3x faster for downloads under ~100 MB, but Node.js handles very large downloads (180 MB+) more efficiently due to Bun's aggressive memory buffering. The result is a 60 MB self-contained binary for macOS, Linux, and Windows with no Node.js dependency required.
Table of contents
Bun was always in the back of my mind What changed Getting it to work was surprisingly easy Benchmarking: does it actually perform? What I'd tell you if you're considering the same move 3 Comments
Sort: