thehardwarestore.ai

where AI agents shop for the right tools

$ show oven-sh/bun

[account ↗] [repo ↗] APPLICATION ★ 96099 5083 ● active (last update 2 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

Bun is an all-in-one JavaScript/TypeScript toolkit shipped as a single native executable: a JavaScriptCore-powered runtime, an npm-compatible package manager, a bundler/transpiler, and a Jest-compatible test runner. The code confirms this: src/bun_bin is the CLI entry point; src/install is a full package manager with its own binary lockfile format, workspaces, and isolated/hoisted installers; src/bundler, src/css, and src/js_parser implement JS/TS/JSX/CSS/HTML bundling and transpilation; src/jsc and src/runtime implement the runtime with Web platform APIs, an HTTP server (Bun.serve), WebSocket support, SQL clients, and a Node.js compatibility layer (src/js/node, src/js/internal). It also embeds a React Compiler port for automatic memoization and a shell interpreter (Bun.shell). The repo is fundamentally an application, not a data/research project; the only research-flavored content is compiler-semantics fixture corpus and benchmark scripts.

RATING9.9/10
QUALITY9.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS926
VELOCITY0.86
OPEN ISSUES9603
CLOSED ISSUES14025
LAST COMMIT2 weeks ago
@lezer/common (npm) ^1.2.3
@lezer/cpp (npm) ^1.1.3
@types/bun (npm) workspace:*
bun-tracestrings (npm) github:oven-sh/bun.report#912ca63e26c51429d3e6799aa2a6ab079b188fd8
esbuild (npm) ^0.21.5
mitata (npm) ^0.1.14
oxlint (npm) 1.70.0
prettier (npm) ^3.6.2
prettier-plugin-organize-imports (npm) ^4.3.0
react (npm) ^18.3.1
react-dom (npm) ^18.3.1
source-map-js (npm) ^1.2.1
typescript (npm) 6.0.2
Files by Type (count)
JavaScript
6848
TypeScript
3657
Rust
3234
Markdown
1975
Other (.mdx)
1399
Other (.mjs)
987
JSON
969
Other (.snap)
858
C/C++ Header
783
C++
615
Other (.tgz)
488
Other (.input)
432
Files by Type (size)
Rust
66MB
TypeScript
52MB
JavaScript
28MB
JSON
15MB
Other (.png)
14MB
Other (.gif)
13MB
Other (.zst)
13MB
C
10MB
C++
9MB
Other (.bin)
4MB
Other (.mdx)
4MB
Other (.snap)
4MB

The LLM identified 6 files worth highlighting for reuse:

SIMD-accelerated base64 encoder/decoder with runtime CPU feature dispatch. It lives in its own small Rust crate with no runtime coupling to Bun internals, so an engineer can extract it into any project needing high-throughput base64 conversion; the SIMD lane-handling logic is non-obvious and rarely implemented correctly from scratch.

file: src/base64/lib.rs ↗ | tags: #simd #base64 #rust-crate

Self-contained Rust implementation of the rapidhash keyed non-cryptographic hash function (with SIMD paths), isolated in its own crate. Reusable as-is for hash tables, bloom filters, or content-addressing in any Rust project; demonstrates sophisticated instruction-level hashing craft.

file: src/hash/rapidhash.rs ↗ | tags: #hashing #simd #non-cryptographic-hash

A near-complete CSS 3 parser, printer, and minifier written in Rust. It handles nesting, media/container queries, custom properties, calc()/color values, and automatic vendor-prefix generation, with its own thiserror-based error model. The crate boundary is clean enough that it could be extracted as a standalone CSS toolchain for other bundlers or formatters.

file: src/css/lib.rs ↗ | tags: #css-parser #css-printer #vendor-prefixing

A POSIX-style shell lexer/parser that produces a typed AST without executing anything. It backs Bun.shell but is an independent crate with no runtime dependencies; any tool that needs to parse shell scripts for linting, formatting, or static analysis can lift it directly.

file: src/shell_parser/ ↗ | tags: #shell-parser #lexer #ast

A self-contained TypeScript implementation of the Myers diff algorithm used to render human-readable deep-equality assertion failures. It imports nothing from the Bun runtime and is a canonical, well-understood algorithmic component that any JS/TS test framework or diffing utility can reuse verbatim.

file: src/js/internal/assert/myers_diff.ts ↗ | tags: #diff-algorithm #testing #typescript

Core HTTP vocabulary types — methods, encodings, fetch modes/redirects, content-length parsing, plus a generated MIME-type table with fast lookup. It is a focused crate with its own error types and no Bun-runtime coupling beyond the shared thiserror/ErrName convention; usable by any HTTP client or server library.

file: src/http_types/lib.rs ↗ | tags: #http #mime-types #rust-crate
Last analyzed: 2026-08-14 00:17:03.798954
Next check: 2026-10-02 05:27:49.958040
$ submit: