Bun is a JavaScript runtime, package manager, test runner and bundler built from scratch using the Zig programming language.[4][5] It was designed by Jarred Sumner as a drop-in replacement for Node.js. Bun uses WebKit's JavaScriptCore as the JavaScript engine,[6] unlike Node.js and Deno, which both use V8.
Original author(s) | Jarred Sumner |
---|---|
Developer(s) | Oven |
Initial release | September 14, 2021[1] |
Stable release | 1.1.31[2]
/ 18 October 2024 |
Repository | github |
Written in | Zig, C++, TypeScript, C, JavaScript |
Operating system | Linux, macOS, Windows |
Type | Runtime environment |
License | MIT license[3] |
Website | bun |
It 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]
Funding
editOn 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]
References
edit- ^ "Releases, oven-sh/bun, Github". GitHub. Retrieved 14 September 2021.
- ^ "Release 1.1.31". 18 October 2024. Retrieved 21 October 2024.
- ^ Sumner, Jarred (2023-07-02). "License". Bun Docs. Archived from the original on 2023-07-06. Retrieved 2023-07-07.
- ^ "What is Bun? | Bun Docs". Bun. Archived from the original on 2023-12-11. Retrieved 2024-04-01.
- ^ Tyson, Matthew (February 23, 2023). "Explore Bun.js: The all-in-one JavaScript runtime". InfoWorld. Archived from the original on October 4, 2023. Retrieved October 11, 2023.
- ^ Omolana, Timilehin (2022-08-02). "What Is Bun.js and Why Is the JavaScript Community Excited About It?". makeuseof.com. Archived from the original on 2023-05-30. Retrieved 2023-05-30.
- ^ a b "The Bun Bundler". Bun. 2023-05-16. Archived from the original on 2024-04-03. Retrieved 2024-04-03.
- ^ "Bun APIs". Bun Docs. Archived from the original on September 27, 2023. Retrieved September 11, 2023.
- ^ "Bun 1.0". bun.sh. Archived from the original on 2024-04-30. Retrieved 2024-04-30.
- ^ a b "Bun 1.1". Bun. 2024-04-01. Archived from the original on 2024-06-07. Retrieved 2024-04-03.
- ^ a b Anderson, Tim (2024-04-02). "Bun 1.1 released with Windows support, stable WebSocket client and more • DEVCLASS". DEVCLASS. Archived from the original on 2024-04-03. Retrieved 2024-04-03.
- ^ https://x.com/bunjavascript/status/1562248114773565440
External links
edit