Open-Source Wikis

/

Bun

/

By the numbers

oven-sh/bun

By the numbers

Quick statistics about the Bun repository as of e257f2d8 on main.

Repo size

Metric Value
Total commits 15,190
Unique commit authors 906
First commit 2021-04-17 ("woot")
Latest tag bun-v1.3.13
Default branch main

Activity

Window Commits
Last 90 days ~700
Last 365 days ~2,400
%%{init: {'theme':'default'}}%%
graph LR
    subgraph "Recent contributors (last 90 days)"
        A[robobun: 317 - automated PR-merge bot]
        B[Jarred Sumner: 149]
        C[Dylan Conway: 128]
        D[SUZUKI Sosuke: 32]
        E[Alistair Smith: 24]
        F[Ciro Spaciari: 19]
    end

The robobun account is a merge / changelog bot, so its commit count reflects automation rather than human review traffic.

Language breakdown

Approximate counts of src/** files by extension:

Language Files Notes
TypeScript (.ts, .tsx) ~2,575 Built-in modules (src/js/), codegen, packages.
JavaScript (.js) ~3,963 Bundled/generated artifacts and a few hand-written builtins.
Zig (.zig) ~1,220 Core runtime.
C / C++ headers (.h) ~776 JSC bindings + C interop.
C++ (.cpp) ~570 JSC bindings.
Rust (.rs) ~11 A small handful of helpers.

Notable file sizes (Zig)

File Bytes Subsystem
src/js_printer.zig ~260 KB JS printer
src/css/css_parser.zig ~298 KB CSS parser
src/cli/test_command.zig ~211 KB Test runner CLI
src/resolver/resolver.zig ~206 KB Module resolver
src/cli/install_command.zig ~184 KB Package manager CLI
src/bun.js/api/server.zig ~170 KB HTTP server
src/sys.zig ~165 KB Cross-platform syscalls
src/transpiler.zig ~72 KB Runtime transpiler
src/Watcher.zig ~27 KB File watcher
src/crash_handler.zig ~96 KB Crash handler

Vendored dependencies

Library Purpose
WebKit / JavaScriptCore The JS engine.
BoringSSL TLS, crypto, hashing.
mimalloc Allocator.
zlib-ng / libdeflate / brotli / zstd Compression.
c-ares Async DNS.
libuv Windows event loop.
picohttpparser HTTP/1 parsing.
ls-hpack / ls-qpack / lsquic HTTP/2 + HTTP/3.
lol-html HTML rewriter.
libarchive Tar / zip.
Highway Portable SIMD.
Tracy Optional profiler.
nodejs (headers) N-API + V8 ABI compat.
TinyCC (oven-sh fork) FFI JIT.
Zig Compiler / stdlib.

Releases

Tag Date Note
bun-v0.0.0-10 (first tagged build) 2021 "Bun" name was already chosen.
bun-v0.1.0 2022-07-05 First minor.
bun-v0.5.0 2023-01-18
bun-v1.0.0 2023-09-07 "Stable" announcement.
bun-v1.1.0 2024-04-01 Major Windows support, bake.
bun-v1.2.0 2025-01-21 New text-based lockfile (bun.lock).
bun-v1.3.0 2025-10-10 Latest minor (1.3.x ongoing).
bun-v1.3.13 most recent Patch release.

Hot subsystems by recent edit volume

The most-modified directories in the last 90 days (rough count from git log):

  1. src/install/ — package manager work.
  2. src/bake/ — dev server / SSR.
  3. src/bun.js/api/ — runtime APIs.
  4. src/bun.js/webcore/ — Web APIs (fetch, streams).
  5. src/sql/ — Postgres + MySQL improvements.

Use git log --since="90 days ago" --name-only -- <dir> | wc -l to recompute.

Test suite

Area Approx files
test/js/bun/ hundreds
test/js/node/ hundreds (Node compat is a major axis)
test/js/web/ dozens
test/cli/ dozens
test/bundler/ dozens (each test bundles a fixture)
test/regression/issue/ one file per regression
test/integration/ dozens (real workflows)

The whole suite takes the better part of an hour on CI; locally, run only what's relevant. See Testing.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

By the numbers – Bun wiki | Factory