oven-sh / bun
git clone https://github.com/oven-sh/bun.git
bun-v1.4.3 · 13d ago
🔥 on GitHub Trending today
All-in-one JavaScript and TypeScript toolkit shipped as a single executable, bundling a runtime, bundler, test runner, and package manager.
Why you might care
Designed as a drop-in replacement for Node.js, it is written in Rust on JavaScriptCore to cut startup time and memory use. It replaces separate tools for running, bundling, testing, and installing packages, so a project can need fewer node_modules dependencies.
+21
stars, 24h · #1,799
+191
stars, 7 days · #1,181
+~380
stars, 30 days · #2,185
96k
★ total · +0% this week
5.1k
forks · 9.2k open issues
Star history (as recorded here)
LanguageRust
License—
Created2021-04-14 (5y ago)
Last pushtoday
Watchers619
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 — #3 weekly in rust · +191 ★
- 2026-10-22 — #4 weekly in rust · +180 ★
GitHub topics
Links
- GitHub: github.com/oven-sh/bun
- Homepage: https://bun.com
- Releases · Issues · Hacker News mentions
README excerpt
Bun Documentation • Discord • Issues • Roadmap ### Read the docs → ## What is Bun? Bun is an all-in-one toolkit for JavaScript and TypeScript apps. It ships as a single executable called `bun`. At its core is the _Bun runtime_, a fast JavaScript runtime designed as **a drop-in replacement for Node.js**. It's written in Rust and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage. [code] The `bun` command-line tool also implements a test runner, script runner, and Node.js-compatible package manager. Instead of 1,000 node_modules for development, you only need `bun`. Bun's built-in tools are significantly faster than existing options and usable in existing Node.js projects with little to no changes. [code] ## Install Bun supports Linux (x64 & arm64), macOS (x64 & Apple Silicon), and Windows (x64 & arm64). > **Linux users** — Kernel version 5.6 or higher is strongly recommended, but the minimum is 5.1. > **x64 users** — if you see "illegal instruction" or similar errors, check our CPU requirements [code] ### Upgrade To upgrade to the latest version of Bun, run: [code] Bun automatically releases a canary build on every commit to `main`. To upgrade to the latest canary build, run: [code] View canary build ## Quick links - Intro - What is Bun? - Installation - Quickstart - TypeScript - TypeScript 6 - Templating - `bun init` - `bun create` - Runtime - `bun run` - File types (Loaders) - JSX - Environment variables - Bun APIs - Web APIs - Node.js compatibility - Plugins - Watch mode / Hot Reloading - Module resolution - Auto-install - bunfig.toml - Debugger - REPL - $ Shell - Package manager - `bun install` - `bun add` - `bun remove` - `bun update` - `bun link` - `bun pm` - `bun outdated` - `bun publish` - `bun patch` - `bun why` - `bun audit` - `bun info` - Global cache - Global store - Isolated installs - Workspaces - Catalogs - Lifecycle scripts - Filter - Lockfile - Scopes and registries - Overrides and resolutions - Security scanner API - `.npmrc` - Bundler - `Bun.build` - Loaders - Plugins - Macros - vs esbuild - Single-file executable - CSS - HTML & static sites - Hot Module Replacement (HMR) - Full-stack with HTML imports - Standalone HTML - Bytecode caching - Minifier - Test runner - `bun test` - Writing tests - Lifecycle hooks - Mocks - Snapshots - Dates and times - DOM testing - Code coverage - Configuration - Discovery - Reporters - Runtime Behavior - Package runner - `bunx` - API - HTTP server (`Bun.serve`) - HTTP routing - HTTP error handling - HTTP metrics - WebSockets - Workers - Binary data - Streams - File I/O (`Bun.file`) - Archive (tar) - SQLite (`bun:sqlite`) - PostgreSQL (`Bun.sql`) - Redis (`Bun.redis`) - S3 Client (`Bun.s3`) - FileSystemRouter - TCP sockets - UDP sockets - Globals - Child processes (spawn) - Cron (`Bun.cron`) - WebView - Transpiler (`Bun.Transp
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.