// the find
oven-sh/bun
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
Bun is a JavaScript runtime, package manager, bundler, and test runner built on JavaScriptCore and written in Zig. It targets Node.js drop-in compatibility while being meaningfully faster at startup, package installs, and test runs. For developers tired of juggling separate tools (npm, esbuild, jest, tsx), it consolidates everything into one binary.
The package install speed is genuinely impressive — cold installs that take 30+ seconds with npm often complete in under 5 seconds with Bun, thanks to a global content-addressed cache and hardlinking. The built-in SQLite, Postgres, Redis, and S3 APIs mean you can write a backend without any npm packages for the common cases. Native TypeScript and JSX execution without a build step removes real friction from dev workflows. The single-file executable bundler (bun build --compile) produces standalone binaries that are actually useful for shipping CLI tools.
Node.js compatibility is good but not complete — some native addons and edge cases in the module system still break, so 'drop-in replacement' is aspirational for complex codebases rather than guaranteed. The runtime is primarily maintained by one company (Oven) with a small core team, which is a long-term bus factor concern for anyone building critical infrastructure on it. Windows support arrived late and still lags Linux/macOS on some I/O features. The bundler is less configurable than esbuild or webpack for complex output shapes — if you need fine-grained chunk splitting or custom module federation, you'll hit walls quickly.