← oven-sh/bun
CodeVetter · Repo Unpack · Extension points

oven-sh/bun

Scanned commit bf80d21c69 dated 2026-09-22 — last upstream commit. Generated by codevetter codevetter 1.12.0 on 2026-09-22. Deep analysis by claude-opus-5 via the claude CLI on 2026-09-22 (449s).

Extension happens at five layers. New CLI subcommands add a `Tag` variant plus a dispatch arm and an out-lined `#[cold]` body. New JS classes are declared in `*.classes.ts` and generated into paired Rust/C++ bindings, or hand-written as the three-class JSC pattern. The `Bun` global is a static hash table in `BunObject.cpp` — adding a property is a table row plus a callback. Userland extends the bundler and runtime through `Bun.plugin` (regex-filter groups of onResolve/onLoad callbacks) and native plugins via `packages/bun-native-plugin-rs`/`-api`. Frameworks extend Bake through `FrameworkRouter` and the `UserOptions` framework description. The install path is extensible through a user-supplied security scanner module and bunfig-declared registries and scopes.