oven-sh/bun

Developer Tools

One fast binary that replaces the Node runtime, npm install, Jest, and a bundler for JavaScript/TypeScript projects.

96,386
5,123
Rust
NOASSERTION
5 years old

The problem

A typical JavaScript project stacks a runtime, a package manager, a test runner and a bundler, each with its own config, cache and startup cost. Tooling work often costs more than the app. Bun bundles all four into a single bun executable aimed at being a drop-in Node.js replacement, so you drop one binary into an existing project and see how far it gets.

What's different

Where the usual stack is Node.js plus npm/pnpm plus Jest/Vitest plus esbuild/webpack, Bun tries to be all of them, built on JavaScriptCore with a Rust codebase, rather than V8 and Node's architecture. In practice three things set it apart: built-in TypeScript/JSX execution without a separate transpile step, a package manager that reimplements npm client behaviour, and a bundler exposed as Bun.build with an esbuild comparison page. The trade-off is honest: one vendored engine and one team deciding what "Node-compatible" means, versus a large ecosystem of separate tools you can swap individually.

Who it's for

Developers starting new TS/JS services, scripts or small full-stack apps who want fewer dependencies and faster installs are the obvious fit. Teams with heavy native Node addons, unusual module-resolution needs, or a policy of one tool per concern should stay on Node plus established tooling. If you need long-term stability guarantees, wait for a stable release line and check the compatibility docs first.

Cost of adoption

Bun ships as a native binary for Linux, macOS and Windows on x64 and arm64. Linux wants kernel 5.6+ (5.1 minimum), and older x64 CPUs can hit illegal-instruction errors, so check the CPU requirements. Install is a single curl/powershell script, npm, Homebrew or Docker; upgrade via bun upgrade. The license is NOASSERTION rather than a clear OSI identifier, the README is mostly a docs index with no compatibility matrix, and the project ships a canary build on every commit, which says something about release cadence.

Verdict

Bun is established, not a spike. Nearly 96.4k stars over a project created in 2021 and thousands of forks show sustained adoption rather than a launch-day surge. It is invisible on the GitHub daily trending board but showed up at #4 on the weekly Rust board with +207 stars, and the HN threads (a 723-point porting-guide discussion) point to sustained migration interest rather than hype. Treat Bun as a serious alternative for new JS work and evaluate it per project; don't assume a Node app will run unchanged until you test it.

Hacker News

Zig → Rust porting guide
▲ 723 · 555 comments · May 5, 2026
Rewrite Bun in Rust has been merged
▲ 708 · 789 comments · May 14, 2026
Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"
▲ 488 · 345 comments · May 15, 2026

Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.