Bun | |
---|---|
![]() | |
Original author | Jarred Sumner |
Developer | Oven |
Initial release | September 14, 2021 [1] |
Stable release | |
Repository | github |
Written in | Zig, C++ (JSC bindings), C (WebSocket bindings), TypeScript, JavaScript |
Operating system | Linux, macOS, Windows |
Type | Runtime environment |
License | MIT license [3] |
Website | bun |
Bun is a JavaScript runtime, package manager and test runner designed as a drop-in replacement for Node.js. [4] [5] Bun uses Safari's JavaScriptCore as its JavaScript engine, [6] unlike Node.js and Deno, which run on the V8 engine used in by Chromium.
Bun supports bundling, minifying, server-side rendering (Svelte, Nuxt.js, Vite). Bundling refers to the process of combining multiple files and assets like JavaScript, CSS, and HTML into a single file, or a smaller number of files, to reduce the number of server requests and enhance performance. [7] Minifying is a technique of compressing these files by removing unnecessary characters (like whitespace, comments, etc.) without affecting their functionality, further optimizing website loading times. Bun provides an API to decide whether to preserve some readability by e.g. keeping whitespace. [7]
The runtime supports foreign function interface (FFI), SQLite3, TLS 1.3, and DNS resolution. It also comes bundled in with common tools like file editing, HTTP servers, Websocket, and hashing. [8]
The official Bun 1.0 was released on September 8, 2023. [9]
Since Bun 1.1 the runtime supports Windows 10 and later (along with Linux and macOS). [10] [11] It also introduced a cross-platform Bun Shell for running some Bash commands without extra dependencies. [10] [11]
On August 24, 2022, Oven, the company behind Bun, announced it had raised $7 million in funding. The round was led by Kleiner Perkins, with participation from Guillermo Rauch, Y Combinator, and others. [12]