Incredibly fast JavaScript runtime, bundler, test runner, and package manager โ all in one
by oven-sh5 of 6 standards met
Ref: Native First-Class MDX Support Summary Adds native MDX support to Bun โ files can be imported, bundled, transpiled, and served directly, just like files. โ compile MDX source into a JSX module string. Supports frontmatter extraction, top-level / statements, inline , and custom JSX components. Accepts strings, TypedArrays, and ArrayBuffers. Options extend with (default: ). Loader integration โ is a first-class loader (). MDX files can be -ed from // files, used with , and processed by the bundler. The MDX compiler runs at parse time, producing JSX that feeds into the existing JS parser pipeline. โ serves MDX files via a dev server (same as ). Pre-compiles MDX to TSX, generates an HTML shell with a React mount point, and serves it with in development mode. Supports multi-file routing (), glob deduplication, , , and flags. File watching for HMR โ watches original source files and re-compiles to the temp directory on change, so the dev server's HMR picks up edits automatically without needing . Implementation details New Zig MDX compiler () with JSX renderer () โ extracts frontmatter, top-level statements, and inline expressions, then renders markdown to JSX via the existing markdown parser exposes to JS using APIs Loader enum extended with , integrated into ModuleLoader, ParseTask, LinkerContext, DevServer watch store, and the native bundler plugin API Internal entry point () handles serve mode with -based live reload routes entry points through the HTML loader path Test plan [x] โ basic compilation, frontmatter, expressions, TypedArray input, , option aliases (/), invalid argument errors, malformed MDX errors, fixture documents [x] MDX loader โ from entry point, import/export-heavy MDX, malformed MDX compile failure reporting [x] with [x] Dev server mode โ single file serve, multi-file route mapping, route matrix, glob deduplication, binding
Repository: oven-sh/bun. Description: Incredibly fast JavaScript runtime, bundler, test runner, and package manager โ all in one Stars: 87885, Forks: 4134. Primary language: Zig. Languages: Zig (60.6%), C++ (24.7%), TypeScript (8.3%), C (3.3%), JavaScript (1.5%). Homepage: https://bun.com Topics: bun, bundler, javascript, javascriptcore, jsx, nodejs, npm, react, transpiler, typescript, zig, ziglang. Latest release: bun-v1.3.10 (1w ago). Open PRs: 100, open issues: 5949. Last activity: 3h ago. Community health: 100%. Top contributors: Jarred-Sumner, dylan-conway, nektro, robobun, paperclover, cirospaciari, Electroid, colinhacks, pfgithub, alexlamsl and others.
Zig
Last 12 weeks ยท 507 commits
What is the problem this feature would solve? It is really annoying, especially with --no-clear-screen, when you see many "Bun" blinking on the screen. What is the feature you are proposing to solve the problem? Add on option to disable it, or simply remove it. What alternatives have you considered? _No response_
What version of Bun is running? 1.0.4+745b6b94ee56cad24d475799690cc9a89957d15b What platform is your computer? Darwin 23.0.0 arm64 arm What steps can reproduce the bug? Bun can't emit decorator metadata correctly when is inherited from another file/package. In a monorepo I've created a with the following contents: And on another package I've tried to build a application with this : When I run my : returns , but if I add and in directly, it works as expected. Monorepo structure: Reproduction: https://codesandbox.io/p/sandbox/vibrant-wood-gw586n What is the expected behavior? Bun should correctly lookup and resolve inherited tsconfig files What do you see instead? Bun does not correctly inherit tsconfig files Additional information _No response_